From 2aed5a6b9e06f6a774f5cd02f6daecd6160ebff2 Mon Sep 17 00:00:00 2001 From: Artur Kyryliuk Date: Mon, 14 Sep 2026 00:30:31 +0200 Subject: [PATCH] fix(installer): fatal error when installer can't write a config file --- core/tests/Unit/Install/CliInstallTest.php | 97 +++++++++++++++ .../Install/WebInstallConfigFailureTest.php | 117 ++++++++++++++++++ install/cli-install.php | 43 +++---- install/src/controllers/install.php | 20 +-- install/src/controllers/mode.php | 17 ++- install/src/controllers/summary.php | 33 +++-- install/src/functions.php | 65 ++++++++++ install/src/lang.php | 2 + install/src/lang/az.inc.php | 2 + install/src/lang/be.inc.php | 2 + install/src/lang/bg.inc.php | 2 + install/src/lang/cs.inc.php | 2 + install/src/lang/da.inc.php | 2 + install/src/lang/de.inc.php | 2 + install/src/lang/en.inc.php | 2 + install/src/lang/es.inc.php | 2 + install/src/lang/fa.inc.php | 2 + install/src/lang/fi.inc.php | 2 + install/src/lang/fr.inc.php | 2 + install/src/lang/he.inc.php | 2 + install/src/lang/it.inc.php | 2 + install/src/lang/ja.inc.php | 2 + install/src/lang/nl.inc.php | 2 + install/src/lang/nn.inc.php | 2 + install/src/lang/pl.inc.php | 2 + install/src/lang/pt.inc.php | 2 + install/src/lang/ru.inc.php | 2 + install/src/lang/sv.inc.php | 2 + install/src/lang/uk.inc.php | 2 + install/src/lang/zh.inc.php | 2 + install/src/template/actions/install.php | 18 +-- install/src/template/actions/mode.tpl | 8 +- install/src/template/install.tpl | 1 + install/style.css | 34 ++++- 34 files changed, 432 insertions(+), 67 deletions(-) create mode 100644 core/tests/Unit/Install/WebInstallConfigFailureTest.php diff --git a/core/tests/Unit/Install/CliInstallTest.php b/core/tests/Unit/Install/CliInstallTest.php index 983a064ef6..143ab478b4 100644 --- a/core/tests/Unit/Install/CliInstallTest.php +++ b/core/tests/Unit/Install/CliInstallTest.php @@ -4,6 +4,39 @@ use Tests\TestCase; +final class PartialInstallConfigWriteStream +{ + public mixed $context; + + private int $writeCount = 0; + + public function stream_open(): bool + { + return true; + } + + public function stream_write(string $data): int + { + $this->writeCount++; + + return $this->writeCount === 1 ? min(2, strlen($data)) : 0; + } + + public function stream_flush(): bool + { + return true; + } + + public function stream_close(): void + { + } + + public function url_stat(): false + { + return false; + } +} + require_once dirname(__DIR__, 4) . '/install/cli-install.php'; final class CliInstallTest extends TestCase @@ -64,4 +97,68 @@ public function getAttribute($attribute): string self::assertStringNotContainsString('[+database_name+]', $config); self::assertStringContainsString("'username' => env('DB_USERNAME', 'db_user')", $config); } + + public function testConfigWriterReturnsFalseWhenTheParentDirectoryDoesNotExist(): void + { + $path = sys_get_temp_dir() . '/evo-missing-' . uniqid('', true) . '/default.php'; + + self::assertFalse(hasInstallConfigPermissions($path)); + self::assertFalse(writeInstallConfigFile($path, ' 'sqlite'];\n"; + + try { + self::assertTrue(hasInstallConfigPermissions(dirname($path) . '/evo-new-config-' . uniqid() . '.php')); + self::assertTrue(hasInstallConfigPermissions($path)); + self::assertTrue(writeInstallConfigFile($path, $contents)); + self::assertSame($contents, file_get_contents($path)); + self::assertTrue(is_readable($path)); + self::assertTrue(is_writable($path)); + } finally { + @chmod($path, 0600); + @unlink($path); + } + } + + public function testConfigWriterRejectsAPartialWrite(): void + { + $scheme = 'evopartial' . bin2hex(random_bytes(4)); + self::assertTrue(stream_wrapper_register($scheme, PartialInstallConfigWriteStream::class)); + + try { + self::assertFalse(writeInstallConfigFile($scheme . '://default.php', 'generated config')); + } finally { + stream_wrapper_unregister($scheme); + } + } + + public function testCliWriteConfigThrowsWhenTheTargetCannotBeOpened(): void + { + $missingPath = sys_get_temp_dir() . '/evo-missing-' . uniqid('', true) . '/default.php'; + $installer = new class([], $missingPath) extends \InstallEvo { + public function __construct(array $arguments, private readonly string $path) + { + parent::__construct($arguments); + } + + protected function configFilePath(): string + { + return $this->path; + } + }; + $installer->databaseType = 'sqlite'; + $installer->database = 'evolution'; + $installer->tablePrefix = 'evo_'; + + $this->expectException(\RuntimeException::class); + $this->expectExceptionMessage('Unable to write the database configuration file'); + + $installer->writeConfig(); + } } diff --git a/core/tests/Unit/Install/WebInstallConfigFailureTest.php b/core/tests/Unit/Install/WebInstallConfigFailureTest.php new file mode 100644 index 0000000000..2daabe2519 --- /dev/null +++ b/core/tests/Unit/Install/WebInstallConfigFailureTest.php @@ -0,0 +1,117 @@ +start(); + try { + $install = new InstallEvo($argv); + $install->start(); + } catch (RuntimeException $exception) { + error($exception->getMessage()); + + return 1; + } + + return 0; } if (realpath($_SERVER['SCRIPT_FILENAME'] ?? '') === __FILE__) { - runCliInstall($argv); + exit(runCliInstall($argv)); } class InstallEvo @@ -544,25 +552,18 @@ public function writeConfig() $configString = file_get_contents(__DIR__ . '/stubs/files/config/database/connections/default.tpl'); $configString = parse($configString, $confph); - $filename = EVO_CORE_PATH . 'config/database/connections/default.php'; - $configFileFailed = false; - - if (file_exists($filename)) { - @chmod($filename, 0777); - } - - if (!$handle = fopen($filename, 'w')) { - $configFileFailed = true; - } - // write $somecontent to our opened file. - if (@ fwrite($handle, $configString) === false) { - $configFileFailed = true; + $filename = $this->configFilePath(); + if (!writeInstallConfigFile($filename, $configString)) { + throw new RuntimeException( + "Unable to write the database configuration file: {$filename}. " + . 'Check the file and directory permissions, then run the installer again.' + ); } - @ fclose($handle); - - // try to chmod the config file go-rwx (for suexeced php) - @chmod($filename, 0404); + } + protected function configFilePath(): string + { + return EVO_CORE_PATH . 'config/database/connections/default.php'; } public function migrationAndSeed() diff --git a/install/src/controllers/install.php b/install/src/controllers/install.php index e261952465..9e1dcc9c79 100644 --- a/install/src/controllers/install.php +++ b/install/src/controllers/install.php @@ -124,26 +124,12 @@ $configString = parse($configString, $confph); $filename = EVO_CORE_PATH . 'config/database/connections/default.php'; - $configFileFailed = false; + $configFileFailed = !writeInstallConfigFile($filename, $configString); - if (file_exists($filename)) { - @chmod($filename, 0777); - } - - if (@!$handle = fopen($filename, 'w')) { - $configFileFailed = true; - } - - // write $somecontent to our opened file. - if (@fwrite($handle, $configString) === false) { - $configFileFailed = true; - } - @fclose($handle); - - // try to chmod the config file go-rwx (for suexeced php) - @chmod($filename, 0404); if ($configFileFailed === true) { $errors += 1; + include dirname(__DIR__) . '/template/actions/install.php'; + return; } else { $installLevel = 3; } diff --git a/install/src/controllers/mode.php b/install/src/controllers/mode.php index a3fd7ee078..44a640ead0 100644 --- a/install/src/controllers/mode.php +++ b/install/src/controllers/mode.php @@ -3,12 +3,16 @@ // Determine upgradeability $isConnectable = false; $installMode = isset($_POST['installmode']) ? (int)$_POST['installmode'] : 0; +$databaseConfigFile = EVO_CORE_PATH . 'config/database/connections/default.php'; +$databaseConfigUnreadable = is_file($databaseConfigFile) && !is_readable($databaseConfigFile); -if (!is_file(EVO_CORE_PATH . 'config/database/connections/default.php')) { +if (!is_file($databaseConfigFile)) { $isNew = true; +} elseif ($databaseConfigUnreadable) { + $isNew = false; } else { $isNew = false; - $db_config = include_once EVO_CORE_PATH . 'config/database/connections/default.php'; + $db_config = include_once $databaseConfigFile; if (isset($db_config['database'])) { try { $pdoOptions = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]; @@ -32,11 +36,14 @@ $ph['displayUpg'] = $isNew ? 'hidden' : ''; $ph['displayAdvUpg'] = $ph['displayUpg']; $ph['checkedNew'] = $isNew ? 'checked' : ''; -$ph['checkedUpg'] = ((!$isNew && $isConnectable) || ($installMode === 1)) ? 'checked' : ''; -$ph['checkedAdvUpg'] = ((!$isNew && !$isConnectable) || ($installMode === 2)) ? 'checked' : ''; +$ph['checkedUpg'] = (!$databaseConfigUnreadable && ((!$isNew && $isConnectable) || ($installMode === 1))) ? 'checked' : ''; +$ph['checkedAdvUpg'] = (!$databaseConfigUnreadable && ((!$isNew && !$isConnectable) || ($installMode === 2))) ? 'checked' : ''; $ph['install_language'] = $install_language; $ph['disabledUpg'] = !$isConnectable ? 'disabled' : ''; -$ph['disabledAdvUpg'] = ''; +$ph['disabledAdvUpg'] = $databaseConfigUnreadable ? 'disabled' : ''; +$ph['configPermissionError'] = $databaseConfigUnreadable ? $_lang['cant_write_config_file_retry'] : ''; +$ph['configPermissionErrorHidden'] = $databaseConfigUnreadable ? '' : 'hidden'; +$ph['disabledNext'] = $databaseConfigUnreadable ? 'disabled' : ''; $ph['csrf_nonce'] = csrfNonce(); $tpl = file_get_contents(dirname(__DIR__) . '/template/actions/mode.tpl'); diff --git a/install/src/controllers/summary.php b/install/src/controllers/summary.php index 47d1bb4177..01ab146830 100644 --- a/install/src/controllers/summary.php +++ b/install/src/controllers/summary.php @@ -6,21 +6,14 @@ * @param $data * @param null|int $mode */ - function f_owc($path, $data, $mode = null) + function f_owc($path, $data, $mode = null): bool { - try { - // make an attempt to create the file - $hnd = fopen($path, 'w'); - fwrite($hnd, $data); - fclose($hnd); - - if (!is_null($mode)) { - @chmod($path, $mode); - } - } catch (Exception $e) { - // Nothing, this is NOT normal - unset($e); + $written = @file_put_contents($path, $data, LOCK_EX); + if ($written === false || $written !== strlen($data)) { + return false; } + + return is_null($mode) || @chmod($path, $mode); } } @@ -119,6 +112,20 @@ function f_owc($path, $data, $mode = null) echo '' . $_lang['ok'] . '

'; } +// Check database config permissions for installation modes that replace it. +if ($installMode !== 1) { + $databaseConfigFile = EVO_CORE_PATH . 'config/database/connections/default.php'; + echo '

' . $_lang['checking_if_database_config_writable']; + if (!hasInstallConfigPermissions($databaseConfigFile)) { + $errors++; + echo '' . $_lang['failed'] . '

'; + echo '

' + . $_lang['cant_write_config_file_retry'] . '

'; + } else { + echo '' . $_lang['ok'] . '

'; + } +} + // cache files writable? echo '

' . $_lang['checking_if_cache_file_writable']; $tmp = "../assets/cache/siteCache.idx.php"; diff --git a/install/src/functions.php b/install/src/functions.php index 48d32ec807..9b31d67873 100644 --- a/install/src/functions.php +++ b/install/src/functions.php @@ -31,6 +31,71 @@ function getLangOptions($install_language = 'en') return implode("\n", $_); } +/** + * Determine whether the installer can create or replace its database config file. + */ +function hasInstallConfigPermissions(string $filename): bool +{ + if (file_exists($filename)) { + return is_file($filename) && is_readable($filename) && is_writable($filename); + } + + $directory = dirname($filename); + $directoryIsTraversable = DIRECTORY_SEPARATOR === '\\' || is_executable($directory); + + return is_dir($directory) + && is_readable($directory) + && is_writable($directory) + && $directoryIsTraversable; +} + +/** + * Write the generated database config without passing an invalid handle to stream functions. + */ +function writeInstallConfigFile(string $filename, string $configString): bool +{ + if (file_exists($filename)) { + @chmod($filename, 0600); + } + + $handle = @fopen($filename, 'wb'); + if (!is_resource($handle)) { + return false; + } + + $length = strlen($configString); + $written = 0; + $complete = true; + + try { + while ($written < $length) { + $bytes = @fwrite($handle, substr($configString, $written)); + if ($bytes === false || $bytes === 0) { + $complete = false; + break; + } + + $written += $bytes; + } + + if ($complete && !@fflush($handle)) { + $complete = false; + } + } finally { + @fclose($handle); + } + + if (!$complete || $written !== $length) { + return false; + } + + // Use conventional shared-hosting permissions: owner read/write, everyone else read-only. + @chmod($filename, 0644); + clearstatcache(true, $filename); + + return is_readable($filename) && is_writable($filename); +} + function escapeHtmlAttribute($unescaped) { return htmlspecialchars($unescaped, ENT_QUOTES, 'UTF-8'); } diff --git a/install/src/lang.php b/install/src/lang.php index b919079082..9bcdd34ecc 100644 --- a/install/src/lang.php +++ b/install/src/lang.php @@ -29,7 +29,9 @@ } # load language file require_once 'lang/en.inc.php'; // As fallback +$fallbackLang = $_lang; require_once 'lang/' . $install_language . '.inc.php'; +$_lang += $fallbackLang; $manager_language = $install_language; diff --git a/install/src/lang/az.inc.php b/install/src/lang/az.inc.php index c950639ddc..4d3cd3fe07 100644 --- a/install/src/lang/az.inc.php +++ b/install/src/lang/az.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Sonraki', 'cant_write_config_file' => 'Evolution CMS konfiqurasiya faylını yaza bilmir. Aşağıdakı mətnləri fayla köçürün', 'cant_write_config_file_note' => 'Bu tamamlandıqdan sonra Evolution CMS Admin-ə daxil ola bilərsiniz, brauzerinizi YourSiteName.com/[+MGR_DIR+]/ ünvanına yönəldin.', + 'cant_write_config_file_retry' => 'PHP-nin konfiqurasiya faylını oxuya və yaza bildiyinə əmin olun. Tövsiyə olunan icazələr: fayl üçün 0644 (rw-r--r--), /core/config/database/connections/ qovluğu üçün 0755 (rwxr-xr-x). Fayl üçün icra icazəsi tələb olunmur. Hostinq provayderiniz bunu açıq şəkildə tələb etmədikcə 0777 istifadə etməyin. Sonra quraşdırmanı yenidən sınayın.', 'checkbox_select_options' => 'Checkbox seçim variantları:', 'checking_extensions' => '[+extensions+] genişlənməsinin mövcudluğunu yoxlayır: ', 'missing_mandatory_extension' => '[+missing_extension+] genişlənməsinin quraşdırılması və aktivləşdirilməsi vacibdir. Əgər bunu necə edəcəyinizi bilmirsinizsə, host provayderinizlə əlaqə saxlayın.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => '/assets/cache/sitePublishing.idx.php faylının yazıla bilən olub-olmadığını yoxlayır: ', 'checking_if_cache_file_writable' => '/assets/cache/siteCache.idx.php faylının yazıla bilən olub-olmadığını yoxlayır: ', 'checking_if_cache_writable' => '/assets/cache/assets/cache/rss qovluqlarının yazıla bilən olub-olmadığını yoxlayır: ', + 'checking_if_database_config_writable' => 'Oxuna bilən /core/config/database/connections/default.php konfiqurasiya faylını yaratmaq və ya yeniləmək üçün icazələr yoxlanılır: ', 'checking_if_config_exist_and_writable' => '/[+MGR_DIR+]/includes/config.inc.php faylının mövcudluğunu və yazıla bilən olub-olmadığını yoxlayır: ', 'checking_if_export_exists' => '/assets/export qovluğunun mövcudluğunu yoxlayır: ', 'checking_if_export_writable' => '/assets/export qovluğunun yazıla bilən olub-olmadığını yoxlayır: ', diff --git a/install/src/lang/be.inc.php b/install/src/lang/be.inc.php index 9552c930d8..5862e46662 100644 --- a/install/src/lang/be.inc.php +++ b/install/src/lang/be.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Next', 'cant_write_config_file' => 'Evolution CMS couldn\'t write the config file. Please copy the following into the file ', 'cant_write_config_file_note' => 'Once that\'s been done, you can log into Evolution CMS Admin by pointing your browser at YourSiteName.com/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Пераканайцеся, што PHP можа чытаць і запісваць файл канфігурацыі. Рэкамендаваныя правы: 0644 (rw-r--r--) для файла і 0755 (rwxr-xr-x) для каталога /core/config/database/connections/. Права на выкананне для файла не патрабуецца. Не выкарыстоўвайце 0777, калі гэтага відавочна не патрабуе ваш хостынг-правайдар. Затым паўтарыце ўсталяванне.', 'checkbox_select_options' => 'Checkbox select options:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting providerif you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Checking if /assets/cache/sitePublishing.idx.php file is writable: ', 'checking_if_cache_file_writable' => 'Checking if /assets/cache/siteCache.idx.php file is writable: ', 'checking_if_cache_writable' => 'Checking if /assets/cache and /assets/cache/rss directories are writable: ', + 'checking_if_database_config_writable' => 'Праверка правоў для стварэння або абнаўлення даступнага для чытання файла канфігурацыі /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Checking if /[+MGR_DIR+]/includes/config.inc.php exists and is writable: ', 'checking_if_export_exists' => 'Checking if /assets/export directory exists: ', 'checking_if_export_writable' => 'Checking if /assets/export directory is writable: ', diff --git a/install/src/lang/bg.inc.php b/install/src/lang/bg.inc.php index 2a5b993072..25053c696f 100644 --- a/install/src/lang/bg.inc.php +++ b/install/src/lang/bg.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Напред', 'cant_write_config_file' => 'Evolution CMS не успя да запише конфигурационния файл. Моля, копирайте следното във файла ', 'cant_write_config_file_note' => 'След като инсталацията завърши, можете да се логнете в Мениджъра на Evolution CMS, като напишете в браузера си YourSiteName.com/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Уверете се, че PHP може да чете и записва конфигурационния файл. Препоръчителните права са 0644 (rw-r--r--) за файла и 0755 (rwxr-xr-x) за директорията /core/config/database/connections/. Файлът не се нуждае от право за изпълнение. Не използвайте 0777, освен ако вашият хостинг доставчик изрично не го изисква. След това опитайте инсталацията отново.', 'checkbox_select_options' => 'Опции:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Проверка дали може да се пише във файла assets/cache/sitePublishing.idx.php : ', 'checking_if_cache_file_writable' => 'Проверка дали може да се пише във файла assets/cache/siteCache.idx.php : ', 'checking_if_cache_writable' => 'Проверка дали директориите /assets/cache и /assets/cache/rss са достъпни за запис: ', + 'checking_if_database_config_writable' => 'Проверка на правата за създаване или обновяване на четимия конфигурационен файл /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Проверка дали [+MGR_DIR+]/includes/config.inc.php съществува и може да се пише в него: ', 'checking_if_export_exists' => 'Проверка дали съществува директорията assets/export : ', 'checking_if_export_writable' => 'Проверка дали в директорията assets/export може да се пише: ', diff --git a/install/src/lang/cs.inc.php b/install/src/lang/cs.inc.php index 0733e2a17c..fe9f29bdb8 100644 --- a/install/src/lang/cs.inc.php +++ b/install/src/lang/cs.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Další', 'cant_write_config_file' => 'Evolution CMS nemohl zapsat konfigurační soubor. Následující obsah vložte do souboru ', 'cant_write_config_file_note' => 'Až bude tento obsah uložen v souboru, můžete se přihlásit do Evolution CMS správce obsahu na adrese AdresaVasichStranek.cz/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Ujistěte se, že PHP může konfigurační soubor číst i zapisovat. Doporučená oprávnění jsou 0644 (rw-r--r--) pro soubor a 0755 (rwxr-xr-x) pro adresář /core/config/database/connections/. Soubor nepotřebuje oprávnění ke spuštění. Nepoužívejte 0777, pokud to poskytovatel hostingu výslovně nevyžaduje. Poté instalaci opakujte.', 'checkbox_select_options' => 'Možnosti výběru zaškrtávacích polí:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Kontrola zda lze zapisovat do souboru /assets/cache/sitePublishing.idx.php: ', 'checking_if_cache_file_writable' => 'Kontrola zda lze zapisovat do souboru /assets/cache/siteCache.idx.php: ', 'checking_if_cache_writable' => 'Kontrola zda lze zapisovat do adresářů /assets/cache a /assets/cache/rss: ', + 'checking_if_database_config_writable' => 'Kontrola oprávnění k vytvoření nebo aktualizaci čitelného konfiguračního souboru /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Kontrola zda existuje soubor /[+MGR_DIR+]/includes/config.inc.php a lze do něj zapisovat: ', 'checking_if_export_exists' => 'Kontrola existence adresáře /assets/export: ', 'checking_if_export_writable' => 'Kontrola zda lze zapisovat do adresáře /assets/export: ', diff --git a/install/src/lang/da.inc.php b/install/src/lang/da.inc.php index 0ead926974..94e5aececa 100644 --- a/install/src/lang/da.inc.php +++ b/install/src/lang/da.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Næste', 'cant_write_config_file' => 'Evolution CMS kunne ikke gemme konfigurationsfilen. Du skal kopiere nedenstående ind i filen ', 'cant_write_config_file_note' => 'Når dette er gjort, kan du logge ind i Evolution CMS på adressen http://Ditdomænenavn.dk/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Sørg for, at PHP kan læse og skrive konfigurationsfilen. De anbefalede rettigheder er 0644 (rw-r--r--) for filen og 0755 (rwxr-xr-x) for mappen /core/config/database/connections/. Filen behøver ikke kørselsrettighed. Brug ikke 0777, medmindre din hostingudbyder udtrykkeligt kræver det. Prøv derefter installationen igen.', 'checkbox_select_options' => 'Valgmuligheder:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Kontrollerer om /assets/cache/sitePublishing.idx.php filen er skrivbar: ', 'checking_if_cache_file_writable' => 'Kontrollerer om /assets/cache/siteCache.idx.php filen er skrivbar: ', 'checking_if_cache_writable' => 'Kontrollerer om /assets/cache og /assets/cache/rss mapperne er skrivbare: ', + 'checking_if_database_config_writable' => 'Kontrollerer rettigheder til at oprette eller opdatere den læsbare konfigurationsfil /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Kontrollerer om /[+MGR_DIR+]/includes/config.inc.php er oprettet og er skrivbar: ', 'checking_if_export_exists' => 'Kontrollerer om /assets/export mappen er oprettet: ', 'checking_if_export_writable' => 'Kontrollerer om /assets/export mappen er skrivbar: ', diff --git a/install/src/lang/de.inc.php b/install/src/lang/de.inc.php index 19da309bc0..82905d0edd 100644 --- a/install/src/lang/de.inc.php +++ b/install/src/lang/de.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Weiter', 'cant_write_config_file' => 'Evolution CMS konnte die Konfigurationsdatei nicht erstellen. Bitte fügen Sie folgendes in eine leere Datei ein:', 'cant_write_config_file_note' => 'Sobald dies erledigt ist, können Sie sich im Evolution CMS Admin anmelden, indem Sie Ihren Browser auf YourSiteName.com/[+MGR_DIR+]/ richten.', + 'cant_write_config_file_retry' => 'Stellen Sie sicher, dass PHP die Konfigurationsdatei lesen und schreiben kann. Empfohlene Berechtigungen sind 0644 (rw-r--r--) für die Datei und 0755 (rwxr-xr-x) für das Verzeichnis /core/config/database/connections/. Die Datei benötigt keine Ausführungsberechtigung. Verwenden Sie 0777 nur, wenn Ihr Hosting-Anbieter dies ausdrücklich verlangt. Starten Sie anschließend die Installation erneut.', 'checkbox_select_options' => 'Checkbox-Auswahlmöglichkeiten:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Überprüfe ob die Datei assets/cache/sitePublishing.idx.php beschreibbar ist: ', 'checking_if_cache_file_writable' => 'Überprüfe ob die Datei /assets/cache/siteCache.idx.php beschreibbar ist: ', 'checking_if_cache_writable' => 'Überprüfe ob die Ordner /assets/cache und /assets/cache/rss beschreibbar sind: ', + 'checking_if_database_config_writable' => 'Überprüfe die Berechtigungen zum Erstellen oder Aktualisieren der lesbaren Konfigurationsdatei /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Überprüfe ob die Datei /[+MGR_DIR+]/includes/config.inc.php existiert und beschreibbar ist: ', 'checking_if_export_exists' => 'Überprüfe ob der Ordner /assets/export existiert: ', 'checking_if_export_writable' => 'Überprüfe ob der Ordner assets/export beschreibbar ist: ', diff --git a/install/src/lang/en.inc.php b/install/src/lang/en.inc.php index ec06218c61..1ecff1df8c 100644 --- a/install/src/lang/en.inc.php +++ b/install/src/lang/en.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Next', 'cant_write_config_file' => 'Evolution CMS couldn\'t write the config file. Please copy the following into the file ', 'cant_write_config_file_note' => 'Once that\'s been done, you can log into Evolution CMS Admin by pointing your browser at YourSiteName.com/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Make sure PHP can read and write the configuration file. Recommended permissions are 0644 (rw-r--r--) for the file and 0755 (rwxr-xr-x) for the /core/config/database/connections/ directory. The file does not need execute permission. Do not use 0777 unless your hosting provider explicitly requires it. Then retry the installation.', 'checkbox_select_options' => 'Checkbox select options:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Checking if /assets/cache/sitePublishing.idx.php file is writable: ', 'checking_if_cache_file_writable' => 'Checking if /assets/cache/siteCache.idx.php file is writable: ', 'checking_if_cache_writable' => 'Checking if /assets/cache and /assets/cache/rss directories are writable: ', + 'checking_if_database_config_writable' => 'Checking permissions to create or update the readable configuration file /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Checking if /[+MGR_DIR+]/includes/config.inc.php exists and is writable: ', 'checking_if_export_exists' => 'Checking if /assets/export directory exists: ', 'checking_if_export_writable' => 'Checking if /assets/export directory is writable: ', diff --git a/install/src/lang/es.inc.php b/install/src/lang/es.inc.php index a1aa308b71..28c2a71e1b 100644 --- a/install/src/lang/es.inc.php +++ b/install/src/lang/es.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Siguiente', 'cant_write_config_file' => 'Evo no pudo escribir al archivo de configuración. Por favor copia lo siguiente en el archivo. ', 'cant_write_config_file_note' => 'Una vez que se ha hecho eso, puedes entrar al sistema administrativo de Evo al poner en tu navegador la dirección YourSiteName.com/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Asegúrate de que PHP pueda leer y escribir el archivo de configuración. Los permisos recomendados son 0644 (rw-r--r--) para el archivo y 0755 (rwxr-xr-x) para el directorio /core/config/database/connections/. El archivo no necesita permiso de ejecución. No utilices 0777 salvo que tu proveedor de alojamiento lo exija expresamente. Después, vuelve a intentar la instalación.', 'checkbox_select_options' => 'Opciones de selección de casilla:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Comprobando que el archivo assets/cache/sitePublishing.idx.php es escribible: ', 'checking_if_cache_file_writable' => 'Comprobando que el archivo assets/cache/siteCache.idx.php es escribible: ', 'checking_if_cache_writable' => 'Comprobando que el directorio assets/cache es escribible: ', + 'checking_if_database_config_writable' => 'Comprobando los permisos para crear o actualizar el archivo de configuración legible /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Comprobando que el archivo [+MGR_DIR+]/includes/config.inc.php existe y es escribible: ', 'checking_if_export_exists' => 'Comprobando que el directorio assets/export existe: ', 'checking_if_export_writable' => 'Comprobando que el directorio assets/export es escribible: ', diff --git a/install/src/lang/fa.inc.php b/install/src/lang/fa.inc.php index ac09b80b87..ee88313c81 100644 --- a/install/src/lang/fa.inc.php +++ b/install/src/lang/fa.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'بعدی', 'cant_write_config_file' => 'Evolution CMS نتوانست فایل پیکر بندی (config) را بنویسد. لطفا این ها را در فایل پیکر بندی کپی کنید.', 'cant_write_config_file_note' => 'هنگامی که نصب با موفقیت یه اتمام رسید شما می توانید به قسمت مدیریت سایت خود به آدرس YourSiteName.com/[+MGR_DIR+]/ بروید.', + 'cant_write_config_file_retry' => 'مطمئن شوید PHP می‌تواند فایل پیکربندی را بخواند و بنویسد. مجوزهای پیشنهادی برای فایل 0644 (rw-r--r--) و برای پوشه /core/config/database/connections/ برابر با 0755 (rwxr-xr-x) است. فایل به مجوز اجرا نیاز ندارد. از 0777 استفاده نکنید، مگر اینکه ارائه‌دهنده میزبانی شما صراحتاً آن را لازم بداند. سپس نصب را دوباره امتحان کنید.', 'checkbox_select_options' => 'موارد را انتخاب کنید:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'ررو اینکه آیا فایل assets/cache/sitePublishing.idx.php قابل نوشتن است: ', 'checking_if_cache_file_writable' => 'مرور اینکه آیا فایل assets/cache/siteCache.idx.php قابل نوشتن است: ', 'checking_if_cache_writable' => 'مرور اینکه آیا assets/cache قابل نوشتن است: ', + 'checking_if_database_config_writable' => 'بررسی مجوزهای ایجاد یا به‌روزرسانی فایل پیکربندی خواندنی /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'مرور اینکه آیا فایل [+MGR_DIR+]/includes/config.inc.php موجود است و قابل نوشتن است: ', 'checking_if_export_exists' => 'مرور اینکه آیا assets/export موجود است: ', 'checking_if_export_writable' => 'مرور اینکه آیا assets/export قابل نوشتن است: ', diff --git a/install/src/lang/fi.inc.php b/install/src/lang/fi.inc.php index 2069535ea8..99fd1fe893 100644 --- a/install/src/lang/fi.inc.php +++ b/install/src/lang/fi.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Seuraava', 'cant_write_config_file' => 'Evolution CMS ei voinut kirjoittaa asetukset tiedostoa. Ole hyvä ja kopioi seuraava asetustiedostoon ', 'cant_write_config_file_note' => 'Kun tämä on tehty, voit kirjautua Evolution CMS hallintaan osoitteessa sinunosoite.fi/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Varmista, että PHP voi lukea ja kirjoittaa määritystiedostoa. Suositellut oikeudet ovat tiedostolle 0644 (rw-r--r--) ja hakemistolle /core/config/database/connections/ 0755 (rwxr-xr-x). Tiedosto ei tarvitse suoritusoikeutta. Älä käytä oikeuksia 0777, ellei palveluntarjoajasi sitä nimenomaisesti vaadi. Yritä sitten asennusta uudelleen.', 'checkbox_select_options' => 'Valitse valintaruuduista:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Tarkistetaan voiko tiedostoon /assets/cache/sitePublishing.idx.php kirjoittaa: ', 'checking_if_cache_file_writable' => 'Tarkistetaan voiko tiedostoon /assets/cache/siteCache.idx.php kirjoittaa: ', 'checking_if_cache_writable' => 'Tarkistetaan voiko kansioihin /assets/cache ja /assets/cache/rss luoda uusia tiedostoja: ', + 'checking_if_database_config_writable' => 'Tarkistetaan oikeudet luettavan määritystiedoston /core/config/database/connections/default.php luomiseen tai päivittämiseen: ', 'checking_if_config_exist_and_writable' => 'Tarkistetaan onko asetustiedosto [+MGR_DIR+]/includes/config.inc.php olemassa ja voiko siihen kirjoittaa: ', 'checking_if_export_exists' => 'Tarkistetaan onko kansio /assets/export olemassa: ', 'checking_if_export_writable' => 'Tarkistetaan voiko kansioon /assets/export luoda uusia tiedostoja: ', diff --git a/install/src/lang/fr.inc.php b/install/src/lang/fr.inc.php index b557619cff..0b572c51a6 100644 --- a/install/src/lang/fr.inc.php +++ b/install/src/lang/fr.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Suivant', 'cant_write_config_file' => 'Evolution CMS n\'a pas pu écrire le fichier de configuration. Veuillez copier/coller ceci dans le fichier ', 'cant_write_config_file_note' => 'Une fois l\'opération effectuée, vous pouvez vous connecter à l\'interface d\'administration de Evolution CMS en utilisant l\'adresse VotreSite.com/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Vérifiez que PHP peut lire et écrire le fichier de configuration. Les permissions recommandées sont 0644 (rw-r--r--) pour le fichier et 0755 (rwxr-xr-x) pour le répertoire /core/config/database/connections/. Le fichier ne nécessite pas de permission d’exécution. N’utilisez pas 0777, sauf si votre hébergeur l’exige explicitement. Relancez ensuite l’installation.', 'checkbox_select_options' => 'Cochez pour sélectionner les options:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Vérification des droits en écriture du fichier assets/cache/sitePublishing.idx.php: ', 'checking_if_cache_file_writable' => 'Vérification des droits en écriture du fichier assets/cache/siteCache.idx.php: ', 'checking_if_cache_writable' => 'Vérification des droits en écriture du répertoire assets/cache: ', + 'checking_if_database_config_writable' => 'Vérification des permissions nécessaires pour créer ou mettre à jour le fichier de configuration lisible /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Vérification de l\'existence et des droits en écriture du fichier [+MGR_DIR+]/includes/config.inc.php: ', 'checking_if_export_exists' => 'Vérification de l\'existence du répertoire assets/export: ', 'checking_if_export_writable' => 'Vérification des droits en écriture du répertoire assets/export: ', diff --git a/install/src/lang/he.inc.php b/install/src/lang/he.inc.php index 7ff46cc250..da2bd80538 100644 --- a/install/src/lang/he.inc.php +++ b/install/src/lang/he.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'הבא', 'cant_write_config_file' => 'Evolution CMS לא הצליח לכתוב את קובץ התצורה. אנא העתיקו את הדבק הבא לקובץ ', 'cant_write_config_file_note' => 'לאחר שתעשו זאת, תוכלו להיכנס לממשק הניהול של Evolution CMS בכתובת YourSiteName.com/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'ודאו ש-PHP יכול לקרוא ולכתוב את קובץ התצורה. ההרשאות המומלצות הן 0644 (rw-r--r--) לקובץ ו-0755 (rwxr-xr-x) לתיקייה /core/config/database/connections/. הקובץ אינו זקוק להרשאת הפעלה. אל תשתמשו ב-0777 אלא אם ספק האחסון דורש זאת במפורש. לאחר מכן נסו שוב את ההתקנה.', 'checkbox_select_options' => 'אפשרויות שדה סימון:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'בדיקה אם הקובץ assets/cache/sitePublishing.idx.php ניתן לכתיבה: ', 'checking_if_cache_file_writable' => 'בדיקה אם הקובץ assets/cache/siteCache.idx.php ניתן לכתיבה: ', 'checking_if_cache_writable' => 'בדיקה אם הספרייה assets/cache ניתנת לכתיבה: ', + 'checking_if_database_config_writable' => 'בדיקת הרשאות ליצירה או לעדכון של קובץ התצורה הקריא /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'בדיקה אם הקובץ [+MGR_DIR+]/includes/config.inc.php קיים וניתן לכתיבה: ', 'checking_if_export_exists' => 'בדיקה אם הספרייה assets/export קיימת: ', 'checking_if_export_writable' => 'בדיקה אם הספרייה assets/export ניתנת לכתיבה: ', diff --git a/install/src/lang/it.inc.php b/install/src/lang/it.inc.php index 56e4ef89d0..7a4633bac2 100644 --- a/install/src/lang/it.inc.php +++ b/install/src/lang/it.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Avanti', 'cant_write_config_file' => 'EVO non ha potuto salvare il file di configurazione. Vi preghiamo di copiare il seguente testo nel file ', 'cant_write_config_file_note' => 'Una volta fatto ciò, è possibile accedere al pannello di Amministrazione di Evolution CMS puntando il browser a YourSiteName.com/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Assicurati che PHP possa leggere e scrivere il file di configurazione. I permessi consigliati sono 0644 (rw-r--r--) per il file e 0755 (rwxr-xr-x) per la directory /core/config/database/connections/. Il file non richiede il permesso di esecuzione. Non utilizzare 0777 a meno che il provider di hosting non lo richieda esplicitamente. Quindi riprova l’installazione.', 'checkbox_select_options' => 'Opzioni Checkbox:', 'checking_extensions' => 'Controllo se l\'estensione [+extensions+] é disponibile: ', 'missing_mandatory_extension' => 'E\' importante installare/abilitare l\'estensione [+missing_extension+]. Contattate il vostro hosting provider se non sapete come fare.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Controllo i permessi di scrittura sul file /assets/cache/sitePublishing.idx.php : ', 'checking_if_cache_file_writable' => 'Controllo i permessi di scrittura sul file /assets/cache/siteCache.idx.php : ', 'checking_if_cache_writable' => 'Controllo i permessi di scrittura sulle directories /assets/cache e /assets/cache/rss : ', + 'checking_if_database_config_writable' => 'Controllo dei permessi per creare o aggiornare il file di configurazione leggibile /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Controllo l\'esistenza e i permessi di scrittura di /[+MGR_DIR+]/includes/config.inc.php : ', 'checking_if_export_exists' => 'Controllo se esiste la directory /assets/export : ', 'checking_if_export_writable' => 'Controllo i permessi di scrittura della directory /assets/export : ', diff --git a/install/src/lang/ja.inc.php b/install/src/lang/ja.inc.php index b78f0ffb10..e19428bd28 100644 --- a/install/src/lang/ja.inc.php +++ b/install/src/lang/ja.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => '進む', 'cant_write_config_file' => '設定ファイルを生成できませんでした。以下をコピーしてconfig.inc.phpに反映してください ', 'cant_write_config_file_note' => 'それが終われば、ブラウザでYourSiteName.com/[+MGR_DIR+]/にアクセスするとログインできます。', + 'cant_write_config_file_retry' => 'PHPが設定ファイルを読み書きできることを確認してください。推奨パーミッションは、ファイルが0644 (rw-r--r--)/core/config/database/connections/ディレクトリが0755 (rwxr-xr-x)です。ファイルに実行権限は不要です。ホスティング事業者から明示的に求められない限り、0777は使用しないでください。その後、インストールを再試行してください。', 'checkbox_select_options' => '拡張機能の選択:', 'checking_extensions' => '拡張機能 [+extensions+] を利用可能かどうか確認してください: ', 'missing_mandatory_extension' => '拡張機能 [+missing_extension+]をインストール/有効にすることは重要です。有効にする方法がわからない場合は、ホストに訪ねてください。', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'ファイル/assets/cache/sitePublishing.idx.phpの書き込み属性(606などに設定): ', 'checking_if_cache_file_writable' => 'ファイル/assets/cache/siteCache.idx.phpの書き込み属性(606などに設定): ', 'checking_if_cache_writable' => '/assets/cacheディレクトリの書き込み属性(707などに設定): ', + 'checking_if_database_config_writable' => '読み取り可能な設定ファイル/core/config/database/connections/default.phpを作成または更新するための権限を確認: ', 'checking_if_config_exist_and_writable' => '/[+MGR_DIR+]/includes/config.inc.php が存在し書き込み可能かどうか確認してください: ', 'checking_if_export_exists' => '/assets/exportディレクトリの存在(なければ転送に失敗しています): ', 'checking_if_export_writable' => '/assets/exportディレクトリの書き込み属性(707などに設定): ', diff --git a/install/src/lang/nl.inc.php b/install/src/lang/nl.inc.php index d9220d8785..daadaffe4f 100644 --- a/install/src/lang/nl.inc.php +++ b/install/src/lang/nl.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Volgende', 'cant_write_config_file' => 'Config bestand kan niet worden aangemaakt. Plak het volgende in het config bestand.', 'cant_write_config_file_note' => 'Zodra het is gebeurd kunt u inloggen door via uw browser te gaan naar uw-domeinnaam.nl/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Controleer of PHP het configuratiebestand kan lezen en schrijven. De aanbevolen rechten zijn 0644 (rw-r--r--) voor het bestand en 0755 (rwxr-xr-x) voor de map /core/config/database/connections/. Het bestand heeft geen uitvoerrecht nodig. Gebruik geen 0777, tenzij je hostingprovider dit uitdrukkelijk vereist. Probeer daarna de installatie opnieuw.', 'checkbox_select_options' => 'Checkbox opties:', 'checking_extensions' => 'Bekijken of extensie [+extensions+] beschikbaar is: ', 'missing_mandatory_extension' => 'Heb is belangrijk om de extentie [+missing_extension+] te installeren of aan te zetten. Ga na bij uw hostingpartij om deze aan te zetten mocht u hier geen kaas van hebben gegeten.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Nakijken of /assets/cache/sitePublishing.idx.php bestand schrijfbaar is: ', 'checking_if_cache_file_writable' => 'Nakijken of /assets/cache/siteCache.idx.php bestand schrijfbaar is:', 'checking_if_cache_writable' => 'Controleren of /assets/cache en /assets/cache/rss mappen schrijfbaar zijn:', + 'checking_if_database_config_writable' => 'Rechten controleren om het leesbare configuratiebestand /core/config/database/connections/default.php te maken of bij te werken: ', 'checking_if_config_exist_and_writable' => 'Controleren of /[+MGR_DIR+]/includes/config.inc.php bestaat en schrijfbaar is:', 'checking_if_export_exists' => 'Controleren of /assets/export map bestaat:', 'checking_if_export_writable' => 'Controleren of /assets/export map schrijfbaar is:', diff --git a/install/src/lang/nn.inc.php b/install/src/lang/nn.inc.php index 7dea0cd499..e49e1b1d0c 100644 --- a/install/src/lang/nn.inc.php +++ b/install/src/lang/nn.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Neste', 'cant_write_config_file' => 'Evolution CMS kunne ikke skrive konfigurasjonsfilen. Kopier følgende til filen ', 'cant_write_config_file_note' => 'Når det er klart kan du logge inn i Evolution CMS administrasjonskontoen ved å gå til adressen DittDomene.xx/[+MGR_DIR+]/ i din nettleser.', + 'cant_write_config_file_retry' => 'Kontroller at PHP kan lese og skrive konfigurasjonsfila. Tilrådde rettar er 0644 (rw-r--r--) for fila og 0755 (rwxr-xr-x) for katalogen /core/config/database/connections/. Fila treng ikkje køyretilgang. Ikkje bruk 0777 med mindre nettleverandøren uttrykkeleg krev det. Prøv deretter installasjonen på nytt.', 'checkbox_select_options' => 'Alternativ for kryssbokser:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Kontrollerer at filen assets/cache/sitePublishing.idx.php er skrivbar: ', 'checking_if_cache_file_writable' => 'Kontrollerer at filen assets/cache/siteCache.idx.php er skrivbar: ', 'checking_if_cache_writable' => 'Kontrollerer at katalogen assets/cache er skrivbar: ', + 'checking_if_database_config_writable' => 'Kontrollerer rettar for å opprette eller oppdatere den lesbare konfigurasjonsfila /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Kontrollerer at filen [+MGR_DIR+]/includes/config.inc.php eksisterer og er skrivbar: ', 'checking_if_export_exists' => 'Kontrollerer at katalogen assets/export eksisterer: ', 'checking_if_export_writable' => 'Kontrollerer at katalogen assets/export er skrivbar: ', diff --git a/install/src/lang/pl.inc.php b/install/src/lang/pl.inc.php index 44997c1947..4aaae42971 100644 --- a/install/src/lang/pl.inc.php +++ b/install/src/lang/pl.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Dalej', 'cant_write_config_file' => 'EVO nie może zapisać pliku konfiguracyjnego. Skopiuj następujący kod do pliku', 'cant_write_config_file_note' => 'Po zakończeniu instalacji będziesz mógł zalogować się do Menedżera Evolution CMSa znajdującego się pod adresem: TwojaNazwaDomeny.com/[+MGR_DIR+]/', + 'cant_write_config_file_retry' => 'Upewnij się, że PHP może odczytywać i zapisywać plik konfiguracyjny. Zalecane uprawnienia to 0644 (rw-r--r--) dla pliku oraz 0755 (rwxr-xr-x) dla katalogu /core/config/database/connections/. Plik nie wymaga uprawnienia do wykonywania. Nie używaj 0777, chyba że dostawca hostingu wyraźnie tego wymaga. Następnie ponów instalację.', 'checkbox_select_options' => 'Zaznacz wybrane opcje: ', 'checking_extensions' => 'Sprawdzanie czy rozszerzenie [+extensions+] jest dostępne: ', 'missing_mandatory_extension' => 'Ważne jest zainstalowanie/włączenie rozszerzenia iconv. Skontaktuj się się z hostingiem jeśli nie wiesz jak włączyć [+missing_extension+].', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Sprawdzanie, czy plik /assets/cache/sitePublishing.idx.php jest zapisywalny: ', 'checking_if_cache_file_writable' => 'Sprawdzanie, czy plik /assets/cache/siteCache.idx.php jest zapisywalny: ', 'checking_if_cache_writable' => 'Sprawdzanie, czy foldery /assets/cache oraz /assets/cache/rss są zapisywalne: ', + 'checking_if_database_config_writable' => 'Sprawdzanie uprawnień do utworzenia lub aktualizacji czytelnego pliku konfiguracyjnego /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Sprawdzanie, czy plik /[+MGR_DIR+]/includes/config.inc.php istnieje i jest zapisywalny: ', 'checking_if_export_exists' => 'Sprawdzanie, czy istnieje folder /assets/export: ', 'checking_if_export_writable' => 'Sprawdzanie, czy folder /assets/export jest zapisywalny: ', diff --git a/install/src/lang/pt.inc.php b/install/src/lang/pt.inc.php index 64b0c0b86a..b7d2a4031e 100644 --- a/install/src/lang/pt.inc.php +++ b/install/src/lang/pt.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Próximo', 'cant_write_config_file' => 'Evolution CMS não pode escrever o arquivo de configuração. Por favor copie no arquivo as seguintes informações ', 'cant_write_config_file_note' => 'Assim que isto for feito, você pode acessar o Evolution CMS Admin por apontar seu navegador para NomeDoSeuSite.com/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Certifique-se de que o PHP possa ler e gravar o arquivo de configuração. As permissões recomendadas são 0644 (rw-r--r--) para o arquivo e 0755 (rwxr-xr-x) para o diretório /core/config/database/connections/. O arquivo não precisa de permissão de execução. Não use 0777, a menos que o provedor de hospedagem exija isso explicitamente. Depois, tente instalar novamente.', 'checkbox_select_options' => 'Selecionar:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Checando se o arquivo assets/cache/sitePublishing.idx.php está liberado pra escrita: ', 'checking_if_cache_file_writable' => 'Checando se o arquivo assets/cache/siteCache.idx.php está liberado pra escrita: ', 'checking_if_cache_writable' => 'Checando se o diretórios assets/cache e /assets/cache/rss está liberado para escrita: ', + 'checking_if_database_config_writable' => 'Verificando as permissões para criar ou atualizar o arquivo de configuração legível /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Checando se o arquivo /[+MGR_DIR+]/includes/config.inc.php existe e está liberado pra escrita: ', 'checking_if_export_exists' => 'Checando se o diretório assets/export directory exists: ', 'checking_if_export_writable' => 'Checando se o diretório assets/export está liberado pra escrita: ', diff --git a/install/src/lang/ru.inc.php b/install/src/lang/ru.inc.php index 055e6fdaf0..5ca9fc72b3 100644 --- a/install/src/lang/ru.inc.php +++ b/install/src/lang/ru.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Далее', 'cant_write_config_file' => 'Программа установки не смогла записать файл конфигурации. Скопируйте вышеперечисленное в файл ', 'cant_write_config_file_note' => 'Как только вы это сделаете, вы можете войти в панель управления, перейдя в браузере по адресу Адрес_Вашего_Сайта/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Убедитесь, что PHP может читать и записывать файл конфигурации. Рекомендуемые права: 0644 (rw-r--r--) для файла и 0755 (rwxr-xr-x) для каталога /core/config/database/connections/. Право на выполнение для файла не требуется. Не используйте 0777, если этого явно не требует ваш хостинг-провайдер. Затем повторите установку.', 'checkbox_select_options' => 'Параметры выбора флажков:', 'checking_extensions' => 'Проверка доступности [+extensions+]: ', 'missing_mandatory_extension' => 'Необходимо установить/включить расширение [+missing_extension+]. Пожалуйста, обратитесь к администратору сервера, чтобы сделать это.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Проверка возможности записи в файл /assets/cache/sitePublishing.idx.php: ', 'checking_if_cache_file_writable' => 'Проверка возможности записи в файл /assets/cache/siteCache.idx.php: ', 'checking_if_cache_writable' => 'Проверка возможности записи в папки /assets/cache и /assets/cache/rss: ', + 'checking_if_database_config_writable' => 'Проверка прав для создания или обновления читаемого файла конфигурации /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Проверка существования и возможности записи в файл /[+MGR_DIR+]/includes/config.inc.php: ', 'checking_if_export_exists' => 'Проверка существования папки /assets/export: ', 'checking_if_export_writable' => 'Проверка возможности записи в папку /assets/export: ', diff --git a/install/src/lang/sv.inc.php b/install/src/lang/sv.inc.php index 174599a18c..1d14119943 100644 --- a/install/src/lang/sv.inc.php +++ b/install/src/lang/sv.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Nästa', 'cant_write_config_file' => 'Evolution CMS kunde inte skriva konfigurationsfilen. Kopiera följande till filen ', 'cant_write_config_file_note' => 'När det är klart kan du logga in i Evolution CMS administrationsdel genom att ange adressen DinWebbplats.se/[+MGR_DIR+]/ i din webbläsare.', + 'cant_write_config_file_retry' => 'Kontrollera att PHP kan läsa och skriva konfigurationsfilen. Rekommenderade behörigheter är 0644 (rw-r--r--) för filen och 0755 (rwxr-xr-x) för katalogen /core/config/database/connections/. Filen behöver inte körbehörighet. Använd inte 0777 om inte webbhotellet uttryckligen kräver det. Försök sedan installera igen.', 'checkbox_select_options' => 'Välj flera element:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Kontrollerar att filen /assets/cache/sitePublishing.idx.php är skrivbar: ', 'checking_if_cache_file_writable' => 'Kontrollerar att filen /assets/cache/siteCache.idx.php är skrivbar: ', 'checking_if_cache_writable' => 'Kontrollerar att katalogerna /assets/cache och /assets/cache/rss är skrivbara: ', + 'checking_if_database_config_writable' => 'Kontrollerar behörigheter för att skapa eller uppdatera den läsbara konfigurationsfilen /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Kontrollerar att filen /[+MGR_DIR+]/includes/config.inc.php existerar och är skrivbar: ', 'checking_if_export_exists' => 'Kontrollerar att katalogen /assets/export existerar: ', 'checking_if_export_writable' => 'Kontrollerar att katalogen /assets/export är skrivbar: ', diff --git a/install/src/lang/uk.inc.php b/install/src/lang/uk.inc.php index 5154bf455c..5615648d03 100644 --- a/install/src/lang/uk.inc.php +++ b/install/src/lang/uk.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Далі', 'cant_write_config_file' => 'Програма встановлення не змогла записати файл конфігурації. Скопіюйте наведене вище у файл ', 'cant_write_config_file_note' => 'Щойно ви це зробите, ви зможете увійти до панелі керування, перейшовши у браузері за адресою Адреса_Вашого_Сайту/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => 'Переконайтеся, що PHP може читати й записувати файл конфігурації. Рекомендовані права: 0644 (rw-r--r--) для файла та 0755 (rwxr-xr-x) для каталогу /core/config/database/connections/. Право виконання для файла не потрібне. Не використовуйте 0777, якщо цього явно не вимагає хостинг-провайдер. Потім повторіть встановлення.', 'checkbox_select_options' => 'Параметри вибору прапорців:', 'checking_extensions' => 'Перевірка доступності [+extensions+]: ', 'missing_mandatory_extension' => 'Необхідно встановити/увімкнути розширення [+missing_extension+]. Будь ласка, зверніться до адміністратора сервера, щоб зробити це.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Перевірте можливість запису у файл /assets/cache/sitePublishing.idx.php: ', 'checking_if_cache_file_writable' => 'Перевірте можливість запису у файл /assets/cache/siteCache.idx.php: ', 'checking_if_cache_writable' => 'Перевірка можливості запису до тек /assets/cache та /assets/cache/rss: ', + 'checking_if_database_config_writable' => 'Перевірка прав для створення або оновлення читабельного файла конфігурації /core/config/database/connections/default.php: ', 'checking_if_config_exist_and_writable' => 'Перевірка існування та можливості запису у файл /[+MGR_DIR+]/includes/config.inc.php: ', 'checking_if_export_exists' => 'Перевірка існування теки /assets/export: ', 'checking_if_export_writable' => 'Перевірка можливості запису до теки /assets/export: ', diff --git a/install/src/lang/zh.inc.php b/install/src/lang/zh.inc.php index 42ded91e8f..c511a2345c 100644 --- a/install/src/lang/zh.inc.php +++ b/install/src/lang/zh.inc.php @@ -28,6 +28,7 @@ 'btnnext_value' => 'Next', 'cant_write_config_file' => 'Evolution CMS couldn\'t write the config file. Please copy the following into the file ', 'cant_write_config_file_note' => 'Once that\'s been done, you can log into Evolution CMS Admin by pointing your browser at YourSiteName.com/[+MGR_DIR+]/.', + 'cant_write_config_file_retry' => '请确保 PHP 可以读取和写入配置文件。建议文件权限设为 0644 (rw-r--r--),目录 /core/config/database/connections/ 权限设为 0755 (rwxr-xr-x)。该文件不需要执行权限。除非托管服务商明确要求,否则不要使用 0777。然后重新尝试安装。', 'checkbox_select_options' => 'Checkbox select options:', 'checking_extensions' => 'Checking if extension [+extensions+] is available: ', 'missing_mandatory_extension' => 'It is important to install/enable extension [+missing_extension+]. Please speak to your hosting provider if you don´t know how to enable it.', @@ -35,6 +36,7 @@ 'checking_if_cache_file2_writable' => 'Checking if /assets/cache/sitePublishing.idx.php file is writable: ', 'checking_if_cache_file_writable' => 'Checking if /assets/cache/siteCache.idx.php file is writable: ', 'checking_if_cache_writable' => 'Checking if /assets/cache and /assets/cache/rss directories are writable: ', + 'checking_if_database_config_writable' => '正在检查创建或更新可读配置文件 /core/config/database/connections/default.php 所需的权限:', 'checking_if_config_exist_and_writable' => 'Checking if /[+MGR_DIR+]/includes/config.inc.php exists and is writable: ', 'checking_if_export_exists' => 'Checking if /assets/export directory exists: ', 'checking_if_export_writable' => 'Checking if /assets/export directory is writable: ', diff --git a/install/src/template/actions/install.php b/install/src/template/actions/install.php index ec111f2c51..ca41674796 100644 --- a/install/src/template/actions/install.php +++ b/install/src/template/actions/install.php @@ -86,14 +86,16 @@ -= 3) : ?> - -

- -

-

/core/config/database/connections/default.php

- -

+ + +
+

+ +

+

/core/config/database/connections/default.php

+ +

+

diff --git a/install/src/template/actions/mode.tpl b/install/src/template/actions/mode.tpl index ea905fa5ac..77aa002099 100644 --- a/install/src/template/actions/mode.tpl +++ b/install/src/template/actions/mode.tpl @@ -15,6 +15,10 @@

[%installation_mode%]

+
+

/core/config/database/connections/default.php

+

[+configPermissionError+]

+
new install
@@ -44,7 +48,7 @@ - \ No newline at end of file + diff --git a/install/src/template/install.tpl b/install/src/template/install.tpl index 463cbf4e11..d983580f4a 100644 --- a/install/src/template/install.tpl +++ b/install/src/template/install.tpl @@ -2,6 +2,7 @@ + [+pagetitle+] diff --git a/install/style.css b/install/style.css index a336bcdb2a..d5614b521e 100644 --- a/install/style.css +++ b/install/style.css @@ -197,6 +197,8 @@ p { } .container_10 { + box-sizing: border-box; + width: 100%; margin-left: auto; margin-right: auto; max-width: 1000px; @@ -447,6 +449,7 @@ span.mono { } #content { + box-sizing: border-box; overflow: hidden; zoom: 1; padding: 40px; @@ -630,6 +633,35 @@ span.notok { color: red; } +.config-write-failure { + overflow-wrap: anywhere; +} + +.config-write-failure code { + word-break: break-all; +} + +.config-write-failure__content { + box-sizing: border-box; + direction: ltr; + width: 100%; + max-width: 40rem; + min-height: 10rem; + resize: vertical; + text-align: left; +} + +@media (max-width: 600px) { + .container_10 { + padding-left: 12px; + padding-right: 12px; + } + + #content { + padding: 20px; + } +} + input, select { font: inherit; @@ -769,4 +801,4 @@ div.stepcontainer { .has-error .is-invalid { display: inline-block; -} \ No newline at end of file +}