]> git.mxchange.org Git - friendica.git/blobdiff - mod/share.php
Merge pull request #2148 from annando/issue-1871
[friendica.git] / mod / share.php
index 6c6098c83c07363e4aec0bdaa73630829b6b3355..085da4e30d8a8b6f15e343a480d6743f733def15 100644 (file)
@@ -1,33 +1,58 @@
 <?php
-
-require_once('bbcode.php');
-
 function share_init(&$a) {
 
        $post_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
        if((! $post_id) || (! local_user()))
                killme();
 
-       $r = q("SELECT * FROM `item` WHERE `id` = %d LIMIT 1",
-               intval($post_id)
+       $r = q("SELECT item.*, contact.network FROM `item` 
+               inner join contact on `item`.`contact-id` = `contact`.`id` 
+               WHERE `item`.`id` = %d AND `item`.`uid` = %d LIMIT 1",
+
+               intval($post_id),
+               intval(local_user())
        );
-       if(! count($r) || $r[0]['private'])
+       if(! count($r) || ($r[0]['private'] == 1))
                killme();
 
-       $o = '';
+       if (!intval(get_config('system','old_share'))) {
+               if (strpos($r[0]['body'], "[/share]") !== false) {
+                       $pos = strpos($r[0]['body'], "[share");
+                       $o = substr($r[0]['body'], $pos);
+               } else {
+                       $o = share_header($r[0]['author-name'], $r[0]['author-link'], $r[0]['author-avatar'], $r[0]['guid'], $r[0]['created'], $r[0]['plink']);
+
+                       if($r[0]['title'])
+                               $o .= '[b]'.$r[0]['title'].'[/b]'."\n";
+                       $o .= $r[0]['body'];
+                       $o.= "[/share]";
+               }
+       } else {
+               $o = '';
 
-//     if(local_user() && intval(get_pconfig(local_user(),'system','plaintext'))) {
                $o .= "\xE2\x99\xb2" . ' [url=' . $r[0]['author-link'] . ']' . $r[0]['author-name'] . '[/url]' . "\n";
                if($r[0]['title'])
                        $o .= '[b]' . $r[0]['title'] . '[/b]' . "\n";
-               $o .= $r[0]['body'] . "\n";
-//     }
-//     else {
-//             $o .= '&#x2672; <a href="' . $r[0]['author-link'] . '">' . $r[0]['author-name'] . '</a><br />';
-//             if($r[0]['title'])
-//                     $o .= '<strong>' . $r[0]['title'] . '</strong><br />';
-//             $o .= $r[0]['body'] . "\n";
-//     }
+               $o .= $r[0]['body'] . "\n" ;
+
+               $o .= (($r[0]['plink']) ? '[url=' . $r[0]['plink'] . ']' . t('link') . '[/url]' . "\n" : '');
+       }
        echo $o;
-       killme();  
+       killme();
+}
+
+function share_header($author, $profile, $avatar, $guid, $posted, $link) {
+       $header = "[share author='".str_replace(array("'", "[", "]"), array("&#x27;", "&#x5B;", "&#x5D;"),$author).
+               "' profile='".str_replace(array("'", "[", "]"), array("&#x27;", "&#x5B;", "&#x5D;"),$profile).
+               "' avatar='".str_replace(array("'", "[", "]"), array("&#x27;", "&#x5B;", "&#x5D;"),$avatar);
+
+       if ($guid)
+               $header .= "' guid='".str_replace(array("'", "[", "]"), array("&#x27;", "&#x5B;", "&#x5D;"),$guid);
+
+       if ($posted)
+               $header .= "' posted='".str_replace(array("'", "[", "]"), array("&#x27;", "&#x5B;", "&#x5D;"),$posted);
+
+       $header .= "' link='".str_replace(array("'", "[", "]"), array("&#x27;", "&#x5B;", "&#x5D;"),$link)."']";
+
+       return $header;
 }