]> git.mxchange.org Git - friendica.git/blobdiff - include/conversation.php
first shot at getting like/unlike functions to work consistently
[friendica.git] / include / conversation.php
index dc574ddff8e899a0caa0f494d1e46dff0324565c..a9c6287a900faf1d8f306eef15b7a429f0bbfc87 100644 (file)
@@ -173,6 +173,12 @@ function localize_item(&$item){
                                $item['body'] = str_replace($mtch[0],'@[url=' . zrl($mtch[1]). ']',$item['body']);
                }
        }
+       if(preg_match_all('/\[url=(.*?)\/photos\/(.*?)\/image\/(.*?)\]\[img(.*?)\]h(.*?)\[\/img\]\[\/url\]/is',$item['body'],$matches,PREG_SET_ORDER)) {
+logger('matched');
+               foreach($matches as $mtch) {
+                               $item['body'] = str_replace($mtch[0],'[url=' . zrl($mtch[1] . '/photos/' . $mtch[2] . '/image/' . $mtch[3] ,true) . '][img' . $mtch[4] . ']h' . $mtch[5]  . '[/img][/url]',$item['body']);
+               }
+       }
 
 
 }
@@ -496,7 +502,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
 
                                                // On the network page, I am the owner. On the display page it will be the profile owner.
                                                // This will have been stored in $a->page_contact by our calling page.
-                                               // Put this person on the left of the wall-to-wall notice.
+                                               // Put this person as the wall owner of the wall-to-wall notice.
 
                                                $owner_url = zrl($a->page_contact['url']);
                                                $owner_photo = $a->page_contact['thumb'];
@@ -504,23 +510,38 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
                                                $template = $wallwall;
                                                $commentww = 'ww';      
                                        }
-                                       if((! $item['wall']) && (strlen($item['owner-link'])) && (! link_compare($item['owner-link'],$item['author-link']))) {
 
-                                               // Could be anybody. 
-
-                                               $owner_url = $item['owner-link'];
-                                               $owner_photo = $item['owner-avatar'];
-                                               $owner_name = $item['owner-name'];
-                                               $template = $wallwall;
-                                               $commentww = 'ww';
-                                               // If it is our contact, use a friendly redirect link
-                                               if((link_compare($item['owner-link'],$item['url'])) 
-                                                       && ($item['network'] === NETWORK_DFRN)) {
-                                                       $owner_url = $redirect_url;
-                                                       $osparkle = ' sparkle';
+                                       if((! $item['wall']) && $item['owner-link']) {
+
+                                               $owner_linkmatch = (($item['owner-link']) && link_compare($item['owner-link'],$item['author-link']));
+                                               $alias_linkmatch = (($item['alias']) && link_compare($item['alias'],$item['author-link']));
+                                               $owner_namematch = (($item['owner-name']) && $item['owner-name'] == $item['author-name']);
+                                               if((! $owner_linkmatch) && (! $alias_linkmatch) && (! $owner_namematch)) {
+
+                                                       // The author url doesn't match the owner (typically the contact)
+                                                       // and also doesn't match the contact alias. 
+                                                       // The name match is a hack to catch several weird cases where URLs are 
+                                                       // all over the park. It can be tricked, but this prevents you from
+                                                       // seeing "Bob Smith to Bob Smith via Wall-to-wall" and you know darn
+                                                       // well that it's the same Bob Smith. 
+
+                                                       // But it could be somebody else with the same name. It just isn't highly likely. 
+                                                       
+
+                                                       $owner_url = $item['owner-link'];
+                                                       $owner_photo = $item['owner-avatar'];
+                                                       $owner_name = $item['owner-name'];
+                                                       $template = $wallwall;
+                                                       $commentww = 'ww';
+                                                       // If it is our contact, use a friendly redirect link
+                                                       if((link_compare($item['owner-link'],$item['url'])) 
+                                                               && ($item['network'] === NETWORK_DFRN)) {
+                                                               $owner_url = $redirect_url;
+                                                               $osparkle = ' sparkle';
+                                                       }
+                                                       else
+                                                               $owner_url = zrl($owner_url);
                                                }
-                                               else
-                                                       $owner_url = zrl($owner_url);
                                        }
                                }