Drop obsolete upgrade instructions from 5.4 to 5.5
authorTim Düsterhus <duesterhus@woltlab.com>
Wed, 11 May 2022 09:40:37 +0000 (11:40 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Wed, 11 May 2022 09:40:37 +0000 (11:40 +0200)
14 files changed:
com.woltlab.wcf/objectType.xml
com.woltlab.wcf/option.xml
com.woltlab.wcf/userOption.xml
wcfsetup/install/files/acp/database/update_com.woltlab.wcf_5.5.php [deleted file]
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_boxConditions.php [deleted file]
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_cleanupPackageExclusion.php [deleted file]
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_clearPackageDeprecations.php [deleted file]
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_ensureInnoDbSearch.php [deleted file]
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_normalizeFileLog.php [deleted file]
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_randomize_cronjobs.php [deleted file]
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_starttls.php [deleted file]
wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_styleVariables.php [deleted file]
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index 64489461c9b05ad0543abacfc2bdc0d526afeb2f..2ae3e89c62af8b3d11846bcbac45fae7b3e614da 100644 (file)
                </type>
                <!-- /deprecated -->
        </import>
-       <delete>
-               <type name="com.woltlab.wcf.searchEngineConvertInnoDb">
-                       <definitionname>com.woltlab.wcf.rebuildData</definitionname>
-               </type>
-       </delete>
 </data>
index 361692e21372a5226fa40c4e03e111d6a0f6a0b6..2b849b4a5cd860a3f572a8f1dd9c65a9021c584b 100644 (file)
@@ -1666,14 +1666,4 @@ DESC:wcf.global.sortOrder.descending</selectoptions>
                        </option>
                </options>
        </import>
-       <delete>
-               <option name="module_master_password"/>
-               <option name="blacklist_ip_addresses"/>
-               <option name="blacklist_user_agents"/>
-               <option name="module_system_recaptcha"/>
-               <option name="profile_mail_use_captcha"/>
-               <option name="url_legacy_mode"/>
-               <option name="enable_censorship"/>
-               <option name="search_use_captcha" />
-       </delete>
 </data>
index 15b458ca40dee32bc3b3cbdc6f9979874eb7792a..549330a9b679cebd44393c7ccd19fd1898e15a9a 100644 (file)
                        </option>
                </options>
        </import>
-       <delete>
-               <!-- This option was improperly deleted in 5.2 / 6715774b360ae6a768ebcce407eeb4418339eab1 -->
-               <option name="googlePlus" />
-       </delete>
 </data>
diff --git a/wcfsetup/install/files/acp/database/update_com.woltlab.wcf_5.5.php b/wcfsetup/install/files/acp/database/update_com.woltlab.wcf_5.5.php
deleted file mode 100644 (file)
index 951c440..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-
-/**
- * Updates the database layout during the update from 5.4 to 5.5.
- *
- * @author Matthias Schmidt
- * @copyright 2001-2021 WoltLab GmbH
- * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package WoltLabSuite\Core
- */
-
-use wcf\system\database\table\column\DefaultFalseBooleanDatabaseTableColumn;
-use wcf\system\database\table\column\EnumDatabaseTableColumn;
-use wcf\system\database\table\column\SmallintDatabaseTableColumn;
-use wcf\system\database\table\index\DatabaseTableIndex;
-use wcf\system\database\table\PartialDatabaseTable;
-
-return [
-    PartialDatabaseTable::create('wcf1_article')
-        ->columns([
-            SmallintDatabaseTableColumn::create('comments')
-                ->drop(),
-        ]),
-    PartialDatabaseTable::create('wcf1_article_content')
-        ->columns([
-            SmallintDatabaseTableColumn::create('comments')
-                ->length(5)
-                ->notNull()
-                ->defaultValue(0),
-        ]),
-    PartialDatabaseTable::create('wcf1_blacklist_entry')
-        ->indices([
-            DatabaseTableIndex::create('lastSeen')
-                ->columns(['lastSeen']),
-        ]),
-    PartialDatabaseTable::create('wcf1_comment')
-        ->columns([
-            DefaultFalseBooleanDatabaseTableColumn::create('hasEmbeddedObjects'),
-        ]),
-    PartialDatabaseTable::create('wcf1_comment_response')
-        ->columns([
-            DefaultFalseBooleanDatabaseTableColumn::create('hasEmbeddedObjects'),
-        ]),
-    PartialDatabaseTable::create('wcf1_style')
-        ->columns([
-            EnumDatabaseTableColumn::create('apiVersion')
-                ->enumValues(['3.0', '3.1', '5.2', '5.5'])
-                ->notNull()
-                ->defaultValue('3.0'),
-        ]),
-];
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_boxConditions.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_boxConditions.php
deleted file mode 100644 (file)
index 8681cc7..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-<?php
-
-/**
- * Create conditions for all boxes that use the legacy page filter.
- *
- * @author Joshua Ruesweg
- * @copyright 2001-2021 WoltLab GmbH
- * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package WoltLabSuite\Core
- */
-
-use wcf\data\box\Box;
-use wcf\data\box\BoxList;
-use wcf\data\condition\Condition;
-use wcf\data\object\type\ObjectTypeCache;
-use wcf\system\condition\ConditionHandler;
-use wcf\system\condition\page\MultiPageCondition;
-
-$boxList = new BoxList();
-$boxList->readObjects();
-
-foreach ($boxList as $box) {
-    $conditions = ConditionHandler::getInstance()->getConditions(
-        Box::VISIBILITY_CONDITIONS_OBJECT_TYPE_NAME,
-        $box->boxID
-    );
-
-    if (!empty($conditions)) {
-        // The box already has conditions (maybe from a previous upgrade attempt).
-        // Skip this box to ensure, that the condition will not attached twice.
-        continue;
-    }
-
-    $pageCondition = ObjectTypeCache::getInstance()->getObjectTypeByName(
-        Box::VISIBILITY_CONDITIONS_OBJECT_TYPE_NAME,
-        'com.woltlab.wcf.page'
-    );
-
-    \assert($pageCondition->getProcessor() instanceof MultiPageCondition);
-
-    $pageCondition->getProcessor()->setData(new Condition(null, [
-        'conditionData' => \serialize([
-            'pageIDs' => $box->getPageIDs(),
-            'pageIDs_reverseLogic' => $box->visibleEverywhere,
-        ]),
-    ]));
-
-    ConditionHandler::getInstance()->createConditions(
-        $box->boxID,
-        [$pageCondition]
-    );
-}
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_cleanupPackageExclusion.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_cleanupPackageExclusion.php
deleted file mode 100644 (file)
index e12d961..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-
-/**
- * Since version 5.5 the excluded package version must be explicit set. If not, the installation of the plugin in denied.
- * For this reason, the (unused) format is rewritten from empty to `*`.
- *
- * see https://github.com/WoltLab/WCF/pull/4492
- *
- * @author Joshua Ruesweg
- * @copyright 2001-2022 WoltLab GmbH
- * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package WoltLabSuite\Core
- */
-
-use wcf\system\WCF;
-
-$sql = "UPDATE  wcf1_package_exclusion
-        SET     excludedPackageVersion = ?
-        WHERE   excludedPackageVersion = ?";
-$statement = WCF::getDB()->prepare($sql);
-$statement->execute([
-    '*',
-    '',
-]);
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_clearPackageDeprecations.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_clearPackageDeprecations.php
deleted file mode 100644 (file)
index 20d2c62..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-<?php
-
-/**
- * Clear the wcf1_package_(update_)?compatibility, wcf1_package_update_optional tables.
- *
- * see https://github.com/WoltLab/WCF/pull/4371
- *
- * @author Tim Duesterhus
- * @copyright 2001-2021 WoltLab GmbH
- * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package WoltLabSuite\Core
- */
-
-use wcf\system\WCF;
-
-$sql = "DELETE FROM wcf1_package_compatibility";
-$statement = WCF::getDB()->prepare($sql);
-$statement->execute();
-
-$sql = "DELETE FROM wcf1_package_update_compatibility";
-$statement = WCF::getDB()->prepare($sql);
-$statement->execute();
-
-$sql = "DELETE FROM wcf1_package_update_optional";
-$statement = WCF::getDB()->prepare($sql);
-$statement->execute();
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_ensureInnoDbSearch.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_ensureInnoDbSearch.php
deleted file mode 100644 (file)
index 438253c..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-<?php
-
-use wcf\data\object\type\ObjectTypeCache;
-use wcf\system\database\util\PreparedStatementConditionBuilder;
-use wcf\system\search\SearchIndexManager;
-use wcf\system\WCF;
-
-$objectTypes = ObjectTypeCache::getInstance()->getObjectTypes('com.woltlab.wcf.searchableObjectType');
-$tableNames = [];
-foreach ($objectTypes as $objectType) {
-    $tableNames[] = SearchIndexManager::getTableName($objectType->objectType);
-}
-$conditionBuilder = new PreparedStatementConditionBuilder(true);
-$conditionBuilder->add('TABLE_NAME IN (?)', [$tableNames]);
-$conditionBuilder->add('TABLE_SCHEMA = ?', [WCF::getDB()->getDatabaseName()]);
-$conditionBuilder->add('ENGINE <> ?', ['InnoDB']);
-
-$sql = "SELECT  COUNT(*)
-        FROM    INFORMATION_SCHEMA.TABLES
-        " . $conditionBuilder;
-$statement = WCF::getDB()->prepareStatement($sql);
-$statement->execute($conditionBuilder->getParameters());
-$nonInnoDbSearch = $statement->fetchSingleColumn() > 0;
-
-if ($nonInnoDbSearch) {
-    if (WCF::getLanguage()->getFixedLanguageCode() === 'de') {
-        $message = "Es wurden noch nicht alle Tabellen auf InnoDB migriert.";
-    } else {
-        $message = "The migration to InnoDB was not yet performed for all database tables.";
-    }
-
-    throw new \RuntimeException($message);
-}
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_normalizeFileLog.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_normalizeFileLog.php
deleted file mode 100644 (file)
index 746d36a..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/**
- * Normalizes the filenames in the package installation file log during the update from 5.4 to 5.5.
- *
- * @author Matthias Schmidt
- * @copyright 2001-2021 WoltLab GmbH
- * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package WoltLabSuite\Core
- */
-
-use wcf\system\WCF;
-use wcf\util\FileUtil;
-
-$sql = "SELECT  *
-        FROM    wcf1_package_installation_file_log
-        WHERE   filename LIKE ?";
-$statement = WCF::getDB()->prepare($sql);
-$statement->execute(['./%']);
-
-$sql = "DELETE FROM wcf1_package_installation_file_log
-        WHERE       packageID = ?
-                AND filename = ?
-                AND application = ?";
-$deleteStatement = WCF::getDB()->prepare($sql);
-
-$sql = "INSERT IGNORE INTO  wcf1_package_installation_file_log
-                            (packageID, filename, application)
-        VALUES              (?, ?, ?)";
-$insertStatement = WCF::getDB()->prepare($sql);
-
-while ($row = $statement->fetchArray()) {
-    $deleteStatement->execute([
-        $row['packageID'],
-        $row['filename'],
-        $row['application'],
-    ]);
-    $insertStatement->execute([
-        $row['packageID'],
-        FileUtil::getRealPath($row['filename']),
-        $row['application'],
-    ]);
-}
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_randomize_cronjobs.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_randomize_cronjobs.php
deleted file mode 100644 (file)
index 85addfc..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<?php
-
-/**
- * Randomize the times of the package list update and robot list update cronjobs.
- *
- * @author Tim Duesterhus
- * @copyright 2001-2022 WoltLab GmbH
- * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package WoltLabSuite\Core
- */
-
-use wcf\system\WCF;
-
-$startMinute = \random_int(0, 59);
-$startHour = \random_int(0, 23);
-
-$sql = "UPDATE  wcf1_cronjob
-        SET     startMinute = ?,
-                startHour = ?,
-                startDom = ?,
-                startMonth = ?,
-                startDow = ?,
-                lastExec = ?,
-                nextExec = ?,
-                afterNextExec = ?
-        WHERE   packageiD = ?
-            AND cronjobName = ?";
-$statement = WCF::getDB()->prepare($sql);
-$statement->execute([
-    $startMinute,
-    $startHour,
-    '*',
-    '*',
-    '*',
-
-    0,
-    \TIME_NOW,
-    0,
-
-    $this->installation->getPackageID(),
-    'com.woltlab.wcf.refreshPackageUpdates',
-]);
-$statement->execute([
-    $startMinute,
-    (($startHour + 12) % 24),
-    \random_int(1, 15),
-    '*',
-    '*',
-
-    0,
-    \TIME_NOW,
-    0,
-
-    $this->installation->getPackageID(),
-    'com.woltlab.wcf.refreshSearchRobots',
-]);
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_starttls.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_starttls.php
deleted file mode 100644 (file)
index 09d3731..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-<?php
-
-/**
- * Migrates away from MAIL_SMTP_STARTTLS = 'may'.
- *
- * @author Tim Duesterhus
- * @copyright 2001-2021 WoltLab GmbH
- * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package WoltLabSuite\Core
- */
-
-use wcf\data\option\OptionAction;
-use wcf\system\email\Email;
-use wcf\system\email\transport\exception\TransientFailure;
-use wcf\system\io\RemoteFile;
-
-if (MAIL_SMTP_STARTTLS != 'may') {
-    return;
-}
-
-$value = 'encrypt';
-if (\str_starts_with(MAIL_SMTP_HOST, 'ssl://')) {
-    // Anything using proper SSL can't use STARTTLS.
-    $value = 'none';
-} elseif (MAIL_SMTP_PORT == 465) {
-    // Anything on port 465 must be using proper SSL.
-    $value = 'none';
-} elseif (MAIL_SEND_METHOD == 'smtp') {
-    // For all the other configurations that use SMTP as the transport we
-    // need to verify whether TLS works or not.
-
-    $getCode = static function (RemoteFile $connection) {
-        $code = null;
-        do {
-            $data = $connection->gets();
-            if (\preg_match('/^(\d{3})([- ])(.*)$/', $data, $matches)) {
-                if ($code === null) {
-                    $code = \intval($matches[1]);
-                }
-
-                if ($code == $matches[1]) {
-                    if ($matches[2] === ' ') {
-                        return $code;
-                    }
-                } else {
-                    throw new TransientFailure("Unexpected reply '" . $data . "' from SMTP server. Code does not match previous codes from multiline answer.");
-                }
-            } else {
-                if ($connection->eof()) {
-                    throw new TransientFailure("Unexpected EOF / connection close from SMTP server.");
-                }
-
-                throw new TransientFailure("Unexpected reply '" . $data . "' from SMTP server.");
-            }
-        } while (true);
-    };
-
-    try {
-        $connection = new RemoteFile(MAIL_SMTP_HOST, MAIL_SMTP_PORT, 5);
-        $success = false;
-        if ($getCode($connection) == 220) {
-            $connection->write('EHLO ' . Email::getHost() . "\r\n");
-            if ($getCode($connection) == 250) {
-                $connection->write("STARTTLS\r\n");
-                if ($getCode($connection) == 220) {
-                    if ($connection->setTLS(true)) {
-                        $connection->write('EHLO ' . Email::getHost() . "\r\n");
-                        if ($getCode($connection) == 250) {
-                            $success = true;
-                            try {
-                                $connection->write("QUIT\r\n");
-                            } catch (\Exception $e) {
-                                // Ignore errors during disconnect.
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-        if (!$success) {
-            $value = 'none';
-        }
-    } catch (\Exception $e) {
-        $value = 'none';
-    } finally {
-        try {
-            $connection->close();
-        } catch (\Exception $e) {
-            // Ignore errors during disconnect.
-        }
-    }
-}
-
-$optionAction = new OptionAction([], 'import', [
-    'data' => [
-        'mail_smtp_starttls' => $value,
-    ],
-]);
-$optionAction->executeAction();
diff --git a/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_styleVariables.php b/wcfsetup/install/files/acp/update_com.woltlab.wcf_5.5_styleVariables.php
deleted file mode 100644 (file)
index 4ccca35..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-
-/**
- * Inserts new style variables introduced with WoltLab Suite 5.5.
- *
- * @author Alexander Ebert
- * @copyright 2001-2021 WoltLab GmbH
- * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
- * @package WoltLabSuite\Core
- */
-
-use wcf\system\WCF;
-
-$values = [
-    'wcfUserMenuBackground' => 'rgba(255, 255, 255, 1)',
-    'wcfUserMenuBackgroundActive' => 'rgba(239, 239, 239, 1)',
-    'wcfUserMenuText' => 'rgba(58, 58, 61, 1)',
-    'wcfUserMenuTextDimmed' => 'rgba(108, 108, 108, 1)',
-    'wcfUserMenuIndicator' => 'rgba(49, 138, 220, 1)',
-    'wcfUserMenuBorder' => 'rgba(221, 221, 221, 1)',
-];
-
-$sql = "INSERT IGNORE INTO wcf1_style_variable (variableName, defaultValue) VALUES (?, ?)";
-$statement = WCF::getDB()->prepare($sql);
-foreach ($values as $variableName => $defaultValue) {
-    $statement->execute([
-        $variableName,
-        $defaultValue,
-    ]);
-}
index f1c7916fae2f581e9aecd6777119da23d429598f..600318f9f0d86730ccfcdbb441e5763a569df2d6 100644 (file)
@@ -5564,59 +5564,4 @@ Benachrichtigungen auf <a href="{link isHtmlEmail=true}{/link}">{PAGE_TITLE|phra
                <item name="wcf.upload.error.uploadFailed"><![CDATA[Beim Hochladen der Datei ist ein unbekannter Fehler aufgetreten.]]></item>
        </category>
 </import>
-<delete>
-       <item name="wcf.acp.masterPassword"/>
-       <item name="wcf.acp.masterPassword.confirm"/>
-       <item name="wcf.acp.masterPassword.enter"/>
-       <item name="wcf.acp.masterPassword.enter.description"/>
-       <item name="wcf.acp.masterPassword.error.notEqual"/>
-       <item name="wcf.acp.masterPassword.error.notSecure"/>
-       <item name="wcf.acp.masterPassword.error.invalid"/>
-       <item name="wcf.acp.masterPassword.example"/>
-       <item name="wcf.acp.masterPassword.example.set"/>
-       <item name="wcf.acp.masterPassword.init"/>
-       <item name="wcf.acp.masterPassword.init.description"/>
-       <item name="wcf.acp.masterPassword.enter.deprecated"/>
-       <item name="wcf.acp.option.module_master_password"/>
-       <item name="wcf.acp.option.module_master_password.description"/>
-       <item name="wcf.acp.option.blacklist_ip_addresses"/>
-       <item name="wcf.acp.option.blacklist_ip_addresses.description"/>
-       <item name="wcf.acp.option.blacklist_user_agents"/>
-       <item name="wcf.acp.option.blacklist_user_agents.description"/>
-       <item name="wcf.global.form.error.lessThan.javaScript"/>
-       <item name="wcf.global.form.error.greaterThan.javaScript"/>
-       <item name="wcf.acp.devtools.project.compatibility"/>
-       <item name="wcf.acp.devtools.project.apiVersions"/>
-       <item name="wcf.acp.devtools.project.apiVersions.description"/>
-       <item name="wcf.acp.style.globals.pageLogo.description"/>
-       <item name="wcf.acp.style.globals.pageLogoMobile.description"/>
-       <item name="wcf.acp.option.profile_mail_use_captcha"/>
-       <item name="wcf.acp.option.mail_smtp_starttls.may"/>
-       <item name="wcf.acp.index.nonInnoDbSearch"/>
-       <item name="wcf.acp.systemCheck.mysql.searchEngine"/>
-       <item name="wcf.acp.systemCheck.mysql.searchEngine.description"/>
-       <item name="wcf.acp.systemCheck.mysql.searchEngine.incorrect"/>
-       <item name="wcf.acp.group.option.user.attachment.maxCount.description"/>
-       <item name="wcf.acp.option.enable_censorship"/>
-       <item name="wcf.acp.option.enable_censorship.description"/>
-       <item name="wcf.search.type.keywords" />
-       <item name="wcf.acp.option.search_use_captcha" />
-       <item name="wcf.search.query.description" />
-       <item name="wcf.search.results.change" />
-       <item name="wcf.search.results.description" />
-       <item name="wcf.search.general" />
-       <item name="wcf.search.query" />
-       <item name="wcf.search.error.noMatches" />
-       <item name="wcf.search.error.user.noMatches" />
-       <item name="wcf.user.logout.sure"/>
-       <item name="wcf.acp.dataImport.existingMapping.confirmMessage"/>
-       <item name="wcf.article.markAllAsRead" />
-       <item name="wcf.moderation.markAllAsRead" />
-       <item name="wcf.user.notification.markAllAsConfirmed" />
-       <item name="wcf.user.notification.markAsConfirmed" />
-       <item name="wcf.user.panel.markAllAsRead" />
-       <item name="wcf.user.panel.markAsRead" />
-       <item name="wcf.user.profile.user" />
-       <item name="wcf.user.profile.customization" />
-</delete>
 </language>
index a46592b2f23e37e331c774634c4faa48a22c26a0..8ccc9da5e73e4b48d2fb0ca63166219bdff70d6d 100644 (file)
@@ -5566,59 +5566,4 @@ your notifications on <a href="{link isHtmlEmail=true}{/link}">{PAGE_TITLE|phras
                <item name="wcf.upload.error.uploadFailed"><![CDATA[An unknown error occurred during the upload.]]></item>
        </category>
 </import>
-<delete>
-       <item name="wcf.acp.masterPassword"/>
-       <item name="wcf.acp.masterPassword.confirm"/>
-       <item name="wcf.acp.masterPassword.enter"/>
-       <item name="wcf.acp.masterPassword.enter.description"/>
-       <item name="wcf.acp.masterPassword.error.notEqual"/>
-       <item name="wcf.acp.masterPassword.error.notSecure"/>
-       <item name="wcf.acp.masterPassword.error.invalid"/>
-       <item name="wcf.acp.masterPassword.example"/>
-       <item name="wcf.acp.masterPassword.example.set"/>
-       <item name="wcf.acp.masterPassword.init"/>
-       <item name="wcf.acp.masterPassword.init.description"/>
-       <item name="wcf.acp.masterPassword.enter.deprecated"/>
-       <item name="wcf.acp.option.module_master_password"/>
-       <item name="wcf.acp.option.module_master_password.description"/>
-       <item name="wcf.acp.option.blacklist_ip_addresses"/>
-       <item name="wcf.acp.option.blacklist_ip_addresses.description"/>
-       <item name="wcf.acp.option.blacklist_user_agents"/>
-       <item name="wcf.acp.option.blacklist_user_agents.description"/>
-       <item name="wcf.global.form.error.lessThan.javaScript"/>
-       <item name="wcf.global.form.error.greaterThan.javaScript"/>
-       <item name="wcf.acp.devtools.project.compatibility"/>
-       <item name="wcf.acp.devtools.project.apiVersions"/>
-       <item name="wcf.acp.devtools.project.apiVersions.description"/>
-       <item name="wcf.acp.style.globals.pageLogo.description"/>
-       <item name="wcf.acp.style.globals.pageLogoMobile.description"/>
-       <item name="wcf.acp.option.profile_mail_use_captcha"/>
-       <item name="wcf.acp.option.mail_smtp_starttls.may"/>
-       <item name="wcf.acp.index.nonInnoDbSearch"/>
-       <item name="wcf.acp.systemCheck.mysql.searchEngine"/>
-       <item name="wcf.acp.systemCheck.mysql.searchEngine.description"/>
-       <item name="wcf.acp.systemCheck.mysql.searchEngine.incorrect"/>
-       <item name="wcf.acp.group.option.user.attachment.maxCount.description"/>
-       <item name="wcf.acp.option.enable_censorship"/>
-       <item name="wcf.acp.option.enable_censorship.description"/>
-       <item name="wcf.search.type.keywords" />
-       <item name="wcf.acp.option.search_use_captcha" />
-       <item name="wcf.search.query.description" />
-       <item name="wcf.search.results.change" />
-       <item name="wcf.search.results.description" />
-       <item name="wcf.search.general" />
-       <item name="wcf.search.query" />
-       <item name="wcf.search.error.noMatches" />
-       <item name="wcf.search.error.user.noMatches" />
-       <item name="wcf.user.logout.sure"/>
-       <item name="wcf.acp.dataImport.existingMapping.confirmMessage"/>
-       <item name="wcf.article.markAllAsRead" />
-       <item name="wcf.moderation.markAllAsRead" />
-       <item name="wcf.user.notification.markAllAsConfirmed" />
-       <item name="wcf.user.notification.markAsConfirmed" />
-       <item name="wcf.user.panel.markAllAsRead" />
-       <item name="wcf.user.panel.markAsRead" />
-       <item name="wcf.user.profile.user" />
-       <item name="wcf.user.profile.customization" />
-</delete>
 </language>