diff --git a/boot.php b/boot.php
index 0217750136..851008aef5 100644
--- a/boot.php
+++ b/boot.php
@@ -920,10 +920,6 @@ class App {
}
function get_cached_avatar_image($avatar_image){
- // Just remove the base url. This avoid mixed content
- $avatar_image = normalise_link($avatar_image);
- $base = normalise_link($this->get_baseurl());
- $avatar_image = str_replace($base."/", "", $avatar_image);
return $avatar_image;
// The following code is deactivated. It doesn't seem to make any sense and it slows down the system.
@@ -951,6 +947,25 @@ class App {
}
+ /**
+ * @brief Removes the baseurl from an url. This avoids some mixed content problems.
+ *
+ * @param string $url
+ *
+ * @return string The cleaned url
+ */
+ function remove_baseurl($url){
+
+ // Is the function called statically?
+ if (!is_object($this))
+ return(self::$a->remove_baseurl($ssl));
+
+ $url = normalise_link($url);
+ $base = normalise_link($this->get_baseurl());
+ $url = str_replace($base."/", "", $url);
+ return $url;
+ }
+
/**
* @brief Register template engine class
*
diff --git a/include/ForumManager.php b/include/ForumManager.php
index 73eb511de6..6fede0204d 100644
--- a/include/ForumManager.php
+++ b/include/ForumManager.php
@@ -89,7 +89,7 @@ class ForumManager {
if(count($contacts)) {
$id = 0;
-$a = get_app();
+
foreach($contacts as $contact) {
$selected = (($cid == $contact['id']) ? ' forum-selected' : '');
@@ -100,7 +100,7 @@ $a = get_app();
'name' => $contact['name'],
'cid' => $contact['id'],
'selected' => $selected,
- 'micro' => $a->get_cached_avatar_image(proxy_url($contact['micro'], false, PROXY_SIZE_MICRO)),
+ 'micro' => App::remove_baseurl(proxy_url($contact['micro'], false, PROXY_SIZE_MICRO)),
'id' => ++$id,
);
$entries[] = $entry;
diff --git a/include/conversation.php b/include/conversation.php
index 6c33be84fb..53a7b3d1ed 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -614,7 +614,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
if(($normalised != 'mailbox') && (x($a->contacts[$normalised])))
$profile_avatar = $a->contacts[$normalised]['thumb'];
else
- $profile_avatar = ((strlen($item['author-avatar'])) ? $a->get_cached_avatar_image($item['author-avatar']) : $item['thumb']);
+ $profile_avatar = $a->remove_baseurl(((strlen($item['author-avatar'])) ? $item['author-avatar'] : $item['thumb']));
$locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => '');
call_hooks('render_location',$locate);
diff --git a/include/identity.php b/include/identity.php
index ec66225d0f..aba69bae49 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -332,9 +332,9 @@ function profile_sidebar($profile, $block = 0) {
'fullname' => $profile['name'],
'firstname' => $firstname,
'lastname' => $lastname,
- 'photo300' => $a->get_cached_avatar_image($a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg'),
- 'photo100' => $a->get_cached_avatar_image($a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg'),
- 'photo50' => $a->get_cached_avatar_image($a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg'),
+ 'photo300' => $a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg',
+ 'photo100' => $a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg',
+ 'photo50' => $a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg',
);
if (!$block){
diff --git a/include/nav.php b/include/nav.php
index fb7225af92..0fa671a27d 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -82,7 +82,7 @@ function nav_info(&$a) {
// user info
$r = q("SELECT micro FROM contact WHERE uid=%d AND self=1", intval($a->user['uid']));
$userinfo = array(
- 'icon' => (count($r) ? $a->get_cached_avatar_image($r[0]['micro']) : $a->get_baseurl($ssl_state)."/images/person-48.jpg"),
+ 'icon' => (count($r) ? $a->remove_baseurl($r[0]['micro']) : "images/person-48.jpg"),
'name' => $a->user['username'],
);
diff --git a/index.php b/index.php
index 8471735d01..e364389b2c 100644
--- a/index.php
+++ b/index.php
@@ -371,7 +371,7 @@ $a->init_page_end();
if(x($_SESSION,'visitor_home'))
$homebase = $_SESSION['visitor_home'];
elseif(local_user())
- $homebase = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
+ $homebase = 'profile/' . $a->user['nickname'];
if(isset($homebase))
$a->page['content'] .= '';
@@ -423,10 +423,10 @@ if($a->module != 'install' && $a->module != 'maintenance') {
if($a->is_mobile || $a->is_tablet) {
if(isset($_SESSION['show-mobile']) && !$_SESSION['show-mobile']) {
- $link = $a->get_baseurl() . '/toggle_mobile?address=' . curPageURL();
+ $link = 'toggle_mobile?address=' . curPageURL();
}
else {
- $link = $a->get_baseurl() . '/toggle_mobile?off=1&address=' . curPageURL();
+ $link = 'toggle_mobile?off=1&address=' . curPageURL();
}
$a->page['footer'] = replace_macros(get_markup_template("toggle_mobile_footer.tpl"), array(
'$toggle_link' => $link,
diff --git a/mod/content.php b/mod/content.php
index c5a5556116..c2b1546bf1 100644
--- a/mod/content.php
+++ b/mod/content.php
@@ -420,7 +420,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
if(($normalised != 'mailbox') && (x($a->contacts[$normalised])))
$profile_avatar = $a->contacts[$normalised]['thumb'];
else
- $profile_avatar = ((strlen($item['author-avatar'])) ? $a->get_cached_avatar_image($item['author-avatar']) : $item['thumb']);
+ $profile_avatar = $a->remove_baseurl(((strlen($item['author-avatar'])) ? $item['author-avatar'] : $item['thumb']));
$locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => '');
call_hooks('render_location',$locate);
@@ -791,7 +791,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
if(($normalised != 'mailbox') && (x($a->contacts,$normalised)))
$profile_avatar = $a->contacts[$normalised]['thumb'];
else
- $profile_avatar = (((strlen($item['author-avatar'])) && $diff_author) ? $item['author-avatar'] : $a->get_cached_avatar_image($thumb));
+ $profile_avatar = $a->remove_baseurl(((strlen($item['author-avatar']) && $diff_author) ? $item['author-avatar'] : $thumb));
$like = ((x($alike,$item['uri'])) ? format_like($alike[$item['uri']],$alike[$item['uri'] . '-l'],'like',$item['uri']) : '');
$dislike = ((x($dlike,$item['uri'])) ? format_like($dlike[$item['uri']],$dlike[$item['uri'] . '-l'],'dislike',$item['uri']) : '');
diff --git a/mod/directory.php b/mod/directory.php
index 294a55585d..be09dd37f6 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -158,14 +158,14 @@ function directory_content(&$a) {
else {
$location_e = $location;
}
-
+
$photo_menu = array(array(t("View Profile"), zrl($profile_link)));
$entry = array(
'id' => $rr['id'],
'url' => $profile_link,
'itemurl' => $itemurl,
- 'thumb' => proxy_url($a->get_cached_avatar_image($rr[$photo]), false, PROXY_SIZE_THUMB),
+ 'thumb' => proxy_url($rr[$photo], false, PROXY_SIZE_THUMB),
'img_hover' => $rr['name'],
'name' => $rr['name'],
'details' => $details,
diff --git a/mod/profiles.php b/mod/profiles.php
index 5c372de8ee..0b8261422f 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -16,7 +16,7 @@ function profiles_init(&$a) {
);
if(! count($r)) {
notice( t('Profile not found.') . EOL);
- goaway($a->get_baseurl(true) . '/profiles');
+ goaway('profiles');
return; // NOTREACHED
}
@@ -34,9 +34,9 @@ function profiles_init(&$a) {
intval(local_user())
);
if($r)
- info( t('Profile deleted.') . EOL);
+ info(t('Profile deleted.').EOL);
- goaway($a->get_baseurl(true) . '/profiles');
+ goaway('profiles');
return; // NOTREACHED
}
@@ -73,9 +73,9 @@ function profiles_init(&$a) {
info( t('New profile created.') . EOL);
if(count($r3) == 1)
- goaway($a->get_baseurl(true) . '/profiles/' . $r3[0]['id']);
+ goaway('profiles/'.$r3[0]['id']);
- goaway($a->get_baseurl(true) . '/profiles');
+ goaway('profiles');
}
if(($a->argc > 2) && ($a->argv[1] === 'clone')) {
@@ -116,9 +116,9 @@ function profiles_init(&$a) {
);
info( t('New profile created.') . EOL);
if(count($r3) == 1)
- goaway($a->get_baseurl(true) . '/profiles/' . $r3[0]['id']);
+ goaway('profiles/'.$r3[0]['id']);
- goaway($a->get_baseurl(true) . '/profiles');
+ goaway('profiles');
return; // NOTREACHED
}
@@ -582,15 +582,7 @@ function profile_activity($changed, $value) {
$i = item_store($arr);
if($i) {
-
- // give it a permanent link
- //q("update item set plink = '%s' where id = %d",
- // dbesc($a->get_baseurl() . '/display/' . $a->user['nickname'] . '/' . $i),
- // intval($i)
- //);
-
proc_run('php',"include/notifier.php","activity","$i");
-
}
}
@@ -786,7 +778,7 @@ function profiles_content(&$a) {
);
if(count($r)){
//Go to the default profile.
- goaway($a->get_baseurl(true) . '/profiles/'.$r[0]['id']);
+ goaway('profiles/'.$r[0]['id']);
}
}
@@ -807,12 +799,12 @@ function profiles_content(&$a) {
foreach($r as $rr) {
$o .= replace_macros($tpl, array(
- '$photo' => $a->get_cached_avatar_image($rr['thumb']),
+ '$photo' => $a->remove_baseurl($rr['thumb']),
'$id' => $rr['id'],
'$alt' => t('Profile Image'),
'$profile_name' => $rr['profile-name'],
'$visible' => (($rr['is-default']) ? '' . t('visible to everybody') . ''
- : '' . t('Edit visibility') . '')
+ : '' . t('Edit visibility') . '')
));
}
}
diff --git a/object/Item.php b/object/Item.php
index 7b542c4724..9daf44648e 100644
--- a/object/Item.php
+++ b/object/Item.php
@@ -154,7 +154,7 @@ class Item extends BaseObject {
if(($normalised != 'mailbox') && (x($a->contacts,$normalised)))
$profile_avatar = $a->contacts[$normalised]['thumb'];
else
- $profile_avatar = (((strlen($item['author-avatar'])) && $diff_author) ? $item['author-avatar'] : $a->get_cached_avatar_image($this->get_data_value('thumb')));
+ $profile_avatar = (((strlen($item['author-avatar'])) && $diff_author) ? $item['author-avatar'] : $a->remove_baseurl($this->get_data_value('thumb')));
$locate = array('location' => $item['location'], 'coord' => $item['coord'], 'html' => '');
call_hooks('render_location',$locate);
@@ -705,7 +705,7 @@ class Item extends BaseObject {
'$profile_uid' => $conv->get_profile_owner(),
'$mylink' => $a->contact['url'],
'$mytitle' => t('This is you'),
- '$myphoto' => $a->get_cached_avatar_image($a->contact['thumb']),
+ '$myphoto' => $a->remove_baseurl($a->contact['thumb']),
'$comment' => t('Comment'),
'$submit' => t('Submit'),
'$edbold' => t('Bold'),
diff --git a/view/theme/vier/theme.php b/view/theme/vier/theme.php
index 25954350f9..f33a9178ac 100644
--- a/view/theme/vier/theme.php
+++ b/view/theme/vier/theme.php
@@ -188,7 +188,7 @@ function vier_community_info() {
$entry = replace_macros($tpl,array(
'$id' => $rr['id'],
'$profile_link' => $profile_link,
- '$photo' => $a->get_cached_avatar_image($rr['thumb']),
+ '$photo' => $a->remove_baseurl($rr['thumb']),
'$alt_text' => $rr['name']));
$aside['$lastusers_items'][] = $entry;
}