]> git.mxchange.org Git - friendica.git/blobdiff - src/Worker/TagUpdate.php
Merge pull request #5138 from annando/optimize-workerqueue
[friendica.git] / src / Worker / TagUpdate.php
index 93423ecb2a7fa5729398c0563ca8a0a0dd882401..f6a141ad6d543eef8d1aa605c7e42148c9f53acd 100644 (file)
@@ -1,10 +1,39 @@
 <?php
+
 namespace Friendica\Worker;
 
-require_once("include/tags.php");
+use dba;
+
+class TagUpdate
+{
+       public static function execute()
+       {
+               $messages = dba::p("SELECT `oid`,`item`.`guid`, `item`.`created`, `item`.`received` FROM `term` INNER JOIN `item` ON `item`.`id`=`term`.`oid` WHERE `term`.`otype` = 1 AND `term`.`guid` = ''");
+
+               logger('fetched messages: ' . dba::num_rows($messages));
+               while ($message = dba::fetch($messages)) {
+                       if ($message['uid'] == 0) {
+                               $global = true;
+
+                               dba::update('term', ['global' => true], ['otype' => TERM_OBJ_POST, 'guid' => $message['guid']]);
+                       } else {
+                               $global = (dba::count('term', ['uid' => 0, 'otype' => TERM_OBJ_POST, 'guid' => $message['guid']]) > 0);
+                       }
+
+                       $fields = ['guid' => $message['guid'], 'created' => $message['created'],
+                               'received' => $message['received'], 'global' => $global];
+                       dba::update('term', $fields, ['otype' => TERM_OBJ_POST, 'oid' => $message['oid']]);
+               }
+
+               dba::close($messages);
+
+               $messages = dba::p("SELECT `guid` FROM `item` WHERE `uid` = 0");
+
+               logger('fetched messages: ' . dba::num_rows($messages));
+               while ($message = dba::fetch(messages)) {
+                       dba::update('item', ['global' => true], ['guid' => $message['guid']]);
+               }
 
-class TagUpdate {
-       public static function execute() {
-               update_items();
+               dba::close($messages);
        }
 }