use Friendica\Model\GContact;
use Friendica\Model\Item;
use Friendica\Model\User;
+use Friendica\Model\Storage;
use Friendica\Util\DateTimeFormat;
use Friendica\Worker\Delivery;
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`, 25) WHERE `photo`.`backend-class` LIKE 'Friendica\\\Model\\\Storage\\\%' ESCAPE '|'") ||
+ !DBA::p("UPDATE `attach` SET `attach`.`backend-class` = SUBSTR(`attach`.`backend-class`, 25) WHERE `attach`.`backend-class` LIKE 'Friendica\\\Model\\\Storage\\\%' ESCAPE '|'")) {
+ return Update::FAILED;
+ };
return Update::SUCCESS;
}