X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=40a3e8ff0d22ee39328b8eddcd39621144af1e00;hb=96402e306a4ea448f64df0f36346c05dcf221ab8;hp=140c8fcb58d3722a64869037d89e3acd7d240497;hpb=fa31bb6dde8106fcc7e16c1f6c359f2d58723805;p=friendica.git diff --git a/update.php b/update.php index 140c8fcb58..40a3e8ff0d 100644 --- a/update.php +++ b/update.php @@ -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,30 @@ 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 === '!!') { - $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; + } + + $item = Item::selectFirst(['id', 'gravity'], ['uid' => $contact['uid'], 'guid' => $entry['guid']]); + if (!DBA::isResult($item)) { + 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); + + if ($item['gravity'] == GRAVITY_PARENT) { + $cmd = Delivery::POST; } else { - Logger::info('No Difference in config found', ['cat' => $cat, 'key' => $key, 'value' => $fileConfig, 'saved' => $savedConfig]); + $cmd = Delivery::COMMENT; } - }; - $updateConfigEntry('config', 'hostname'); - $updateConfigEntry('system', 'basepath'); + + $deliver_options = ['priority' => PRIORITY_MEDIUM, 'dont_fork' => true]; + Worker::add($deliver_options, 'Delivery', $cmd, $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; }