You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
5.5 KiB
162 lines
5.5 KiB
<?php
|
|
|
|
/**
|
|
* ECSHOP 自动安装程序
|
|
* ============================================================================
|
|
* * 版权所有 2005-2016 上海商创网络科技有限公司,并保留所有权利。
|
|
* 网站地址: http://www.ecmoban.com;
|
|
* ----------------------------------------------------------------------------
|
|
* 这不是一个自由软件!您只能在不用于商业目的的前提下对程序代码进行修改和
|
|
* 使用;不允许对程序代码以任何形式任何目的的再发布。
|
|
* ============================================================================
|
|
* $Author: testyang $
|
|
* $Id: index.php 15013 2008-10-23 09:31:42Z testyang $
|
|
*/
|
|
|
|
define('IN_ECS', true);
|
|
require(dirname(__FILE__) . '/includes/auto_init.php');
|
|
require_once('../includes/cls_json.php');
|
|
|
|
/* 初始化语言变量 */
|
|
$installer_lang = isset($_REQUEST['lang']) ? trim($_REQUEST['lang']) : 'zh_cn';
|
|
|
|
if ($installer_lang != 'zh_cn' && $installer_lang != 'zh_tw' && $installer_lang != 'en_us')
|
|
{
|
|
$installer_lang = 'zh_cn';
|
|
}
|
|
|
|
/* 加载安装程序所使用的语言包 */
|
|
$installer_lang_package_path = ROOT_PATH . 'install/languages/' . $installer_lang . '.php';
|
|
if (file_exists($installer_lang_package_path))
|
|
{
|
|
include_once($installer_lang_package_path);
|
|
$smarty->assign('lang', $_LANG);
|
|
}
|
|
else
|
|
{
|
|
die('Can\'t find language package!');
|
|
}
|
|
|
|
/* 初始化流程控制变量 */
|
|
if (file_exists(ROOT_PATH . 'data/install.lock.php'))
|
|
{
|
|
data_back($_LANG['has_locked_installer']);
|
|
}
|
|
|
|
include_once(ROOT_PATH . 'install/includes/lib_env_checker.php');
|
|
include_once(ROOT_PATH . 'install/includes/checking_dirs.php');
|
|
$dir_checking = check_dirs_priv($checking_dirs);
|
|
|
|
$templates_root = array(
|
|
'dwt' => ROOT_PATH . 'themes/ecmoban_dsc/',
|
|
'lbi' => ROOT_PATH . 'themes/ecmoban_dsc/library/');
|
|
$template_checking = check_templates_priv($templates_root);
|
|
|
|
$rename_priv = check_rename_priv();
|
|
|
|
$disabled = '';
|
|
if ($dir_checking['result'] === 'ERROR'
|
|
|| !empty($template_checking)
|
|
|| !empty($rename_priv)
|
|
|| !function_exists('mysql_connect'))
|
|
{
|
|
data_back('安装目录的某些权限不够');
|
|
}
|
|
|
|
|
|
$db_host = isset($_POST['dbhost']) ? trim($_POST['dbhost']) : '';
|
|
$db_port = isset($_POST['db_port']) ? trim($_POST['db_port']) : '';
|
|
$db_user = isset($_POST['dbuser']) ? trim($_POST['dbuser']) : '';
|
|
$db_pass = isset($_POST['dbpass']) ? trim($_POST['dbpass']) : '';
|
|
$db_name = isset($_POST['dbname']) ? trim($_POST['dbname']) : '';
|
|
$prefix = isset($_POST['db_prefix']) ? trim($_POST['db_prefix']) : 'sc_';
|
|
$timezone = isset($_POST['timezone']) ? trim($_POST['timezone']) : 'Asia/Shanghai';
|
|
|
|
if (empty($db_host) || empty($db_user) || empty($db_pass) || empty($db_name))
|
|
{
|
|
data_back('缺少必要的参数');
|
|
}
|
|
|
|
$result = create_config_file($db_host, $db_port, $db_user, $db_pass, $db_name, $prefix, $timezone);
|
|
if ($result === false)
|
|
{
|
|
data_back('构建配置文件失败');
|
|
}
|
|
|
|
|
|
$result = create_database($db_host, $db_port, $db_user, $db_pass, $db_name);
|
|
if ($result === false)
|
|
{
|
|
data_back('创建数据库失败');
|
|
}
|
|
|
|
|
|
$system_lang = isset($_POST['system_lang']) ? $_POST['system_lang'] : 'zh_cn';
|
|
|
|
if (file_exists(ROOT_PATH . 'install/data/data_' . $system_lang . '.sql'))
|
|
{
|
|
$data_path = ROOT_PATH . 'install/data/data_' . $system_lang . '.sql';
|
|
}
|
|
else
|
|
{
|
|
$data_path = ROOT_PATH . 'install/data/data_zh_cn.sql';
|
|
}
|
|
|
|
$sql_files = array(
|
|
ROOT_PATH . 'install/data/structure.sql',
|
|
$data_path
|
|
);
|
|
|
|
$result = install_data($sql_files);
|
|
|
|
if ($result === false)
|
|
{
|
|
data_back('构建数据库内容失败');
|
|
}
|
|
|
|
|
|
$admin_name = isset($_POST['admin_name']) ? json_str_iconv(trim($_POST['admin_name'])) : 'admin';
|
|
$admin_password = isset($_POST['password']) ? trim($_POST['password']) : '549c6dd086d5c7127745'; //ecshop123654
|
|
$admin_password2 = isset($_POST['admin_password2']) ? trim($_POST['admin_password2']) : '549c6dd086d5c7127745';
|
|
$admin_email = isset($_POST['admin_email']) ? trim($_POST['admin_email']) : '';
|
|
|
|
$result = create_admin_passport($admin_name, $admin_password,
|
|
$admin_password2, $admin_email);
|
|
if ($result === false)
|
|
{
|
|
data_back('创建管理员失败');
|
|
}
|
|
|
|
|
|
$system_lang = isset($_POST['system_lang']) ? $_POST['system_lang'] : 'zh_cn';
|
|
$captcha = isset($_POST['disable_captcha']) ? intval($_POST['disable_captcha']) : '0';
|
|
$install_demo = isset($_POST['data']) ? $_POST['data'] : 1;
|
|
$integrate = isset($_POST['userinterface']) ? trim($_POST['userinterface']) : 'ecshop';
|
|
|
|
$result = do_others($system_lang, $captcha,$install_demo, $integrate);
|
|
if ($result === false)
|
|
{
|
|
data_back('其他安装过程错误');
|
|
}
|
|
|
|
|
|
$result = deal_aftermath();
|
|
if ($result === false)
|
|
{
|
|
data_back('善后处理失败');
|
|
}
|
|
else
|
|
{
|
|
@unlink(ROOT_PATH .'data/config_temp.php');
|
|
data_back('install succ', 'true');
|
|
}
|
|
|
|
function data_back($msg, $result = 'false')
|
|
{
|
|
$data_arr = array('res'=>$result, 'rsp'=>$msg);
|
|
|
|
$json = new JSON;
|
|
die($json->encode($data_arr)); //把生成的返回字符串打印出来
|
|
}
|
|
|
|
?>
|