]> git.mxchange.org Git - friendica.git/blobdiff - update.php
Merge pull request #7904 from MrPetovan/task/7887-api-followers-request
[friendica.git] / update.php
index d608669f169f66dda39b8e6af07bdd06ccf38a32..3132677ea7f5e8a7383064e51092db1a6b0573e5 100644 (file)
@@ -9,9 +9,11 @@ use Friendica\Core\Update;
 use Friendica\Core\Worker;
 use Friendica\Database\DBA;
 use Friendica\Model\Contact;
+use Friendica\Model\GContact;
 use Friendica\Model\Item;
 use Friendica\Model\User;
 use Friendica\Util\DateTimeFormat;
+use Friendica\Worker\Delivery;
 
 /**
  *
@@ -20,7 +22,7 @@ use Friendica\Util\DateTimeFormat;
  * 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.config.php
+ * Database structure changes are done in static/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.
@@ -31,8 +33,8 @@ use Friendica\Util\DateTimeFormat;
  * You are currently on version 4711 and you are preparing changes that demand an update script.
  *
  * 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 config/dbstructure.config.php to 4712.
+ * 2. Apply the needed structural changes in static/dbStructure.php
+ * 3. Set DB_UPDATE_VERSION in static/dbstructure.config.php to 4712.
  *
  * If you need to run a script before the database update, name the function "pre_update_4712()"
  */
@@ -160,9 +162,9 @@ function update_1191()
 function update_1203()
 {
        $r = q("UPDATE `user` SET `account-type` = %d WHERE `page-flags` IN (%d, %d)",
-               DBA::escape(Contact::ACCOUNT_TYPE_COMMUNITY),
-               DBA::escape(Contact::PAGE_COMMUNITY),
-               DBA::escape(Contact::PAGE_PRVGROUP)
+               DBA::escape(User::ACCOUNT_TYPE_COMMUNITY),
+               DBA::escape(User::PAGE_FLAGS_COMMUNITY),
+               DBA::escape(User::PAGE_FLAGS_PRVGROUP)
        );
 }
 
@@ -292,159 +294,105 @@ function update_1288()
 }
 
 // Post-update script of PR 5751
-function update_1296()
+function update_1298()
 {
-       $translateKey = 'gender';
-       $allData = DBA::select('profile', ['id', $translateKey]);
-       $allLangs = L10n::getAvailableLanguages();
-       $success = 0;
-       $fail = 0;
-       foreach ($allData as $key => $data) {
-               $toTranslate = $data[$translateKey];
-               if ($toTranslate != '') {
-                       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";
+       $keys = ['gender', 'marital', 'sexual'];
+       foreach ($keys as $translateKey) {
+               $allData = DBA::select('profile', ['id', $translateKey]);
+               $allLangs = L10n::getAvailableLanguages();
+               $success = 0;
+               $fail = 0;
+               foreach ($allData as $key => $data) {
+                       $toTranslate = $data[$translateKey];
+                       if ($toTranslate != '') {
+                               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($toTranslate, $localizedStrings);
+                                       if ($key !== false) {
+                                               break;
+                                       }
+
+                                       // defaulting to empty string
+                                       $key = '';
                                }
 
-                               $localizedStrings = $a->strings;
-                               unset($a);
-
-                               $key = array_search($toTranslate, $localizedStrings);
-                               if ($key !== false) {
-                                       break;
+                               if ($key == '') {
+                                       $fail++;
+                               } else {
+                                       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']);
+                                       Contact::updateSelfFromUserID($data['id']);
+                                       GContact::updateForUser($data['id']);
+                                       $success++;
                                }
-
-                               // defaulting to empty string
-                               $key = '';
-                       }
-
-                       if ($key == '') {
-                               $fail++;
-                       } else {
-                               DBA::update('profile', [$translateKey => $key], ['id' => $data['id']]);
-                               logger::log('Updated contact ' . $data['id'] . " to $translateKey " . $key .
-                                       ' (was: ' . $data[$translateKey] . ')');
-                               Worker::add(PRIORITY_LOW, 'ProfileUpdate', $data['id']);                
-                               Contact::updateSelfFromUserID($data['id']);
-                               GContact::updateForUser($data['id']);
-                               $success++;
                        }
                }
-       }
 
-       Logger::log($translateKey . " fix completed. Success: $success. Fail: $fail");
+               Logger::notice($translateKey . " fix completed", ['action' => 'update', 'translateKey' => $translateKey, 'Success' => $success, 'Fail' => $fail ]);
+       }
        return Update::SUCCESS;
 }
-// Post-update script of PR 5751
-function update_1297()
-{
-       $translateKey = 'marital';
-       $allData = DBA::select('profile', ['id', $translateKey]);
-       $allLangs = L10n::getAvailableLanguages();
-       $success = 0;
-       $fail = 0;
-       foreach ($allData as $key => $data) {
-               $toTranslate = $data[$translateKey];
-               if ($toTranslate != '') {
-                       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($toTranslate, $localizedStrings);
-                               if ($key !== false) {
-                                       break;
-                               }
 
-                               // defaulting to empty string
-                               $key = '';
-                       }
+function update_1309()
+{
+       $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;
+               }
 
-                       if ($key == '') {
-                               $fail++;
-                       } else {
-                               DBA::update('profile', [$translateKey => $key], ['id' => $data['id']]);
-                               logger::log('Updated contact ' . $data['id'] . " to $translateKey " . $key .
-                                       ' (was: ' . $data[$translateKey] . ')');
-                               Worker::add(PRIORITY_LOW, 'ProfileUpdate', $data['id']);                
-                               Contact::updateSelfFromUserID($data['id']);
-                               GContact::updateForUser($data['id']);
-                               $success++;
-                       }
+               $item = Item::selectFirst(['id', 'gravity'], ['uid' => $contact['uid'], 'guid' => $entry['guid']]);
+               if (!DBA::isResult($item)) {
+                       continue;
                }
-       }
 
-       Logger::log($translateKey . " fix completed. Success: $success. Fail: $fail");
+               $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;
 }
 
-// Post-update script of PR 5751
-function update_1298()
+function update_1315()
 {
-       $translateKey = 'sexual';
-       $allData = DBA::select('profile', ['id', $translateKey]);
-       $allLangs = L10n::getAvailableLanguages();
-       $success = 0;
-       $fail = 0;
-       foreach ($allData as $key => $data) {
-               $toTranslate = $data[$translateKey];
-               if ($toTranslate != '') {
-                       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);
+       DBA::delete('item-delivery-data', ['postopts' => '', 'inform' => '', 'queue_count' => 0, 'queue_done' => 0]);
+       return Update::SUCCESS;
+}
 
-                               $key = array_search($toTranslate, $localizedStrings);
-                               if ($key !== false) {
-                                       break;
-                               }
+function update_1318()
+{
+       DBA::update('profile', ['marital' => "In a relation"], ['marital' => "Unavailable"]);
+       DBA::update('profile', ['marital' => "Single"], ['marital' => "Available"]);
 
-                               // defaulting to empty string
-                               $key = '';
-                       }
+       Worker::add(PRIORITY_LOW, 'ProfileUpdate');
+       return Update::SUCCESS;
+}
 
-                       if ($key == '') {
-                               $fail++;
-                       } else {
-                               DBA::update('profile', [$translateKey => $key], ['id' => $data['id']]);
-                               logger::log('Updated contact ' . $data['id'] . " to $translateKey " . $key .
-                                       ' (was: ' . $data[$translateKey] . ')');
-                               Worker::add(PRIORITY_LOW, 'ProfileUpdate', $data['id']);                
-                               Contact::updateSelfFromUserID($data['id']);
-                               GContact::updateForUser($data['id']);
-                               $success++;
-                       }
-               }
+function update_1323()
+{
+       $users = DBA::select('user', ['uid']);
+       while ($user = DBA::fetch($users)) {
+               Contact::updateSelfFromUserID($user['uid']);
        }
+       DBA::close($users);
 
-       Logger::log($translateKey . " fix completed. Success: $success. Fail: $fail");
        return Update::SUCCESS;
-}
\ No newline at end of file
+}
+