X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FNotifier.php;h=96549233e58a56fe1d1f25ecd7c332c04cf18047;hb=32ef5623ab8247162af93ef2f0bc6def6b2b8bf6;hp=6ad6827f7c8d980ecd469a9eb9fd071cb56e8cae;hpb=0a13ab6b9f81fe46698386a197e280859cb10f67;p=friendica.git diff --git a/src/Worker/Notifier.php b/src/Worker/Notifier.php index 6ad6827f7c..96549233e5 100644 --- a/src/Worker/Notifier.php +++ b/src/Worker/Notifier.php @@ -10,6 +10,7 @@ use Friendica\Core\Worker; use Friendica\Database\DBM; use Friendica\Model\Contact; use Friendica\Model\Group; +use Friendica\Model\Item; use Friendica\Model\User; use Friendica\Model\PushSubscriber; use Friendica\Network\Probe; @@ -104,27 +105,27 @@ class Notifier { intval($uid), NETWORK_DFRN, NETWORK_DIASPORA); } else { // find ancestors - $target_item = dba::fetch_first("SELECT `item`.*, `contact`.`uid` AS `cuid` FROM `item` - INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id` - WHERE `item`.`id` = ? AND `visible` AND NOT `moderated`", $item_id); + $condition = ['id' => $item_id, 'visible' => true, 'moderated' => false]; + $target_item = Item::selectFirst([], $condition); if (!DBM::is_result($target_item) || !intval($target_item['parent'])) { return; } $parent_id = intval($target_item['parent']); - $uid = $target_item['cuid']; + $uid = $target_item['contact-uid']; $updated = $target_item['edited']; - $items = q("SELECT `item`.*, `sign`.`signed_text`,`sign`.`signature`,`sign`.`signer` - FROM `item` LEFT JOIN `sign` ON `sign`.`iid` = `item`.`id` WHERE `parent` = %d AND visible AND NOT moderated ORDER BY `id` ASC", - intval($parent_id) - ); + $condition = ['parent' => $parent_id, 'visible' => true, 'moderated' => false]; + $params = ['order' => ['id']]; + $ret = Item::select([], $condition, $params); - if (!count($items)) { + if (!DBM::is_result($ret)) { return; } + $items = Item::inArray($ret); + // avoid race condition with deleting entries if ($items[0]['deleted']) { foreach ($items as $item) { @@ -166,7 +167,7 @@ class Notifier { $fields = ['network', 'author-id', 'owner-id']; $condition = ['uri' => $target_item["thr-parent"], 'uid' => $target_item["uid"]]; - $thr_parent = dba::selectFirst('item', $fields, $condition); + $thr_parent = Item::selectFirst($fields, $condition); logger('GUID: '.$target_item["guid"].': Parent is '.$parent['network'].'. Thread parent is '.$thr_parent['network'], LOGGER_DEBUG);