loadClass('config');
$inConf = cmsConfig::getInstance();
//Минимальная версия PHP
$php_req = array();
$php_req['major'] = '5';
$php_req['minor'] = '2';
$php_req['release'] = '0';
$php_req_ver = $php_req['major'] * 10000 + $php_req['minor'] * 100 + $php_req['release'];
//Список необходимых расширений PHP
$ext_req = array();
$ext_req['mbstring'] = 'mbstring';
$ext_req['iconv'] = 'iconv';
$ext_req['GD'] = 'gd';
$ext_req['SimpleXML'] = 'simplexml';
if (isset($_POST['install'])){
$msg = '';
if(!empty($_REQUEST['sitename'])) { $sitename = $_REQUEST['sitename']; } else { $sitename = 'Мой сайт'; }
if(!empty($_REQUEST['db_server'])) { $db_server = $_REQUEST['db_server']; } else { $msg .= 'Необходимо указать сервер БД!
'; }
if(!empty($_REQUEST['db_base'])) { $db_base = $_REQUEST['db_base']; } else { $msg .= 'Необходимо указать название БД!
'; }
if(!empty($_REQUEST['db_user'])) { $db_user = $_REQUEST['db_user']; } else { $msg .= 'Необходимо указать пользователя БД!
'; }
if(!empty($_REQUEST['db_password'])) { $db_password = $_REQUEST['db_password']; } else { $db_password = ''; }
if(!empty($_REQUEST['db_prefix'])) { $db_prefix = $_REQUEST['db_prefix']; } else { $msg .= 'Необходимо указать префикс БД!
'; }
if(!empty($_REQUEST['admin_login'])) { $admin_login = $_REQUEST['admin_login']; } else { $msg .= 'Необходимо указать логин администратора!
'; }
if(!empty($_REQUEST['admin_password'])) { $admin_password = $_REQUEST['admin_password']; } else { $msg .= 'Необходимо указать пароль администратора!
'; }
if(!$msg){
//INSTALL SYSTEM
$_CFG = array();
$_CFG['sitename'] = $sitename;
$_CFG['db_host'] = $db_server;
$_CFG['db_base'] = $db_base;
$_CFG['db_user'] = $db_user;
$_CFG['db_pass'] = $db_password;
$_CFG['db_prefix'] = $db_prefix;
$_CFG['template'] = '_default_';
$_CFG['tooltips'] = '1';
$_CFG['index_pw'] = '0';
$_CFG['show_pw'] = '1';
$_CFG['short_pw'] = '1';
$_CFG['splash'] = '0';
$_CFG['stats'] = '0';
$_CFG['slight'] = '0';
$_CFG['siteoff'] = '0';
$_CFG['offtext'] = 'Производится обновление сайта';
$_CFG['keywords'] = 'InstantCMS, система управления сайтом, бесплатная CMS, движок сайта, CMS, движок социальной сети';
$_CFG['metadesc'] = 'InstantCMS - бесплатная система управления сайтом с социальными функциями';
$_CFG['fastcfg'] = '1';
$_CFG['debug'] = '0';
$_CFG['lang'] = 'ru';
$_CFG['wmark'] = 'watermark.png';
$_CFG['back_btn'] = '0';
$_CFG['timezone'] = 'Europe/Moscow';
$_CFG['timediff'] = '0';
$inConf->saveToFile($_CFG);
$GLOBALS['db'] = @mysql_connect($_CFG['db_host'], $_CFG['db_user'], $_CFG['db_pass']);
if (mysql_error()) {
$msg .= 'Не удалось установить соединение c MySQL.
Проверьте адрес сервера MySQL и правильность пользователя и пароля БД.
За уточнением этих параметров вы можете обратиться к своему хостеру.'; }
else {
@mysql_select_db($_CFG['db_base'], $GLOBALS['db']);
if (mysql_error()) {
$msg .= 'Не удалось открыть БД MySQL.
База данных "'.$_CFG['db_base'].'" не найдена на указанном сервере.
За уточнением этих параметров вы можете обратиться к своему хостеру.';
}
}
if(!$msg){
$sql_file = ((int)$_REQUEST['demodata']==1 ?'sqldumpdemo.sql' : 'sqldumpempty.sql');
include($_SERVER['DOCUMENT_ROOT'].'/includes/database.inc.php');
include($_SERVER['DOCUMENT_ROOT'].'/includes/dbimport.inc.php');
mysql_query("SET NAMES cp1251");
dbRunSQL($_SERVER['DOCUMENT_ROOT'].'/install/'.$sql_file, $db_prefix);
$sql = "UPDATE {$db_prefix}_users
SET password = md5('{$admin_password}'),
login = '{$admin_login}'
WHERE id = 1";
mysql_query($sql);
$installed = (mysql_error() ? 0 : 1);
$sql = "UPDATE {$db_prefix}_users
SET password = md5('{$admin_password}')
WHERE id > 1";
mysql_query($sql);
}
}
}
// =================================================================================================== //
function getPHPVersion(){
$version['text'] = phpversion();
$version['int'] = $version['text'][0] * 10000 + $version['text'][2] * 100 + $version['text'][4];
return $version;
}
function installCheckFolders(){
$folders = array();
$folders[] = '/images';
$folders[] = '/upload';
$folders[] = '/includes';
$folders[] = '/backups';
$folders[] = '/cache';
echo '
| Папка | '; echo 'Доступна для записи | '; echo '
|---|---|
| '.$folder.' | '; echo ''.($right ? 'Да' : 'Нет').' | '; echo '
| Расширение PHP | '; echo 'Установлено | '; echo '
|---|---|
| '.$name.' | '; echo ''.($right ? 'Да' : 'Нет').' | '; echo '
Для установки отсутствующих расширений обратитесь к вашему хостеру.
'; echo 'Как установить mbstring на Денвер читайте на нашем форуме.
'; } $php_ver = getPHPVersion(); $right = true; $php53 = false; if ($php_ver['int'] < $php_req_ver) { $right=false; } echo 'Версия PHP: '.$php_ver['text'].' &mdash '.($right ? 'Оk' : 'требуется '.$php_req['major'].'.'.$php_req['minor'].'.'.$php_req['release'].' или выше').'
'; if (!$right){ echo 'Для обновления PHP обратитесь к своему хостеру.
'; } } // =================================================================================================== // ?>
Установка InstantCMS'; echo 'Обнаружена ошибка!'; echo ''.$msg.' '; echo ''; echo ''; } if (isset($installed)){ if($installed){ echo '';
echo ' ';
}
}
?>
Установка завершена!'; echo '';
echo ' ';
echo 'Система установлена и готова к работе. '; echo 'Создайте задание для CRON
Добавьте файл /cron.php в расписание заданий CRON в панели вашего хостинга.
Интервал выполнения — 24 часа. Это позволит системе выполнять периодические сервисные задачи. Обычно команда, которую нужно добавить в CRON, выглядит так: php -f /полный/путь/до/сайта/cron.php > /dev/null
В случае затруднений обратитесь в техническую поддержку хостинга.
Внимание!
До перехода на сайт необходимо удалить каталоги "install" и "migrate"на сервере вместе со всеми находящимися в них файлами! |