X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=2b1bd2bbe89156f019161f1cc411401e095816a7;hb=ff180fb0f1c3e2181c2c28ad37a5bf9125444518;hp=0b5dfeef46085b5710c924ac8f67b9a579eda358;hpb=fad99b861902bf2d3fcbd7ed0ae6c16693c5f0be;p=friendica.git diff --git a/update.php b/update.php index 0b5dfeef46..2b1bd2bbe8 100644 --- a/update.php +++ b/update.php @@ -4,6 +4,7 @@ use Friendica\Core\Addon; use Friendica\Core\Config; use Friendica\Core\L10n; use Friendica\Core\PConfig; +use Friendica\Core\Update; use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\Model\Contact; @@ -11,8 +12,6 @@ use Friendica\Model\Item; use Friendica\Model\User; use Friendica\Util\DateTimeFormat; -require_once 'include/dba.php'; - /** * * update.php - automatic system update @@ -20,7 +19,7 @@ require_once 'include/dba.php'; * This function is responsible for doing post update changes to the data * (not the structure) in the database. * - * Database structure changes are done in config/dbstructure.php + * Database structure changes are done in config/dbstructure.config.php * * If there is a need for a post process to a structure change, update this file * by adding a new function at the end with the number of the new DB_UPDATE_VERSION. @@ -32,7 +31,7 @@ require_once 'include/dba.php'; * * 1. Create a function "update_4712()" here in the update.php * 2. Apply the needed structural changes in config/dbStructure.php - * 3. Set DB_UPDATE_VERSION in boot.php to 4712. + * 3. Set DB_UPDATE_VERSION in config/dbstructure.config.php to 4712. * * If you need to run a script before the database update, name the function "pre_update_4712()" */ @@ -65,7 +64,7 @@ function update_1179() { // Update the central item storage with uid=0 Worker::add(PRIORITY_LOW, "threadupdate"); - return UPDATE_SUCCESS; + return Update::SUCCESS; } function update_1181() { @@ -73,7 +72,7 @@ function update_1181() { // Fill the new fields in the term table. Worker::add(PRIORITY_LOW, "TagUpdate"); - return UPDATE_SUCCESS; + return Update::SUCCESS; } function update_1189() { @@ -84,7 +83,7 @@ function update_1189() { Config::delete('system','directory_submit_url'); } - return UPDATE_SUCCESS; + return Update::SUCCESS; } function update_1191() { @@ -144,7 +143,7 @@ function update_1191() { Config::set('system', 'maintenance', 0); - return UPDATE_SUCCESS; + return Update::SUCCESS; } function update_1203() { @@ -165,19 +164,19 @@ function update_1244() { // Logged in users are forcibly logged out DBA::delete('session', ['1 = 1']); - return UPDATE_SUCCESS; + return Update::SUCCESS; } function update_1245() { $rino = Config::get('system', 'rino_encrypt'); if (!$rino) { - return UPDATE_SUCCESS; + return Update::SUCCESS; } Config::set('system', 'rino_encrypt', 1); - return UPDATE_SUCCESS; + return Update::SUCCESS; } function update_1247() { @@ -226,13 +225,13 @@ function update_1260() { SET `thread`.`author-id` = `item`.`author-id` WHERE `thread`.`author-id` = 0"); Config::set('system', 'maintenance', 0); - return UPDATE_SUCCESS; + return Update::SUCCESS; } function update_1261() { // This fixes the results of an issue in the develop branch of 2018-05. DBA::update('contact', ['blocked' => false, 'pending' => false], ['uid' => 0, 'blocked' => true, 'pending' => true]); - return UPDATE_SUCCESS; + return Update::SUCCESS; } function update_1278() { @@ -244,7 +243,7 @@ function update_1278() { Config::set('system', 'maintenance', 0); - return UPDATE_SUCCESS; + return Update::SUCCESS; } function update_1288() { @@ -253,5 +252,51 @@ function update_1288() { DBA::e("UPDATE `item-activity` INNER JOIN `item` ON `item`.`iaid` = `item-activity`.`id` SET `item-activity`.`uri-id` = `item`.`uri-id` WHERE `item-activity`.`uri-id` IS NULL OR `item-activity`.`uri-id` = 0"); DBA::e("UPDATE `item-content` INNER JOIN `item` ON `item`.`icid` = `item-content`.`id` SET `item-content`.`uri-id` = `item`.`uri-id` WHERE `item-content`.`uri-id` IS NULL OR `item-content`.`uri-id` = 0"); - return UPDATE_SUCCESS; + return Update::SUCCESS; } + + +// Post-update script of PR 5751 +function update_1293() { + $allGenders = DBA::select('contact', ['id', 'gender']); + $allLangs = L10n::getAvailableLanguages(); + $success = 0; + $fail = 0; + foreach ($allGenders as $key=>$gender) { + foreach ($allLangs as $key=>$lang) { + + $a = new \stdClass(); + $a->strings = []; + + // First we get the the localizations + if (file_exists("view/lang/$lang/strings.php")) { + include "view/lang/$lang/strings.php"; + } + if (file_exists("addon/morechoice/lang/$lang/strings.php")) { + include "addon/morechoice/lang/$lang/strings.php"; + } + + $localizedStrings = $a->strings; + unset($a); + + $key = array_search($gender['gender'], $localizedStrings); + if ($key !== false) { + break; + } + + // defaulting to empty string + $key = ''; + } + DBA::update('contact', ['gender' => $key], ['id' => $gender['id']]); + logger::log('Updated contact ' . $gender['id'] . ' to gender ' . $key . ' (was: ' . $gender['gender'] . ')'); + + if ($key == '') { + $fail++; + } else { + $success++; + } + } + + Logger::log("Gender fix completed. Success: $success. Fail: $fail"); + return Update::SUCCESS; +} \ No newline at end of file