<?php
-function share_init(App $a) {
+use Friendica\App;
+use Friendica\Database\DBA;
+use Friendica\Model\Item;
+
+function share_init(App $a) {
$post_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
- if ((! $post_id) || (! local_user()))
+
+ if (!$post_id || !local_user()) {
killme();
+ }
- $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",
+ $fields = ['private', 'body', 'author-name', 'author-link', 'author-avatar',
+ 'guid', 'created', 'plink', 'title'];
+ $item = Item::selectFirst($fields, ['id' => $post_id]);
- intval($post_id),
- intval(local_user())
- );
- if (! dbm::is_result($r) || ($r[0]['private'] == 1))
+ if (!DBA::isResult($item) || $item['private'] == 1) {
killme();
+ }
- if (strpos($r[0]['body'], "[/share]") !== false) {
- $pos = strpos($r[0]['body'], "[share");
- $o = substr($r[0]['body'], $pos);
+ if (strpos($item['body'], "[/share]") !== false) {
+ $pos = strpos($item['body'], "[share");
+ $o = substr($item['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']);
+ $o = share_header($item['author-name'], $item['author-link'], $item['author-avatar'], $item['guid'], $item['created'], $item['plink']);
+
+ if ($item['title']) {
+ $o .= '[b]'.$item['title'].'[/b]'."\n";
+ }
- if($r[0]['title'])
- $o .= '[b]'.$r[0]['title'].'[/b]'."\n";
- $o .= $r[0]['body'];
- $o.= "[/share]";
+ $o .= $item['body'];
+ $o .= "[/share]";
}
echo $o;
killme();
}
+/// @TODO Rewrite to handle over whole record array
function share_header($author, $profile, $avatar, $guid, $posted, $link) {
- $header = "[share author='".str_replace(array("'", "[", "]"), array("'", "[", "]"),$author).
- "' profile='".str_replace(array("'", "[", "]"), array("'", "[", "]"),$profile).
- "' avatar='".str_replace(array("'", "[", "]"), array("'", "[", "]"),$avatar);
+ $header = "[share author='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $author).
+ "' profile='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $profile).
+ "' avatar='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $avatar);
- if ($guid)
- $header .= "' guid='".str_replace(array("'", "[", "]"), array("'", "[", "]"),$guid);
+ if ($guid) {
+ $header .= "' guid='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $guid);
+ }
- if ($posted)
- $header .= "' posted='".str_replace(array("'", "[", "]"), array("'", "[", "]"),$posted);
+ if ($posted) {
+ $header .= "' posted='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $posted);
+ }
- $header .= "' link='".str_replace(array("'", "[", "]"), array("'", "[", "]"),$link)."']";
+ $header .= "' link='" . str_replace(["'", "[", "]"], ["'", "[", "]"], $link)."']";
return $header;
}