Jelajahi Sumber

Audit: cache engines are informational; leave the upgrade folder alone

- Cache engines section: File is always available, so it never fails.
  APC, Memcache, Memcached and Redis are listed as a bonus: OK when one
  is installed, otherwise an "unknown" row with a note, not a failure.
  New string _sys_audit_msg_cache_engine_optional (en, ru).
- Revert every change under upgrade/ (the SQL edits and the two lang
  files); upgrade scripts are maintained separately.

Requested by AlexTr in #5679.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Andrey Yasko 1 bulan lalu
induk
melakukan
80e74cb6b8

+ 1 - 0
modules/boonex/english/data/langs/system/en.xml

@@ -2730,6 +2730,7 @@
 	<string name="_sys_audit_msg_cron_jobs"><![CDATA[No run in the last hour: check the crontab entry.]]></string>
 	<string name="_sys_audit_msg_optimization_fail"><![CDATA[Enable it in Settings &gt; Cache.]]></string>
 	<string name="_sys_audit_msg_optimization_warn"><![CDATA[A PHP accelerator would speed up the file cache.]]></string>
+	<string name="_sys_audit_msg_cache_engine_optional"><![CDATA[Optional in-memory engine: adds speed when installed.]]></string>
 	<string name="_sys_audit_msg_x_based_cache_engine"><![CDATA[ ({0})]]></string>
 	<string name="_sys_audit_msg_ffmpeg"><![CDATA[Not found at {0}: video and audio conversion will not work.]]></string>
 	<string name="_sys_audit_msg_hardware_requirements"><![CDATA[Not checked automatically: see the manual audit.]]></string>

+ 1 - 0
modules/boonex/russian/data/langs/system/ru.xml

@@ -2700,6 +2700,7 @@
 	<string name="_sys_audit_msg_cron_jobs"><![CDATA[Не запускался последний час: проверьте запись в crontab.]]></string>
 	<string name="_sys_audit_msg_optimization_fail"><![CDATA[Включите в Настройки &gt; Кэш.]]></string>
 	<string name="_sys_audit_msg_optimization_warn"><![CDATA[PHP-акселератор ускорит файловый кэш.]]></string>
+	<string name="_sys_audit_msg_cache_engine_optional"><![CDATA[Необязательный движок в памяти: ускоряет работу, если установлен.]]></string>
 	<string name="_sys_audit_msg_x_based_cache_engine"><![CDATA[ ({0})]]></string>
 	<string name="_sys_audit_msg_ffmpeg"><![CDATA[Не найден по пути {0}: конвертация видео и аудио не будет работать.]]></string>
 	<string name="_sys_audit_msg_hardware_requirements"><![CDATA[Автоматически не проверяется: см. ручной аудит.]]></string>

+ 9 - 1
studio/classes/BxDolStudioToolsAudit.php

@@ -671,6 +671,10 @@ class BxDolStudioToolsAudit extends BxDol
         return $aRows;
     }
 
+    /**
+     * Which cache engines the server offers. File is always there, so the section never fails; an in-memory engine
+     * (APC, Memcache, Memcached, Redis) is a bonus, listed as information when it is missing rather than as a failure.
+     */
     protected function getRowsOptimizationCache()
     {
         $aRows = array();
@@ -678,7 +682,11 @@ class BxDolStudioToolsAudit extends BxDol
             $sClass = 'BxDolCache' . $sName;
             $o = class_exists($sClass) ? new $sClass() : null;
             $bAvailable = $o && $o->isInstalled() && $o->isAvailable();
-            $aRows[] = $this->getRow($sName, $this->format_output($bAvailable, array('type' => 'bool')), $bAvailable ? BX_DOL_AUDIT_OK : BX_DOL_AUDIT_FAIL);
+            $sValue = $this->format_output($bAvailable, array('type' => 'bool'));
+            if ($bAvailable || 'File' == $sName)
+                $aRows[] = $this->getRow($sName, $sValue, BX_DOL_AUDIT_OK);
+            else
+                $aRows[] = $this->getRow($sName, $sValue, BX_DOL_AUDIT_UNDEF, _t('_sys_audit_msg_cache_engine_optional'));
         }
         return $aRows;
     }

+ 0 - 130
upgrade/files/15.0.0.B3-15.0.0.RC1/lang_en.php

@@ -1,130 +0,0 @@
-<?php
-/**
- * Copyright (c) UNA, Inc - https://una.io
- * MIT License - https://opensource.org/licenses/MIT
- *
- * System language strings added or changed in 15.0.0.RC1 (Studio dashboard, launcher, audit, queues). Applied by the
- * upgrader's language step (BxDolUpgradeUtil::executeLangsAdd): new keys are added, existing ones get the new text.
- */
-
-$aLangContent = array(
-    '_adm_dbd_txt_ver_installed' => 'First Installed',
-    '_adm_dbd_txt_ver_updated' => 'Last Updated',
-    '_adm_dbd_txt_ver_applied' => 'Installed {0}',
-    '_adm_dbd_txt_ver_latest_stable' => 'Latest Stable',
-    '_adm_dbd_txt_ver_latest_beta' => 'Latest Beta',
-    '_adm_dbd_txt_ver_apps_count' => '{0} Apps',
-    '_adm_dbd_txt_ver_apps_updates' => 'Updates: {0}',
-    '_adm_dbd_txt_ver_up_to_date' => 'Up to date',
-    '_adm_dbd_txt_ver_check' => 'Check for updates',
-    '_adm_dbd_txt_ver_checking' => 'Checking...',
-    '_adm_dbd_txt_ver_auto' => 'Automatic Updates',
-    '_adm_dbd_txt_ver_beta' => 'Beta Updates',
-    '_adm_dbd_txt_ver_force' => 'Force Automatic Updates',
-    '_adm_dbd_txt_su_local' => 'Local Storage',
-    '_adm_dbd_txt_su_remote' => 'Remote Storage',
-    '_adm_dbd_txt_su_remote_off' => 'Not connected',
-    '_adm_dbd_txt_su_files' => 'Files',
-    '_adm_dbd_txt_su_images' => 'Images',
-    '_adm_dbd_txt_su_files_count' => '{0} files',
-    '_adm_dbd_txt_su_file_count_1' => '1 file',
-    '_adm_dbd_txt_chart_used' => '{0} used',
-    '_adm_dbd_txt_chart_total' => '{0} total',
-    '_adm_dbd_txt_ht_tools' => 'Server tools',
-    '_adm_dbd_txt_ht_status' => 'Status',
-    '_adm_dbd_txt_ht_audit' => 'Audit',
-    '_adm_dbd_txt_ht_permissions' => 'Permissions',
-    '_adm_dbd_txt_ht_cpu' => 'CPU',
-    '_adm_dbd_txt_ht_memory' => 'Memory',
-    '_adm_dbd_txt_ht_disk' => 'Disk',
-    '_adm_dbd_txt_ht_network' => 'Network',
-    '_adm_dbd_txt_ht_kbps' => 'kbps',
-    '_adm_dbd_txt_ht_mbps' => 'Mbps',
-    '_adm_dbd_txt_ht_gbps' => 'Gbps',
-    '_adm_dbd_txt_ht_na' => 'n/a',
-    '_adm_dbd_txt_ht_high' => 'high',
-    '_adm_dbd_txt_ht_system' => 'System',
-    '_adm_dbd_txt_ht_services' => 'Services',
-    '_adm_dbd_txt_ht_caching' => 'Caching',
-    '_adm_dbd_txt_ht_security' => 'Security',
-    '_adm_dbd_txt_ht_last_audit' => 'Last Audit',
-    '_adm_dbd_txt_ht_run_audit' => 'Run new audit',
-    '_adm_dbd_txt_ht_passed' => '{0} passed',
-    '_adm_dbd_txt_ht_warning' => '1 warning',
-    '_adm_dbd_txt_ht_warnings' => '{0} warnings',
-    '_adm_dbd_txt_ht_failed' => '{0} failed',
-    '_adm_dbd_txt_ht_unknown' => '{0} unknown',
-    '_adm_dbd_txt_c_all' => 'All Caches',
-    '_adm_dbd_txt_q_all' => 'All Queues',
-    '_adm_dbd_txt_q_clear_all' => 'Clear all queues',
-    '_adm_dbd_txt_q_clear_item' => 'Clear {0} queue',
-    '_adm_dbd_txt_q_queued' => '{0} queued',
-    '_adm_dbd_txt_q_failed' => '{0} failed',
-    '_adm_dbd_msg_q_clean_success' => 'Queue was successfully cleared',
-    '_adm_dbd_txt_c_purifier' => 'Purifier',
-    '_adm_dbd_txt_c_custom' => 'Custom',
-    '_adm_lmi_cpt_etemplates_html' => 'Email Templates',
-    '_adm_stg_cpt_option_sys_audit_report' => 'Last server audit report',
-    '_adm_str_txt_pv_screenshot' => '{0} screenshot',
-    '_adm_strg_txt_images_resize_result' => 'Resized image',
-    '_adm_tmi_lbl_search_apps' => 'Search applications',
-    '_adm_tmi_lbl_search_clear' => 'Clear search',
-    '_adm_txt_launcher_apps' => 'Apps',
-    '_adm_txt_launcher_search_empty' => 'No apps match',
-    '_adm_txt_launcher_search_matches' => '{0} apps match',
-    '_adm_txt_launcher_search_matches_one' => '1 app matches',
-    '_adm_txt_widget_action_label' => '{0} for {1}',
-    '_adm_txt_widget_move_left' => 'Move {0} left',
-    '_adm_txt_widget_move_right' => 'Move {0} right',
-    '_adm_txt_widget_moved' => '{0} moved to position {1} of {2}',
-    '_adm_txt_icon_image_current' => 'Current icon image',
-    '_sys_audit_header_manual_audit' => 'Manual audit',
-    '_sys_audit_header_site_optimization' => 'Optimization',
-    '_sys_audit_mail_sending' => 'Email delivery',
-    '_sys_audit_msg_apache_module_fail' => 'Install {0} for Apache.',
-    '_sys_audit_msg_cron_jobs' => 'No run in the last hour: check the crontab entry.',
-    '_sys_audit_msg_optimization_fail' => 'Enable it in Settings &gt; Cache.',
-    '_sys_audit_msg_optimization_warn' => 'A PHP accelerator would speed up the file cache.',
-    '_sys_audit_msg_x_based_cache_engine' => ' ({0})',
-    '_sys_audit_msg_ffmpeg' => 'Not found at {0}: video and audio conversion will not work.',
-    '_sys_audit_msg_hardware_requirements' => 'Not checked automatically: see the manual audit.',
-    '_sys_audit_msg_mail_send_failed' => 'Sending failed.',
-    '_sys_audit_msg_mail_sending' => '<span id="bx-sys-adm-audit-test-email"><a href="javascript:void(0);" onclick="bx_sys_adm_audit_test_email()">Send a test email</a></span>',
-    '_sys_audit_msg_mail_sent' => 'Test email sent to {0}.',
-    '_sys_audit_msg_manual_audit' => 'Some checks need a person. <a target="_blank" href="mailto:team@unacms.com?subject=Server Audit Request">Request a server audit</a>.',
-    '_sys_audit_msg_permissions' => 'Details on the <a href="javascript:void(0);" onclick="oBxDolStudioDashboard.permissions()">Permissions</a> tab.',
-    '_sys_audit_msg_php_accelerator_missing' => 'Install a PHP accelerator such as OPcache for a large speed-up.',
-    '_sys_audit_msg_php_setup_inefficient' => 'CGI is slow: switch to mod_php, DSO or FastCGI. <a href="javascript:void(0)" onclick="bx_sys_adm_audit_phpinfo()">Open phpinfo</a>.',
-    '_sys_audit_msg_userside_caching' => '<a href="{0}" target="_blank">Check in PageSpeed</a>',
-    '_sys_audit_msg_value_checking_failed' => 'Could not be checked.',
-    '_sys_audit_msg_version_is_incompatible' => 'Unsupported: UNA needs {0} or newer.',
-    '_sys_audit_msg_version_is_outdated' => 'Outdated: the latest is {0}.',
-    '_sys_audit_permissions' => 'File permissions',
-    '_sys_audit_https' => 'HTTPS',
-    '_sys_audit_msg_https' => 'Served over plain HTTP: switch the site to HTTPS.',
-    '_sys_audit_install_dir' => 'Install directory',
-    '_sys_audit_msg_install_dir' => 'Still on the server: remove the install directory.',
-    '_sys_audit_display_errors' => 'Error display',
-    '_sys_audit_msg_display_errors' => 'PHP shows errors to visitors: set display_errors = Off.',
-    '_sys_audit_expose_php' => 'PHP version header',
-    '_sys_audit_msg_expose_php' => 'The PHP version is sent in response headers: set expose_php = Off.',
-    '_sys_audit_config_file' => 'Configuration file',
-    '_sys_audit_msg_config_file' => 'inc/header.inc.php is writable by other users: set it to 0644.',
-    '_sys_audit_present' => 'Present',
-    '_sys_audit_removed' => 'Removed',
-    '_sys_audit_on' => 'On',
-    '_sys_audit_off' => 'Off',
-    '_sys_audit_php_setup' => 'PHP handler',
-    '_sys_audit_section_cache_engines' => 'Cache engines',
-    '_sys_audit_section_php_extensions' => 'PHP extensions',
-    '_sys_audit_section_webserver' => 'Web server',
-    '_sys_audit_serverside_compression' => 'Response compression',
-    '_sys_audit_userside_caching' => 'Browser caching',
-    '_sys_audit_version' => 'Version',
-    '_sys_menu_item_title_system_sa_tour' => 'Introduction Tour',
-    '_sys_menu_item_title_sa_tour' => 'Introduction Tour',
-    '_sys_page_block_title_std_dash_version' => 'Updates',
-    '_sys_page_block_title_std_dash_space' => 'Space',
-    '_sys_page_block_title_std_dash_host_tools' => 'Server',
-    '_sys_queue_storage' => 'File deletions',
-);

+ 0 - 130
upgrade/files/15.0.0.B3-15.0.0.RC1/lang_ru.php

@@ -1,130 +0,0 @@
-<?php
-/**
- * Copyright (c) UNA, Inc - https://una.io
- * MIT License - https://opensource.org/licenses/MIT
- *
- * System language strings added or changed in 15.0.0.RC1 (Studio dashboard, launcher, audit, queues). Applied by the
- * upgrader's language step (BxDolUpgradeUtil::executeLangsAdd): new keys are added, existing ones get the new text.
- */
-
-$aLangContent = array(
-    '_adm_dbd_txt_ver_installed' => 'Первая установка',
-    '_adm_dbd_txt_ver_updated' => 'Последнее обновление',
-    '_adm_dbd_txt_ver_applied' => 'Установлена {0}',
-    '_adm_dbd_txt_ver_latest_stable' => 'Последняя стабильная',
-    '_adm_dbd_txt_ver_latest_beta' => 'Последняя бета',
-    '_adm_dbd_txt_ver_apps_count' => 'Приложения: {0}',
-    '_adm_dbd_txt_ver_apps_updates' => 'Обновлений: {0}',
-    '_adm_dbd_txt_ver_up_to_date' => 'Актуально',
-    '_adm_dbd_txt_ver_check' => 'Проверить обновления',
-    '_adm_dbd_txt_ver_checking' => 'Проверка...',
-    '_adm_dbd_txt_ver_auto' => 'Автоматические обновления',
-    '_adm_dbd_txt_ver_beta' => 'Бета-обновления',
-    '_adm_dbd_txt_ver_force' => 'Принудительные автообновления',
-    '_adm_dbd_txt_su_local' => 'Локальное хранилище',
-    '_adm_dbd_txt_su_remote' => 'Удалённое хранилище',
-    '_adm_dbd_txt_su_remote_off' => 'Не подключено',
-    '_adm_dbd_txt_su_files' => 'Файлы',
-    '_adm_dbd_txt_su_images' => 'Изображения',
-    '_adm_dbd_txt_su_files_count' => '{0} файлов',
-    '_adm_dbd_txt_su_file_count_1' => '1 файл',
-    '_adm_dbd_txt_chart_used' => '{0} занято',
-    '_adm_dbd_txt_chart_total' => '{0} всего',
-    '_adm_dbd_txt_ht_tools' => 'Инструменты сервера',
-    '_adm_dbd_txt_ht_status' => 'Статус',
-    '_adm_dbd_txt_ht_audit' => 'Аудит',
-    '_adm_dbd_txt_ht_permissions' => 'Права доступа',
-    '_adm_dbd_txt_ht_cpu' => 'CPU',
-    '_adm_dbd_txt_ht_memory' => 'Память',
-    '_adm_dbd_txt_ht_disk' => 'Диск',
-    '_adm_dbd_txt_ht_network' => 'Сеть',
-    '_adm_dbd_txt_ht_kbps' => 'кбит/с',
-    '_adm_dbd_txt_ht_mbps' => 'Мбит/с',
-    '_adm_dbd_txt_ht_gbps' => 'Гбит/с',
-    '_adm_dbd_txt_ht_na' => 'н/д',
-    '_adm_dbd_txt_ht_high' => 'высокая',
-    '_adm_dbd_txt_ht_system' => 'Система',
-    '_adm_dbd_txt_ht_services' => 'Сервисы',
-    '_adm_dbd_txt_ht_caching' => 'Кеширование',
-    '_adm_dbd_txt_ht_security' => 'Безопасность',
-    '_adm_dbd_txt_ht_last_audit' => 'Последний аудит',
-    '_adm_dbd_txt_ht_run_audit' => 'Запустить новый аудит',
-    '_adm_dbd_txt_ht_passed' => '{0} пройдено',
-    '_adm_dbd_txt_ht_warning' => '1 предупреждение',
-    '_adm_dbd_txt_ht_warnings' => '{0} предупреждений',
-    '_adm_dbd_txt_ht_failed' => '{0} не пройдено',
-    '_adm_dbd_txt_ht_unknown' => '{0} не проверено',
-    '_adm_dbd_txt_c_all' => 'Все кеши',
-    '_adm_dbd_txt_q_all' => 'Все очереди',
-    '_adm_dbd_txt_q_clear_all' => 'Очистить все очереди',
-    '_adm_dbd_txt_q_clear_item' => 'Очистить очередь «{0}»',
-    '_adm_dbd_txt_q_queued' => '{0} в очереди',
-    '_adm_dbd_txt_q_failed' => '{0} с ошибкой',
-    '_adm_dbd_msg_q_clean_success' => 'Очередь успешно очищена',
-    '_adm_dbd_txt_c_purifier' => 'Purifier',
-    '_adm_dbd_txt_c_custom' => 'Специальный',
-    '_adm_lmi_cpt_etemplates_html' => 'Email-шаблоны',
-    '_adm_stg_cpt_option_sys_audit_report' => 'Отчёт последнего аудита сервера',
-    '_adm_str_txt_pv_screenshot' => 'Скриншот {0}',
-    '_adm_strg_txt_images_resize_result' => 'Изображение с изменённым размером',
-    '_adm_tmi_lbl_search_apps' => 'Поиск приложений',
-    '_adm_tmi_lbl_search_clear' => 'Очистить поиск',
-    '_adm_txt_launcher_apps' => 'Приложения',
-    '_adm_txt_launcher_search_empty' => 'Ничего не найдено',
-    '_adm_txt_launcher_search_matches' => 'Найдено приложений: {0}',
-    '_adm_txt_launcher_search_matches_one' => 'Найдено 1 приложение',
-    '_adm_txt_widget_action_label' => '{0}: {1}',
-    '_adm_txt_widget_move_left' => 'Переместить {0} влево',
-    '_adm_txt_widget_move_right' => 'Переместить {0} вправо',
-    '_adm_txt_widget_moved' => '{0}: позиция {1} из {2}',
-    '_adm_txt_icon_image_current' => 'Текущее изображение иконки',
-    '_sys_audit_header_manual_audit' => 'Ручной аудит',
-    '_sys_audit_header_site_optimization' => 'Оптимизация',
-    '_sys_audit_mail_sending' => 'Доставка почты',
-    '_sys_audit_msg_apache_module_fail' => 'Установите {0} для Apache.',
-    '_sys_audit_msg_cron_jobs' => 'Не запускался последний час: проверьте запись в crontab.',
-    '_sys_audit_msg_optimization_fail' => 'Включите в Настройки &gt; Кэш.',
-    '_sys_audit_msg_optimization_warn' => 'PHP-акселератор ускорит файловый кэш.',
-    '_sys_audit_msg_x_based_cache_engine' => ' ({0})',
-    '_sys_audit_msg_ffmpeg' => 'Не найден по пути {0}: конвертация видео и аудио не будет работать.',
-    '_sys_audit_msg_hardware_requirements' => 'Автоматически не проверяется: см. ручной аудит.',
-    '_sys_audit_msg_mail_send_failed' => 'Отправка не удалась.',
-    '_sys_audit_msg_mail_sending' => '<span id="bx-sys-adm-audit-test-email"><a href="javascript:void(0);" onclick="bx_sys_adm_audit_test_email()">Отправить тестовое письмо</a></span>',
-    '_sys_audit_msg_mail_sent' => 'Тестовое письмо отправлено на {0}.',
-    '_sys_audit_msg_manual_audit' => 'Часть проверок делается вручную. <a target="_blank" href="mailto:team@unacms.com?subject=Server Audit Request">Запросить аудит сервера</a>.',
-    '_sys_audit_msg_permissions' => 'Подробности на вкладке <a href="javascript:void(0);" onclick="oBxDolStudioDashboard.permissions()">Права доступа</a>.',
-    '_sys_audit_msg_php_accelerator_missing' => 'Установите PHP-акселератор, например OPcache, для заметного ускорения.',
-    '_sys_audit_msg_php_setup_inefficient' => 'CGI работает медленно: перейдите на mod_php, DSO или FastCGI. <a href="javascript:void(0)" onclick="bx_sys_adm_audit_phpinfo()">Открыть phpinfo</a>.',
-    '_sys_audit_msg_userside_caching' => '<a href="{0}" target="_blank">Проверить в PageSpeed</a>',
-    '_sys_audit_msg_value_checking_failed' => 'Не удалось проверить.',
-    '_sys_audit_msg_version_is_incompatible' => 'Не поддерживается: UNA требует {0} или новее.',
-    '_sys_audit_msg_version_is_outdated' => 'Устарела: последняя версия {0}.',
-    '_sys_audit_permissions' => 'Права на файлы',
-    '_sys_audit_https' => 'HTTPS',
-    '_sys_audit_msg_https' => 'Сайт работает по HTTP: переведите его на HTTPS.',
-    '_sys_audit_install_dir' => 'Каталог install',
-    '_sys_audit_msg_install_dir' => 'Всё ещё на сервере: удалите каталог install.',
-    '_sys_audit_display_errors' => 'Вывод ошибок',
-    '_sys_audit_msg_display_errors' => 'PHP показывает ошибки посетителям: установите display_errors = Off.',
-    '_sys_audit_expose_php' => 'Заголовок с версией PHP',
-    '_sys_audit_msg_expose_php' => 'Версия PHP отправляется в заголовках ответа: установите expose_php = Off.',
-    '_sys_audit_config_file' => 'Файл конфигурации',
-    '_sys_audit_msg_config_file' => 'inc/header.inc.php доступен для записи другим пользователям: установите права 0644.',
-    '_sys_audit_present' => 'Есть',
-    '_sys_audit_removed' => 'Удалён',
-    '_sys_audit_on' => 'Вкл',
-    '_sys_audit_off' => 'Выкл',
-    '_sys_audit_php_setup' => 'Обработчик PHP',
-    '_sys_audit_section_cache_engines' => 'Движки кэша',
-    '_sys_audit_section_php_extensions' => 'Расширения PHP',
-    '_sys_audit_section_webserver' => 'Веб-сервер',
-    '_sys_audit_serverside_compression' => 'Сжатие ответов',
-    '_sys_audit_userside_caching' => 'Кэширование в браузере',
-    '_sys_audit_version' => 'Версия',
-    '_sys_menu_item_title_system_sa_tour' => 'Вводный тур',
-    '_sys_menu_item_title_sa_tour' => 'Вводный тур',
-    '_sys_page_block_title_std_dash_version' => 'Обновления',
-    '_sys_page_block_title_std_dash_space' => 'Место',
-    '_sys_page_block_title_std_dash_host_tools' => 'Сервер',
-    '_sys_queue_storage' => 'Удаление файлов',
-);

+ 1 - 50
upgrade/files/15.0.0.B3-15.0.0.RC1/sql.sql

@@ -7,46 +7,16 @@ UPDATE `sys_options` SET `value` = 'on' WHERE `name` = 'sys_std_show_header_left
 
 UPDATE `sys_options` SET `value` = 'splash' WHERE `name` = 'sys_api_root_page_guest' AND `value` = 'home';
 UPDATE `sys_options` SET `value` = 'home' WHERE `name` = 'sys_api_root_page_member' AND `value` = 'splash';
-UPDATE `sys_options` SET `value` = 'width=device-width, initial-scale=1.0, minimum-scale=1.0' WHERE `name` = 'sys_viewport_meta_tag' AND `value` = 'width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0';
-
-SET @iCategoryId = (SELECT `c`.`id` FROM `sys_options_categories` AS `c` INNER JOIN `sys_options_types` AS `t` ON `t`.`id` = `c`.`type_id` WHERE `t`.`name` = 'system' AND `c`.`name` = 'hidden' LIMIT 1);
-INSERT IGNORE INTO `sys_options`(`category_id`, `name`, `caption`, `value`, `type`, `extra`, `check`, `check_params`, `check_error`, `order`) VALUES
-(@iCategoryId, 'sys_audit_report', '_adm_stg_cpt_option_sys_audit_report', '', 'text', '', '', '', '', 8);
 
 -- Menu
 
 DELETE FROM `sys_menu_items` WHERE `set_name` = 'sys_studio_account_popup' AND `module` = 'system' AND `name` = 'scheme';
 INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `editable`, `order`) VALUES
-('sys_studio_account_popup', 'system', 'scheme', '_sys_menu_item_title_system_sa_scheme', '_sys_menu_item_title_sa_scheme', 'javascript:void(0)', '', '', 'ami-theme.svg', '', 2147483647, 1, 0, 0, 7);
+('sys_studio_account_popup', 'system', 'scheme', '_sys_menu_item_title_system_sa_scheme', '_sys_menu_item_title_sa_scheme', 'javascript:void(0)', 'bx_menu_popup_inline(''#bx-std-pcap-menu-popup-scheme'');', '', 'tmi-scheme-auto.svg', '', 2147483647, 1, 0, 0, 4);
 
 UPDATE `sys_menu_items` SET `order` = 5 WHERE `set_name` = 'sys_studio_account_popup' AND `module` = 'system' AND `name` = 'language' AND `order` = 4;
 UPDATE `sys_menu_items` SET `order` = 6 WHERE `set_name` = 'sys_studio_account_popup' AND `module` = 'system' AND `name` = 'logout' AND `ORDER` = 5;
 
-DELETE FROM `sys_menu_items` WHERE `set_name` = 'sys_studio_account_popup' AND `module` = 'system' AND `name` = 'tour';
-INSERT INTO `sys_menu_items` (`set_name`, `module`, `name`, `title_system`, `title`, `link`, `onclick`, `target`, `icon`, `submenu_object`, `visible_for_levels`, `active`, `copyable`, `editable`, `order`) VALUES
-('sys_studio_account_popup', 'system', 'tour', '_sys_menu_item_title_system_sa_tour', '_sys_menu_item_title_sa_tour', '{url_studio}launcher.php?tour=1', 'if(typeof glTour !== ''undefined'') { glTour.start(); return false; }', '', 'ami-tour.svg', '', 2147483647, 1, 0, 0, 4);
-
--- Studio: Dashboard blocks live in one cell; the page flows them into as many columns as fit.
-UPDATE `sys_objects_page` SET `layout_id` = 5 WHERE `object` = 'sys_std_dashboard' AND `layout_id` = 4;
-UPDATE `sys_pages_blocks` SET `cell_id` = 1, `order` = 3 WHERE `object` = 'sys_std_dashboard' AND `cell_id` = 2 AND `title` = '_sys_page_block_title_std_dash_host_tools';
-UPDATE `sys_pages_blocks` SET `cell_id` = 1, `order` = 4 WHERE `object` = 'sys_std_dashboard' AND `cell_id` = 2 AND `title` = '_sys_page_block_title_std_dash_cache';
-UPDATE `sys_pages_blocks` SET `cell_id` = 1, `order` = 5 WHERE `object` = 'sys_std_dashboard' AND `cell_id` = 2 AND `title` = '_sys_page_block_title_std_dash_queues';
-UPDATE `sys_pages_blocks` SET `class` = 'bx-dbd-block-medium' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_version' AND `class` = '';
-UPDATE `sys_pages_blocks` SET `class` = 'bx-dbd-block-medium' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_space' AND `class` = '';
-UPDATE `sys_pages_blocks` SET `class` = 'bx-dbd-block-medium' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_host_tools' AND `class` = '';
-UPDATE `sys_pages_blocks` SET `icon` = 'server' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_host_tools' AND `icon` = '';
-UPDATE `sys_pages_blocks` SET `icon` = 'package' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_version' AND `icon` = '';
-UPDATE `sys_pages_blocks` SET `icon` = 'layers' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_space' AND `icon` = '';
-UPDATE `sys_pages_blocks` SET `icon` = 'archive' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_cache' AND `icon` = '';
-UPDATE `sys_pages_blocks` SET `icon` = 'list-todo' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_queues' AND `icon` = '';
-UPDATE `sys_pages_blocks` SET `class` = 'bx-dbd-block-medium' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_cache' AND `class` = '';
-UPDATE `sys_pages_blocks` SET `class` = 'bx-dbd-block-medium' WHERE `object` = 'sys_std_dashboard' AND `title` = '_sys_page_block_title_std_dash_queues' AND `class` = '';
-
--- Studio: the Queues block is a list drawn by the dashboard itself; its grid is gone.
-DELETE FROM `sys_objects_grid` WHERE `object` = 'sys_queues';
-DELETE FROM `sys_grid_fields` WHERE `object` = 'sys_queues';
-DELETE FROM `sys_grid_actions` WHERE `object` = 'sys_queues';
-
 -- Grid
 
 INSERT IGNORE INTO `sys_grid_fields` (`object`, `name`, `title`, `width`, `translatable`, `chars_limit`, `params`, `hidden_on`, `ORDER`) VALUES 
@@ -113,22 +83,3 @@ UPDATE `sys_std_widgets` SET `featured` = 1 WHERE `module` = 'system' AND `url`
 
 UPDATE `sys_modules` SET `version` = '15.0.0-RC1' WHERE (`version` = '15.0.0.B3' OR `version` = '15.0.0-B3') AND `name` = 'system';
 
--- Permissions: Lucide default icons for the built-in levels (only where a site still has the old default)
-UPDATE `sys_acl_levels` SET `Icon` = 'user-round-arrow-left' WHERE `ID` = 1 AND `Icon` = 'user';
-UPDATE `sys_acl_levels` SET `Icon` = 'at-sign' WHERE `ID` = 2 AND `Icon` = 'user';
-UPDATE `sys_acl_levels` SET `Icon` = 'user-round' WHERE `ID` = 3 AND `Icon` = 'user';
-UPDATE `sys_acl_levels` SET `Icon` = 'user-round-pen' WHERE `ID` = 5 AND `Icon` = 'user';
-UPDATE `sys_acl_levels` SET `Icon` = 'user-round-x' WHERE `ID` = 6 AND `Icon` = 'user';
-UPDATE `sys_acl_levels` SET `Icon` = 'user-shield' WHERE `ID` = 7 AND `Icon` = 'user-secret';
-UPDATE `sys_acl_levels` SET `Icon` = 'shield-user' WHERE `ID` = 8 AND `Icon` = 'user-secret';
-
--- Permissions: the Enable switcher sits just before the row actions
-UPDATE `sys_grid_fields` SET `order` = 1 WHERE `object` = 'sys_studio_acl' AND `name` = 'Order';
-UPDATE `sys_grid_fields` SET `order` = 2 WHERE `object` = 'sys_studio_acl' AND `name` = 'Icon';
-UPDATE `sys_grid_fields` SET `order` = 3 WHERE `object` = 'sys_studio_acl' AND `name` = 'Name';
-UPDATE `sys_grid_fields` SET `order` = 4 WHERE `object` = 'sys_studio_acl' AND `name` = 'ActionsList';
-UPDATE `sys_grid_fields` SET `order` = 5 WHERE `object` = 'sys_studio_acl' AND `name` = 'QuotaSize';
-UPDATE `sys_grid_fields` SET `order` = 6 WHERE `object` = 'sys_studio_acl' AND `name` = 'QuotaMaxFileSize';
-UPDATE `sys_grid_fields` SET `order` = 7 WHERE `object` = 'sys_studio_acl' AND `name` = 'QuotaNumber';
-UPDATE `sys_grid_fields` SET `order` = 8 WHERE `object` = 'sys_studio_acl' AND `name` = 'switcher';
-UPDATE `sys_grid_fields` SET `order` = 9 WHERE `object` = 'sys_studio_acl' AND `name` = 'actions';