Add log folder to project gitignore
[friendica.git/.git] / update.php
index 140c8fc..077a56e 100644 (file)
@@ -12,8 +12,8 @@ use Friendica\Model\Contact;
 use Friendica\Model\GContact;
 use Friendica\Model\Item;
 use Friendica\Model\User;
-use Friendica\Util\Config\ConfigCacheSaver;
 use Friendica\Util\DateTimeFormat;
+use Friendica\Worker\Delivery;
 
 /**
  *
@@ -335,7 +335,7 @@ function update_1298()
                                        DBA::update('profile', [$translateKey => $key], ['id' => $data['id']]);
                                        Logger::notice('Updated contact', ['action' => 'update', 'contact' => $data['id'], "$translateKey" => $key,
                                                'was' => $data[$translateKey]]);
-                                       Worker::add(PRIORITY_LOW, 'ProfileUpdate', $data['id']);                
+                                       Worker::add(PRIORITY_LOW, 'ProfileUpdate', $data['id']);
                                        Contact::updateSelfFromUserID($data['id']);
                                        GContact::updateForUser($data['id']);
                                        $success++;
@@ -348,31 +348,24 @@ function update_1298()
        return Update::SUCCESS;
 }
 
-/**
- * @see https://github.com/friendica/friendica/pull/6815
- *
- * @return int Success
- */
-function update_1303()
+function update_1309()
 {
-       $app = \Friendica\BaseObject::getApp();
-       $configCache = $app->getConfigCache();
-       $configCacheSaver = new ConfigCacheSaver($app->getBasePath());
-       $updateConfigEntry = function($cat, $key) use ($configCache, $configCacheSaver) {
-               // check if the config file differs from the whole configuration (= The db contains other values)
-               $fileConfig = $configCache->get($cat, $key);
-               if ($fileConfig === '!<unset>!') {
-                       $fileConfig = null;
+       $queue = DBA::select('queue', ['id', 'cid', 'guid']);
+       while ($entry = DBA::fetch($queue)) {
+               $contact = DBA::selectFirst('contact', ['uid'], ['id' => $entry['cid']]);
+               if (!DBA::isResult($contact)) {
+                       continue;
                }
-               $savedConfig = Config::get($cat, $key, null, true);
-               if ($fileConfig !== $savedConfig) {
-                       Logger::info('Difference in config found', ['cat' => $cat, 'key' => $key, 'file' => $fileConfig, 'saved' => $savedConfig]);
-                       $configCacheSaver->saveToConfigFile($cat, $key, $savedConfig);
-               } else {
-                       Logger::info('No Difference in config found', ['cat' => $cat, 'key' => $key, 'value' => $fileConfig, 'saved' => $savedConfig]);
+
+               $item = Item::selectFirst(['id', 'gravity'], ['uid' => $contact['uid'], 'guid' => $entry['guid']]);
+               if (!DBA::isResult($item)) {
+                       continue;
                }
-       };
-       $updateConfigEntry('config', 'hostname');
-       $updateConfigEntry('system', 'basepath');
+
+               $deliver_options = ['priority' => PRIORITY_MEDIUM, 'dont_fork' => true];
+               Worker::add($deliver_options, 'Delivery', Delivery::POST, $item['id'], $entry['cid']);
+               Logger::info('Added delivery worker', ['command' => $cmd, 'item' => $item['id'], 'contact' => $entry['cid']]);
+               DBA::delete('queue', ['id' => $entry['id']]);
+       }
        return Update::SUCCESS;
 }