Przeglądaj źródła

Polish install wizard chips, copy, audit, and footer

Compact status pills, 48px rounded-xl buttons, product-English copy, install-only audit report card, and a three-link footer.

Also: welcome fail-state brace fix, PHP module labels, no dangling hyphen before chips, no stray section colon.
Andrey Yasko 2 miesięcy temu
rodzic
commit
38a2425c22

+ 4 - 1
install/classes/BxDolInstallController.php

@@ -36,8 +36,11 @@ class BxDolInstallController
 
         $oAudit = new BxDolStudioToolsAudit();
         $sAuditOutput = $oAudit->generate();
+        $iAuditPassed = preg_match_all('/class="ok"/', $sAuditOutput);
+        $iAuditWarnings = preg_match_all('/class="warn"/', $sAuditOutput);
+        $iAuditFailed = preg_match_all('/class="fail"/', $sAuditOutput);
 
-        $this->_oView->out('audit.php', compact('sAuditOutput'));
+        $this->_oView->out('audit.php', compact('sAuditOutput', 'iAuditPassed', 'iAuditWarnings', 'iAuditFailed'));
 
         $this->_oView->pageEnd($this->_getTitle());
     }

+ 121 - 17
install/css/styles.css

@@ -110,6 +110,27 @@ body.bx-install-body,
     padding: 20px;
     font-size: 12px;
     color: var(--bx-inst-muted);
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: center;
+    align-items: center;
+    gap: 0 4px;
+}
+.bx-install-footer a {
+    color: var(--bx-inst-muted);
+    text-decoration: none;
+}
+.bx-install-footer a:hover {
+    color: var(--bx-inst-text);
+    text-decoration: underline;
+}
+.bx-install-footer-sep {
+    display: inline-block;
+    width: 1px;
+    height: 12px;
+    margin: 0 10px;
+    background: var(--bx-inst-border);
+    vertical-align: middle;
 }
 
 /* Kill the old teal header if any leftover classes still render */
@@ -149,9 +170,12 @@ button.bx-btn,
     gap: 6px;
     float: none !important;
     margin: 0 8px 8px 0 !important;
-    padding: 10px 16px !important;
-    min-height: 40px;
-    border-radius: 8px !important;
+    padding: 0 20px !important;
+    height: 48px !important;
+    min-height: 48px !important;
+    max-height: 48px !important;
+    box-sizing: border-box !important;
+    border-radius: 12px !important;
     border: 1px solid var(--bx-inst-border) !important;
     background: var(--bx-inst-surface) !important;
     color: var(--bx-inst-text) !important;
@@ -305,28 +329,51 @@ a.bx-btn-disabled,
     text-align: left !important;
 }
 
+.bx-install-chip,
 .bx-permissions-ok,
-.bx-permissions-wrong {
-    display: inline-flex;
+.bx-permissions-wrong,
+.bx-install-audit b.ok,
+.bx-install-audit b.fail,
+.bx-install-audit b.warn,
+.bx-install-audit b.undef {
+    display: inline-flex !important;
     align-items: center;
-    gap: 6px;
-    padding: 4px 10px;
-    border-radius: 999px;
-    font-size: 12px !important;
-    font-weight: 600 !important;
-    line-height: 1.3;
+    justify-content: center;
+    gap: 0;
+    padding: 2px 8px !important;
+    border-radius: 999px !important;
+    font-size: 11px !important;
+    font-weight: 500 !important;
+    line-height: 16px !important;
+    font-style: normal !important;
+    white-space: nowrap;
 }
 
-.bx-permissions-ok {
+.bx-permissions-ok,
+.bx-install-chip-ok,
+.bx-install-audit b.ok {
     color: var(--bx-inst-ok) !important;
     background: var(--bx-inst-ok-bg) !important;
 }
 
-.bx-permissions-wrong {
+.bx-permissions-wrong,
+.bx-install-chip-bad,
+.bx-install-audit b.fail {
     color: var(--bx-inst-bad) !important;
     background: var(--bx-inst-bad-bg) !important;
 }
 
+.bx-install-chip-warn,
+.bx-install-audit b.warn {
+    color: var(--bx-inst-warn) !important;
+    background: var(--bx-inst-warn-bg) !important;
+}
+
+.bx-install-audit b.undef {
+    color: var(--bx-inst-muted) !important;
+    background: #f3f4f6 !important;
+}
+
 .bx-install-permissions-buttons {
     margin-top: 24px !important;
 }
@@ -415,20 +462,77 @@ a.bx-btn-disabled,
     margin-bottom: 16px;
 }
 
-/* Audit output */
+/* Audit report card */
 .bx-install-audit {
     font-size: 13px;
+}
+.bx-install-audit-summary {
+    display: flex;
+    flex-wrap: wrap;
+    gap: 8px;
+    margin: 0 0 20px;
+}
+.bx-install-audit-body {
     overflow-x: auto;
 }
-.bx-install-audit table {
+.bx-install-audit-body > h1 {
+    font-family: var(--bx-inst-font) !important;
+    font-size: 13px !important;
+    font-weight: 650 !important;
+    letter-spacing: 0.04em;
+    text-transform: uppercase;
+    color: var(--bx-inst-muted) !important;
+    margin: 22px 0 10px !important;
+}
+.bx-install-audit-body > h1:first-child {
+    margin-top: 0 !important;
+}
+.bx-install-audit-body .bx-audit-section-head {
+    display: block;
+    font-size: 14px;
+    font-weight: 600;
+    text-transform: none;
+    color: var(--bx-inst-text);
+    margin: 16px 0 8px;
+}
+.bx-install-audit-body .bx-audit-section-head b {
+    display: inline;
+    font-weight: 600;
+}
+.bx-install-audit-body ul {
+    list-style: none;
+    margin: 0 0 8px;
+    padding: 0;
+    border: 1px solid var(--bx-inst-border);
+    border-radius: 10px;
+    overflow: hidden;
+    background: #fff;
+}
+.bx-install-audit-body li {
+    padding: 10px 12px;
+    border-bottom: 1px solid var(--bx-inst-border);
+    line-height: 1.45;
+    color: #374151;
+}
+.bx-install-audit-body li:last-child {
+    border-bottom: none;
+}
+.bx-install-audit-body li b.ok,
+.bx-install-audit-body li b.fail,
+.bx-install-audit-body li b.warn,
+.bx-install-audit-body li b.undef {
+    float: right;
+    margin-left: 8px;
+}
+.bx-install-audit-body table {
     width: 100%;
     border-collapse: collapse;
     border: 1px solid var(--bx-inst-border);
     border-radius: 10px;
     overflow: hidden;
 }
-.bx-install-audit td,
-.bx-install-audit th {
+.bx-install-audit-body td,
+.bx-install-audit-body th {
     padding: 8px 10px;
     border-bottom: 1px solid var(--bx-inst-border);
     text-align: left;

+ 6 - 2
install/templates/_page.php

@@ -7,8 +7,8 @@
     <style>
 <?=$sInlineCSS; ?>
     </style>
-    <link rel="stylesheet" href="css/styles.css" />
 <?=$sFilesCSS; ?>
+    <link rel="stylesheet" href="css/styles.css" />
 <?=$sFilesJS; ?>
 </head>
 <body class="bx-install-body bx-def-font">
@@ -32,7 +32,11 @@
     </main>
 
     <footer class="bx-install-footer">
-        <span>UNA Community Management System</span>
+        <a href="https://unacms.com" target="_blank" rel="noopener"><?php echo _t('_sys_inst_footer_product'); ?></a>
+        <span class="bx-install-footer-sep" aria-hidden="true"></span>
+        <a href="https://unacms.com/docs" target="_blank" rel="noopener"><?php echo _t('_sys_inst_footer_docs'); ?></a>
+        <span class="bx-install-footer-sep" aria-hidden="true"></span>
+        <a href="https://unacms.com/contact" target="_blank" rel="noopener"><?php echo _t('_sys_inst_footer_contact'); ?></a>
     </footer>
 </div>
 

+ 13 - 0
install/templates/audit.php

@@ -1,3 +1,16 @@
 <div class="bx-install-audit">
+
+    <h1 class="bx-def-font-h1"><?php echo _t('_sys_inst_server_audit'); ?></h1>
+    <p class="bx-install-step-lead"><?php echo _t('_sys_inst_audit_lead'); ?></p>
+
+    <div class="bx-install-audit-summary">
+        <span class="bx-install-chip bx-install-chip-ok"><?php echo _t('_sys_inst_audit_passed', (int)$iAuditPassed); ?></span>
+        <span class="bx-install-chip bx-install-chip-warn"><?php echo _t('_sys_inst_audit_warnings', (int)$iAuditWarnings); ?></span>
+        <span class="bx-install-chip bx-install-chip-bad"><?php echo _t('_sys_inst_audit_failed', (int)$iAuditFailed); ?></span>
+    </div>
+
+    <div class="bx-install-audit-body">
    <?=$sAuditOutput; ?>
+    </div>
+
 </div>

+ 24 - 18
modules/boonex/english/data/langs/system/en.xml

@@ -464,7 +464,7 @@
 	<string name="_adm_admtools_Executable"><![CDATA[Executable]]></string>
 	<string name="_adm_admtools_Non_Executable"><![CDATA[Not executable]]></string>
 	<string name="_adm_admtools_Non_Writable"><![CDATA[Not writable]]></string>
-	<string name="_adm_admtools_Not_Exists"><![CDATA[Not exists]]></string>
+	<string name="_adm_admtools_Not_Exists"><![CDATA[Missing]]></string>
 	<string name="_adm_admtools_Path"><![CDATA[Path]]></string>
 	<string name="_adm_admtools_Permissions"><![CDATA[Permissions]]></string>
 	<string name="_adm_admtools_Writable"><![CDATA[Writable]]></string>
@@ -2625,13 +2625,12 @@
 	<string name="_sys_audit_msg_optimization_warn"><![CDATA[installing PHP accelerator will speed-up file cache]]></string>
 	<string name="_sys_audit_msg_x_based_cache_engine"><![CDATA[ ({0} based cache engine)]]></string>
 	<string name="_sys_audit_msg_ffmpeg"><![CDATA[<pre class="code">{0}</pre>if you don't know if output is correct then <a href="#manual_audit">manual server audit</a> may be required.]]></string>
-	<string name="_sys_audit_msg_hardware_requirements"><![CDATA[Hardware requirements can not be determined automatically - <a href="#manual_audit">manual server audit</a> may be required.]]></string>
+	<string name="_sys_audit_msg_hardware_requirements"><![CDATA[Hardware cannot be checked automatically. A <a href="#manual_audit">manual server audit</a> may be needed.]]></string>
 	<string name="_sys_audit_msg_mail_send_failed"><![CDATA[mail send failed]]></string>
 	<string name="_sys_audit_msg_mail_sending"><![CDATA[<span id="bx-sys-adm-audit-test-email"><a href="javascript:void(0);" onclick="bx_sys_adm_audit_test_email()">click here</a> to send test email</span>]]></string>
 	<string name="_sys_audit_msg_mail_sent"><![CDATA[test mail was send, please check {0} mailbox]]></string>
 	<string name="_sys_audit_msg_manual_audit"><![CDATA[<p>
-Some things can not be determined automatically, manual server audit is required to check it. 
-If you don't know how to do it by yourself you can submit <a target="_blank" href="mailto:team@unacms.com?subject=Server Audit Request">Server Audit Request</a>.
+Some checks have to be done by hand. If you want help, <a target="_blank" href="mailto:team@unacms.com?subject=Server Audit Request">submit a server audit request</a>.
 </p>]]></string>
 	<string name="_sys_audit_msg_must_be"><![CDATA[must be {0} {1}]]></string>
 	<string name="_sys_audit_msg_optimization_apache_module"><![CDATA[To apply this optimization you need to have <b>{0}</b> - {1}]]></string>
@@ -2639,12 +2638,12 @@ If you don't know how to do it by yourself you can submit <a target="_blank" hre
 	<string name="_sys_audit_msg_php_accelerator_missing"><![CDATA[The script can be much faster if you install some PHP accelerator]]></string>
 	<string name="_sys_audit_msg_php_setup_inefficient"><![CDATA[your PHP setup maybe very inefficient, <a href="javascript:void(0)" onclick="bx_sys_adm_audit_phpinfo()">please check it for sure</a> and try to switch to mod_php, apache dso module or FastCGI]]></string>
 	<string name="_sys_audit_msg_serverside_compression"><![CDATA[
-can be checked <a href="#manual_audit">manually</a> or in "Page Speed" tool build-in into browser.<br />
-If it is not enabled then please consider implement this optimization, since it improve perceived site speed and save the bandwidth.<br />{0}]]></string>
+can be checked <a href="#manual_audit">manually</a> or in the PageSpeed tool built into the browser.<br />
+If it is not enabled then please consider implementing this optimization, since it improves perceived site speed and saves bandwidth.<br />{0}]]></string>
 	<string name="_sys_audit_msg_should_be"><![CDATA[should be {0} {1}]]></string>
 	<string name="_sys_audit_msg_userside_caching"><![CDATA[
-<a href="{0}">click here to check it in Google Page Speed</a><br />
-If it is not enabled then please consider implement this optimization, since it improve perceived site speed and save the bandwidth.<br />{1}]]></string>
+<a href="{0}">click here to check it in Google PageSpeed</a><br />
+If it is not enabled then please consider implementing this optimization, since it improves perceived site speed and saves bandwidth.<br />{1}]]></string>
 	<string name="_sys_audit_msg_value_checking_failed"><![CDATA[value checking failed]]></string>
 	<string name="_sys_audit_msg_version_is_incompatible"><![CDATA[your version is incompatible with UNA, must be at least {0}]]></string>
 	<string name="_sys_audit_msg_version_is_outdated"><![CDATA[your version is outdated, upgrade to the latest {0} maybe required]]></string>
@@ -2655,10 +2654,10 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_audit_section_os"><![CDATA[OS]]></string>
 	<string name="_sys_audit_section_webserver"><![CDATA[Web-server]]></string>
 	<string name="_sys_audit_serverside_compression"><![CDATA[Server-side content compression]]></string>
-	<string name="_sys_audit_title_fail"><![CDATA[FAIL]]></string>
-	<string name="_sys_audit_title_ok"><![CDATA[OK]]></string>
-	<string name="_sys_audit_title_undef"><![CDATA[UNDEFINED]]></string>
-	<string name="_sys_audit_title_warn"><![CDATA[WARNING]]></string>
+	<string name="_sys_audit_title_fail"><![CDATA[Fail]]></string>
+	<string name="_sys_audit_title_ok"><![CDATA[Pass]]></string>
+	<string name="_sys_audit_title_undef"><![CDATA[Unknown]]></string>
+	<string name="_sys_audit_title_warn"><![CDATA[Warning]]></string>
 	<string name="_sys_audit_userside_caching"><![CDATA[User-side caching for static content]]></string>
 	<string name="_sys_audit_version"><![CDATA[version]]></string>
 	<string name="_sys_audit_version_script"><![CDATA[UNA version]]></string>
@@ -3275,6 +3274,10 @@ If it is not enabled then please consider implement this optimization, since it
   <string name="_sys_grid_search"><![CDATA[Search...]]></string>
   <string name="_sys_grid_total_count"><![CDATA[Сount: {0}]]></string>
   <string name="_sys_grid_txt_account_manager"><![CDATA[Redirect to manage account.]]></string>
+	<string name="_sys_inst_audit_failed"><![CDATA[{0} failed]]></string>
+	<string name="_sys_inst_audit_lead"><![CDATA[A check of PHP, extensions, and paths on this host.]]></string>
+	<string name="_sys_inst_audit_passed"><![CDATA[{0} passed]]></string>
+	<string name="_sys_inst_audit_warnings"><![CDATA[{0} warnings]]></string>
 	<string name="_sys_inst_conf_desc"><![CDATA[{0}{1}<br />Example: {2}]]></string>
 	<string name="_sys_inst_conf_desc_admin_email"><![CDATA[Admin user e-mail address.]]></string>
 	<string name="_sys_inst_conf_desc_admin_pwd"><![CDATA[Admin user password here.]]></string>
@@ -3316,9 +3319,9 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_inst_conf_field_site_title"><![CDATA[Site title]]></string>
 	<string name="_sys_inst_conf_field_site_url"><![CDATA[Site URL]]></string>
 	<string name="_sys_inst_conf_field_template"><![CDATA[Template]]></string>
-	<string name="_sys_inst_conf_found"><![CDATA[<span style="color:green">Found</span>]]></string>
+	<string name="_sys_inst_conf_found"><![CDATA[<span class="bx-install-chip bx-install-chip-ok">Found</span>]]></string>
 	<string name="_sys_inst_conf_no_example"><![CDATA[no example]]></string>
-	<string name="_sys_inst_conf_not_found"><![CDATA[<span style="color:red">Not found</span>]]></string>
+	<string name="_sys_inst_conf_not_found"><![CDATA[<span class="bx-install-chip bx-install-chip-bad">Not found</span>]]></string>
 	<string name="_sys_inst_conf_section_db_config"><![CDATA[DB config]]></string>
 	<string name="_sys_inst_conf_section_link_with_market"><![CDATA[Link with UNA market]]></string>
 	<string name="_sys_inst_conf_section_modules"><![CDATA[Modules]]></string>
@@ -3326,12 +3329,15 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_inst_conf_section_site_info"><![CDATA[Site info]]></string>
 	<string name="_sys_inst_continue"><![CDATA[Continue]]></string>
 	<string name="_sys_inst_finish"><![CDATA[Installation has been successfully completed]]></string>
+	<string name="_sys_inst_footer_contact"><![CDATA[Contact UNA Team]]></string>
+	<string name="_sys_inst_footer_docs"><![CDATA[Documentation]]></string>
+	<string name="_sys_inst_footer_product"><![CDATA[UNA Community Management System]]></string>
 	<string name="_sys_inst_help"><![CDATA[Help]]></string>
 	<string name="_sys_inst_help_finish"><![CDATA[Help with cron jobs]]></string>
 	<string name="_sys_inst_help_permissions"><![CDATA[Setting permissions help]]></string>
 	<string name="_sys_inst_help_site_config"><![CDATA[Creating database help]]></string>
-	<string name="_sys_inst_hosting_fails"><![CDATA[Your hosting doesn't meet minimal requirements:]]></string>
-	<string name="_sys_inst_hosting_warnings"><![CDATA[Your hosting setup has some warnings, for the complete report go to <a href="?action=audit">server audit page</a>.]]></string>
+	<string name="_sys_inst_hosting_fails"><![CDATA[This host does not meet the minimum requirements:]]></string>
+	<string name="_sys_inst_hosting_warnings"><![CDATA[This host has a few warnings. See the full report on the <a href="?action=audit">server audit page</a>.]]></string>
 	<string name="_sys_inst_msg_admin_account_not_found"><![CDATA[Admin account wasn't found by email - {0}]]></string>
 	<string name="_sys_inst_msg_db_err_connect"><![CDATA[Database connect failed]]></string>
 	<string name="_sys_inst_msg_db_err_select"><![CDATA[Database select failed]]></string>
@@ -3343,8 +3349,8 @@ If it is not enabled then please consider implement this optimization, since it
 	<string name="_sys_inst_msg_finish_goto_studio"><![CDATA[<a href="{0}studio/">Go to Studio</a> to add additional modules and customize the site.]]></string>
 	<string name="_sys_inst_msg_form_error"><![CDATA[Please fix form errors.]]></string>
 	<string name="_sys_inst_msg_module_error"><![CDATA[{0} - {1}]]></string>
-	<string name="_sys_inst_msg_permissions_lead"><![CDATA[Check that required paths are writable (or executable) before continuing.]]></string>
-	<string name="_sys_inst_msg_permissions_wrong"><![CDATA[Some files or folders rights aren't correct, please set necessary permissions then click "Continue".]]></string>
+	<string name="_sys_inst_msg_permissions_lead"><![CDATA[These paths need to be writable, or executable, before you continue.]]></string>
+	<string name="_sys_inst_msg_permissions_wrong"><![CDATA[Some paths need attention. Fix them, then continue.]]></string>
 	<string name="_sys_inst_msg_remove_install"><![CDATA[Please, remove INSTALL directory from your server and reload this page to activate your site.<br />After deletion you can safely go <a href="../studio/">to the site Studio</a> to add additional modules and customize the site.]]></string>
 	<string name="_sys_inst_msg_script_isnt_installed"><![CDATA[Script isn't installed]]></string>
 	<string name="_sys_inst_refresh"><![CDATA[Refresh]]></string>

+ 24 - 18
modules/boonex/russian/data/langs/system/ru.xml

@@ -462,7 +462,7 @@
 	<string name="_adm_admtools_Executable"><![CDATA[Исполняемый]]></string>
 	<string name="_adm_admtools_Non_Executable"><![CDATA[Неисполняемый]]></string>
 	<string name="_adm_admtools_Non_Writable"><![CDATA[Незаписываемый]]></string>
-	<string name="_adm_admtools_Not_Exists"><![CDATA[Несуществующий]]></string>
+	<string name="_adm_admtools_Not_Exists"><![CDATA[Отсутствует]]></string>
 	<string name="_adm_admtools_Path"><![CDATA[Путь]]></string>
 	<string name="_adm_admtools_Permissions"><![CDATA[Разрешения]]></string>
 	<string name="_adm_admtools_Writable"><![CDATA[Записываемый]]></string>
@@ -2598,13 +2598,12 @@
 	<string name="_sys_audit_msg_optimization_warn"><![CDATA[установка PHP-акселератора ускорит кэширование файлов]]></string>
 	<string name="_sys_audit_msg_x_based_cache_engine"><![CDATA[ ({0} кэш-движок)]]></string>
 	<string name="_sys_audit_msg_ffmpeg"><![CDATA[<pre class="code">{0}</pre>если Вы не уверены, корректен ли вывод, может понадобиться <a href="#manual_audit">ручной аудит сервера</a>.]]></string>
-	<string name="_sys_audit_msg_hardware_requirements"><![CDATA[Требования к "железу" невозможно установить автоматически - может быть необходим <a href="#manual_audit">ручной аудит сервера</a>.]]></string>
+	<string name="_sys_audit_msg_hardware_requirements"><![CDATA[Оборудование нельзя проверить автоматически. Может понадобиться <a href="#manual_audit">ручной аудит сервера</a>.]]></string>
 	<string name="_sys_audit_msg_mail_send_failed"><![CDATA[не удалось отослать письмо]]></string>
 	<string name="_sys_audit_msg_mail_sending"><![CDATA[<span id="bx-sys-adm-audit-test-email"><a href="javascript:void(0);" onclick="bx_sys_adm_audit_test_email()">нажмите здесь</a>, чтобы отослать тестовое сообщение</span>]]></string>
 	<string name="_sys_audit_msg_mail_sent"><![CDATA[тестовое сообщение отослано, пожалуйста, проверьте {0} эл. ящик]]></string>
 	<string name="_sys_audit_msg_manual_audit"><![CDATA[<p>
-Некоторые пункты не могут быть автоматически определены, ручной аудит сервера необходим для проверки. 
-Если Вы не знаете, как провести его самостоятельно, Вы можете запросить <a target="_blank" href="mailto:team@unacms.com?subject=Ручной аудит сервера">ручной аудит сервера</a>.
+Некоторые проверки нужно сделать вручную. Если нужна помощь, <a target="_blank" href="mailto:team@unacms.com?subject=Ручной аудит сервера">отправьте запрос на аудит сервера</a>.
 </p>]]></string>
 	<string name="_sys_audit_msg_must_be"><![CDATA[нужно {0} {1}]]></string>
 	<string name="_sys_audit_msg_optimization_apache_module"><![CDATA[Чтобы применить эту оптимизацию, Вам нужно иметь <b>{0}</b> - {1}]]></string>
@@ -2612,12 +2611,12 @@
 	<string name="_sys_audit_msg_php_accelerator_missing"><![CDATA[Можно значительно ускорить работу скрипта, если установить PHP-акселератор]]></string>
 	<string name="_sys_audit_msg_php_setup_inefficient"><![CDATA[Ваши PHP-настройки могут быть очень неэффективными, <a href="javascript:void(0)" onclick="bx_sys_adm_audit_phpinfo()">проверьте их</a> и попробуйте переключиться на mod_php, apache dso module или FastCGI]]></string>
 	<string name="_sys_audit_msg_serverside_compression"><![CDATA[
-может быть проверено <a href="#manual_audit">вручную</a> или с помощью интсрумента "Page Speed", встроенного в браузер.<br />
-Если он не задействован, тогда попробуйте применить эту оптимизацию, так как она улучшает скорость сайта и сохраняет трафик.<br />{0}]]></string>
+может быть проверено <a href="#manual_audit">вручную</a> или с помощью инструмента PageSpeed, встроенного в браузер.<br />
+Если он не задействован, тогда попробуйте применить эту оптимизацию, так как она улучшает скорость сайта и экономит трафик.<br />{0}]]></string>
 	<string name="_sys_audit_msg_should_be"><![CDATA[хорошо бы {0} {1}]]></string>
 	<string name="_sys_audit_msg_userside_caching"><![CDATA[
-<a href="{0}">нажмите здесь для проверки в Google Page Speed</a><br />
-Если он не задействован, тогда попробуйте применить эту оптимизацию, так как она улучшает скорость сайта и сохраняет трафик.<br />{1}]]></string>
+<a href="{0}">нажмите здесь для проверки в Google PageSpeed</a><br />
+Если он не задействован, тогда попробуйте применить эту оптимизацию, так как она улучшает скорость сайта и экономит трафик.<br />{1}]]></string>
 	<string name="_sys_audit_msg_value_checking_failed"><![CDATA[проверка значения не удалась]]></string>
 	<string name="_sys_audit_msg_version_is_incompatible"><![CDATA[Ваша версия несовместима с UNA, нужно как минимум {0}]]></string>
 	<string name="_sys_audit_msg_version_is_outdated"><![CDATA[Ваша версия устарела, может потребоваться обновление до последней версии {0}]]></string>
@@ -2628,10 +2627,10 @@
 	<string name="_sys_audit_section_os"><![CDATA[ОС]]></string>
 	<string name="_sys_audit_section_webserver"><![CDATA[Web-сервер]]></string>
 	<string name="_sys_audit_serverside_compression"><![CDATA[Сжатие содержимого на стороне сервера]]></string>
-	<string name="_sys_audit_title_fail"><![CDATA[ПРОВАЛ]]></string>
-	<string name="_sys_audit_title_ok"><![CDATA[ПОРЯДОК]]></string>
-	<string name="_sys_audit_title_undef"><![CDATA[НЕ ОПРЕДЕЛЕНО]]></string>
-	<string name="_sys_audit_title_warn"><![CDATA[ПРЕДУПРЕЖДЕНИЕ]]></string>
+	<string name="_sys_audit_title_fail"><![CDATA[Ошибка]]></string>
+	<string name="_sys_audit_title_ok"><![CDATA[Пройдено]]></string>
+	<string name="_sys_audit_title_undef"><![CDATA[Неизвестно]]></string>
+	<string name="_sys_audit_title_warn"><![CDATA[Предупреждение]]></string>
 	<string name="_sys_audit_userside_caching"><![CDATA[Кэширование статичного содержимого на стороне пользователя]]></string>
 	<string name="_sys_audit_version"><![CDATA[версия]]></string>
 	<string name="_sys_audit_version_script"><![CDATA[Версия UNA]]></string>
@@ -3248,6 +3247,10 @@
 	<string name="_sys_grid_search"><![CDATA[Поиск...]]></string>
   <string name="_sys_grid_total_count"><![CDATA[Всего записей: {0}]]></string>
   <string name="_sys_grid_txt_account_manager"><![CDATA[Перенаправить в Управление аккаунтом.]]></string>
+	<string name="_sys_inst_audit_failed"><![CDATA[{0} ошибок]]></string>
+	<string name="_sys_inst_audit_lead"><![CDATA[Проверка PHP, расширений и путей на этом хосте.]]></string>
+	<string name="_sys_inst_audit_passed"><![CDATA[{0} пройдено]]></string>
+	<string name="_sys_inst_audit_warnings"><![CDATA[{0} предупреждений]]></string>
 	<string name="_sys_inst_conf_desc"><![CDATA[{0}{1}<br />Пример: {2}]]></string>
 	<string name="_sys_inst_conf_desc_admin_email"><![CDATA[Администратор - email.]]></string>
 	<string name="_sys_inst_conf_desc_admin_pwd"><![CDATA[Администратор - пароль.]]></string>
@@ -3289,9 +3292,9 @@
 	<string name="_sys_inst_conf_field_site_title"><![CDATA[Заголовок сайта]]></string>
 	<string name="_sys_inst_conf_field_site_url"><![CDATA[URL сайта]]></string>
 	<string name="_sys_inst_conf_field_template"><![CDATA[Тема]]></string>
-	<string name="_sys_inst_conf_found"><![CDATA[<span style="color:green">Найдено</span>]]></string>
+	<string name="_sys_inst_conf_found"><![CDATA[<span class="bx-install-chip bx-install-chip-ok">Найдено</span>]]></string>
 	<string name="_sys_inst_conf_no_example"><![CDATA[нет примера]]></string>
-	<string name="_sys_inst_conf_not_found"><![CDATA[<span style="color:red">Не найдено</span>]]></string>
+	<string name="_sys_inst_conf_not_found"><![CDATA[<span class="bx-install-chip bx-install-chip-bad">Не найдено</span>]]></string>
 	<string name="_sys_inst_conf_section_db_config"><![CDATA[БД - конфигурация]]></string>
 	<string name="_sys_inst_conf_section_link_with_market"><![CDATA[Связать с UNA Market]]></string>
 	<string name="_sys_inst_conf_section_modules"><![CDATA[Модули]]></string>
@@ -3299,12 +3302,15 @@
 	<string name="_sys_inst_conf_section_site_info"><![CDATA[Инфо сайта]]></string>
 	<string name="_sys_inst_continue"><![CDATA[Продолжить]]></string>
 	<string name="_sys_inst_finish"><![CDATA[Установка удачно завершена]]></string>
+	<string name="_sys_inst_footer_contact"><![CDATA[Связаться с командой UNA]]></string>
+	<string name="_sys_inst_footer_docs"><![CDATA[Документация]]></string>
+	<string name="_sys_inst_footer_product"><![CDATA[UNA Community Management System]]></string>
 	<string name="_sys_inst_help"><![CDATA[Помощь]]></string>
 	<string name="_sys_inst_help_finish"><![CDATA[Помощь по планировщику заданий]]></string>
 	<string name="_sys_inst_help_permissions"><![CDATA[Помощь по установке разрешений]]></string>
 	<string name="_sys_inst_help_site_config"><![CDATA[Помощь по созданию базы данных]]></string>
-	<string name="_sys_inst_hosting_fails"><![CDATA[Ваш хостинг не соответствует минимальным требованиям:]]></string>
-	<string name="_sys_inst_hosting_warnings"><![CDATA[Есть некоторые замечания к настройкам сервера, можно перейти к <a href="?action=audit">аудиту сервера</a> для более подробной информации.]]></string>
+	<string name="_sys_inst_hosting_fails"><![CDATA[Этот хост не соответствует минимальным требованиям:]]></string>
+	<string name="_sys_inst_hosting_warnings"><![CDATA[На этом хосте есть предупреждения. Полный отчёт на <a href="?action=audit">странице аудита сервера</a>.]]></string>
 	<string name="_sys_inst_msg_admin_account_not_found"><![CDATA[Аккаунт админа не был найден по эл. адресу - {0}]]></string>
 	<string name="_sys_inst_msg_db_err_connect"><![CDATA[Ошибка соединения с базой]]></string>
 	<string name="_sys_inst_msg_db_err_select"><![CDATA[Ошибка выбора базы]]></string>
@@ -3316,8 +3322,8 @@
 	<string name="_sys_inst_msg_finish_goto_studio"><![CDATA[<a href="{0}studio/">Перейти в Студию</a>, чтобы добавить дополнительные модули и модифицировать сайт.]]></string>
 	<string name="_sys_inst_msg_form_error"><![CDATA[Пожалуйста, исправьте ошибки формы.]]></string>
 	<string name="_sys_inst_msg_module_error"><![CDATA[{0} - {1}]]></string>
-	<string name="_sys_inst_msg_permissions_lead"><![CDATA[Проверьте, что указанные пути доступны для записи (или исполняемые) перед продолжением.]]></string>
-	<string name="_sys_inst_msg_permissions_wrong"><![CDATA[Неправильные разрешения для некоторых файлов и папок, установите правильные и нажмите "Продолжить".]]></string>
+	<string name="_sys_inst_msg_permissions_lead"><![CDATA[Эти пути должны быть доступны для записи или исполняемые, прежде чем продолжить.]]></string>
+	<string name="_sys_inst_msg_permissions_wrong"><![CDATA[Некоторым путям нужно внимание. Исправьте их, затем продолжите.]]></string>
 	<string name="_sys_inst_msg_remove_install"><![CDATA[Пожалуйста, удалите директорию INSTALL с сервера и перегрузите страницу, чтобы активировать сайт.<br />После удаления, Вы можете перейти по ссылке <a href="../studio/">в Студию</a>, чтобы добавить дополнительные модули и модифицировать сайт.]]></string>
 	<string name="_sys_inst_msg_script_isnt_installed"><![CDATA[Скрипт не установлен]]></string>
 	<string name="_sys_inst_refresh"><![CDATA[Обновить]]></string>

+ 31 - 9
studio/classes/BxDolStudioToolsAudit.php

@@ -209,9 +209,20 @@ class BxDolStudioToolsAudit extends BxDol
 
         $this->$sFunc(false, $aMessages);
 
-        foreach ($aMessages as $sName => $r)
-            if ($sType == $r['type'])
-                $aRet[] = "$sName = " . $this->format_output($r['params']['real_val'], isset($this->aPhpSettings[$sName]) ? $this->aPhpSettings[$sName] : '') . " - " . $this->getMsgHTML($sName, $r);        
+        foreach ($aMessages as $sName => $r) {
+            if ($sType != $r['type'])
+                continue;
+
+            $aSetting = isset($this->aPhpSettings[$sName]) ? $this->aPhpSettings[$sName] : array();
+            $sLabel = (!empty($aSetting['op']) && $aSetting['op'] === 'module') ? $aSetting['val'] : $sName;
+            $sValue = (!empty($aSetting['op']) && $aSetting['op'] === 'module') ? '' : $this->format_output($r['params']['real_val'], $aSetting);
+            $s = $sLabel;
+            if ($sValue !== '' && $sValue !== null)
+                $s .= ' = ' . $sValue;
+            if ($s !== '')
+                $s .= ' ';
+            $aRet[] = trim($s . $this->getMsgHTML($sName, $r));
+        }
 
         $this->restoreErrorReporting();
 
@@ -273,7 +284,10 @@ class BxDolStudioToolsAudit extends BxDol
         if ($bEcho) {
             $s = '';
             foreach ($aMessages as $sName => $r) {
-                $s .= $this->getBlock($sName, $this->format_output($r['params']['real_val'], isset($this->aPhpSettings[$sName]) ? $this->aPhpSettings[$sName] : ''), $this->getMsgHTML($sName, $r));
+                $aSetting = isset($this->aPhpSettings[$sName]) ? $this->aPhpSettings[$sName] : array();
+                $sLabel = (!empty($aSetting['op']) && $aSetting['op'] === 'module') ? $aSetting['val'] : $sName;
+                $sValue = (!empty($aSetting['op']) && $aSetting['op'] === 'module') ? '' : $this->format_output($r['params']['real_val'], $aSetting);
+                $s .= $this->getBlock($sLabel, $sValue, $this->getMsgHTML($sName, $r));
             }
             echo $this->getSection('PHP', '', $s);
         }
@@ -662,7 +676,12 @@ class BxDolStudioToolsAudit extends BxDol
 
     protected function getSection($sTitle, $sTitleAddon, $sContent)
     {
-        $s = '<b>' . $sTitle . '</b>: ' . $sTitleAddon;
+        $s = '<div class="bx-audit-section-head">';
+        if ($sTitle !== '')
+            $s .= '<b>' . $sTitle . '</b>';
+        if ($sTitleAddon !== '')
+            $s .= ($sTitle !== '' ? ': ' : '') . $sTitleAddon;
+        $s .= '</div>';
         $s .= '<ul>';
         $s .= $sContent;
         $s .= '</ul>';
@@ -673,11 +692,14 @@ class BxDolStudioToolsAudit extends BxDol
     {
         $s = $bWrapAsListItem ? '<li>'  : '';
         if ($sName !== '')
-            $s .= "$sName ";
+            $s .= $sName;
         if ($sValue !== '')
-            $s .= " = $sValue ";
-        if ($sMsg)
-                $s .= ($s ? " - " : '') . $sMsg;
+            $s .= ' = ' . $sValue;
+        if ($sMsg) {
+            if ($sName !== '' || $sValue !== '')
+                $s .= ' ';
+            $s .= $sMsg;
+        }
         return $s . ($bWrapAsListItem ? '</li>' : '') . "\n";
     }