X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=81e5be8d649875be0c76d4810003ba5cc909e72f;hb=e2ff48375fdc75fc3509233c55f41f20fd863308;hp=d7598a33f5353e28a89a34c135a270f9cab96b8f;hpb=838cdac5d17cf71e7103215c65bd0b2a878254f9;p=friendica.git diff --git a/update.php b/update.php index d7598a33f5..81e5be8d64 100644 --- a/update.php +++ b/update.php @@ -41,6 +41,7 @@ */ use Friendica\Core\Logger; +use Friendica\Core\Storage\Capability\ICanReadFromStorage; use Friendica\Core\Update; use Friendica\Core\Worker; use Friendica\Database\Database; @@ -54,7 +55,7 @@ use Friendica\Model\Notification; use Friendica\Model\Photo; use Friendica\Model\Post; use Friendica\Model\Profile; -use Friendica\Model\Storage; +use Friendica\Security\PermissionSet\Repository\PermissionSet; use Friendica\Worker\Delivery; // Post-update script of PR 5751 @@ -182,7 +183,7 @@ function update_1330() // set the name of the storage instead of the classpath as config if (!empty($currStorage)) { - /** @var Storage\IStorage $currStorage */ + /** @var ICanReadFromStorage $currStorage */ if (!DI::config()->set('storage', 'name', $currStorage::getName())) { return Update::FAILED; } @@ -206,7 +207,7 @@ function update_1332() $profiles = DBA::select('profile', [], $condition); while ($profile = DBA::fetch($profiles)) { - Profile::migrateFromLegacyProfile($profile); + Profile::migrate($profile); } DBA::close($profiles); @@ -988,7 +989,7 @@ function update_1434() // in case of an empty config, set "Database" as default storage backend if (empty($name)) { - DI::config()->set('storage', 'name', Storage\Database::getName()); + DI::config()->set('storage', 'name', \Friendica\Core\Storage\Type\Database::getName()); } // In case of a Using deprecated storage class value, set the right name for it @@ -999,14 +1000,6 @@ function update_1434() return Update::SUCCESS; } -function update_1435() -{ - $contacts = DBA::select('contact', [], ["`uid` != ?", 0]); - while ($contact = DBA::fetch($contacts)) { - Contact\User::insertForContactArray($contact); - } -} - function update_1438() { DBA::update('photo', ['photo-type' => Photo::USER_AVATAR], ['profile' => true]); @@ -1028,3 +1021,52 @@ function update_1439() } DBA::close($intros); } + +function update_1440() +{ + // Fix wrong public permissionset + DBA::p("UPDATE `profile_field` SET `psid` = ? WHERE psid IN (SELECT `id` FROM `permissionset` WHERE `id` != ? AND `allow_cid` = '' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = '')", PermissionSet::PUBLIC, PermissionSet::PUBLIC); + DBA::delete('permissionset', ["`id` != ? AND `allow_cid` = '' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = ''", PermissionSet::PUBLIC]); + + return Update::SUCCESS; +} + +function update_1441() +{ + $languages = DI::l10n()->getAvailableLanguages(); + + $albums = [Photo::PROFILE_PHOTOS]; + foreach ($languages as $language) { + $albums[] = DI::l10n()->withLang($language)->t(Photo::PROFILE_PHOTOS); + } + $albums = array_unique($albums); + + Photo::update(['photo-type' => Photo::USER_AVATAR], ['album' => $albums]); + + return Update::SUCCESS; +} + +function update_1442() +{ + // transform blocked intros into ignored intros + DBA::update('intro', ['ignore' => 1, 'blocked' => 0], ['blocked' => 1]); + + return Update::SUCCESS; +} + +/** + * A bug in Contact\User::updateByContactUpdate prevented any update to the user-contact table since the rows have been + * created in version 1435. This version fixes this bug but the user-contact rows are outdated, we need to regenerate + * them. + */ +function update_1444() +{ + DBA::e('TRUNCATE TABLE `user-contact`'); + + $contacts = DBA::select('contact', [], ["`uid` != ?", 0]); + while ($contact = DBA::fetch($contacts)) { + Contact\User::insertForContactArray($contact); + } + + return Update::SUCCESS; +}