X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=672c11a4f49097342f8a3d78fd16074ab6ce7ad7;hb=bbb5440144a6a8421350ef6c0176be9c05df5527;hp=356877ff9b0d2c94a0cbd3e425c508cdccd92de5;hpb=1874a32728142f2c12724562eb122eb1cd1370fe;p=friendica.git diff --git a/update.php b/update.php index 356877ff9b..672c11a4f4 100644 --- a/update.php +++ b/update.php @@ -59,6 +59,7 @@ use Friendica\Model\Photo; use Friendica\Model\Post; use Friendica\Model\Profile; use Friendica\Model\User; +use Friendica\Protocol\Activity; use Friendica\Protocol\Delivery; use Friendica\Security\PermissionSet\Repository\PermissionSet; @@ -1148,6 +1149,10 @@ function update_1502() function update_1505() { + if (!DBStructure::existsTable('config')) { + return Update::SUCCESS; + } + $conditions = [ "((`cat` = ?) AND ((`k` LIKE ?) OR (`k` = ?) OR (`k` LIKE ?) OR (`k` = ?))) OR " . "((`cat` != ?) AND (`k` LIKE ?)) OR " . @@ -1175,3 +1180,138 @@ function update_1505() return DBA::delete('config', $conditions) ? Update::SUCCESS : Update::FAILED; } + +function update_1508() +{ + $config = DBA::selectToArray('config'); + + $newConfig = DI::config()->beginTransaction(); + + foreach ($config as $entry) { + $newConfig->set($entry['cat'], $entry['k'], $entry['v']); + } + + $newConfig->commit(); + + return Update::SUCCESS; +} + +function update_1509() +{ + $addons = DBA::selectToArray('addon'); + + $newConfig = DI::config()->beginTransaction(); + + foreach ($addons as $addon) { + $newConfig->set('addons', $addon['name'], [ + 'last_update' => $addon['timestamp'], + 'admin' => (bool)$addon['plugin_admin'], + ]); + } + + $newConfig->commit(); + + return Update::SUCCESS; +} + +function update_1510() +{ + $blocks = DBA::select('pconfig', ['uid', 'v'], ['cat' => 'blockem', 'k' => 'words']); + while ($block = DBA::fetch($blocks)) { + foreach (explode(',', $block['v']) as $account) { + $id = Contact::getIdForURL(trim($account), 0, false); + if (empty($id)) { + continue; + } + Contact\User::setCollapsed($id, $block['uid'], true); + } + } + return Update::SUCCESS; +} + +function update_1512() +{ + DI::keyValue()->set('nodeinfo_total_users', DI::config()->get('nodeinfo', 'total_users')); + DI::keyValue()->set('nodeinfo_active_users_halfyear', DI::config()->get('nodeinfo', 'active_users_halfyear')); + DI::keyValue()->set('nodeinfo_active_users_monthly', DI::config()->get('nodeinfo', 'active_users_monthly')); + DI::keyValue()->set('nodeinfo_active_users_weekly', DI::config()->get('nodeinfo', 'active_users_weekly')); + DI::keyValue()->set('nodeinfo_local_posts', DI::config()->get('nodeinfo', 'local_posts')); + DI::keyValue()->set('nodeinfo_local_comments', DI::config()->get('nodeinfo', 'local_comments')); + + DI::config()->delete('nodeinfo', 'total_users'); + DI::config()->delete('nodeinfo', 'active_users_halfyear'); + DI::config()->delete('nodeinfo', 'active_users_monthly'); + DI::config()->delete('nodeinfo', 'active_users_weekly'); + DI::config()->delete('nodeinfo', 'local_posts'); + DI::config()->delete('nodeinfo', 'local_comments'); +} + +function update_1513() +{ + DI::keyValue()->set('git_friendica_version', DI::config()->get('system', 'git_friendica_version')); + DI::keyValue()->set('twitter_application_name', DI::config()->get('twitter', 'application_name')); + + DI::config()->delete('system', 'git_friendica_version'); + DI::config()->delete('twitter', 'application_name'); +} + +function update_1514() +{ + if (file_exists(dirname(__FILE__) . '/config/node.config.php')) { + + $transactionalConfig = DI::config()->beginTransaction(); + $oldConfig = include dirname(__FILE__) . '/config/node.config.php'; + + if (is_array($oldConfig)) { + $categories = array_keys($oldConfig); + + foreach ($categories as $category) { + if (is_array($oldConfig[$category])) { + $keys = array_keys($oldConfig[$category]); + + foreach ($keys as $key) { + $transactionalConfig->set($category, $key, $oldConfig[$category][$key]); + } + } + } + } + + $transactionalConfig->commit(); + + // Rename the node.config.php so it won't get used, but it isn't deleted. + if (rename(dirname(__FILE__) . '/config/node.config.php', dirname(__FILE__) . '/config/node.config.php.bak')) { + return Update::SUCCESS; + } else { + return Update::FAILED; + } + } + + return Update::SUCCESS; +} + +function update_1515() +{ + DBA::update('verb', ['name' => Activity::READ], ['name' => 'https://www.w3.org/ns/activitystreams#read']); + DBA::update('verb', ['name' => Activity::VIEW], ['name' => 'https://joinpeertube.org/view']); + return Update::SUCCESS; +} + +function update_1516() +{ + // Fixes https://github.com/friendica/friendica/issues/12803 + // de-serialize multiple serialized values + $configTrans = DI::config()->beginTransaction(); + $configArray = DI::config()->getCache()->getDataBySource(Cache::SOURCE_DATA); + + foreach ($configArray as $category => $keyValues) { + if (is_array($keyValues)) { + foreach ($keyValues as $key => $value) { + $configTrans->set($category, $key, $value); + } + } + } + + $configTrans->commit(); + + return Update::SUCCESS; +}