]> git.mxchange.org Git - friendica.git/blobdiff - include/identity.php
Merge pull request #2554 from annando/1606-mention-class
[friendica.git] / include / identity.php
index ec66225d0ffd8261e82cbf87def67c723276186f..580539c07155cbd4e106b08394b2ada65350401b 100644 (file)
@@ -237,6 +237,7 @@ function profile_sidebar($profile, $block = 0) {
        if ($connect AND ($profile['network'] != NETWORK_DFRN) AND !isset($profile['remoteconnect']))
                $connect = false;
 
+       $remoteconnect = NULL;
        if (isset($profile['remoteconnect']))
                $remoteconnect = $profile['remoteconnect'];
 
@@ -245,10 +246,30 @@ function profile_sidebar($profile, $block = 0) {
        else
                $subscribe_feed = false;
 
-       if(get_my_url() && $profile['unkmail'] && ($profile['uid'] != local_user()))
+       if (remote_user() OR (get_my_url() && $profile['unkmail'] && ($profile['uid'] != local_user()))) {
                $wallmessage = t('Message');
-       else
+               $wallmessage_link = "wallmessage/".$profile["nickname"];
+
+               if (remote_user()) {
+                       $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `id` = '%s' AND `rel` = %d",
+                               intval($profile['uid']),
+                               intval(remote_user()),
+                               intval(CONTACT_IS_FRIEND));
+               } else {
+                       $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' AND `rel` = %d",
+                               intval($profile['uid']),
+                               dbesc(normalise_link(get_my_url())),
+                               intval(CONTACT_IS_FRIEND));
+               }
+               if ($r) {
+                       $remote_url = $r[0]["url"];
+                       $message_path = preg_replace("=(.*)/profile/(.*)=ism", "$1/message/new/", $remote_url);
+                       $wallmessage_link = $message_path.base64_encode($profile["addr"]);
+               }
+       } else {
                $wallmessage = false;
+               $wallmessage_link = false;
+       }
 
        // show edit profile to yourself
        if ($profile['uid'] == local_user() && feature_enabled(local_user(),'multi_profiles')) {
@@ -292,9 +313,9 @@ function profile_sidebar($profile, $block = 0) {
        // check if profile is a forum
        if((intval($profile['page-flags']) == PAGE_COMMUNITY)
                        || (intval($profile['page-flags']) == PAGE_PRVGROUP)
-                       || (intval($profile['forum']))
-                       || (intval($profile['prv']))
-                       || (intval($profile['community'])))
+                       || (isset($profile['forum']) && intval($profile['forum']))
+                       || (isset($profile['prv']) && intval($profile['prv']))
+                       || (isset($profile['community']) && intval($profile['community'])))
                $account_type = t('Forum');
        else
                $account_type = "";
@@ -332,9 +353,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){
@@ -385,6 +406,7 @@ function profile_sidebar($profile, $block = 0) {
                '$remoteconnect'  => $remoteconnect,
                '$subscribe_feed' => $subscribe_feed,
                '$wallmessage' => $wallmessage,
+               '$wallmessage_link' => $wallmessage_link,
                '$account_type' => $account_type,
                '$location' => $location,
                '$gender'   => $gender,
@@ -399,7 +421,6 @@ function profile_sidebar($profile, $block = 0) {
                '$contact_block' => $contact_block,
        ));
 
-
        $arr = array('profile' => &$profile, 'entry' => &$o);
 
        call_hooks('profile_sidebar', $arr);