tpltype = 'html'; $this->title = TITLE.'_安装'; $dbdiz = ''; $paths = '../../mysql5.6.10/my.ini'; if(@file_exists($paths)){ $_conts = @file_get_contents($paths); if($_conts && contain($_conts,'3307'))$dbdiz='3307'; } $this->assign('dbdiz', $dbdiz); } private function rmdirs($dir){ $dir_arr = scandir($dir); foreach($dir_arr as $key=>$val){ if($val == '.' || $val == '..'){ }else{ @unlink($dir.'/'.$val); } } @rmdir($dir); } public function delinstallAjax() { $this->delinstall(); echo 'success'; } private function delinstall() { $dir = ROOT_PATH.'/'.PROJECT.'/install'; $this->rmdirs($dir); } private function isbasecz($db, $base){ $dbrows = $db->getall("SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '$base'"); return $dbrows; } public function saveAjax() { $dbtype = $this->post('dbtype'); $host = $this->post('host'); $user = $this->post('user'); $duankou = $this->post('duankou'); $pass = $this->post('pass'); $base = $this->post('base'); $xinhukey = $this->post('xinhukey'); $perfix = strtolower($this->post('perfix','xinhu_')); $engine = $this->post('engine','MyISAM'); $title = '信呼协同办公系统'; $qom = 'xinhu_'; $url = $this->post('url'); $paths = ''.P.'/'.P.'Config.php'; $paths1 = ''.P.'/'.P.'Config.php1'; $inpaths = ROOT_PATH.'/'.$paths.''; if($duankou)$host.=':'.$duankou.''; $msg = ''; if($dbtype=='mysql' && !function_exists('mysql_connect'))exit('未开启mysql扩展模块'); if($dbtype=='mysqli' && !class_exists('mysqli'))exit('未开启mysqli扩展模块'); @unlink($inpaths); $this->rock->createtxt($paths, '[帮助]'); //1 $db1 = import($dbtype); $db1->changeattr($host, $user, $pass, 'information_schema'); $db1->connectdb(); $msg = $db1->errormsg; if(!$this->isempt($msg))exit('数据库用户名/密码有误:'.$msg.''); if(!$this->isbasecz($db1, $base)){ if($user=='root'){ $db1->query("CREATE DATABASE `$base` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"); if(!$this->isbasecz($db1, $base))exit('无法创建数据库:'.$base.',请自己手动创建'); }else{ exit('数据库'.$base.'不存在,因为非root帐号,请自己手动创建'); } } //2 $db = import($dbtype); $db->changeattr($host, $user, $pass, $base); $db->connectdb(); $msg = $db->errormsg; if(!$this->isempt($msg))exit('数据库错误:'.$msg.''); $dburl = ROOT_PATH.'/'.PROJECT.'/install/rockxinhu.sql'; if(!file_exists($dburl))exit('数据库sql文件不存在'); $sqlss = file_get_contents($dburl); $a = explode("; ", $sqlss); for($i=0; $iquery($sql); if(!$bo){ exit('导入失败:'.$db->error().''); } } $db->query("delete from `".$perfix."option` where `name` is null"); $urs = $db->getone("".$perfix."admin", "`id`=1"); if(!is_array($urs))exit('安装失败:'.$db->error().',可选择手动安装[查看]'); $rand = $this->rock->jm->getRandkey(); $asynkey= md5($this->rock->jm->getRandkey()); $openkey= md5($this->rock->jm->getRandkey()); $txt = " '', //系统URL 'localurl' => '', //本地系统URL,用于服务器上浏览地址 'title' => '$title', //系统默认标题 'apptitle' => '信呼OA', //APP上或PC客户端上的标题 'db_host' => '$host', //数据库地址 'db_user' => '$user', //数据库用户名 'db_pass' => '$pass', //数据库密码 'db_base' => '$base', //数据库名称 'db_engine' => '$engine', //数据库使用引擎 'perfix' => '$perfix', //数据库表名前缀 'qom' => '$qom', //session、cookie前缀 'highpass' => '', //超级管理员密码,可用于登录任何帐号 'db_drive' => '$dbtype', //操作数据库驱动有mysql,mysqli,pdo三种 'randkey' => '$rand', //系统随机字符串密钥 'asynkey' => '$asynkey', //这是异步任务key 'openkey' => '$openkey', //对外接口openkey 'updir' => 'upload', //默认上传目录 'sqllog' => false, //是否记录sql日志保存upload/sqllog下 'asynsend' => false, //是否异步发送提醒消息,为true需开启服务端 'editpass' => '1', //用户登录修改密码:0不用修改,1强制用户必须修改 'install' => true, //已安装,不要去掉啊 'xinhukey' => '$xinhukey', //信呼官网key,在线升级使用 );"; $this->rock->createtxt($paths, $txt); $this->delinstall(); if(file_exists($paths1))@unlink($paths1); c('xinhu')->getdata('xinhuinstall');//这个只是用于统计安装数而已 echo 'success'; } }