X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fshare.php;h=f67dd3d200c96aa74c37602e2a360cc439db4638;hb=c4d3ab68785122ff070c65a444aaa0833b746b2b;hp=f355a842a7cb360e6bf499f662723998d11f9c6c;hpb=4cff911939b263993eb41682ca558c975e2db01f;p=friendica.git
diff --git a/mod/share.php b/mod/share.php
index f355a842a7..f67dd3d200 100644
--- a/mod/share.php
+++ b/mod/share.php
@@ -1,23 +1,50 @@
argc > 1) ? intval($a->argv[1]) : 0);
- if((! $post_id) || (! local_user()))
+ if (!$post_id || !local_user()) {
killme();
+ }
- $r = q("SELECT * FROM `item` WHERE `id` = %d LIMIT 1",
+ $r = q("SELECT item.*, contact.network FROM `item`
+ INNER JOIN `contact` ON `item`.`contact-id` = `contact`.`id`
+ WHERE `item`.`id` = %d LIMIT 1",
intval($post_id)
);
- if(! count($r) || $r[0]['private'])
+ if (!DBM::is_result($r) || ($r[0]['private'] == 1)) {
killme();
+ }
+ 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]";
+ }
+
+ echo $o;
+ killme();
+}
+
+function share_header($author, $profile, $avatar, $guid, $posted, $link) {
+ $header = "[share author='".str_replace(["'", "[", "]"], ["'", "[", "]"], $author).
+ "' profile='".str_replace(["'", "[", "]"], ["'", "[", "]"], $profile).
+ "' avatar='".str_replace(["'", "[", "]"], ["'", "[", "]"], $avatar);
- $o = '';
+ if ($guid) {
+ $header .= "' guid='".str_replace(["'", "[", "]"], ["'", "[", "]"], $guid);
+ }
+ if ($posted) {
+ $header .= "' posted='".str_replace(["'", "[", "]"], ["'", "[", "]"], $posted);
+ }
+ $header .= "' link='".str_replace(["'", "[", "]"], ["'", "[", "]"], $link)."']";
- $o .= '♲ ' . $r[0]['author-name'] . '
';
- $o .= bbcode($r[0]['body'], true);
- echo $o . '
';
- killme();
+ return $header;
}