📄 index.php
字号:
<?php
//########################################################################
//Web版进销存安装程序
//程序开发:马鬼团队
//联系QQ:12612019
//#########################################################################
/*------------------------
初始化系统环境
------------------------*/
$step=$_GET['step'];
define('VIOOMAROOT',substr(dirname(__FILE__),0,-8));
require_once(VIOOMAROOT."/include/config_rglobals.php");
if(empty($step)) $step = 1;
require_once("./inc_install.php");
/*------------------------
显示协议文件
------------------------*/
if($step==1){
if(file_exists('install.finish')) {
echo '你已经安装过该系统,如果想重新安装,请先删除install目录的 install.finish 文件,然后再次运行该程序';
exit;
}
include_once("./templets/step1.html");
exit();
}
/*------------------------
测试环境要求
------------------------*/
else if($step==2)
{
$phpv = @phpversion();
$sp_os = $_ENV["OS"];
$sp_gd = @gdversion();
$sp_server = $_SERVER["SERVER_SOFTWARE"];
$sp_host = (empty($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_HOST"] : $_SERVER["REMOTE_ADDR"]);
$sp_name = $_SERVER["SERVER_NAME"];
$sp_max_execution_time = ini_get('max_execution_time');
$sp_allow_reference = (ini_get('allow_call_time_pass_reference') ? '<font color=green>[√]On</font>' : '<font color=red>[×]Off</font>');
$sp_allow_url_fopen = (ini_get('allow_url_fopen') ? '<font color=green>[√]On</font>' : '<font color=red>[×]Off</font>');
$sp_safe_mode = (ini_get('safe_mode') ? '<font color=red>[×]On</font>' : '<font color=green>[√]Off</font>');
$sp_gd = ($sp_gd>0 ? '<font color=green>[√]On</font>' : '<font color=red>[×]Off</font>');
$sp_mysql = (function_exists('mysql_connect') ? '<font color=green>[√]On</font>' : '<font color=red>[×]Off</font>');
if($sp_mysql=='<font color=red>[×]Off</font>') $sp_mysql_err = true;
else $sp_mysql_err = false;
$sp_testdirs = array(
'/',
'/include',
'/data/sessions'
);
include_once("./templets/step2.html");
exit();
}
/*------------------------
填写设置
------------------------*/
else if($step==3)
{
if(!empty($_SERVER["REQUEST_URI"])){$scriptName = $_SERVER["REQUEST_URI"]; }
else{ $scriptName = $_SERVER["PHP_SELF"]; }
$path = ereg_replace("/install/index\.php(.*)$","",$scriptName);
if(empty($_SERVER['HTTP_HOST'])) $baseurl = "http://".$_SERVER['HTTP_HOST'];
else $baseurl = "http://".$_SERVER['SERVER_NAME'];
$rnd_cookieEncode = chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('A'),ord('Z'))).chr(mt_rand(ord('a'),ord('z'))).mt_rand(1000,9999).chr(mt_rand(ord('A'),ord('Z')));
include_once("./templets/step3.html");
exit();
}
/*------------------------
开始安装进程
------------------------*/
else if($step==5)
{
if(empty($setupsta)) $setupsta = 0;
//初始化基本安装数据、创建表
//----------------------------------
if($setupsta==0)
{
$setupinfo = '';
$gotourl = '';
$gototime = 2000;
if(eregi("[^\.0-9a-z@!_-]",$adminuser) || eregi("[^\.0-9a-z@!_-]",$adminpwd)){
echo GetBackAlert("管理员用户名或密码含有非法字符!");
exit();
}
//检测数据库权限
$conn = @mysql_connect($dbhost,$dbuser,$dbpwd);
if(!$conn){
echo GetBackAlert("数据库服务器或登录密码无效,\\n\\n无法连接数据库,请重新设定!");
exit();
}
$rs = mysql_select_db($dbname,$conn);
if(!$rs){
$rs = mysql_query(" CREATE DATABASE `$dbname`; ",$conn);
if(!$rs){
$errstr = GetBackAlert("数据库 {$dbname} 不存在,也没权限创建新的数据库!");
echo $errstr;
exit();
}else{
$rs = mysql_select_db($dbname,$conn);
if(!$rs){
$errstr = GetBackAlert("你对数据库 {$dbname} 没权限!");
echo $errstr;
exit();
}
}
}
//读取配置模板,并替换真实配置
$errstr = GetBackAlert("读取配置 config_base.php 失败,请检查install/config_base.php是否可读取!");
$fp = fopen(VIOOMAROOT."/install/config_base.php","r") or die($errstr);
$configstr1 = fread($fp,filesize(VIOOMAROOT."/install/config_base.php"));
fclose($fp);
$errstr = GetBackAlert("读取配置 config_hand.php 失败,请检查install/config_hand.php是否可读取!");
$fp = fopen(VIOOMAROOT."/install/config_hand.php","r") or die($errstr);
$configstr2 = fread($fp,filesize(VIOOMAROOT."/install/config_hand.php"));
fclose($fp);
$configstr1 = str_replace('~dbhost~',$dbhost,$configstr1);
$configstr1 = str_replace('~dbname~',$dbname,$configstr1);
$configstr1 = str_replace('~dbuser~',$dbuser,$configstr1);
$configstr1 = str_replace('~dbpwd~',$dbpwd,$configstr1);
$configstr1 = str_replace('~dbprefix~',$dbprefix,$configstr1);
$configstr1 = str_replace('~db_language~',$db_language,$configstr1);
$errstr = GetBackAlert("写入配置 include/config_base.php 失败,请检查 include文件夹 是否可读写!");
$fp = fopen(VIOOMAROOT."/include/config_base.php","w") or die($errstr);
fwrite($fp,$configstr1);
fclose($fp);
$indexurl = (empty($cmspath) ? '/' : $cmspath);
$configstr2 = str_replace('~cmspath~',$cmspath,$configstr2);
$configstr2 = str_replace('~cookiepwd~',$cookiepwd,$configstr2);
$configstr2 = str_replace('~webname~',$webname,$configstr2);
$configstr2 = str_replace('~weburl~',$weburl,$configstr2);
$configstr2 = str_replace('~indexurl~',$indexurl,$configstr2);
$configstr2 = str_replace('~adminmail~',$adminmail,$configstr2);
$fp = fopen(VIOOMAROOT."/include/config_hand.php","w") or die($errstr);
fwrite($fp,$configstr2);
fclose($fp);
$fp = fopen(VIOOMAROOT."/include/config_hand_bak.php","w");
fwrite($fp,$configstr2);
fclose($fp);
//检测数据库信息并创建基本数据表
mysql_query("SET NAMES '{$db_language}';",$conn);
$rs = mysql_query("SELECT VERSION();",$conn);
$row = mysql_fetch_array($rs);
$mysql_version = $row[0];
$mysql_versions = explode(".",trim($mysql_version));
$mysql_version = $mysql_versions[0].".".$mysql_versions[1];
$adminpwd=md5($adminpwd);
$admindatas = "
INSERT INTO `#@__boss` VALUES (10, '{$adminuser}', '{$adminpwd}', '2008-08-18 20:35:28', '127.0.0.1','0','1');
INSERT INTO `#@__config` VALUES (1, 'cfg_webname', '公司名称', '{$webname}', 'string', 8);
INSERT INTO `#@__config` VALUES (2, 'cfg_basehost', '站点根网址', '{$weburl}', 'string', 8);
INSERT INTO `#@__config` VALUES (3, 'cfg_cmspath', '安装目录', '{$path}', 'string', 8);
INSERT INTO `#@__config` VALUES (5, 'cfg_cookie_encode', 'cookie加密码', '{$cookiepwd}', 'string', 8);
INSERT INTO `#@__config` VALUES (4, 'cfg_indexurl', '网页主页链接', '{$indexurl}', 'string',8);
INSERT INTO `#@__config` VALUES (6, 'cfg_adminemail', '站长EMAIL', '{$adminmail}', 'string', 8);
INSERT INTO `#@__config` VALUES (7, 'cfg_backup_dir', '数据备份目录', 'backup_data', 'string', 30);
INSERT INTO `#@__config` VALUES (8, 'cfg_keeptime', 'Cookie保持时间', '2', 'smallint', 6);
INSERT INTO `#@__config` VALUES (9, 'cfg_address', '公司地址', '', 'string', 200);
INSERT INTO `#@__config` VALUES (10, 'cfg_conact', '联系人', '', 'string', 10);
INSERT INTO `#@__config` VALUES (11, 'cfg_phone', '联系电话', '', 'string', 15);
INSERT INTO `#@__config` VALUES (12, 'cfg_islevel', '是否启用会员等级', '0', 'smallint', 6);
INSERT INTO `#@__config` VALUES (13, 'cfg_isdiscount', '是否按等级打折', '0', 'smallint', 6);
INSERT INTO `#@__config` VALUES (14, 'cfg_isalarm', '库存报警', '1', 'smallint', 6);
INSERT INTO `#@__config` VALUES (15, 'cfg_isshow', '报表里是否显示详细信息', '1', 'smallint', 6);
INSERT INTO `#@__config` VALUES (16, 'cfg_record', '显示记录数', '10', 'smallint', 6);
INSERT INTO `#@__config` VALUES (17, 'cfg_way', '员工业务提成', '1', 'smallint', 6);
INSERT INTO #@__usertype VALUES (1,'超级管理员','1','admin_AllowAll');
INSERT INTO #@__usertype VALUES (5,'仓库管理员','1','c_ACClab');
INSERT INTO #@__usertype VALUES (10,'销售管理员','1','s_ACCsale');
INSERT INTO #@__usertype VALUES (20,'财务管理员','1','s_ACCmon');
";
if($mysql_version < 4.1) $fp = fopen(VIOOMAROOT."/install/setup40.sql","r");
else $fp = fopen(VIOOMAROOT."/install/setup41.sql","r");
//创建数据表和写入数据
$query = "";
while(!feof($fp))
{
$line = trim(fgets($fp,1024));
if(ereg(";$",$line)){
$query .= $line;
$query = str_replace('#@__',$dbprefix,$query);
if($mysql_version < 4.1) mysql_query($query,$conn);
else mysql_query(str_replace('#~lang~#',$db_language,$query),$conn);
$query='';
}else if(!ereg("^(//|--)",$line)){
$query .= $line;
}
}
fclose($fp);
$sysquerys = explode(';',$admindatas);
foreach($sysquerys as $query){
if(trim($query)!='') mysql_query(str_replace('#@__',$dbprefix,$query),$conn);
}
mysql_close($conn);
$gotourl = 'index.php?step=5&setupsta=1';
$setupinfo = "
成功安装系统基本数据,现在开始安装必要的基本数据<br />
请稍等...<br />
如果系统太长时间没反应,请点击此<a href='{$gotourl}'>链接>></a>
";
include_once("./templets/step4.html");
exit();
}
//安装基本数据
else if($setupsta==1)
{
$gototime = 2000;
$gotourl = '../login.php';
$setupinfo = "
已完成所有项目的安装<br />
现在转入管理员登录页面,请稍等...<br />
如果系统太长时间没反应,请点击此<a href='{$gotourl}'>链接>></a>
";
include_once(VIOOMAROOT."/include/config_base.php");
$dsql = new DedeSql(false);
$fp = fopen(VIOOMAROOT."/install/setup_data1.sql","r");
//创建数据表和写入数据
$query = "";
while(!feof($fp))
{
$line = trim(fgets($fp,1024));
if(ereg(";$",$line)){
$query .= $line;
//if(trim($query)!='') mysql_query(str_replace('#@__',$dbprefix,$query),$conn);
$dsql->ExecuteNoneQuery($query);
$query='';
}else if(!ereg("^(//|--)",$line)){
$query .= $line;
}
}
fclose($fp);
$dsql->Close();
include_once("./templets/step4.html");
exit();
}
}
/*------------------------
检测数据库是否有效
function _10_TestDbPwd()
------------------------*/
else if($step==10)
{
header("Pragma:no-cache\r\n");
header("Cache-Control:no-cache\r\n");
header("Expires:0\r\n");
header("Content-Type: text/html; charset=gb2312");
$conn = @mysql_connect($dbhost,$dbuser,$dbpwd);
if($conn)
{
$rs = mysql_select_db($dbname,$conn);
if(!$rs)
{
$rs = mysql_query(" CREATE DATABASE `$dbname`; ",$conn);
if($rs){
mysql_query(" DROP DATABASE `$dbname`; ",$conn);
echo "<font color='green'>信息正确</font>";
}else{
echo "<font color='red'>数据库不存在,也没权限创建新的数据库!</font>";
}
}else{
echo "<font color='green'>信息正确</font>";
}
}else{
echo "<font color='red'>数据库连接失败!</font>";
}
@mysql_close($conn);
exit();
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -