$v) { $array[$k] = stripslashes_array($v); } } else if (is_string($array)) { $array = stripslashes($array); } return $array; } // 判断 magic_quotes_gpc 状态 if (get_magic_quotes_gpc()) { $_GET = stripslashes_array($_GET); $_POST = stripslashes_array($_POST); } set_magic_quotes_runtime(0); $step = $_GET['step'] ? $_GET['step'] : $_POST['step']; $php_self = $_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME']; $dbcharset = 'utf8'; $configfile = '../config.inc.php'; $sqlfile = 'install.sql'; if(!is_readable($sqlfile)) { exit('数据库文件不存在或者读取失败'); } $fp = fopen($sqlfile, 'rb'); $sql = fread($fp, 2048000); fclose($fp); ?> Idea XML News Aggregator 安装脚本

IXNA V安装向导


第一步:安装须知

欢迎使用 IXNA V,中本脚本将帮助您将程序完整地安装在您的服务器内。请您先确认以下安装配置:

如果您无法确认以上的配置信息, 请与您的服务商联系, 我们无法为您提供任何帮助.


第二步:配置数据库信息

config.inc.php 存在检查

config.inc.php 可写检查



服务器地址: :
端口 默认填 localhost,后面为默认端口
数据库名:
数据库用户名:
数据库用户密码:
数据表前缀: 不填则默认是 i_

 

如果您无法确认以上的配置信息, 请与您的服务商联系, 我们无法为您提供任何帮助.


请返回并确认所有选项均已填写.


第三步:设置管理员账号

'.$lang[$errormsg].''; $quit = TRUE; } else { if(mysql_get_server_info() > '4.1') { mysql_query("CREATE DATABASE IF NOT EXISTS `$dbname` DEFAULT CHARACTER SET $dbcharset"); } else { mysql_query("CREATE DATABASE IF NOT EXISTS `$dbname`"); } if(mysql_errno()) { $msg .= "指定的数据库不存在, 系统也无法自动建立, 无法安装 IXNA.
"; $quit = TRUE; } mysql_close(); } require_once(_ROOT . "include/mysql.inc.php"); $db = new DB (); $db->connect($pconnect,$dbserver,$dbuser,$dbpass,$dbname,$dbchar); unset($pconnect,$dbserver,$dbuser,$dbpass); $msg = ''; $quit = FALSE; $curr_os = PHP_OS; $curr_php_version = PHP_VERSION; if($curr_php_version < '4.0.6') { $msg .= "您的PHP版本低于4.0.6, 无法使用 IXNA
"; $quit = TRUE; } $query = $db->query("SELECT VERSION()"); $curr_mysql_version = $db->result($query, 0); if($curr_mysql_version < '3.23') { $msg .= "您的MySQL版本低于3.23, 由于程序没有经过此平台的测试, 建议您换 MySQL4 的数据库服务器.
"; $quit = TRUE; } if(strstr($tablepre, '.')) { $msg .= "您指定的数据表前缀包含点字符,请返回修改.
"; $quit = TRUE; } /*$db->select_db($dbname); $query = $db->query("SELECT COUNT(*) FROM {$tablepre}xna_settings", 'SILENT'); if(!$query) { $msg .= "数据库中已经安装过 IXNA, 继续安装会清空原有数据.
"; $alert = " onclick=\"return confirm('继续安装会清空全部原有数据, 您确定要继续吗?');\""; } else { $alert = ''; }*/ if($quit) { $msg .= "由于您目录属性或服务器配置原因, 无法继续安装 IXNA, 请仔细阅读安装说明."; } else { $msg .= "您的服务器可以安装和使用 IXNA, 请进入下一步安装."; } if ($msg) { echo "

".$msg."

"; } if($quit) { ?>

 

用户名:
密码:
确认密码:

 


/>

第四步:检查信息合法性

请返回并输入所有必填选项, 请返回重新输入.

"; $quit = TRUE; } elseif (strlen($_POST['password']) < 6) { $msg = "

从系统的安全角度考虑, 密码长度不能少于6字节, 请返回重新输入.

"; $quit = TRUE; } elseif ($password != $comfirpassword) { $msg = "

两个输入的密码不相同, 请返回重新输入.

"; $quit = TRUE; } else { $msg = "

检查信息合法性... 成功

"; $quit = FALSE; } $name_key = array("\\",'&',' ',"'",'"','/','*',',','<','>',"\r","\t","\n",'#','$','(',')','%','@','+','?',';','^'); foreach($name_key as $value){ if (strpos($username,$value) !== false){ $msg = "

用户名包含敏感字符.

"; $quit = TRUE; } } if ($quit) { echo $msg; ?>

 

用户名:

密码:

 

核对无误后点击下一步开始导入数据.


第五步:导入数据

connect (); runquery($sql); $db->query("INSERT INTO {$tablepre}xna_users (username, password, groupid) VALUES ('$username', '".md5($password)."', '1')"); ?>

共创建了个数据表.


安装程序已经顺利执行完毕,请尽快删除整个 install 目录,以免被他人恶意利用。

感谢您使用剑气写的Web应用程序.

 

用户名:

密码:

 

点击这里进入iXNA


Welcome to Idea XML News Aggregator

Powered by iXNA.Net (C) 2007 - 2008 iXNA.Net Yes
'; if(!$output) { return $text; } echo $text; } else { $text = '... No
'; if(!$output) { return $text; } echo $text; } } function runquery($sql) { global $dbcharset, $tablepre, $db, $tablenum; $sql = str_replace("\r", "\n", str_replace(' i_', ' '.$tablepre, $sql)); $ret = array(); $num = 0; foreach(explode(";\n", trim($sql)) as $query) { $queries = explode("\n", trim($query)); foreach($queries as $query) { $ret[$num] .= $query[0] == '#' ? '' : $query; } $num++; } unset($sql); foreach($ret as $query) { $query = trim($query); if($query) { if(substr($query, 0, 12) == 'CREATE TABLE') { $name = preg_replace("/CREATE TABLE ([a-z0-9_]+) .*/is", "\\1", $query); echo '创建表 '.$name.' ... 成功
'; $db->query(createtable($query, $dbcharset)); $tablenum++; } else { $db->query($query); } } } } function createtable($sql, $dbcharset) { $type = strtoupper(preg_replace("/^\s*CREATE TABLE\s+.+\s+\(.+?\).*(ENGINE|TYPE)\s*=\s*([a-z]+?).*$/isU", "\\2", $sql)); $type = in_array($type, array('MYISAM', 'HEAP')) ? $type : 'MYISAM'; return preg_replace("/^\s*(CREATE TABLE\s+.+\s+\(.+?\)).*$/isU", "\\1", $sql). (mysql_get_server_info() > '4.1' ? " ENGINE=$type DEFAULT CHARSET=$dbcharset" : " TYPE=$type"); } ?>