]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/Queue.php
Missing dba::selectFirst in Model\Item
[friendica.git] / src / Worker / Queue.php
index f09def003d5d9423c18ebe5a9f614e430ce69298..10a83e5c4bf0be0ca2414002909554bb93538146 100644 (file)
@@ -1,24 +1,23 @@
 <?php
-
 /**
  * @file src/Worker/Queue.php
  */
-
 namespace Friendica\Worker;
 
+use Friendica\Core\Addon;
 use Friendica\Core\Cache;
-use Friendica\Core\Config;
 use Friendica\Core\Worker;
 use Friendica\Database\DBM;
-use Friendica\Protocol\Diaspora;
+use Friendica\Model\Queue as QueueModel;
 use Friendica\Protocol\DFRN;
+use Friendica\Protocol\Diaspora;
 use Friendica\Protocol\PortableContact;
+use Friendica\Protocol\Salmon;
+use dba;
 
-require_once 'include/queue_fn.php';
-require_once 'include/datetime.php';
+require_once 'include/dba.php';
 require_once 'include/items.php';
 require_once 'include/bbcode.php';
-require_once 'include/salmon.php';
 
 class Queue
 {
@@ -33,7 +32,7 @@ class Queue
                        logger('queue: start');
 
                        // Handling the pubsubhubbub requests
-                       Worker::add(array('priority' => PRIORITY_HIGH, 'dont_fork' => true), 'PubSubPublish');
+                       Worker::add(['priority' => PRIORITY_HIGH, 'dont_fork' => true], 'PubSubPublish');
 
                        $r = q(
                                "SELECT `queue`.*, `contact`.`name`, `contact`.`uid` FROM `queue`
@@ -55,12 +54,12 @@ class Queue
                         */
                        $r = q("SELECT `id` FROM `queue` WHERE ((`created` > UTC_TIMESTAMP() - INTERVAL 12 HOUR AND `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE) OR (`last` < UTC_TIMESTAMP() - INTERVAL 1 HOUR)) ORDER BY `cid`, `created`");
 
-                       call_hooks('queue_predeliver', $a, $r);
+                       Addon::callHooks('queue_predeliver', $r);
 
                        if (DBM::is_result($r)) {
                                foreach ($r as $q_item) {
                                        logger('Call queue for id ' . $q_item['id']);
-                                       Worker::add(array('priority' => PRIORITY_LOW, 'dont_fork' => true), "Queue", (int) $q_item['id']);
+                                       Worker::add(['priority' => PRIORITY_LOW, 'dont_fork' => true], "Queue", (int) $q_item['id']);
                                }
                        }
                        return;
@@ -68,21 +67,14 @@ class Queue
 
 
                // delivering
-
-               $r = q(
-                       "SELECT * FROM `queue` WHERE `id` = %d LIMIT 1",
-                       intval($queue_id)
-               );
-
-               if (!DBM::is_result($r)) {
+               $q_item = dba::selectFirst('queue', [], ['id' => $queue_id]);
+               if (!DBM::is_result($q_item)) {
                        return;
                }
 
-               $q_item = $r[0];
-
-               $contact = dba::select('contact', [], ['id' => intval($q_item['cid'])], ['limit' => 1]);
+               $contact = dba::selectFirst('contact', [], ['id' => $q_item['cid']]);
                if (!DBM::is_result($contact)) {
-                       remove_queue_item($q_item['id']);
+                       QueueModel::removeItem($q_item['id']);
                        return;
                }
 
@@ -90,7 +82,7 @@ class Queue
 
                if (!is_null($dead) && $dead) {
                        logger('queue: skipping known dead url: ' . $contact['notify']);
-                       update_queue_time($q_item['id']);
+                       QueueModel::updateTime($q_item['id']);
                        return;
                }
 
@@ -108,21 +100,20 @@ class Queue
 
                        if (!is_null($vital) && !$vital) {
                                logger('queue: skipping dead server: ' . $server);
-                               update_queue_time($q_item['id']);
+                               QueueModel::updateTime($q_item['id']);
                                return;
                        }
                }
 
-               $user = dba::select('user', [], ['uid' => intval($contact['uid'])], ['limit' => 1]);
+               $user = dba::selectFirst('user', [], ['uid' => $contact['uid']]);
                if (!DBM::is_result($user)) {
-                       remove_queue_item($q_item['id']);
+                       QueueModel::removeItem($q_item['id']);
                        return;
                }
 
-               $data      = $q_item['content'];
-               $public    = $q_item['batch'];
-               $contact   = $c[0];
-               $owner     = $u[0];
+               $data   = $q_item['content'];
+               $public = $q_item['batch'];
+               $owner  = $user;
 
                $deliver_status = 0;
 
@@ -132,22 +123,22 @@ class Queue
                                $deliver_status = DFRN::deliver($owner, $contact, $data);
 
                                if ($deliver_status == (-1)) {
-                                       update_queue_time($q_item['id']);
+                                       QueueModel::updateTime($q_item['id']);
                                        Cache::set($cachekey_deadguy . $contact['notify'], true, CACHE_QUARTER_HOUR);
                                } else {
-                                       remove_queue_item($q_item['id']);
+                                       QueueModel::removeItem($q_item['id']);
                                }
                                break;
                        case NETWORK_OSTATUS:
                                if ($contact['notify']) {
                                        logger('queue: slapdelivery: item ' . $q_item['id'] . ' for ' . $contact['name'] . ' <' . $contact['url'] . '>');
-                                       $deliver_status = slapper($owner, $contact['notify'], $data);
+                                       $deliver_status = Salmon::slapper($owner, $contact['notify'], $data);
 
                                        if ($deliver_status == (-1)) {
-                                               update_queue_time($q_item['id']);
+                                               QueueModel::updateTime($q_item['id']);
                                                Cache::set($cachekey_deadguy . $contact['notify'], true, CACHE_QUARTER_HOUR);
                                        } else {
-                                               remove_queue_item($q_item['id']);
+                                               QueueModel::removeItem($q_item['id']);
                                        }
                                }
                                break;
@@ -157,22 +148,22 @@ class Queue
                                        $deliver_status = Diaspora::transmit($owner, $contact, $data, $public, true);
 
                                        if ($deliver_status == (-1)) {
-                                               update_queue_time($q_item['id']);
+                                               QueueModel::updateTime($q_item['id']);
                                                Cache::set($cachekey_deadguy . $contact['notify'], true, CACHE_QUARTER_HOUR);
                                        } else {
-                                               remove_queue_item($q_item['id']);
+                                               QueueModel::removeItem($q_item['id']);
                                        }
                                }
                                break;
 
                        default:
-                               $params = array('owner' => $owner, 'contact' => $contact, 'queue' => $q_item, 'result' => false);
-                               call_hooks('queue_deliver', $a, $params);
+                               $params = ['owner' => $owner, 'contact' => $contact, 'queue' => $q_item, 'result' => false];
+                               Addon::callHooks('queue_deliver', $params);
 
                                if ($params['result']) {
-                                       remove_queue_item($q_item['id']);
+                                       QueueModel::removeItem($q_item['id']);
                                } else {
-                                       update_queue_time($q_item['id']);
+                                       QueueModel::updateTime($q_item['id']);
                                }
                                break;
                }