]> git.mxchange.org Git - friendica.git/blobdiff - include/conversation.php
Merge pull request #2979 from annando/issue-2772
[friendica.git] / include / conversation.php
index c4d4fcdde80b57273093f3321007842eddb33b24..63db42d93ad91439b552d7213dfdd1f5fe7b5ffe 100644 (file)
@@ -390,7 +390,6 @@ function item_fieldlists() {
 /*
 These Fields are not added below (yet). They are here to for bug search.
 `item`.`type`,
-`item`.`object`,
 `item`.`extid`,
 `item`.`received`,
 `item`.`changed`,
@@ -399,7 +398,6 @@ These Fields are not added below (yet). They are here to for bug search.
 `item`.`target`,
 `item`.`resource-id`,
 `item`.`tag`,
-`item`.`attach`,
 `item`.`inform`,
 `item`.`pubmail`,
 `item`.`visible`,
@@ -424,8 +422,8 @@ These Fields are not added below (yet). They are here to for bug search.
                `item`.`verb`, `item`.`object-type`, `item`.`postopts`, `item`.`plink`,
                `item`.`guid`, `item`.`wall`, `item`.`private`, `item`.`starred`,
                `item`.`title`, `item`.`body`, `item`.`file`, `item`.`event-id`,
-               `item`.`location`, `item`.`coord`, `item`.`app`,
-               `item`.`rendered-hash`, `item`.`rendered-html`,
+               `item`.`location`, `item`.`coord`, `item`.`app`, `item`.`attach`,
+               `item`.`rendered-hash`, `item`.`rendered-html`, `item`.`object`,
                `item`.`allow_cid`, `item`.`allow_gid`, `item`.`deny_cid`, `item`.`deny_gid`,
                `item`.`id` AS `item_id`, `item`.`network` AS `item_network`,
 
@@ -441,7 +439,7 @@ These Fields are not added below (yet). They are here to for bug search.
 function item_joins() {
 
        return "STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND
-               NOT `contact`.`blocked` AND NOT `contact`.`pending`
+               (NOT `contact`.`blocked` OR `contact`.`pending`)
                LEFT JOIN `contact` AS `author` ON `author`.`id`=`item`.`author-id`
                LEFT JOIN `contact` AS `owner` ON `owner`.`id`=`item`.`owner-id`";
 }
@@ -676,7 +674,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
                                else
                                        $profile_link = zrl($profile_link);
 
-                               if (!isset($item['author-thumb'])) {
+                               if (!isset($item['author-thumb']) OR ($item['author-thumb'] == "")) {
                                        $author_contact = get_contact_details_by_url($item['author-link'], $profile_owner);
                                        if ($author_contact["thumb"])
                                                $item['author-thumb'] = $author_contact["thumb"];
@@ -684,7 +682,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
                                                $item['author-thumb'] = $item['author-avatar'];
                                }
 
-                               if (!isset($item['owner-thumb'])) {
+                               if (!isset($item['owner-thumb']) OR ($item['owner-thumb'] == "")) {
                                        $owner_contact = get_contact_details_by_url($item['owner-link'], $profile_owner);
                                        if ($owner_contact["thumb"])
                                                $item['owner-thumb'] = $owner_contact["thumb"];
@@ -887,7 +885,7 @@ function best_link_url($item,&$sparkle,$ssl_state = false) {
        $clean_url = normalise_link($item['author-link']);
 
        if (local_user()) {
-               $r = q("SELECT `id` FROM `contact` WHERE `network` = '%s' AND `uid` = %d AND `nurl` = '%s' LIMIT 1",
+               $r = q("SELECT `id` FROM `contact` WHERE `network` = '%s' AND `uid` = %d AND `nurl` = '%s' AND NOT `pending` LIMIT 1",
                        dbesc(NETWORK_DFRN), intval(local_user()), dbesc(normalise_link($clean_url)));
                if ($r) {
                        $best_url = 'redir/'.$r[0]['id'];
@@ -905,79 +903,86 @@ function best_link_url($item,&$sparkle,$ssl_state = false) {
 }
 
 
-if(! function_exists('item_photo_menu')){
-function item_photo_menu($item){
-
+if (! function_exists('item_photo_menu')) {
+function item_photo_menu($item)
+{
        $ssl_state = false;
 
-       if(local_user())
+       if(local_user()) {
                $ssl_state = true;
+       }
 
-       $sub_link="";
-       $poke_link="";
-       $contact_url="";
-       $pm_url="";
-       $status_link="";
-       $photos_link="";
-       $posts_link="";
-       $network = "";
+       $sub_link = '';
+       $poke_link = '';
+       $contact_url = '';
+       $pm_url = '';
+       $status_link = '';
+       $photos_link = '';
+       $posts_link = '';
+       $network = '';
 
-       if((local_user()) && local_user() == $item['uid'] && $item['parent'] == $item['id'] && (! $item['self'])) {
+       if ((local_user()) && local_user() == $item['uid'] && $item['parent'] == $item['id'] && (! $item['self'])) {
                $sub_link = 'javascript:dosubthread(' . $item['id'] . '); return false;';
        }
 
        $sparkle = false;
-       $profile_link = best_link_url($item,$sparkle,$ssl_state);
-       if($profile_link === 'mailbox')
+       $profile_link = best_link_url($item, $sparkle, $ssl_state);
+       if ($profile_link === 'mailbox') {
                $profile_link = '';
+       }
 
        $cid = 0;
-       $network = "";
+       $network = '';
        $rel = 0;
        $r = q("SELECT `id`, `network`, `rel` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' LIMIT 1",
                intval(local_user()), dbesc(normalise_link($item['author-link'])));
        if ($r) {
-               $cid = $r[0]["id"];
-               $network = $r[0]["network"];
-               $rel = $r[0]["rel"];
+               $cid = $r[0]['id'];
+               $network = $r[0]['network'];
+               $rel = $r[0]['rel'];
        }
 
        if($sparkle) {
-               $status_link = $profile_link."?url=status";
-               $photos_link = $profile_link."?url=photos";
-               $profile_link = $profile_link."?url=profile";
+               $status_link = $profile_link . '?url=status';
+               $photos_link = $profile_link . '?url=photos';
+               $profile_link = $profile_link . '?url=profile';
                $zurl = '';
-       } else
+       } else {
                $profile_link = zrl($profile_link);
+       }
 
-       if($cid && !$item['self']) {
-               $poke_link = 'poke/?f=&c='.$cid;
-               $contact_url = 'contacts/'.$cid;
-               $posts_link = 'contacts/'.$cid.'/posts';
+       if ($cid && !$item['self']) {
+               $poke_link = 'poke/?f=&c=' . $cid;
+               $contact_url = 'contacts/' . $cid;
+               $posts_link = 'contacts/' . $cid . '/posts';
 
-               if (in_array($network, array(NETWORK_DFRN, NETWORK_DIASPORA)))
-                       $pm_url = 'message/new/'.$cid;
+               if (in_array($network, array(NETWORK_DFRN, NETWORK_DIASPORA))) {
+                       $pm_url = 'message/new/' . $cid;
+               }
        }
 
        if (local_user()) {
                $menu = Array(
-                       t("Follow Thread") => $sub_link,
-                       t("View Status") => $status_link,
-                       t("View Profile") => $profile_link,
-                       t("View Photos") => $photos_link,
-                       t("Network Posts") => $posts_link,
-                       t("Edit Contact") => $contact_url,
-                       t("Send PM") => $pm_url
+                       t('Follow Thread') => $sub_link,
+                       t('View Status') => $status_link,
+                       t('View Profile') => $profile_link,
+                       t('View Photos') => $photos_link,
+                       t('Network Posts') => $posts_link,
+                       t('View Contact') => $contact_url,
+                       t('Send PM') => $pm_url
                );
 
-               if ($network == NETWORK_DFRN)
+               if ($network == NETWORK_DFRN) {
                        $menu[t("Poke")] = $poke_link;
+               }
 
                if ((($cid == 0) OR ($rel == CONTACT_IS_FOLLOWER)) AND
-                       in_array($item['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA)))
-                       $menu[t("Connect/Follow")] = "follow?url=".urlencode($item['author-link']);
-       } else
-               $menu = array(t("View Profile") => $item['author-link']);
+                       in_array($item['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA))) {
+                       $menu[t('Connect/Follow')] = 'follow?url=' . urlencode($item['author-link']);
+               }
+       } else {
+               $menu = array(t('View Profile') => $item['author-link']);
+       }
 
        $args = array('item' => $item, 'menu' => $menu);
 
@@ -985,13 +990,14 @@ function item_photo_menu($item){
 
        $menu = $args['menu'];
 
-       $o = "";
-       foreach($menu as $k=>$v){
-               if(strpos($v,'javascript:') === 0) {
-                       $v = substr($v,11);
-                       $o .= "<li role=\"menuitem\"><a onclick=\"$v\">$k</a></li>\n";
+       $o = '';
+       foreach ($menu as $k => $v) {
+               if (strpos($v, 'javascript:') === 0) {
+                       $v = substr($v, 11);
+                       $o .= '<li role="menuitem"><a onclick="' . $v . '">' . $k . '</a></li>' . PHP_EOL;
+               } elseif ($v!='') {
+                       $o .= '<li role="menuitem"><a href="' . $v . '">' . $k . '</a></li>' . PHP_EOL;
                }
-               elseif ($v!="") $o .= "<li role=\"menuitem\"><a href=\"$v\">$k</a></li>\n";
        }
        return $o;
 }}
@@ -1058,6 +1064,9 @@ function builtin_activity_puller($item, &$conv_responses) {
                        else
                                $conv_responses[$mode][$item['thr-parent']] ++;
 
+                       if((local_user()) && (local_user() == $item['uid']) && ($item['self']))
+                               $conv_responses[$mode][$item['thr-parent'] . '-self'] = 1;
+
                        $conv_responses[$mode][$item['thr-parent'] . '-l'][] = $url;
 
                        // there can only be one activity verb per item so if we found anything, we can stop looking
@@ -1138,7 +1147,7 @@ function format_like($cnt,$arr,$type,$id) {
                                $explikers = sprintf( t('%s don\'t attend.'), $likers);
                                break;
                        case 'attendmaybe':
-                               $phrase = sprintf( t('<span  %1$s>%2$d people</span> anttend maybe'), $spanatts, $cnt);
+                               $phrase = sprintf( t('<span  %1$s>%2$d people</span> attend maybe'), $spanatts, $cnt);
                                $explikers = sprintf( t('%s anttend maybe.'), $likers);
                                break;
                }
@@ -1282,6 +1291,10 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
                '$private' => t('Private post'),
                '$is_private' => $private_post,
                '$public_link' => $public_post_link,
+
+               //jot nav tab (used in some themes)
+               '$message' => t('Message'),
+               '$browser' => t('Browser'),
        ));
 
 
@@ -1433,6 +1446,7 @@ function get_responses($conv_responses,$response_verbs,$ob,$item) {
                $ret[$v] = array();
                $ret[$v]['count'] = ((x($conv_responses[$v],$item['uri'])) ? $conv_responses[$v][$item['uri']] : '');
                $ret[$v]['list']  = ((x($conv_responses[$v],$item['uri'])) ? $conv_responses[$v][$item['uri'] . '-l'] : '');
+               $ret[$v]['self']  = ((x($conv_responses[$v],$item['uri'])) ? $conv_responses[$v][$item['uri'] . '-self'] : '0');
                if(count($ret[$v]['list']) > MAX_LIKERS) {
                        $ret[$v]['list_part'] = array_slice($ret[$v]['list'], 0, MAX_LIKERS);
                        array_push($ret[$v]['list_part'], '<a href="#" data-toggle="modal" data-target="#' . $v . 'Modal-'