Задача — заполнить поля при установке MODx с помощью PHP:)
В файле /setup/includes/modinstalllexicon.class.php
// Ещем: $language = 'en'; // Заменяем на: $language = 'ru';
В файле /setup/includes/config/modconfigreader.class.php
добавляем что-то вроде:
// Ещем: $this->config = array_merge($this->config,array( 'database_type' => isset ($_POST['databasetype']) ? $_POST['databasetype'] : 'mysql', 'database_server' => isset ($_POST['databasehost']) ? $_POST['databasehost'] : 'localhost', 'database_connection_charset' => 'utf8', 'database_charset' => 'utf8', 'dbase' => trim((isset ($_POST['database_name']) ? $_POST['database_name'] : 'modx'), '`[]'), 'database_user' => isset ($_POST['databaseloginname']) ? $_POST['databaseloginname'] : '', 'database_password' => isset ($_POST['databaseloginpassword']) ? $_POST['databaseloginpassword'] : '', 'table_prefix' => isset ($_POST['tableprefix']) ? $_POST['tableprefix'] : 'modx_', 'site_sessionname' => 'SN' . uniqid(''), 'cache_disabled' => !empty($_POST['cache_disabled']) ? 'true' : 'false', 'inplace' => isset ($_POST['inplace']) ? 1 : 0, 'unpacked' => isset ($_POST['unpacked']) ? 1 : 0, 'config_options' => array(), 'driver_options' => array(), ),$config); return $this->config; // Заменяем на: $ls_site_name = $_SERVER['SERVER_NAME']; $ls_site_parts = explode(".",$ls_site_name); if($ls_site_parts[1] == "ВАШ ДОМЕН"){ $this->config = array_merge($this->config,array( 'database_type' => isset ($_POST['databasetype']) ? $_POST['databasetype'] : 'mysql', 'database_server' => isset ($_POST['databasehost']) ? $_POST['databasehost'] : 'localhost', 'database_connection_charset' => 'utf8', 'database_charset' => 'utf8', 'dbase' => trim((isset ($_POST['database_name']) ? $_POST['database_name'] : 'ИМЯ БАЗЫ'.$ls_site_parts[0]), '`[]'), 'database_user' => isset ($_POST['databaseloginname']) ? $_POST['databaseloginname'] : 'ПОЛЬЗОВАТЕЛЬ БАЗЫ'.$ls_site_parts[0], 'database_password' => isset ($_POST['databaseloginpassword']) ? $_POST['databaseloginpassword'] : 'ПАРОЛЬ БАЗЫ'.$ls_site_parts[0], 'table_prefix' => isset ($_POST['tableprefix']) ? $_POST['tableprefix'] : 'modx_', 'site_sessionname' => 'SN' . uniqid(''), 'cache_disabled' => !empty($_POST['cache_disabled']) ? 'true' : 'false', 'inplace' => isset ($_POST['inplace']) ? 1 : 0, 'unpacked' => isset ($_POST['unpacked']) ? 1 : 0, 'config_options' => array(), 'driver_options' => array(), 'cmsadmin' => 'ИМЯ ПОЛЬЗОВАТЕЛЯ АДМИНКИ'.$ls_site_parts[0], 'cmsadminemail' => 'ВАШ ЕМАЙЛ', 'cmspassword' => 'ВАШ ПАРОЛЬ ОТ АДМИНКИ', 'cmspasswordconfirm' => 'ВАШ ПАРОЛЬ ОТ АДМИНКИ', ),$config); return $this->config; }else{ $this->config = array_merge($this->config,array( 'database_type' => isset ($_POST['databasetype']) ? $_POST['databasetype'] : 'mysql', 'database_server' => isset ($_POST['databasehost']) ? $_POST['databasehost'] : 'localhost', 'database_connection_charset' => 'utf8', 'database_charset' => 'utf8', 'dbase' => trim((isset ($_POST['database_name']) ? $_POST['database_name'] : 'modx'), '`[]'), 'database_user' => isset ($_POST['databaseloginname']) ? $_POST['databaseloginname'] : '', 'database_password' => isset ($_POST['databaseloginpassword']) ? $_POST['databaseloginpassword'] : '', 'table_prefix' => isset ($_POST['tableprefix']) ? $_POST['tableprefix'] : 'modx_', 'site_sessionname' => 'SN' . uniqid(''), 'cache_disabled' => !empty($_POST['cache_disabled']) ? 'true' : 'false', 'inplace' => isset ($_POST['inplace']) ? 1 : 0, 'unpacked' => isset ($_POST['unpacked']) ? 1 : 0, 'config_options' => array(), 'driver_options' => array(), ),$config); return $this->config; }
В файле /setup/templates/database.tpl
:
- У
#database-user
Пишем в value{$config.database_user|default}
- У
#database-password
Пишем в value{$config.database_password|default}
- У
#dbase
Пишем в value{$config.dbase|default}
- У
#table-prefix
Пишем в value{$config.table_prefix|default|escape}
Вот этот фал был актуален для 2.5.0
{if $showHidden|default} {/if}
А еще... можно поиграться в файлеке setup\includes\new.install.php
, к примеру именно там создается первый ресурс главной страницы и т.п.
Комментарии (0)
Не писать ответ