Задача — заполнить поля при установке 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)
Не писать ответ