X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=mod%2Fsubthread.php;h=1153f2147d7c5efcb11f2f71b141fda086640253;hb=aa2ab3d0e7262fcc9c8c78e4ed943429081af6b0;hp=1486a33b429bc2de89eee738a246ec08121ee6f8;hpb=743f2e0391315d6945b5c53a4d08938ee85e6aed;p=friendica.git
diff --git a/mod/subthread.php b/mod/subthread.php
index 1486a33b42..1153f2147d 100644
--- a/mod/subthread.php
+++ b/mod/subthread.php
@@ -1,13 +1,20 @@
argc > 1) ? notags(trim($a->argv[1])) : 0);
- $r = q("SELECT * FROM `item` WHERE `parent` = '%s' OR `parent-uri` = '%s' and parent = id LIMIT 1",
- dbesc($item_id),
- dbesc($item_id)
- );
+ $condition = ["`parent` = ? OR `parent-uri` = ? AND `parent` = `id`", $item_id, $item_id];
+ $item = Item::selectFirst([], $condition);
- if(! $item_id || (! count($r))) {
+ if (empty($item_id) || !DBA::isResult($item)) {
logger('subthread: no item ' . $item_id);
return;
}
- $item = $r[0];
-
$owner_uid = $item['uid'];
- if(! can_write_wall($a,$owner_uid)) {
+ if (!can_write_wall($owner_uid)) {
return;
}
$remote_owner = null;
- if(! $item['wall']) {
+ if (!$item['wall']) {
// The top level post may have been written by somebody on another system
- $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($item['contact-id']),
- intval($item['uid'])
- );
- if(! count($r))
+ $contact = DBA::selectFirst('contact', [], ['id' => $item['contact-id'], 'uid' => $item['uid']]);
+ if (!DBA::isResult($contact)) {
return;
- if(! $r[0]['self'])
- $remote_owner = $r[0];
+ }
+ if (!$contact['self']) {
+ $remote_owner = $contact;
+ }
}
- // this represents the post owner on this system.
+ $owner = null;
+ // this represents the post owner on this system.
$r = q("SELECT `contact`.*, `user`.`nickname` FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
WHERE `contact`.`self` = 1 AND `contact`.`uid` = %d LIMIT 1",
intval($owner_uid)
);
- if(count($r))
+
+ if (DBA::isResult($r)) {
$owner = $r[0];
+ }
- if(! $owner) {
+ if (!$owner) {
logger('like: no owner');
return;
}
- if(! $remote_owner)
+ if (!$remote_owner) {
$remote_owner = $owner;
+ }
-
+ $contact = null;
// This represents the person posting
- if((local_user()) && (local_user() == $owner_uid)) {
+ if (local_user() && (local_user() == $owner_uid)) {
$contact = $owner;
- }
- else {
- $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($_SESSION['visitor_id']),
- intval($owner_uid)
- );
- if(count($r))
- $contact = $r[0];
- }
- if(! $contact) {
- return;
+ } else {
+ $contact = DBA::selectFirst('contact', [], ['id' => $_SESSION['visitor_id'], 'uid' => $owner_uid]);
+ if (!DBA::isResult($contact)) {
+ return;
+ }
}
- $uri = item_new_uri($a->get_hostname(),$owner_uid);
+ $uri = Item::newURI($owner_uid);
- $post_type = (($item['resource-id']) ? t('photo') : t('status'));
- $objtype = (($item['resource-id']) ? ACTIVITY_OBJ_PHOTO : ACTIVITY_OBJ_NOTE );
- $link = xmlify('' . "\n") ;
+ $post_type = (($item['resource-id']) ? L10n::t('photo') : L10n::t('status'));
+ $objtype = (($item['resource-id']) ? ACTIVITY_OBJ_IMAGE : ACTIVITY_OBJ_NOTE );
+ $link = xmlify('' . "\n") ;
$body = $item['body'];
$obj = <<< EOT
@@ -100,20 +100,21 @@ function subthread_content(&$a) {
$body
EOT;
- $bodyverb = t('%1$s is following %2$s\'s %3$s');
+ $bodyverb = L10n::t('%1$s is following %2$s\'s %3$s');
- if(! isset($bodyverb))
- return;
+ if (!isset($bodyverb)) {
+ return;
+ }
- $arr = array();
+ $arr = [];
+ $arr['guid'] = System::createGUID(32);
$arr['uri'] = $uri;
$arr['uid'] = $owner_uid;
$arr['contact-id'] = $contact['id'];
- $arr['type'] = 'activity';
$arr['wall'] = $item['wall'];
$arr['origin'] = 1;
- $arr['gravity'] = GRAVITY_LIKE;
+ $arr['gravity'] = GRAVITY_ACTIVITY;
$arr['parent'] = $item['id'];
$arr['parent-uri'] = $item['uri'];
$arr['thr-parent'] = $item['uri'];
@@ -123,10 +124,10 @@ EOT;
$arr['author-name'] = $contact['name'];
$arr['author-link'] = $contact['url'];
$arr['author-avatar'] = $contact['thumb'];
-
+
$ulink = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]';
$alink = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]';
- $plink = '[url=' . $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . ']' . $post_type . '[/url]';
+ $plink = '[url=' . System::baseUrl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . ']' . $post_type . '[/url]';
$arr['body'] = sprintf( $bodyverb, $ulink, $alink, $plink );
$arr['verb'] = $activity;
@@ -138,23 +139,17 @@ EOT;
$arr['deny_gid'] = $item['deny_gid'];
$arr['visible'] = 1;
$arr['unseen'] = 1;
- $arr['last-child'] = 0;
- $post_id = item_store($arr);
+ $post_id = Item::insert($arr);
- if(! $item['visible']) {
- $r = q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d",
- intval($item['id']),
- intval($owner_uid)
- );
+ if (!$item['visible']) {
+ Item::update(['visible' => true], ['id' => $item['id']]);
}
$arr['id'] = $post_id;
- call_hooks('post_local_end', $arr);
+ Addon::callHooks('post_local_end', $arr);
killme();
}
-
-