1
0
Эх сурвалжийг харах

Modernize install wizard UI

Same install flow and permission checks. Refresh shell, typography, buttons, and permissions table. Wrap remaining Help/Permissions lead strings in _t() with en/ru language keys.

ffmpeg.exe Linux path remains a follow-up.
Andrey Yasko 2 сар өмнө
parent
commit
3cd63601ee

+ 3 - 3
install/classes/BxDolInstallController.php

@@ -76,7 +76,7 @@ class BxDolInstallController
 
         $this->_oView->out('permissions.php', compact('sPermissionsStyles', 'sPermissionsTable', 'bPermissionsOk'));
 
-        $this->_oView->setToolbarItem('question', 'https://github.com/unaio/una/wiki/Installation', _t('_sys_inst_help_permissions'), '_blank');
+        $this->_oView->setToolbarItem('question', 'https://unacms.com/wiki/installation-overview', _t('_sys_inst_help_permissions'), '_blank');
 
         $this->_oView->pageEnd($this->_getTitle());
     }
@@ -90,7 +90,7 @@ class BxDolInstallController
 
         $this->_oView->out('site_config.php', compact('sForm'));
 
-        $this->_oView->setToolbarItem('question', 'https://github.com/unaio/una/wiki/Installation', _t('_sys_inst_help_site_config'), '_blank');
+        $this->_oView->setToolbarItem('question', 'https://unacms.com/wiki/installation-overview', _t('_sys_inst_help_site_config'), '_blank');
 
         $this->_oView->pageEnd($this->_getTitle());
     }
@@ -116,7 +116,7 @@ class BxDolInstallController
 
         $this->_oView->out('finish.php', compact('sPathToPhp'));
 
-        $this->_oView->setToolbarItem('question', 'https://github.com/unaio/una/wiki/Installation', _t('_sys_inst_help_finish'), '_blank');
+        $this->_oView->setToolbarItem('question', 'https://unacms.com/wiki/installation-overview', _t('_sys_inst_help_finish'), '_blank');
 
         $this->_oView->pageEnd($this->_getTitle());
 

+ 419 - 50
install/css/styles.css

@@ -1,89 +1,458 @@
+/* Install wizard — modern minimal shell (una-g). Same flow; visual refresh only. */
 
+:root {
+    --bx-inst-bg: #f4f5f7;
+    --bx-inst-surface: #ffffff;
+    --bx-inst-text: #111827;
+    --bx-inst-muted: #6b7280;
+    --bx-inst-border: #e5e7eb;
+    --bx-inst-accent: #2563eb;
+    --bx-inst-accent-hover: #1d4ed8;
+    --bx-inst-ok: #059669;
+    --bx-inst-ok-bg: #ecfdf5;
+    --bx-inst-bad: #dc2626;
+    --bx-inst-bad-bg: #fef2f2;
+    --bx-inst-warn: #d97706;
+    --bx-inst-warn-bg: #fffbeb;
+    --bx-inst-radius: 12px;
+    --bx-inst-shadow: 0 1px 2px rgba(16, 24, 40, 0.04), 0 8px 24px rgba(16, 24, 40, 0.06);
+    --bx-inst-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
+}
 
 html, body {
     margin: 0;
-	height: 100%;
+    min-height: 100%;
+}
+
+body.bx-install-body,
+.bx-install-body {
+    font-family: var(--bx-inst-font) !important;
+    color: var(--bx-inst-text);
+    background: var(--bx-inst-bg) !important;
+    -webkit-font-smoothing: antialiased;
+}
+
+.bx-install-shell {
+    min-height: 100vh;
+    display: flex;
+    flex-direction: column;
+}
+
+.bx-install-topbar {
+    background: var(--bx-inst-surface);
+    border-bottom: 1px solid var(--bx-inst-border);
+    position: sticky;
+    top: 0;
+    z-index: 20;
+}
+
+.bx-install-topbar-inner {
+    max-width: 720px;
+    margin: 0 auto;
+    padding: 14px 20px;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    gap: 12px;
+}
+
+.bx-install-brand {
+    display: flex;
+    align-items: center;
+    gap: 10px;
+    min-width: 0;
 }
 
-.bx-btn-primary {
-    background-color: #3b8686;
+.bx-install-brand-mark {
+    width: 10px;
+    height: 10px;
+    border-radius: 999px;
+    background: var(--bx-inst-accent);
+    flex: 0 0 auto;
 }
 
-.bx-install-permissions .bx-btn,
-.bx-install-initial .bx-btn {
-    display:inline;
-    display:inline-block;
-    float:none;
+.bx-install-brand-title {
+    font-size: 14px;
+    font-weight: 600;
+    letter-spacing: -0.01em;
+    color: var(--bx-inst-text);
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
 }
 
+.bx-install-help {
+    font-size: 13px;
+    font-weight: 500;
+    color: var(--bx-inst-accent);
+    text-decoration: none;
+}
+.bx-install-help:hover {
+    text-decoration: underline;
+}
+
+.bx-install-main {
+    flex: 1 0 auto;
+    width: 100%;
+    max-width: 720px;
+    margin: 0 auto;
+    padding: 32px 20px 48px;
+    box-sizing: border-box;
+}
+
+.bx-install-card {
+    background: var(--bx-inst-surface);
+    border: 1px solid var(--bx-inst-border);
+    border-radius: var(--bx-inst-radius);
+    box-shadow: var(--bx-inst-shadow);
+    padding: 28px 28px 32px;
+}
+
+.bx-install-footer {
+    flex: 0 0 auto;
+    text-align: center;
+    padding: 20px;
+    font-size: 12px;
+    color: var(--bx-inst-muted);
+}
+
+/* Kill the old teal header if any leftover classes still render */
+.bx-header.bx-def-color-bg-header,
+#bx-toolbar {
+    background: transparent !important;
+    box-shadow: none !important;
+}
+
+h1.bx-def-font-h1,
+.bx-install-card h1 {
+    font-family: var(--bx-inst-font) !important;
+    font-size: 22px !important;
+    font-weight: 650 !important;
+    letter-spacing: -0.02em;
+    margin: 0 0 20px !important;
+    color: var(--bx-inst-text) !important;
+}
+
+.bx-install-card p,
+.bx-install-card li,
+.bx-install-card .bx-def-font-large {
+    font-family: var(--bx-inst-font) !important;
+    color: var(--bx-inst-text);
+    line-height: 1.55;
+}
+
+/* Buttons */
+.bx-btn,
+a.bx-btn,
+button.bx-btn,
+.bx-install-site-config .bx-form-input-wrapper-submit button,
+.bx-install-site-config .bx-form-input-wrapper-submit input[type="submit"] {
+    display: inline-flex !important;
+    align-items: center;
+    justify-content: center;
+    gap: 6px;
+    float: none !important;
+    margin: 0 8px 8px 0 !important;
+    padding: 10px 16px !important;
+    min-height: 40px;
+    border-radius: 8px !important;
+    border: 1px solid var(--bx-inst-border) !important;
+    background: var(--bx-inst-surface) !important;
+    color: var(--bx-inst-text) !important;
+    font-family: var(--bx-inst-font) !important;
+    font-size: 14px !important;
+    font-weight: 550 !important;
+    line-height: 1.2 !important;
+    text-decoration: none !important;
+    box-shadow: none !important;
+    cursor: pointer;
+    transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
+}
+
+.bx-btn:hover,
+a.bx-btn:hover,
+button.bx-btn:hover {
+    background: #f9fafb !important;
+    border-color: #d1d5db !important;
+}
+
+.bx-btn-primary,
+a.bx-btn-primary,
+button.bx-btn-primary,
+.bx-btn.bx-btn-primary {
+    background: var(--bx-inst-accent) !important;
+    border-color: var(--bx-inst-accent) !important;
+    color: #fff !important;
+}
+
+.bx-btn-primary:hover,
+a.bx-btn-primary:hover {
+    background: var(--bx-inst-accent-hover) !important;
+    border-color: var(--bx-inst-accent-hover) !important;
+    color: #fff !important;
+}
+
+.bx-btn-disabled,
+a.bx-btn-disabled,
+.bx-btn.bx-btn-disabled {
+    opacity: 0.45 !important;
+    pointer-events: none !important;
+    cursor: not-allowed !important;
+}
+
+.bx-install-permissions-buttons,
 .bx-install-initial,
 .bx-install-initial-langs,
-.bx-install-permissions-buttons,
 .bx-install-site-config .bx-form-input-wrapper-submit {
-    text-align:center;
+    text-align: center;
 }
+
 .bx-install-initial > a,
 .bx-install-initial-langs > a,
 .bx-install-permissions-buttons > a,
 .bx-install-site-config .bx-form-input-wrapper-submit > a {
-    display:inline-block;
+    display: inline-flex;
 }
 
-.bx-install-error-message {
-    border:1px solid #966;
-    background-color:#c99;
-    color:#000;
-    font-weight:bold;
+/* Initial / welcome */
+.bx-install-initial img.bx-install-img {
+    display: block;
+    margin: 8px auto 24px;
+    width: 180px;
+    max-width: 55%;
 }
 
-.bx-install-page {
-	min-height: 100%;
-	height: auto !important;
-	height: 100%;
-	margin: 0 auto -60px; /* the bottom margin is the negative value of the footer's height */
+.bx-install-initial-langs {
+    margin-bottom: 20px !important;
 }
-.bx-install-footer-push,
-.bx-install-footer {
-    height: 60px;
-    line-height: 60px;
+.bx-install-initial-langs img {
+    width: 28px;
+    height: 28px;
+    border-radius: 6px;
+    border: 1px solid var(--bx-inst-border);
+}
+.bx-install-initial-langs a {
+    margin: 0 4px;
 }
 
-.bx-install-initial img.bx-install-img {
-    display:block;
-    margin-left:auto;
-    margin-right:auto;
-    width:400px;
-    max-width:90%;
+.bx-install-initial-waring,
+.bx-install-initial-fail {
+    margin-top: 20px;
+    padding: 12px 14px;
+    border-radius: 8px;
+    background: var(--bx-inst-warn-bg);
+    border: 1px solid #fde68a;
+    color: #92400e;
+    font-size: 14px;
+    text-align: left;
 }
 
-.bx-install-initial-langs img {
-    width:32px;
-    height:32px;
+.bx-install-error-message,
+.bx-install-initial-fail ul {
+    border: 1px solid #fecaca;
+    background: var(--bx-inst-bad-bg);
+    color: #991b1b;
+    border-radius: 8px;
+    padding: 12px 14px;
+    font-weight: 500;
+}
+
+/* Permissions table → modern list */
+.bx-permissions-table {
+    width: 100% !important;
+    border-collapse: separate !important;
+    border-spacing: 0 !important;
+    border: 1px solid var(--bx-inst-border);
+    border-radius: 10px;
+    overflow: hidden;
+    font-size: 13px;
+}
+
+.bx-permissions-table thead td,
+.bx-permissions-table thead th {
+    font-weight: 600 !important;
+    font-size: 12px !important;
+    text-transform: uppercase;
+    letter-spacing: 0.04em;
+    color: var(--bx-inst-muted) !important;
+    background: #fafafa;
+    border-bottom: 1px solid var(--bx-inst-border);
+    text-align: left !important;
+    padding: 10px 12px !important;
+}
+
+.bx-permissions-table td {
+    padding: 12px !important;
+    border-bottom: 1px solid var(--bx-inst-border);
+    vertical-align: middle;
+    font-family: var(--bx-inst-font) !important;
+}
+
+.bx-permissions-table tbody tr:last-child td {
+    border-bottom: none;
 }
 
-.bx-install-site-config .bx-form-input-wrapper-submit button {
-    display:inline-block;
-} 
+.bx-permissions-table tbody tr.bx-def-color-bg-hl-even,
+.bx-permissions-table tbody tr {
+    background: #fff !important;
+}
+
+.bx-permissions-table td:first-child {
+    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
+    font-size: 12px;
+    color: #374151;
+}
+
+.bx-permissions-table td:not(:first-child) {
+    text-align: left !important;
+}
+
+.bx-permissions-ok,
+.bx-permissions-wrong {
+    display: inline-flex;
+    align-items: center;
+    gap: 6px;
+    padding: 4px 10px;
+    border-radius: 999px;
+    font-size: 12px !important;
+    font-weight: 600 !important;
+    line-height: 1.3;
+}
+
+.bx-permissions-ok {
+    color: var(--bx-inst-ok) !important;
+    background: var(--bx-inst-ok-bg) !important;
+}
+
+.bx-permissions-wrong {
+    color: var(--bx-inst-bad) !important;
+    background: var(--bx-inst-bad-bg) !important;
+}
+
+.bx-install-permissions-buttons {
+    margin-top: 24px !important;
+}
+
+.bx-install-permissions-buttons .bx-def-margin-bottom {
+    margin-bottom: 16px !important;
+    padding: 12px 14px;
+    border-radius: 8px;
+    background: var(--bx-inst-warn-bg);
+    border: 1px solid #fde68a;
+    color: #92400e;
+    font-size: 14px;
+    text-align: left;
+}
+
+/* Forms (site config) */
+.bx-install-site-config fieldset.bx-form-section {
+    background: transparent !important;
+    border: none !important;
+    border-radius: 0 !important;
+    margin: 0 0 18px !important;
+    padding: 0 !important;
+}
+
+.bx-install-site-config fieldset.bx-form-section .bx-form-section-content {
+    background: transparent !important;
+}
+
+.bx-install-site-config .bx-form-section-title,
+.bx-install-site-config legend {
+    font-size: 13px !important;
+    font-weight: 650 !important;
+    color: var(--bx-inst-muted) !important;
+    text-transform: uppercase;
+    letter-spacing: 0.04em;
+    margin-bottom: 10px !important;
+}
+
+.bx-install-site-config input[type="text"],
+.bx-install-site-config input[type="password"],
+.bx-install-site-config input[type="email"],
+.bx-install-site-config select,
+.bx-install-site-config textarea,
+.bx-install-finish textarea,
+.bx-form-input-text,
+.bx-form-input-password,
+.bx-form-input-select,
+.bx-form-input-textarea {
+    width: 100%;
+    max-width: 100%;
+    box-sizing: border-box;
+    border: 1px solid var(--bx-inst-border) !important;
+    border-radius: 8px !important;
+    padding: 10px 12px !important;
+    font-family: var(--bx-inst-font) !important;
+    font-size: 14px !important;
+    background: #fff !important;
+    color: var(--bx-inst-text) !important;
+    box-shadow: none !important;
+}
+
+.bx-install-site-config input:focus,
+.bx-install-site-config select:focus,
+.bx-install-site-config textarea:focus,
+.bx-install-finish textarea:focus {
+    outline: none !important;
+    border-color: var(--bx-inst-accent) !important;
+    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
+}
 
 .bx-install-finish textarea {
-    display:block;
-    width:70%;
-    height:60px;
+    display: block;
+    width: 100% !important;
+    height: 88px;
+    margin-top: 8px;
+    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
+    font-size: 12px !important;
+}
+
+.bx-install-finish ol {
+    padding-left: 20px;
+    margin: 0;
 }
 
+.bx-install-finish li {
+    margin-bottom: 16px;
+}
 
-.bx-header.bx-def-color-bg-header {
-    background-color: #3b8686;
+/* Audit output */
+.bx-install-audit {
+    font-size: 13px;
+    overflow-x: auto;
+}
+.bx-install-audit 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 {
+    padding: 8px 10px;
+    border-bottom: 1px solid var(--bx-inst-border);
+    text-align: left;
 }
 
-fieldset.bx-form-section {
-    background-color:transparent !important;
-    border-left:none;
-    border-right:none;
-    border-bottom:none;
-    border-radius:0 !important;
+@media (max-width: 640px) {
+    .bx-install-card {
+        padding: 20px 16px 24px;
+    }
+    .bx-install-main {
+        padding: 20px 12px 36px;
+    }
 }
 
-fieldset.bx-form-section .bx-form-section-content {
-    background-color:transparent !important;
+.bx-install-step-lead {
+    margin: -8px 0 20px !important;
+    color: var(--bx-inst-muted) !important;
+    font-size: 14px !important;
+}
+.bx-install-actions {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: center;
+    gap: 4px;
 }

+ 23 - 50
install/templates/_page.php

@@ -2,68 +2,41 @@
 <html lang="en">
 <head>
     <meta charset="utf-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1" />
     <title><?=$sTitle; ?></title>
-
     <style>
-
 <?=$sInlineCSS; ?>
-
     </style>
     <link rel="stylesheet" href="css/styles.css" />
-
 <?=$sFilesCSS; ?>
-
 <?=$sFilesJS; ?>
-
-    <script>
-        $(document).ready(function () {
-            $('#bx-toolbar').css({opacity: 0.9});
-        });
-    </script>
 </head>
-<body class="bx-def-font bx-def-color-bg-page">
-
-<div class="bx-install-page bx-main">
-
-    <div id="bx-toolbar" class="bx-header bx-def-color-bg-header bx-def-z-index-nav bx-def-shadow bx-toolbar-anim headroom--top headroom--not-bottom">
-        <div class="bx-def-centered bx-def-padding-sec-leftright bx-def-page-width bx-def-box-sizing">
-                <div id="bx-toolbar-content" class="bx-toolbar-content bx-clearfix">
-                    <div id="bx-menu-toolbar-1-container" class="bx-toolbar-item bx-ti-left"></div>
-                    <div id="bx-logo-container" class="bx-toolbar-item bx-ti-logo bx-ti-stretcher"><a class="bx-def-font-contrasted"><span><?=$sTitle; ?></span></a></div>
-                    <div id="bx-menu-toolbar-2-container" class="bx-toolbar-item bx-ti-right">
-                        <?php if (!empty($aToolbarItem)): ?>
-                        <ul class="bx-menu-toolbar bx-menu-object-sys_toolbar_member">
-                            <li class="bx-def-color-bg-hl-hover ">
-                                <a title="<?=$aToolbarItem['title']; ?>" href="<?=$aToolbarItem['link']; ?>" target="<?=$aToolbarItem['target']; ?>" onclick="" class="bx-def-margin-sec-left bx-def-font-contrasted">
-                                    <i class="sys-icon <?=$aToolbarItem['icon']; ?> bx-def-margin-sec-leftright"></i>
-                                </a>
-                            </li>
-                        </ul>
-                        <?php endif; ?>
-                    </div>
-                </div>
-
-        </div>
-    </div>
-
-    <div id="bx-menu-main-bar-wrapper"></div>
-
-    <div class="bx-page-wrapper bx-menu-toolbar-padding bx-def-centered bx-def-padding-sec-left bx-def-padding-sec-right bx-def-page-width">
-        <div id="bx-content-container" class="bx-def-padding-sec-left bx-def-padding-sec-right">
-            <div id="bx-content-main" class="bx-def-margin-top">
-                <?=$sCode; ?>
+<body class="bx-install-body bx-def-font">
+
+<div class="bx-install-shell">
+    <header class="bx-install-topbar">
+        <div class="bx-install-topbar-inner">
+            <div class="bx-install-brand">
+                <span class="bx-install-brand-mark" aria-hidden="true"></span>
+                <span class="bx-install-brand-title"><?=$sTitle; ?></span>
             </div>
+            <?php if (!empty($aToolbarItem)): ?>
+            <a class="bx-install-help" title="<?=$aToolbarItem['title']; ?>" href="<?=$aToolbarItem['link']; ?>" target="<?=$aToolbarItem['target']; ?>">
+                <?php echo _t('_sys_inst_help'); ?>
+            </a>
+            <?php endif; ?>
         </div>
-    </div>
-    <div class="bx-install-footer-push"></div>
-</div>
+    </header>
 
-<div class="bx-install-footer">
-    <div class="bx-def-centered bx-def-padding-sec-left bx-def-padding-sec-right bx-def-page-width">
-        <div id="bx-content-container" class="bx-def-padding-sec-left bx-def-padding-sec-right bx-clearfix">
-            &nbsp;
+    <main class="bx-install-main">
+        <div class="bx-install-card">
+            <?=$sCode; ?>
         </div>
-    </div>
+    </main>
+
+    <footer class="bx-install-footer">
+        <span>UNA Community Management System</span>
+    </footer>
 </div>
 
 </body>

+ 1 - 6
install/templates/finish.php

@@ -2,14 +2,9 @@
 
     <h1 class="bx-def-font-h1"><?php echo _t('_sys_inst_finish'); ?></h1>
 
-    <p class="bx-def-font-large" style="font-weight:bold;"><?php echo _t('_sys_inst_msg_finish'); ?></p>
+    <p class="bx-install-step-lead"><?php echo _t('_sys_inst_msg_finish'); ?></p>
 
     <ol>
-        <!--
-        <li>
-            change permissions back
-        <li>
-        -->
         <li>
             <?php echo _t('_sys_inst_msg_finish_cron_jobs'); ?>
             <textarea class="bx-form-input-textarea bx-def-font-inputs bx-def-margin-sec-top">

+ 4 - 2
install/templates/initial.php

@@ -4,8 +4,10 @@
 
     <?php include('lang_swither.php'); ?>
 
-    <a href="?action=permissions" class="bx-btn bx-btn-primary"><?php echo _t('_sys_inst_start_installation'); ?></a>
-    <a href="?action=audit" class="bx-btn"><?php echo _t('_sys_inst_server_audit'); ?></a>
+    <div class="bx-install-actions">
+        <a href="?action=permissions" class="bx-btn bx-btn-primary"><?php echo _t('_sys_inst_start_installation'); ?></a>
+        <a href="?action=audit" class="bx-btn"><?php echo _t('_sys_inst_server_audit'); ?></a>
+    </div>
 
     <?php if ($aWarnings): ?>
     <div class="bx-install-initial-waring bx-def-margin-top">

+ 3 - 0
install/templates/permissions.php

@@ -1,9 +1,12 @@
 <div class="bx-install-permissions">
 
     <h1 class="bx-def-font-h1"><?php echo _t('_adm_admtools_Permissions'); ?></h1>
+    <p class="bx-install-step-lead"><?php echo _t('_sys_inst_msg_permissions_lead'); ?></p>
 
    <?=$sPermissionsStyles; ?>
+   <div class="bx-install-permissions-table-wrap">
    <?=$sPermissionsTable; ?>
+   </div>
 
     <div class="bx-install-permissions-buttons bx-def-margin-top">
 

+ 1 - 1
install/templates/remove_install.php

@@ -1,5 +1,5 @@
 <div class="bx-install-remove-install">
 
-    <p class="bx-def-font-large" style="font-weight:bold;"><?php echo _t('_sys_inst_msg_remove_install'); ?></p>
+    <p class="bx-install-step-lead"><?php echo _t('_sys_inst_msg_remove_install'); ?></p>
 
 </div>

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

@@ -3326,6 +3326,7 @@ 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_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>
@@ -3342,6 +3343,7 @@ 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_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>

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

@@ -3299,6 +3299,7 @@
 	<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_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>
@@ -3315,6 +3316,7 @@
 	<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_remove_install"><![CDATA[Пожалуйста, удалите директорию INSTALL с сервера и перегрузите страницу, чтобы активировать сайт.<br />После удаления, Вы можете перейти по ссылке <a href="../studio/">в Студию</a>, чтобы добавить дополнительные модули и модифицировать сайт.]]></string>
 	<string name="_sys_inst_msg_script_isnt_installed"><![CDATA[Скрипт не установлен]]></string>