<?php
/**
* УÑÑа! ÐеÑенÑки! :)
*
* @package energine
* @subpackage configurator
* @author Tigrenok
* @copyright ColoCall 2007
* @version $Id: index.php,v 1.17 2007/11/26 14:11:07 tigrenok Exp $
*/
/**
* ÐÑинÑдиÑелÑÐ½Ð°Ñ ÐºÐ¾Ð´Ð¸Ñовка
*
*/
define('FORCED_CHARSET','utf8');
ini_set('display_errors',1);
set_time_limit(600);
header('Content-Type: text/html; charset='.FORCED_CHARSET);
if(version_compare(PHP_VERSION, '5.1', '<')){
die('ÐаÑа веÑÑÐ¸Ñ PHP ниже необÑ
одимой Ð´Ð»Ñ ÑабоÑÑ Energine. ÐаÑа веÑÑиÑ: '.PHP_VERSION.', необÑ
Ð¾Ð´Ð¸Ð¼Ð°Ñ Ð²ÐµÑÑиÑ: 5.1');
}
require_once('classes/Viewer.class.php');
require_once('classes/ServerChecker.class.php');
require_once('classes/DataChecker.class.php');
require_once('classes/SQLDumper.class.php');
require_once('classes/Processor.class.php');
require_once('classes/Linker.class.php');
require_once('classes/ViewOptions.class.php');
require_once('classes/CheckerException.class.php');
require_once('classes/SystemConfig.class.php');
/**
* ÐÐ¼Ñ ÑкÑипÑа. ÐÐ»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÐºÐ¾ÑÐ½Ñ ÑайÑа.
*
*/
define('SCRIPT_NAME','/setup/index.php');
/**
* ÐÑÑÑ Ðº ÑÐ°Ð¹Ð»Ñ ÐºÐ¾Ð½ÑигÑÑаÑии (оÑноÑиÑелÑно htdocs)
*
*/
define('PATH_SYSTEM_CONFIG','site/system.config.xml');
/**
* ÐÑÑÑ Ðº ÑÐ°Ð¹Ð»Ñ Ð´Ð°Ð¼Ð¿Ð°
*
*/
define('PATH_SQL_DUMP','data/energine_db_dump.sql');
/**
* ÐÑава, коÑоÑÑе ÑиÑÑема бÑÐ´ÐµÑ ÑÑÑанавливаÑÑ Ð´Ð»Ñ Ð´Ð¸ÑекÑоÑий
*
*/
define('CHMOD_DIRS','0755');
/**
* ÐÑава, коÑоÑÑе ÑиÑÑема бÑÐ´ÐµÑ ÑÑÑанавливаÑÑ Ð´Ð»Ñ Ñайлов
*
*/
define('CHMOD_FILES','0644');
$viewer = new Viewer();
$state = (isset($_GET['state'])) ? $_GET['state'] : null;
try {
$sysConf = SystemConfig::run();
$xmlConfig = $sysConf->getXMLFile();
} catch (Exception $e) {
$viewer->addBlock($e->getMessage(),Viewer::TPL_ERROR);
}
if(!isset($xmlConfig->site->debug) || $xmlConfig->site->debug != 1) {
header('HTTP/1.1 403 Forbidden');
$viewer->addBlock('Error 403. Режим оÑладки оÑклÑÑÑн! ÐоÑÑÑп к ÑÐ°Ð·Ð´ÐµÐ»Ñ Ð²Ð½Ðµ Ñежима оÑладки - запÑеÑÑн!',Viewer::TPL_ERROR);
$viewer->printResult();
die;
}
try {
switch ($state) {
case 'checkserver':
$checker = new ServerChecker();
$checker->setViewer($viewer);
$checker->silentMode(false);
$checker->run();
break;
case 'install':
$checker = new ServerChecker();
$checker->setViewer($viewer);
$checker->run();
$datachecker = new DataChecker($xmlConfig);
$datachecker->setViewer($viewer);
$datachecker->run(Viewer::TPL_FORM);
$data = $datachecker->getData();
if (!empty($data)) {
$proc = new Processor($data,$xmlConfig);
$proc->setViewer($viewer);
$proc->run();
$sql = new SQLDumper($data,$xmlConfig);
$sql->setViewer($viewer);
$sql->run();
$linker = new Linker($data);
$linker->setViewer($viewer);
$linker->run();
}
break;
case 'sqlrestore':
$checker = new ServerChecker();
$checker->setViewer($viewer);
$checker->run();
$datachecker = new DataChecker($xmlConfig);
$datachecker->setViewer($viewer);
$datachecker->run(Viewer::TPL_SQLFORM);
$data = $datachecker->getData();
if (!empty($data)) {
$sql = new SQLDumper($data,$xmlConfig);
$sql->setViewer($viewer);
$sql->run();
}
break;
case 'sqldump':
$datachecker = new DataChecker($xmlConfig);
$datachecker->setViewer($viewer);
$datachecker->run(Viewer::TPL_SQLDFORM);
$data = $datachecker->getData();
if (!empty($data)) {
$sql = new SQLDumper($data,$xmlConfig);
$sql->setViewer($viewer);
$sql->run();
}
break;
case 'addadmin':
$datachecker = new DataChecker($xmlConfig);
$datachecker->setViewer($viewer);
$datachecker->run(Viewer::TPL_USERFORM);
$data = $datachecker->getData();
if (!empty($data)) {
$sql = new SQLDumper($data,$xmlConfig);
$sql->setViewer($viewer);
$sql->run();
}
break;
case 'linker':
$checker = new ServerChecker();
$checker->setViewer($viewer);
$checker->run();
$linker = new Linker();
$linker->setViewer($viewer);
$linker->run();
break;
default:
$options = new ViewOptions();
$options->setViewer($viewer);
$options->run();
}
} catch (CheckerException $e) {
if ($e->getMessage()) {
$viewer->addBlock($e->getMessage(),$e->getTPL());
}
} catch (Exception $e) {
$viewer->addBlock($e->getMessage(),Viewer::TPL_ERROR);
}
$viewer->printResult();