X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=update.php;h=6635bd813cc155afa6003eff6cfa3bbbf59c4e71;hb=540b3f892b1aa567c1c51323a25a8d4be1d85d27;hp=49287cd0b2a86205a9c944d4f36047fb4b0692bc;hpb=6cba99f9c948e60abc18e1f2176b5fbaf1f7cece;p=friendica.git diff --git a/update.php b/update.php index 49287cd0b2..6635bd813c 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ set('storage', 'name', $currStorage::getName())) { return Update::FAILED; } @@ -192,8 +194,8 @@ function update_1330() } // 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 '|'")) { + if (!DBA::e("UPDATE `photo` SET `photo`.`backend-class` = SUBSTR(`photo`.`backend-class`, 25) WHERE `photo`.`backend-class` LIKE 'Friendica\\\Model\\\Storage\\\%' ESCAPE '|'") || + !DBA::e("UPDATE `attach` SET `attach`.`backend-class` = SUBSTR(`attach`.`backend-class`, 25) WHERE `attach`.`backend-class` LIKE 'Friendica\\\Model\\\Storage\\\%' ESCAPE '|'")) { return Update::FAILED; }; @@ -206,7 +208,7 @@ function update_1332() $profiles = DBA::select('profile', [], $condition); while ($profile = DBA::fetch($profiles)) { - DI::profileField()->migrateFromLegacyProfile($profile); + Profile::migrate($profile); } DBA::close($profiles); @@ -988,7 +990,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,10 +1001,110 @@ function update_1434() return Update::SUCCESS; } -function update_1435() +function update_1438() { + DBA::update('photo', ['photo-type' => Photo::USER_AVATAR], ['profile' => true]); + DBA::update('photo', ['photo-type' => Photo::CONTACT_AVATAR], ["NOT `profile` AND NOT `contact-id` IS NULL AND `contact-id` != ?", 0]); + DBA::update('photo', ['photo-type' => Photo::DEFAULT], ["NOT `profile` AND (`contact-id` IS NULL OR `contact-id` = ?) AND `photo-type` IS NULL AND `album` != ?", 0, Photo::CONTACT_PHOTOS]); +} + +function update_1439() +{ + $intros = DBA::select('intro', ['id', 'fid'], ["NOT `fid` IS NULL AND `fid` != ?", 0]); + while ($intro = DBA::fetch($intros)) { + $fcontact = DBA::selectFirst('fcontact', ['url'], ['id' => $intro['fid']]); + if (!empty($fcontact['url'])) { + $id = Contact::getIdForURL($fcontact['url']); + if (!empty($id)) { + DBA::update('intro',['suggest-cid' => $id], ['id' => $intro['id']]); + } + } + } + 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); } -} \ No newline at end of file + + return Update::SUCCESS; +} + +function update_1446() +{ + $distributed_cache_driver_source = DI::config()->getCache()->getSource('system', 'distributed_cache_driver'); + $cache_driver_source = DI::config()->getCache()->getSource('system', 'cache_driver'); + + // In case the distributed cache driver is the default value, but the current cache driver isn't default, + // we assume that the distributed cache driver should be the same as the current cache driver + if ( + $distributed_cache_driver_source === \Friendica\Core\Config\ValueObject\Cache::SOURCE_STATIC + && $cache_driver_source > \Friendica\Core\Config\ValueObject\Cache::SOURCE_STATIC + ) { + DI::config()->set('system', 'distributed_cache_driver', DI::config()->get('system', 'cache_driver')); + } + + return Update::SUCCESS; +} + +function update_1451() +{ + DBA::update('user', ['account-type' => User::ACCOUNT_TYPE_COMMUNITY], ['page-flags' => [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]]); + DBA::update('contact', ['contact-type' => Contact::TYPE_COMMUNITY], ["`forum` OR `prv`"]); + DBA::update('contact', ['manually-approve' => true], ['prv' => true]); + + return Update::SUCCESS; +} + +function update_1457() +{ + $pinned = DBA::select('post-thread-user', ['uri-id'], ['pinned' => true]); + while ($post = DBA::fetch($pinned)) { + Post\Collection::add($post['uri-id'], Post\Collection::FEATURED); + } + DBA::close($pinned); + + return Update::SUCCESS; +}