]> git.mxchange.org Git - friendica.git/blobdiff - update.php
Merge pull request #8079 from ozero/patch-1
[friendica.git] / update.php
index 145446bae0c6e79acee436efe340234998c0491b..924fac54589533d29c12d7dad80c610618e2aa87 100644 (file)
@@ -12,6 +12,7 @@ use Friendica\Model\Contact;
 use Friendica\Model\GContact;
 use Friendica\Model\Item;
 use Friendica\Model\User;
+use Friendica\Model\Storage;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Worker\Delivery;
 
@@ -408,25 +409,26 @@ function update_1327()
        return Update::SUCCESS;
 }
 
-function update_1329()
+function update_1330()
 {
        $currStorage = Config::get('storage', 'class', '');
 
+       // set the name of the storage instead of the classpath as config
        if (!empty($currStorage)) {
-               $storageName = array_key_first(\Friendica\Core\StorageManager::DEFAULT_BACKENDS, $currStorage);
-               Config::set('storage', 'name', $storageName);
-               Config::delete('storage', 'class');
-       }
+               /** @var Storage\IStorage $currStorage */
+               if (!Config::set('storage', 'name', $currStorage::getName())) {
+                       return Update::FAILED;
+               }
 
-       $photos = DBA::select('photos', ['backend-class', 'id'], ['backend-class IS NOT NULL']);
-       foreach ($photos as $photo) {
-               DBA::update('photos', ['backend-class' => $photo['backend-class']::NAME], ['id' => $photo['id']]);
+               // try to delete the class since it isn't needed. This won't work with config files
+               Config::delete('storage', 'class');
        }
 
-       $attachs = DBA::select('attach', ['backend-class', 'id'], ['backend-class IS NOT NULL']);
-       foreach ($attachs as $attach) {
-               DBA::update('photos', ['backend-class' => $attach['backend-class']::NAME], ['id' => $attach['id']]);
-       }
+       // Update attachments and photos
+       if (!DBA::p("UPDATE `photo` SET `photo`.`backend-class` = SUBSTR(`photo`.`backend-class`, 22) WHERE `photo`.`backend-class` LIKE 'Friendica\\Model\\Storage\\%'") ||
+           !DBA::p("UPDATE `attach` SET `attach`.`backend-class` = SUBSTR(`attach`.`backend-class`, 22) WHERE `attach`.`backend-class` LIKE 'Friendica\\Model\\Storage\\%'")) {
+               return Update::FAILED;
+       };
 
        return Update::SUCCESS;
 }