| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- <?php
- defined('BASEPATH') or exit( 'No direct script access allowed' );
- class Install extends CI_Controller
- {
- public function __construct()
- {
- parent::__construct();
- if( file_exists(FCPATH . 'packs/install/install.lock') )
- {
- exit( '重新安装,请删除./packs/install/install.lock文件' );
- }
- $ip = ("/" == DIRECTORY_SEPARATOR ? $_SERVER["SERVER_ADDR"] : gethostbyname($_SERVER["SERVER_NAME"]));
- return NULL;
- }
- public function index()
- {
- $this->load->view("install.html");
- }
- public function save()
- {
- $host = $this->input->post("host", true);
- $port = (int) $this->input->post("port", true);
- $name = $this->input->post("name", true);
- $prefix = $this->input->post("prefix", true);
- $user = $this->input->post("user", true);
- $pass = $this->input->post("pass", true);
- $admin_name = $this->input->post("admin_name", true);
- $admin_pass = $this->input->post("admin_pass", true);
- if( $port == 0 )
- {
- $port = "";
- }
- if( empty($host) || empty($name) || empty($user) || empty($pass) || empty($admin_name) || empty($admin_pass) )
- {
- exit( "<script>alert('数据不完整~!');history.go(-1);</script>" );
- }
- $this->load->helper("string");
- $Encryption_Key = random_string("alnum", 12);
- $driver = (is_php("5.4") ? "mysqli" : "mysql");
- $config = file_get_contents(FCPATH . "libraries/database.php");
- $config = preg_replace("/'CS_Sqlserver','(.*?)'/", "'CS_Sqlserver','" . $host . "'", $config);
- $config = preg_replace("/'CS_Sqlport','(.*?)'/", "'CS_Sqlport','" . $port . "'", $config);
- $config = preg_replace("/'CS_Sqlname','(.*?)'/", "'CS_Sqlname','" . $name . "'", $config);
- $config = preg_replace("/'CS_Sqluid','(.*?)'/", "'CS_Sqluid','" . $user . "'", $config);
- $config = preg_replace("/'CS_Sqlpwd','(.*?)'/", "'CS_Sqlpwd','" . $pass . "'", $config);
- $config = preg_replace("/'CS_Dbdriver','(.*?)'/", "'CS_Dbdriver','" . $driver . "'", $config);
- $config = preg_replace("/'CS_SqlPrefix','(.*?)'/", "'CS_SqlPrefix','" . $prefix . "'", $config);
- $config = preg_replace("/'CS_Encryption_Key','(.*?)'/", "'CS_Encryption_Key','" . $Encryption_Key . "'", $config);
- if( !write_file(FCPATH . 'libraries/database.php', $config) )
- {
- exit( "<script>alert('./libraries/database.php文件没有修改权限');history.go(-1);</script>" );
- }
- $mukey = random_string("alnum", 16);
- $web_path = str_replace("\\", "/", str_replace(getcwd(), "", FCPATH));
- $config2 = file_get_contents(FCPATH . "libraries/config.php");
- $config2 = preg_replace("/'Mu_Key','(.*?)'/", "'Mu_Key','" . $mukey . "'", $config2);
- $config2 = preg_replace("/'Admin_Name','(.*?)'/", "'Admin_Name','" . $admin_name . "'", $config2);
- $config2 = preg_replace("/'Admin_Code','(.*?)'/", "'Admin_Code','" . $admin_pass . "'", $config2);
- $config2 = preg_replace("/'Web_Path','(.*?)'/", "'Web_Path','" . $web_path . "'", $config2);
- if( !write_file(FCPATH . 'libraries/config.php', $config2) )
- {
- exit( "<script>alert('./libraries/config.php文件没有修改权限');history.go(-1);</script>" );
- }
- $sql = "CREATE TABLE IF NOT EXISTS `" . $prefix . "queue` (\n\t\t `id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t `vid` int(11) DEFAULT '0' COMMENT '视频ID',\n\t\t `xu` tinyint(1) DEFAULT '1' COMMENT '转码码率序号',\n\t\t `path` varchar(255) DEFAULT '' COMMENT '源文件路径',\n\t\t `jpg` varchar(255) DEFAULT '' COMMENT 'JPG图片保存路径',\n\t\t `gif` varchar(255) DEFAULT '' COMMENT 'GIF图片保存路径',\n\t\t `m3u8` varchar(255) DEFAULT '' COMMENT 'm3u8文件保存路径',\n\t\t `duration` varchar(64) DEFAULT '' COMMENT '视频时长',\n\t\t `sid` tinyint(1) DEFAULT '0' COMMENT '0待转码1转码中',\n\t\t `addtime` int(10) DEFAULT '0' COMMENT '转码开始时间',\n\t\t PRIMARY KEY (`id`),\n\t\t KEY `vid` (`vid`)\n\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='转码队列表';\n\t\t#ctcms#\n\t\tCREATE TABLE IF NOT EXISTS `" . $prefix . "class` (\n\t\t `id` int(11) NOT NULL AUTO_INCREMENT,\n\t\t `name` varchar(255) DEFAULT '' COMMENT '分类名称',\n\t\t `xid` tinyint(4) DEFAULT '10' COMMENT '排序越小越前',\n\t\t PRIMARY KEY (`id`)\n\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='分类列表';\n\t\t#ctcms#\n\t\tCREATE TABLE IF NOT EXISTS `" . $prefix . "video` (\n\t\t `id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n\t\t `cid` int(11) DEFAULT '0',\n\t\t `name` varchar(255) DEFAULT '' COMMENT '视频名称',\n\t\t `pic` varchar(255) DEFAULT '' COMMENT '图片保存路径',\n\t\t `path` varchar(255) DEFAULT '' COMMENT '原文件保存路径',\n\t\t `m3u8` varchar(255) DEFAULT '' COMMENT 'm3u8文件保存路径',\n\t\t `md5` varchar(40) DEFAULT '' COMMENT '文件md5',\n\t\t `vid` varchar(64) DEFAULT '' COMMENT '自定义ID',\n\t\t `sid` tinyint(3) DEFAULT '0' COMMENT '转码状态,0待转码,1完成,2失败,3异常',\n\t\t `duration` varchar(64) DEFAULT '' COMMENT '时长',\n\t\t `size` bigint(20) DEFAULT '0' COMMENT '大小',\n\t\t `addtime` int(10) DEFAULT '0' COMMENT '上传时间',\n\t\t PRIMARY KEY (`id`),\n\t\t KEY `vid` (`vid`),\n\t\t KEY `md5` (`md5`)\n\t\t) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='上传视频记录表'";
- if( is_php('5.4') )
- {
- $mysqli = new mysqli($host, $user, $pass);
- if( mysqli_connect_errno() )
- {
- exit( '<script>alert(\'数据库链接失败~!\');history.go(-1);</script>' );
- }
- if( !$mysqli->select_db($name) )
- {
- if( !$mysqli->query("CREATE DATABASE `" . $name . "`") )
- {
- exit( "<script>alert('数据库表《" . $name . "》不存在,请手动创建~!');history.go(-1);</script>" );
- }
- $mysqli->select_db($name);
- }
- $mysqli->query("SET NAMES utf8");
- $sqlarr = explode("#ctcms#", $sql);
- $i = 0;
- while( $i < count($sqlarr) )
- {
- if( !empty($sqlarr[$i]) )
- {
- $mysqli->query($sqlarr[$i]);
- }
- $i++;
- }
- }
- else
- {
- $lnk = mysql_connect($host, $user, $pass);
- if( !$lnk )
- {
- exit( "<script>alert('数据库链接失败~!');history.go(-1);</script>" );
- }
- if( !mysql_select_db($name, $lnk) )
- {
- if( !mysql_query("CREATE DATABASE `" . $name . "`") )
- {
- exit( "<script>alert('数据库表《" . $name . "》不存在,请手动创建~!');history.go(-1);</script>" );
- }
- mysql_select_db($name, $lnk);
- }
- mysql_query('SET NAMES utf8', $lnk);
- $sqlarr = explode("#ctcms#", $sql);
- $i = 0;
- while( $i < count($sqlarr) )
- {
- if( !empty($sqlarr[$i]) )
- {
- mysql_query($sqlarr[$i]);
- }
- $i++;
- }
- }
- if( !write_file(FCPATH . 'packs/install/install.lock', 'ctcms') )
- {
- exit( '<script>alert(\'./packs/install/目录没有写入权限\');history.go(-1);</script>' );
- }
- exit( '<script>alert(\'恭喜您,安装完成\');window.location.href=\'' . $web_path . "admin.php';</script>" );
- }
- }
|