Jelajahi Sumber

update: 1. 支持安装时配置数据库自定义表前缀
2. 调整安装时数据库格式和导入逻辑

Jackson Dou 2 tahun lalu
induk
melakukan
14f4d5c957

+ 1 - 1
src/admin/controllers/accounts/sync.php

@@ -45,7 +45,7 @@ if (count($DomainList) > 0) {
     $result = $DB->delete('account_domain', array('domain_account_id' => $account_id));
     $result = $DB->delete('account_domain', array('domain_account_id' => $account_id));
     // 同步到本地
     // 同步到本地
     // $result = $DB->insert('account_domain', $DomainList);
     // $result = $DB->insert('account_domain', $DomainList);
-    $sql = "INSERT INTO `hosting_account_domain` (domain_name,domain_account_id) VALUES " . implode(',', $DomainList);
+    $sql = "INSERT INTO `pre_account_domain` (domain_name,domain_account_id) VALUES " . implode(',', $DomainList);
     $result = $DB->query($sql);
     $result = $DB->query($sql);
 }
 }
 redirect('admin/accounts', '', array('action' => 'view', 'account_id' => $account_id));
 redirect('admin/accounts', '', array('action' => 'view', 'account_id' => $account_id));

+ 1 - 1
src/admin/views/accounts/list.php

@@ -63,7 +63,7 @@
     <?php endforeach;?>
     <?php endforeach;?>
 <?php else: ?>
 <?php else: ?>
                     <tr>
                     <tr>
-                        <td colspan="6" class="text-center">Nothing found</td>
+                        <td colspan="8" class="text-center">Nothing found</td>
                     </tr>
                     </tr>
 <?php endif;?>
 <?php endif;?>
                     </tbody>
                     </tbody>

+ 1 - 1
src/admin/views/clients/list.php

@@ -56,7 +56,7 @@
 <?php endforeach;?>
 <?php endforeach;?>
 <?php else: ?>
 <?php else: ?>
                     <tr>
                     <tr>
-                        <td colspan="6" class="text-center">Nothing found</td>
+                        <td colspan="7" class="text-center">Nothing found</td>
                     </tr>
                     </tr>
 <?php endif;?>
 <?php endif;?>
                     </tbody>
                     </tbody>

+ 1 - 1
src/admin/views/hosting-provider/list.php

@@ -46,7 +46,7 @@ if (!defined('IN_CRONLITE')) {
                     <?php endforeach;?>
                     <?php endforeach;?>
                     <?php else: ?>
                     <?php else: ?>
                         <tr>
                         <tr>
-                            <td colspan="5" class="text-center">Nothing found</td>
+                            <td colspan="6" class="text-center">Nothing found</td>
                         </tr>
                         </tr>
                     <?php endif;?>
                     <?php endif;?>
                     </tbody>
                     </tbody>

+ 1 - 1
src/admin/views/ssl-provider/list.php

@@ -51,7 +51,7 @@ if (!defined('IN_CRONLITE')) {
 <?php endforeach;?>
 <?php endforeach;?>
 <?php else: ?>
 <?php else: ?>
                         <tr>
                         <tr>
-                            <td colspan="6" class="text-center">Nothing found</td>
+                            <td colspan="7" class="text-center">Nothing found</td>
                         </tr>
                         </tr>
 <?php endif;?>
 <?php endif;?>
                     </tbody>
                     </tbody>

+ 1 - 1
src/admin/views/tickets/list.php

@@ -47,7 +47,7 @@
                     <?php endforeach;?>
                     <?php endforeach;?>
                     <?php else: ?>
                     <?php else: ?>
                         <tr>
                         <tr>
-                            <td colspan="5" class="text-center">Nothing found</td>
+                            <td colspan="7" class="text-center">Nothing found</td>
                         </tr>
                         </tr>
                     <?php endif;?>
                     <?php endif;?>
 
 

+ 3 - 3
src/core/application.php

@@ -1,8 +1,8 @@
 <?php
 <?php
 
 
-ini_set('display_errors', 'On');
-error_reporting(E_ALL);
-error_reporting(-1);
+// ini_set('display_errors', 'On');
+// error_reporting(E_ALL);
+// error_reporting(-1);
 
 
 if (defined('IN_CRONLITE')) {
 if (defined('IN_CRONLITE')) {
     exit('Access Denied');
     exit('Access Denied');

+ 0 - 66
src/data/demo.sql

@@ -1,66 +0,0 @@
-
-SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
-SET AUTOCOMMIT = 0;
-START TRANSACTION;
-SET time_zone = "+00:00";
-
-
-CREATE TABLE IF NOT EXISTS `users`(
-    `id` INT(11) NOT NULL AUTO_INCREMENT,
-    `name` VARCHAR(255) NOT NULL,
-    `email` VARCHAR(255) NOT NULL,
-    `username` VARCHAR(255) NOT NULL,
-    `password` VARCHAR(255) NOT NULL,
-    `website` VARCHAR(255) NOT NULL,
-    `image` VARCHAR(255) NOT NULL,
-    `created_at` INT(11) NOT NULL,
-    `reset_code` CHAR(32) NOT NULL,
-    `is_active` TINYINT(4) NOT NULL,
-    PRIMARY KEY(`id`)
-) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 100;
-
-INSERT INTO `users` (`id`, `name`, `email`, `username`, `password`, `website`, `image`, `created_at`, `reset_code`, `is_active`) VALUES
-(1, 'Administrator', 'support@uiisc.com', 'admin', '$2y$10$g6SsReRUJDV0IANO7ZBamOGNQ7sE7zayFiXOC6sgU0lPjxq1b4yuu', 'http://uiisc.com', '5de69dbb55cc3623871b98adc74628081558340869.png', 1550143252, '', 1)
-
-CREATE TABLE IF NOT EXISTS `emails`(
-    `id` INT(11) NOT NULL AUTO_INCREMENT,
-    `date` VARCHAR(255) NOT NULL,
-    `subject` VARCHAR(255) NOT NULL,
-    `body` VARCHAR(5000) NOT NULL,
-    `user_id` INT(11) NOT NULL,
-    `read` TINYINT(1) NOT NULL DEFAULT '0',
-    PRIMARY KEY(`id`)
-) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 100;
-
-CREATE TABLE IF NOT EXISTS `tickets`(
-    `id` INT(11) NOT NULL AUTO_INCREMENT,
-    `date` VARCHAR(255) NOT NULL,
-    `department` VARCHAR(255) NOT NULL,
-    `subject` VARCHAR(255) NOT NULL,
-    `content` VARCHAR(5000) NOT NULL,
-    `status` TINYINT(4) NOT NULL,
-    `lastupdated` VARCHAR(255) NOT NULL,
-    `user_id` INT(11) NOT NULL,
-    PRIMARY KEY(`id`)
-) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 100;
-
-CREATE TABLE IF NOT EXISTS `tickets_comment`(
-    `id` INT(11) NOT NULL AUTO_INCREMENT,
-    `date` VARCHAR(255) NOT NULL,
-    `department` VARCHAR(255) NOT NULL,
-    `comment` VARCHAR(5000) NOT NULL,
-    `user_type` VARCHAR(255) NOT NULL,
-    `lastupdated` VARCHAR(255) NOT NULL,
-    `tickets_id` INT(11) NOT NULL,
-    PRIMARY KEY(`id`)
-) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 100;
-
-CREATE TABLE IF NOT EXISTS `news`(
-    `id` INT(11) NOT NULL AUTO_INCREMENT,
-    `date` VARCHAR(255) NOT NULL,
-    `title` VARCHAR(255) NOT NULL,
-    `content` VARCHAR(5000) NOT NULL,
-    `status` TINYINT(4) NOT NULL,
-    `lastupdated` VARCHAR(255) NOT NULL,
-    PRIMARY KEY(`id`)
-) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 100;

+ 2 - 1
src/install/application.php

@@ -11,6 +11,7 @@ define('APP_ROOT', dirname(__FILE__) . '/');
 define('ROOT', dirname(APP_ROOT));
 define('ROOT', dirname(APP_ROOT));
 define('CONFIG_FILE', ROOT . '/data/config.php');
 define('CONFIG_FILE', ROOT . '/data/config.php');
 define('LOCK_FILE', ROOT . '/data/install.lock');
 define('LOCK_FILE', ROOT . '/data/install.lock');
+define('DB_FILE', APP_ROOT . '/data/install.sql');
 
 
 $PageInfo = array('title' => 'UIISC', 'rel' => '');
 $PageInfo = array('title' => 'UIISC', 'rel' => '');
 
 
@@ -19,7 +20,7 @@ session_start();
 
 
 if (file_exists(LOCK_FILE)) {
 if (file_exists(LOCK_FILE)) {
     $PageInfo['title'] = 'Done';
     $PageInfo['title'] = 'Done';
-    include __DIR__ . '/views/done.php';
+    include APP_ROOT . '/views/install/done.php';
     exit();
     exit();
 }
 }
 
 

+ 6 - 0
src/install/assets/css/style.css

@@ -0,0 +1,6 @@
+.icon-text {
+    background-image: linear-gradient(-45deg, orange, skyblue) !important;
+    background-clip: text;
+    -webkit-background-clip: text;
+    -webkit-text-fill-color: transparent;
+}

+ 58 - 0
src/install/controllers/admin.php

@@ -0,0 +1,58 @@
+<?php
+
+if (!isset($_POST['submit'])) {
+    exit();
+}
+
+include __DIR__ . '/../application.php';
+
+try {
+    $DB = new PDO("mysql:host=" . $dbconfig['hostname'] . ";dbname=" . $dbconfig['dbname'] . ";port=" . $dbconfig['dbport'], $dbconfig['username'], $dbconfig['password']);
+} catch (Exception $e) {
+    $_SESSION['message'] = '<div class="alert alert-danger" role="alert">
+        <button class="close" data-dismiss="alert" type="button" aria-label="Close">
+            <span aria-hidden="true">&times;</span>
+        </button>
+        Connection not established
+    </div>';
+    header('location: ../install.php');
+    exit;
+}
+
+if (empty($errorMsg)) {
+    $FormData = array(
+        'fname' => $_POST['first'],
+        'lname' => $_POST['last'],
+        'password' => hash('sha256', $_POST['password']),
+        'email' => $_POST['email'],
+        'key' => substr(str_shuffle('qwertyuioplkjhgfdsazxcvbnm012345789QWERTYUIOPLKJHGFDSAZXCVBNM'), 0, 8),
+    );
+
+    $sql = "INSERT INTO `" . $dbconfig['prefix'] . "_admin` (`admin_fname`, `admin_lname`, `admin_email`, `admin_key`, `admin_password`) VALUES
+    ('" . $FormData['fname'] . "', '" . $FormData['lname'] . "', '" . $FormData['email'] . "','" . $FormData['key'] . "', '" . $FormData['password'] . "')";
+
+    // print_r($sql);exit;
+    if ($DB->exec($sql)) {
+        if ($DB->exec($sql)) {
+            @file_put_contents(LOCK_FILE, 'success');
+            if (file_exists(LOCK_FILE)) {
+                $_SESSION['message'] = '<div class="alert alert-success" role="alert">
+                    <button class="close" data-dismiss="alert" type="button" aria-label="Close">
+                        <span aria-hidden="true">&times;</span>
+                    </button>
+                    Admin registered <b>successfully!</b>
+                </div>';
+                header('location: ../install.php?step=done');
+                exit();
+            }
+        }
+    }
+} else {
+    $_SESSION['message'] = `<div class="alert alert-danger" role="alert">
+        <button class="close" data-dismiss="alert" type="button" aria-label="Close">
+            <span aria-hidden="true">&times;</span>
+        </button>
+        Something went's <b>wrong!</b>
+    </div>`;
+    header('location: ../install.php?step=1');
+}

+ 58 - 0
src/install/controllers/config.php

@@ -0,0 +1,58 @@
+<?php
+
+if (!isset($_POST['submit'])) {
+    exit();
+}
+
+include __DIR__ . '/../application.php';
+
+try {
+    $DB = new PDO("mysql:host=" . $dbconfig['hostname'] . ";dbname=" . $dbconfig['dbname'] . ";port=" . $dbconfig['dbport'], $dbconfig['username'], $dbconfig['password']);
+} catch (Exception $e) {
+    $_SESSION['message'] = '<div class="alert alert-danger" role="alert">
+        <button class="close" data-dismiss="alert" type="button" aria-label="Close">
+            <span aria-hidden="true">&times;</span>
+        </button>
+        Connection not established
+    </div>';
+    header('location: ../install.php?step=1');
+}
+
+if (empty($errorMsg)) {
+    $FormData = array(
+        'site_name' => $_POST['site_name'],
+        'site_brand' => $_POST['site_brand'],
+        'site_company' => $_POST['site_company'],
+        'site_path' => $_POST['site_path'],
+        'site_email' => $_POST['site_email'],
+    );
+
+    $sql = "INSERT INTO `" . $dbconfig['prefix'] . "_config` (`site_key`, `site_status`, `site_name`, `site_brand`, `site_company`, `site_path`, `site_phone`, `site_email`, `site_build_year`, `page_title`, `page_description`, `page_keywords`, `page_copyright`, `page_author`, `ifastnet_aff`)
+        VALUES
+        ('UIISC', 1, '" . $FormData['site_name'] . "', '" . $FormData['site_brand'] . "', '" . $FormData['site_company'] . "', '" . $FormData['site_path'] . "', '', '" . $FormData['site_email'] . "', 2013, 'UIISC', 'UIISC is a free of cost we hosting and SSL management software allow you to manage your clients and accounts from a single place!', 'uiisc, free hosting clientarea, web hosting clientarea, mofh clientarea, crogram', '® 2013-2023 UIISC', 'UIISC', 19474)";
+    if ($DB->exec($sql)) {
+        $_SESSION['message'] = '<div class="alert alert-success" role="alert">
+                <button class="close" data-dismiss="alert" type="button" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+                Clientarea updated <b>successfully!</b>
+            </div>';
+        header('location: ../install.php?step=2');
+    } else {
+        $_SESSION['message'] = '<div class="alert alert-danger" role="alert">
+                <button class="close" data-dismiss="alert" type="button" aria-label="Close">
+                    <span aria-hidden="true">&times;</span>
+                </button>
+                Connection established <b>successfully!</b>
+            </div>';
+        header('location: ../install.php?step=1');
+    }
+} else {
+    $_SESSION['message'] = `<div class="alert alert-danger" role="alert">
+        <button class="close" data-dismiss="alert" type="button" aria-label="Close">
+            <span aria-hidden="true">&times;</span>
+        </button>
+        Something went's <b>wrong!</b>
+    </div>`;
+    header('location: ../install.php?step=1');
+}

+ 33 - 3
src/install/function/configuration.php → src/install/controllers/database.php

@@ -11,7 +11,7 @@ $username = $_POST['username'];
 $password = $_POST['password'];
 $password = $_POST['password'];
 $dbname = $_POST['dbname'];
 $dbname = $_POST['dbname'];
 $dbport = !empty($_POST['dbport']) ? $_POST['dbport'] : 3306;
 $dbport = !empty($_POST['dbport']) ? $_POST['dbport'] : 3306;
-$prefix = !empty($_POST['prefix']) ? $_POST['prefix'] : 'hosting';
+$prefix = !empty($_POST['prefix']) ? $_POST['prefix'] : 'uiisc';
 
 
 @file_put_contents(CONFIG_FILE, "<?php
 @file_put_contents(CONFIG_FILE, "<?php
 \$dbconfig = array(
 \$dbconfig = array(
@@ -42,8 +42,38 @@ if (!$connect) {
     </div>`;
     </div>`;
     header('location: ../install.php');
     header('location: ../install.php');
 } else {
 } else {
-    include __DIR__ . "/Database.php";
-    if ($sql) {
+    try {
+        $DB = new PDO("mysql:host=" . $dbconfig['hostname'] . ";dbname=" . $dbconfig['dbname'] . ";port=" . $dbconfig['dbport'], $dbconfig['username'], $dbconfig['password']);
+    } catch (Exception $e) {
+        $errorMsg = '连接数据库失败:' . $e->getMessage();
+    }
+    if (empty($errorMsg)) {
+        $DB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
+        $DB->exec("set sql_mode = ''");
+        $DB->exec("set names utf8");
+        $sqls = file_get_contents(DB_FILE);
+        $sqls = explode(';', $sqls);
+        // $sqls[] = "INSERT INTO `pre_config` VALUES ('syskey', '" . random(32) . "')";
+        // $sqls[] = "INSERT INTO `pre_config` VALUES ('build', '" . date("Y-m-d") . "')";
+        $success = 0;
+        $error = 0;
+        $errorMsg = null;
+        foreach ($sqls as $value) {
+            // $value = trim($value);
+            // `pre_  $dbconfig['prefix']
+            $value = str_replace('`pre_', '`' . $dbconfig['prefix'] . '_', trim($value));
+            if (empty($value)) continue;
+            if ($DB->exec($value) === false) {
+                $error++;
+                $dberror = $DB->errorInfo();
+                $errorMsg .= $dberror[2] . "<br>";
+            } else {
+                $success++;
+            }
+        }
+    }
+    if (empty($errorMsg)) {
+        // $lock_status = file_put_contents("install.lock", '安装锁');
         $_SESSION['message'] = `<div class="alert alert-success" role="alert">
         $_SESSION['message'] = `<div class="alert alert-success" role="alert">
             <button class="close" data-dismiss="alert" type="button" aria-label="Close">
             <button class="close" data-dismiss="alert" type="button" aria-label="Close">
                 <span aria-hidden="true">&times;</span>
                 <span aria-hidden="true">&times;</span>

+ 228 - 0
src/install/data/install.sql

@@ -0,0 +1,228 @@
+DROP TABLE IF EXISTS `pre_account`;
+CREATE TABLE `pre_account` (
+  `account_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主机账号ID',
+  `account_client_id` int(11) NOT NULL COMMENT '所属客户ID',
+  `account_key` varchar(8) NOT NULL,
+  `account_api_key` varchar(20) NOT NULL COMMENT '主机提供商类型',
+  `account_username` varchar(22) NOT NULL,
+  `account_password` varchar(16) NOT NULL,
+  `account_domain` varchar(70) NOT NULL,
+  `account_sql` varchar(8) NOT NULL,
+  `account_status` int(1) NOT NULL COMMENT '0未激活1已激活2禁用3删除',
+  `account_addtime` datetime NOT NULL,
+  `account_signup_ip` varchar(20) DEFAULT NULL COMMENT '注册IP',
+  PRIMARY KEY (`account_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_account_api`;
+CREATE TABLE `pre_account_api` (
+  `api_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `api_type` varchar(30) NOT NULL,
+  `api_key` varchar(30) NOT NULL,
+  `api_username` varchar(256) NOT NULL,
+  `api_password` varchar(256) NOT NULL,
+  `api_cpanel_url` varchar(100) NOT NULL,
+  `api_server_ip` varchar(15) NOT NULL,
+  `api_server_domain` varchar(100) NOT NULL,
+  `api_server_ftp_domain` varchar(100) NOT NULL,
+  `api_server_sql_domain` varchar(100) NOT NULL,
+  `api_ns_1` varchar(30) NOT NULL,
+  `api_ns_2` varchar(30) NOT NULL,
+  `api_ns_3` varchar(30) NOT NULL,
+  `api_package` varchar(20) NOT NULL,
+  `api_callback_token` varchar(32) NOT NULL,
+  PRIMARY KEY (`api_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_account_callback`;
+CREATE TABLE `pre_account_callback` (
+  `callback_id` int(11) NOT NULL AUTO_INCREMENT,
+  `callback_date` varchar(30) NOT NULL COMMENT 'date',
+  `callback_client_id` int(11) DEFAULT NULL COMMENT '所属客户ID',
+  `callback_username` varchar(22) NOT NULL COMMENT '主机账号用户名',
+  `callback_action` varchar(30) NOT NULL COMMENT '操作事件',
+  `callback_comments` varchar(500) DEFAULT NULL COMMENT '备注信息',
+  `callback_raw` text NOT NULL COMMENT '接收的完整数据',
+  PRIMARY KEY (`callback_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_account_domain`;
+CREATE TABLE `pre_account_domain` (
+  `domain_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主机账号ID',
+  `domain_account_id` int(11) NOT NULL COMMENT '托管账号ID',
+  `domain_name` varchar(255) NOT NULL COMMENT '域名',
+  PRIMARY KEY (`domain_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_account_hostname`;
+CREATE TABLE `pre_account_hostname` (
+  `host_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `api_id` int(11) NOT NULL,
+  `host_name` varchar(70) NOT NULL,
+  PRIMARY KEY (`host_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_admin`;
+CREATE TABLE `pre_admin` (
+  `admin_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `admin_fname` varchar(30) NOT NULL,
+  `admin_lname` varchar(30) NOT NULL,
+  `admin_email` varchar(50) NOT NULL,
+  `admin_key` varchar(8) NOT NULL,
+  `admin_password` varchar(70) NOT NULL,
+  PRIMARY KEY (`admin_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_builder_api`;
+CREATE TABLE `pre_builder_api` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `builder_id` varchar(7) NOT NULL,
+  `builder_username` varchar(100) NOT NULL,
+  `builder_password` varchar(100) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_clients`;
+CREATE TABLE `pre_clients` (
+  `client_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `client_fname` varchar(30) NOT NULL,
+  `client_lname` varchar(30) NOT NULL,
+  `client_email` varchar(70) NOT NULL,
+  `client_phone` varchar(30) NOT NULL,
+  `client_address` varchar(50) NOT NULL,
+  `client_country` varchar(40) NOT NULL,
+  `client_city` varchar(30) NOT NULL,
+  `client_pcode` varchar(20) NOT NULL,
+  `client_key` varchar(8) NOT NULL,
+  `client_state` varchar(30) NOT NULL,
+  `client_status` int(1) NOT NULL,
+  `client_company` varchar(50) NOT NULL,
+  `client_password` varchar(64) NOT NULL,
+  `client_signup_ip` varchar(20) DEFAULT NULL COMMENT '注册IP',
+  `client_addtime` datetime NOT NULL,
+  `client_updatetime` datetime DEFAULT NULL,
+  PRIMARY KEY (`client_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_config`;
+CREATE TABLE `pre_config` (
+  `site_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `site_key` varchar(20) NOT NULL,
+  `site_status` int(2) NOT NULL,
+  `site_name` varchar(30) NOT NULL,
+  `site_brand` varchar(30) NOT NULL,
+  `site_company` varchar(30) NOT NULL,
+  `site_path` varchar(70) NOT NULL,
+  `site_phone` varchar(30) NOT NULL,
+  `site_email` varchar(50) NOT NULL,
+  `site_build_year` int(4) NOT NULL,
+  `page_title` varchar(80) NOT NULL,
+  `page_description` varchar(200) NOT NULL,
+  `page_keywords` varchar(100) NOT NULL,
+  `page_copyright` varchar(100) NOT NULL,
+  `page_author` varchar(30) NOT NULL,
+  `ifastnet_aff` int(11) DEFAULT NULL,
+  PRIMARY KEY (`site_id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_emails`;
+CREATE TABLE `pre_emails` (
+  `email_id` int(11) NOT NULL AUTO_INCREMENT,
+  `email_client_id` int(11) NOT NULL COMMENT '所属客户ID',
+  `email_date` varchar(255) NOT NULL,
+  `email_to` varchar(255) NOT NULL,
+  `email_subject` varchar(255) NOT NULL,
+  `email_body` text NOT NULL,
+  `email_read` int(1) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`email_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_knowledgebase`;
+CREATE TABLE `pre_knowledgebase` (
+  `knowledgebase_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `knowledgebase_subject` varchar(200) NOT NULL,
+  `knowledgebase_content` varchar(10000) NOT NULL,
+  `knowledgebase_date` varchar(20) NOT NULL,
+  PRIMARY KEY (`knowledgebase_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_news`;
+CREATE TABLE `pre_news` (
+  `news_id` int(11) NOT NULL AUTO_INCREMENT,
+  `news_date` varchar(20) NOT NULL,
+  `news_subject` varchar(255) NOT NULL,
+  `news_content` varchar(5000) NOT NULL,
+  `news_status` int(1) NOT NULL,
+  `news_lastupdated` varchar(20) NOT NULL,
+  PRIMARY KEY (`news_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_smtp`;
+CREATE TABLE `pre_smtp` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `smtp_key` varchar(4) NOT NULL,
+  `smtp_host` varchar(50) NOT NULL,
+  `smtp_username` varchar(50) NOT NULL,
+  `smtp_password` varchar(100) NOT NULL,
+  `smtp_port` varchar(4) NOT NULL,
+  `smtp_from` varchar(50) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_ssl`;
+CREATE TABLE `pre_ssl` (
+  `ssl_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `ssl_api_id` int(11) NOT NULL COMMENT '所属客户ID',
+  `ssl_client_id` int(11) NOT NULL COMMENT '所属客户ID',
+  `ssl_third_id` int(12) NOT NULL COMMENT '第三方标识ID',
+  `ssl_status` varchar(20) DEFAULT NULL COMMENT '状态',
+  `ssl_domain` varchar(255) DEFAULT NULL COMMENT '主域名',
+  `ssl_dcv_method` varchar(20) DEFAULT NULL COMMENT '验证方式',
+  `ssl_admin_email` varchar(255) DEFAULT NULL COMMENT '管理员邮箱',
+  `ssl_begin_date` varchar(30) DEFAULT NULL COMMENT '有效期开始日期',
+  `ssl_end_date` varchar(30) DEFAULT NULL COMMENT '有效期结束日期',
+  `ssl_ca_code` varchar(5000) DEFAULT NULL COMMENT 'CA证书',
+  `ssl_crt_code` varchar(5000) DEFAULT NULL COMMENT '证书内容',
+  `ssl_csr_code` varchar(5000) DEFAULT NULL COMMENT '证书请求信息',
+  `ssl_raw` text COMMENT '第三方完整数据',
+  PRIMARY KEY (`ssl_id`),
+  KEY `ssl_client_id` (`ssl_client_id`),
+  KEY `ssl_status` (`ssl_status`),
+  KEY `ssl_third_id` (`ssl_third_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_ssl_api`;
+CREATE TABLE `pre_ssl_api` (
+  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `api_type` varchar(20) NOT NULL COMMENT '供应商类型',
+  `api_name` varchar(20) NOT NULL COMMENT '供应商标识',
+  `api_username` varchar(256) NOT NULL COMMENT 'API账号',
+  `api_password` varchar(256) NOT NULL COMMENT 'API密码',
+  `api_token` varchar(100) DEFAULT NULL COMMENT 'API密钥',
+  `api_token_expiretime` timestamp NULL DEFAULT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_ticket_replies`;
+CREATE TABLE `pre_ticket_replies` (
+  `reply_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `reply_for` int(11) NOT NULL,
+  `reply_from` varchar(8) NOT NULL,
+  `reply_content` varchar(1000) NOT NULL,
+  `reply_date` varchar(20) NOT NULL,
+  PRIMARY KEY (`reply_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;
+
+DROP TABLE IF EXISTS `pre_tickets`;
+CREATE TABLE `pre_tickets` (
+  `ticket_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
+  `ticket_client_id` int(11) NOT NULL,
+  `ticket_unique_id` int(6) NOT NULL,
+  `ticket_subject` varchar(50) NOT NULL,
+  `ticket_email` varchar(100) NOT NULL,
+  `ticket_department` varchar(10) NOT NULL,
+  `ticket_content` varchar(1000) NOT NULL,
+  `ticket_status` int(11) NOT NULL,
+  `ticket_date` varchar(20) NOT NULL,
+  PRIMARY KEY (`ticket_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;

+ 0 - 219
src/install/function/Database.php

@@ -1,219 +0,0 @@
-<?php
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_account` (
-  `account_id` INT(11) NOT NULL AUTO_INCREMENT COMMENT "主机账号ID",
-  `account_client_id` INT(11) NOT NULL COMMENT "所属客户ID",
-  `account_key` VARCHAR(8) NOT NULL,
-  `account_api_key` varchar(20) NOT NULL COMMENT "主机提供商标识",
-  `account_username` VARCHAR(22) NOT NULL,
-  `account_password` VARCHAR(16) NOT NULL,
-  `account_domain` VARCHAR(70) NOT NULL,
-  `account_sql` VARCHAR(8) NOT NULL,
-  `account_status` INT(1) NOT NULL COMMENT "0未激活1已激活2禁用3删除",
-  `account_addtime` DATETIME NOT NULL,
-  `account_signup_ip` varchar(20) DEFAULT NULL COMMENT "注册IP",
-  PRIMARY KEY (`account_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_account_api` (
-  `api_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
-  `api_type` varchar(30) NOT NULL,
-  `api_key` varchar(20) NOT NULL,
-  `api_username` varchar(256) NOT NULL,
-  `api_password` varchar(256) NOT NULL,
-  `api_cpanel_url` varchar(100) NOT NULL,
-  `api_server_ip` varchar(15) NOT NULL,
-  `api_server_domain` varchar(100) NOT NULL,
-  `api_server_ftp_domain` varchar(100) NOT NULL,
-  `api_server_sql_domain` varchar(100) NOT NULL,
-  `api_ns_1` varchar(30) NOT NULL,
-  `api_ns_2` varchar(30) NOT NULL,
-  `api_ns_3` varchar(30) NOT NULL,
-  `api_package` varchar(20) NOT NULL,
-  `api_callback_token` varchar(32) NOT NULL,
-  PRIMARY KEY (`api_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_account_callback` (
-  `callback_id` int(11) NOT NULL AUTO_INCREMENT,
-  `callback_date` varchar(30) NOT NULL COMMENT "日期",
-  `callback_client_id` int(11) DEFAULT NULL COMMENT "所属客户ID",
-  `callback_username` varchar(22) NOT NULL COMMENT "主机账号用户名",
-  `callback_action` varchar(30) NOT NULL COMMENT "操作事件",
-  `callback_comments` varchar(500) DEFAULT NULL COMMENT "备注信息",
-  `callback_raw` text NOT NULL COMMENT "接收的完整数据",
-  PRIMARY KEY (`callback_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_account_domain` (
-  `domain_id` int(11) NOT NULL AUTO_INCREMENT COMMENT "主机账号ID",
-  `domain_account_id` int(11) NOT NULL COMMENT "托管账号ID",
-  `domain_name` varchar(255) NOT NULL COMMENT "域名",
-  PRIMARY KEY (`domain_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_config` (
-  `site_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
-  `site_key` varchar(20) NOT NULL,
-  `site_status` int(2) NOT NULL,
-  `site_name` varchar(30) NOT NULL,
-  `site_brand` varchar(30) NOT NULL,
-  `site_company` varchar(30) NOT NULL,
-  `site_path` varchar(70) NOT NULL,
-  `site_phone` varchar(30) NOT NULL,
-  `site_email` varchar(50) NOT NULL,
-  `site_build_year` int(4) NOT NULL,
-  `page_title` varchar(80) NOT NULL,
-  `page_description` varchar(200) NOT NULL,
-  `page_keywords` varchar(100) NOT NULL,
-  `page_copyright` varchar(100) NOT NULL,
-  `page_author` varchar(30) NOT NULL,
-  `ifastnet_aff` int(11) DEFAULT NULL,
-  PRIMARY KEY (`site_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_builder_api` (
-  `id` INT(10) unsigned NOT NULL AUTO_INCREMENT,
-  `builder_id` VARCHAR(7) NOT NULL,
-  `builder_username` VARCHAR(100) NOT NULL,
-  `builder_password` VARCHAR(100) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_clients` (
-  `client_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
-  `client_fname` VARCHAR(30) NOT NULL,
-  `client_lname` VARCHAR(30) NOT NULL,
-  `client_email` VARCHAR(70) NOT NULL,
-  `client_phone` VARCHAR(30) NOT NULL,
-  `client_address` VARCHAR(50) NOT NULL,
-  `client_country` VARCHAR(40) NOT NULL,
-  `client_city` VARCHAR(30) NOT NULL,
-  `client_pcode` VARCHAR(20) NOT NULL,
-  `client_key` VARCHAR(8) NOT NULL,
-  `client_state` VARCHAR(30) NOT NULL,
-  `client_status` INT(1) NOT NULL,
-  `client_company` VARCHAR(50) NOT NULL,
-  `client_password` VARCHAR(64) NOT NULL,
-  `client_signup_ip` varchar(20) DEFAULT NULL COMMENT "注册IP",
-  `client_addtime` DATETIME NOT NULL,
-  `client_updatetime` DATETIME DEFAULT NULL,
-  PRIMARY KEY (`client_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_account_hostname` (
-  `host_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
-  `api_id` INT(11) NOT NULL,
-  `host_name` VARCHAR(70) NOT NULL,
-  PRIMARY KEY (`host_id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_smtp` (
-  `id` INT(10) unsigned NOT NULL AUTO_INCREMENT,
-  `smtp_key` VARCHAR(4) NOT NULL,
-  `smtp_host` VARCHAR(50) NOT NULL,
-  `smtp_username` VARCHAR(50) NOT NULL,
-  `smtp_password` VARCHAR(100) NOT NULL,
-  `smtp_port` VARCHAR(4) NOT NULL,
-  `smtp_from` VARCHAR(50) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_ssl` (
-  `ssl_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
-  `ssl_api_id` INT(11) NOT NULL COMMENT "所属客户ID",
-  `ssl_client_id` INT(11) NOT NULL COMMENT "所属客户ID",
-  `ssl_third_id` INT(12) NOT NULL COMMENT "第三方标识ID",
-  `ssl_status` VARCHAR(20) DEFAULT NULL COMMENT "状态",
-  `ssl_domain` VARCHAR(255) DEFAULT NULL COMMENT "主域名",
-  `ssl_dcv_method` VARCHAR(20) DEFAULT NULL COMMENT "验证方式",
-  `ssl_admin_email` VARCHAR(255) DEFAULT NULL COMMENT "管理员邮箱",
-  `ssl_begin_date` VARCHAR(30) DEFAULT NULL COMMENT "有效期开始日期",
-  `ssl_end_date` VARCHAR(30) DEFAULT NULL COMMENT "有效期结束日期",
-  `ssl_ca_code` VARCHAR(5000) DEFAULT NULL COMMENT "CA证书",
-  `ssl_crt_code` VARCHAR(5000) DEFAULT NULL COMMENT "证书内容",
-  `ssl_csr_code` VARCHAR(5000) DEFAULT NULL COMMENT "证书请求信息",
-  `ssl_raw` TEXT COMMENT "第三方完整数据",
-  PRIMARY KEY (`ssl_id`),
-  KEY `ssl_api_id` (`ssl_api_id`),
-  KEY `ssl_client_id` (`ssl_client_id`),
-  KEY `ssl_third_id` (`ssl_third_id`),
-  KEY `ssl_status` (`ssl_status`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_ssl_api` (
-  `id` INT(10) unsigned NOT NULL AUTO_INCREMENT,
-  `api_key` VARCHAR(20) NOT NULL,
-  `api_username` VARCHAR(256) NOT NULL,
-  `api_password` VARCHAR(256) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_tickets` (
-  `ticket_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
-  `ticket_client_id` INT(11) NOT NULL COMMENT "所属客户ID",
-  `ticket_subject` VARCHAR(50) NOT NULL,
-  `ticket_email` VARCHAR(100) NOT NULL,
-  `ticket_department` VARCHAR(10) NOT NULL,
-  `ticket_content` VARCHAR(1000) NOT NULL,
-  `ticket_status` INT(1) NOT NULL,
-  `ticket_date` VARCHAR(20) NOT NULL,
-  PRIMARY KEY (`ticket_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_ticket_replies` (
-  `reply_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
-  `reply_for` INT(11) NOT NULL,
-  `reply_from` VARCHAR(8) NOT NULL,
-  `reply_content` VARCHAR(1000) NOT NULL,
-  `reply_date` VARCHAR(20) NOT NULL,
-  PRIMARY KEY (`reply_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_admin` (
-  `admin_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
-  `admin_fname` VARCHAR(30) NOT NULL,
-  `admin_lname` VARCHAR(30) NOT NULL,
-  `admin_email` VARCHAR(50) NOT NULL,
-  `admin_key` VARCHAR(8) NOT NULL,
-  `admin_password` VARCHAR(70) NOT NULL,
-  PRIMARY KEY (`admin_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, "INSERT INTO `uiisc_account_api`(`api_key`, `api_username`, `api_password`, `api_cpanel_url`, `api_server_ip`, `api_ns_1`, `api_ns_2`, `api_package`) VALUES ('myownfreehost','MOFH API Username','MOFH API Password','cpanel.example.com','185.27.134.46','ns1.byet.org','ns2.byet.org','freehosting')");
-
-$sql = mysqli_query($connect, "INSERT INTO `uiisc_smtp`(`smtp_key`, `smtp_host`, `smtp_username`, `smtp_password`, `smtp_port`, `smtp_from`) VALUES ('SMTP','smtp.gmail.com','example@gmail.com','example123','587','example@gmail.com')");
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_knowledgebase` (
-  `knowledgebase_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
-  `knowledgebase_subject` VARCHAR(200) NOT NULL,
-  `knowledgebase_content` VARCHAR(10000) NOT NULL,
-  `knowledgebase_date` VARCHAR(20) NOT NULL,
-  PRIMARY KEY (`knowledgebase_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, "INSERT INTO `uiisc_ssl_api`(`api_key`, `api_username`, `api_password`) VALUES ('GOGETSSL','example@gmail.com','SSL API Password')");
-
-$sql = mysqli_query($connect, "INSERT INTO `uiisc_builder_api`(`builder_id`, `builder_username`, `builder_password`) VALUES ('SITEPRO','apikey0','API Password')");
-
-$sql = mysqli_query($connect, "INSERT INTO `uiisc_account_hostname`(`host_name`) VALUES ('.example.com')");
-
-$sql = mysqli_query($connect, 'CREATE TABLE IF NOT EXISTS `uiisc_news`(
-  `news_id` INT(11) NOT NULL AUTO_INCREMENT,
-  `news_subject` VARCHAR(255) NOT NULL,
-  `news_content` VARCHAR(5000) NOT NULL,
-  `news_status` INT(1) NOT NULL,
-  `news_date` VARCHAR(20) NOT NULL,
-  `news_lastupdated` VARCHAR(20) NOT NULL,
-  PRIMARY KEY(`news_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;');
-
-$sql = mysqli_query($connect, "CREATE TABLE IF NOT EXISTS `uiisc_emails`(
-  `email_id` INT(11) NOT NULL AUTO_INCREMENT,
-  `email_client_id` INT(11) NOT NULL COMMENT '所属客户ID',
-  `email_date` VARCHAR(255) NOT NULL COMMENT '邮件发送日期',
-  `email_to` VARCHAR(255) NOT NULL COMMENT '邮件接收人',
-  `email_subject` VARCHAR(255) NOT NULL COMMENT '邮件主题',
-  `email_body` TEXT NOT NULL COMMENT '邮件内容',
-  `email_read` INT(1) NOT NULL DEFAULT '0' COMMENT '站内消息是否阅读',
-  PRIMARY KEY(`email_id`)
-) ENGINE=MyISAM AUTO_INCREMENT=1000 DEFAULT CHARSET=utf8mb4;");

+ 0 - 38
src/install/function/Step1.php

@@ -1,38 +0,0 @@
-<?php
-
-if (!isset($_POST['submit'])) {
-    exit();
-}
-
-include __DIR__ . '/../application.php';
-
-$FormData = array(
-    'site_name' => $_POST['site_name'],
-    'site_brand' => $_POST['site_brand'],
-    'site_company' => $_POST['site_company'],
-    'site_path' => $_POST['site_path'],
-    'site_email' => $_POST['site_email'],
-);
-
-$sql = mysqli_query($connect, "INSERT INTO `uiisc_config` (`site_key`,`site_name`,`site_brand`,`site_company`,`site_path`,`site_email`,`site_status`)
-VALUES
-('UIISC','" . $FormData['site_name'] . "','" . $FormData['site_brand'] . "','" . $FormData['site_company'] . "','" . $FormData['site_path'] . "','" . $FormData['site_email'] . "','1')"
-);
-
-if ($sql) {
-    $_SESSION['message'] = '<div class="alert alert-success" role="alert">
-        <button class="close" data-dismiss="alert" type="button" aria-label="Close">
-            <span aria-hidden="true">&times;</span>
-        </button>
-        Clientarea updated <b>successfully!</b>
-    </div>';
-    header('location: ../install.php?step=2');
-} else {
-    $_SESSION['message'] = '<div class="alert alert-danger" role="alert">
-        <button class="close" data-dismiss="alert" type="button" aria-label="Close">
-            <span aria-hidden="true">&times;</span>
-        </button>
-        Something went' . "'" . 's <b>wrong!</b>
-    </div>';
-    header('location: ../install.php?step=1');
-}

+ 0 - 41
src/install/function/Step2.php

@@ -1,41 +0,0 @@
-<?php
-
-if (!isset($_POST['submit'])) {
-    exit();
-}
-
-include __DIR__ . '/../application.php';
-
-$FormData = array(
-    'fname' => $_POST['first'],
-    'lname' => $_POST['last'],
-    'password' => hash('sha256', $_POST['password']),
-    'email' => $_POST['email'],
-    'key' => substr(str_shuffle('qwertyuioplkjhgfdsazxcvbnm012345789QWERTYUIOPLKJHGFDSAZXCVBNM'), 0, 8),
-);
-
-$sql = mysqli_query($connect, "INSERT INTO `uiisc_admin` (`admin_fname`, `admin_lname`, `admin_email`, `admin_key`, `admin_password`) VALUES
-('" . $FormData['fname'] . "', '" . $FormData['lname'] . "', '" . $FormData['email'] . "','" . $FormData['key'] . "', '" . $FormData['password'] . "')");
-
-if ($sql) {
-    @file_put_contents(LOCK_FILE, 'success');
-
-    if (file_exists(LOCK_FILE)) {
-        $_SESSION['message'] = '<div class="alert alert-success" role="alert">
-            <button class="close" data-dismiss="alert" type="button" aria-label="Close">
-                <span aria-hidden="true">&times;</span>
-            </button>
-            Admin registered <b>successfully!</b>
-        </div>';
-        header('location: ../install.php?step=3');
-        exit();
-    }
-}
-
-$_SESSION['message'] = '<div class="alert alert-danger" role="alert">
-    <button class="close" data-dismiss="alert" type="button" aria-label="Close">
-        <span aria-hidden="true">&times;</span>
-    </button>
-    Something went' . "'" . 's <b>wrong!</b>
-</div>';
-header('location: ../install.php?step=2');

+ 21 - 13
src/install/install.php

@@ -2,18 +2,26 @@
 
 
 include __DIR__ . '/application.php';
 include __DIR__ . '/application.php';
 
 
-if (isset($_GET['step'])) {
-    if ($_GET['step'] == 1) {
-        $PageInfo['title'] = 'Client Area';
-        include __DIR__ . '/views/step1.php';
-    } elseif ($_GET['step'] == 2) {
-        $PageInfo['title'] = 'Register Admin';
-        include __DIR__ . '/views/step2.php';
-    } elseif ($_GET['step'] == 3) {
+$step = empty($_GET['step']) ? 0 : $_GET['step'];
+
+switch ($step) {
+    case 0:
+        $PageInfo['title'] = 'Database Configuration';
+        include APP_ROOT . '/views/install/database.php';
+        break;
+    case 1:
+        $PageInfo['title'] = 'System Configuration';
+        include APP_ROOT . '/views/install/config.php';
+        break;
+    case 2:
+        $PageInfo['title'] = 'Admin Configuration';
+        include APP_ROOT . '/views/install/admin.php';
+        break;
+    case 'done':
         $PageInfo['title'] = 'Done';
         $PageInfo['title'] = 'Done';
-        include __DIR__ . '/views/done.php';
-    }
-} else {
-    $PageInfo['title'] = 'Database Configuration';
-    include __DIR__ . '/views/configuration.php';
+        include APP_ROOT . '/views/install/done.php';
+        break;
+    default:
+        exit(403);
+        break;
 }
 }

+ 0 - 50
src/install/views/configuration.php

@@ -1,50 +0,0 @@
-<?php
-
-if (!defined('IN_CRONLITE')) {
-    exit();
-}
-
-require __DIR__ . '/header.php';
-
-?>
-
-<div class="container-fluid" id="login">
-    <div class="row">
-        <div class="col-md-6 offset-md-3 col-lg-4 offset-lg-4">
-            <div class="card mx-30" style="opacity: 80%">
-                <h5 class="text-center my-0">Database Configuration</h5><hr>
-                <form action="function/configuration.php" method="post">
-                    <div class="mb-5">
-                        <label class="form-label">Database Hostname</label>
-                        <input type="text" name="hostname" class="form-control" placeholder="Enter database hostname here...">
-                    </div>
-                    <div class="mb-5">
-                        <label class="form-label">Database Username</label>
-                        <input type="text" name="username" class="form-control" placeholder="Enter database username here...">
-                    </div>
-                    <div class="mb-5">
-                        <label class="form-label">Database Password</label>
-                        <input type="password" name="password" class="form-control" placeholder="Enter database password here...">
-                    </div>
-                    <div class="mb-5">
-                        <label class="form-label">Database Name</label>
-                        <input type="text" name="dbname" class="form-control" placeholder="Enter database name here...">
-                    </div>
-                    <div class="mb-5">
-                        <label class="form-label">Database Port</label>
-                        <input type="text" name="dbport" class="form-control" placeholder="Enter database port here(default:3306)">
-                    </div>
-                    <div class="mb-5">
-                        <label class="form-label">Database prefix</label>
-                        <input type="text" name="prefix" class="form-control" placeholder="Enter database prefix here(default:hosting)">
-                    </div>
-                    <div class="mt-15">
-                        <input type="submit" name="submit" class="btn btn-primary" value="Validate">
-                    </div>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-
-<?php require __DIR__ . '/footer.php';?>

+ 0 - 2
src/install/views/footer.php

@@ -11,8 +11,6 @@ if (isset($_SESSION['message'])) {
     unset($_SESSION['message']);
     unset($_SESSION['message']);
 }?></div>
 }?></div>
 
 
-<script src="../assets/js/halfmoon.min.js"></script>
-<script src="../assets/js/jquery.js"></script>
 
 
 </body>
 </body>
 </html>
 </html>

+ 4 - 2
src/install/views/header.php

@@ -16,9 +16,11 @@ if (!defined('IN_CRONLITE')) {
 
 
     <link rel="icon" href="../assets/image/favicon.ico">
     <link rel="icon" href="../assets/image/favicon.ico">
     <title><?php echo $PageInfo['title']; ?> - UIISC Installation</title>
     <title><?php echo $PageInfo['title']; ?> - UIISC Installation</title>
+    <link href="../assets/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
     <link href="../assets/css/font-awesome.min.css" rel="stylesheet" />
     <link href="../assets/css/font-awesome.min.css" rel="stylesheet" />
-    <link href="../assets/css/style.css" rel="stylesheet" />
-    <link href="../assets/css/login.css" rel="stylesheet" />
+    <link href="../assets/css/common.css" rel="stylesheet" />
+    <link href="assets/css/style.css" rel="stylesheet" />
+    <script src="../assets/js/jquery.js"></script>
 </head>
 </head>
 
 
 <body>
 <body>

+ 8 - 4
src/install/views/home.php

@@ -8,11 +8,15 @@ require __DIR__ . '/header.php';
 
 
 ?>
 ?>
 
 
-<div class="container-fluid" id="login">
+<div class="container" id="login">
     <div class="row">
     <div class="row">
-        <div class="col-md-8 offset-md-2 col-lg-6 offset-lg-3">
-            <div class="card mx-30" style="opacity: 80%">
-                <div class="text-center">
+        <div class="col-xs-12 col-sm-10 col-md-8 center-block" style="float: none;">
+            <h1 class="page-header">UIISC</h1>
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    <span class="panel-title"><?php echo $PageInfo['title']; ?></span>
+                </div>
+                <div class="panel-body text-center">
                     <i class="fa fa-info-circle fa-5x icon-text"></i>
                     <i class="fa fa-info-circle fa-5x icon-text"></i>
                     <h3 class="my-10">Installation</h3>
                     <h3 class="my-10">Installation</h3>
                     <p class="my-5">Hi there! looks like you have not installed UIISC yet. Click the button bellow to start the installation. <i class="fa fa-smile"></i></p>
                     <p class="my-5">Hi there! looks like you have not installed UIISC yet. Click the button bellow to start the installation. <i class="fa fa-smile"></i></p>

+ 19 - 16
src/install/views/step2.php → src/install/views/install/admin.php

@@ -4,16 +4,19 @@ if (!defined('IN_CRONLITE')) {
     exit();
     exit();
 }
 }
 
 
-require __DIR__ . '/header.php';
+require APP_ROOT . '/views/header.php';
 
 
 ?>
 ?>
 
 
-<div class="container-fluid" id="login">
+<div class="container" id="login">
     <div class="row">
     <div class="row">
-        <div class="col-md-6 offset-md-3 col-lg-4 offset-lg-4">
-            <div class="card mx-30" style="opacity: 80%">
-                <h5 class="text-center my-0">Register Admin</h5><hr>
-                <form action="function/Step2.php" method="post" onsubmit="
+        <div class="col-xs-12 col-sm-10 col-md-8 center-block" style="float: none;">
+            <h1 class="page-header">UIISC</h1>
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    <span class="panel-title"><?php echo $PageInfo['title']; ?></span>
+                </div>
+                <form action="controllers/admin.php" method="post" onsubmit="
                     var password = document.getElementById('password').value;
                     var password = document.getElementById('password').value;
                     var cpassword = document.getElementById('cpassword').value;
                     var cpassword = document.getElementById('cpassword').value;
                     if(password != cpassword){
                     if(password != cpassword){
@@ -22,30 +25,30 @@ require __DIR__ . '/header.php';
                     }
                     }
                     return true;
                     return true;
                 ">
                 ">
-                    <div class="row">
-                        <div class="col-6 px-5 mb-10">
+                    <div class="panel-body">
+                        <div class="mb-10">
                             <label class="form-label required">First Name</label>
                             <label class="form-label required">First Name</label>
                             <input type="text" name="first" class="form-control" placeholder="First Name...">
                             <input type="text" name="first" class="form-control" placeholder="First Name...">
                         </div>
                         </div>
-                        <div class="col-6 px-5 mb-10">
+                        <div class="mb-10">
                             <label class="form-label required">Last Name</label>
                             <label class="form-label required">Last Name</label>
                             <input type="text" name="last" class="form-control" placeholder="Last Name...">
                             <input type="text" name="last" class="form-control" placeholder="Last Name...">
                         </div>
                         </div>
-                        <div class="col-md-12 px-5 mb-10">
+                        <div class="mb-10">
                             <label class="form-label required">Email Address</label>
                             <label class="form-label required">Email Address</label>
                             <input type="email" name="email" class="form-control" placeholder="Email Address...">
                             <input type="email" name="email" class="form-control" placeholder="Email Address...">
                         </div>
                         </div>
-                        <div class="col-md-12 px-5 mb-10">
+                        <div class="mb-10">
                             <label class="form-label required">Password</label>
                             <label class="form-label required">Password</label>
                             <input type="password" name="password" id="password" class="form-control" placeholder="Password...">
                             <input type="password" name="password" id="password" class="form-control" placeholder="Password...">
                         </div>
                         </div>
-                        <div class="col-md-12 px-5 mb-10">
+                        <div class="mb-10">
                             <label class="form-label required">Confirm Password</label>
                             <label class="form-label required">Confirm Password</label>
                             <input type="password" name="cpassword" id="cpassword" class="form-control" placeholder="Confirm Password...">
                             <input type="password" name="cpassword" id="cpassword" class="form-control" placeholder="Confirm Password...">
                         </div>
                         </div>
-                          <div class="col-md-12 px-5 mb-10 d-grid">
-                            <button class="btn btn-primary btn-block" name="submit">Signup</button>
-                        </div>
+                    </div>
+                    <div class="panel-footer">
+                        <button class="btn btn-primary btn-block" name="submit">Signup</button>
                     </div>
                     </div>
                 </form>
                 </form>
             </div>
             </div>
@@ -53,4 +56,4 @@ require __DIR__ . '/header.php';
     </div>
     </div>
 </div>
 </div>
 
 
-<?php require __DIR__ . '/footer.php';?>
+<?php require APP_ROOT . '/views/footer.php';?>

+ 50 - 0
src/install/views/install/config.php

@@ -0,0 +1,50 @@
+<?php
+
+if (!defined('IN_CRONLITE')) {
+    exit();
+}
+
+require APP_ROOT . '/views/header.php';
+
+?>
+<div class="container" id="login">
+    <div class="row">
+        <div class="col-xs-12 col-sm-10 col-md-8 center-block" style="float: none;">
+            <h1 class="page-header">UIISC</h1>
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    <span class="panel-title"><?php echo $PageInfo['title']; ?></span>
+                </div>
+                <form action="controllers/config.php" method="post">
+                    <div class="panel-body">
+                        <div class="mb-5">
+                            <label class="form-label">Site Name</label>
+                            <input type="text" name="site_name" class="form-control" placeholder="Enter Site Name here...">
+                        </div>
+                        <div class="mb-10">
+                            <label class="form-label">Clientarea Brand</label>
+                            <input type="text" name="site_brand" class="form-control" placeholder="Enter Brand name here...">
+                        </div>
+                        <div class="mb-10">
+                            <label class="form-label">Clientarea Company</label>
+                            <input type="text" name="site_company" class="form-control" placeholder="Enter Company name here...">
+                        </div>
+                        <div class="mb-10">
+                            <label class="form-label">Clientarea Path</label>
+                            <input type="text" name="site_path" class="form-control" placeholder="Enter Clientarea url here...">
+                        </div>
+                        <div>
+                            <label class="form-label">Clientarea Email</label>
+                            <input type="text" name="site_email" class="form-control" placeholder="Enter Clientarea email here...">
+                        </div>
+                    </div>
+                    <div class="panel-footer">
+                        <input type="submit" name="submit" class="btn btn-primary mb-0" value="Next Step">
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>
+
+<?php require APP_ROOT . '/views/footer.php';?>

+ 55 - 0
src/install/views/install/database.php

@@ -0,0 +1,55 @@
+<?php
+
+if (!defined('IN_CRONLITE')) {
+    exit();
+}
+
+require APP_ROOT . '/views/header.php';
+
+?>
+
+<div class="container" id="login">
+    <div class="row">
+        <div class="col-xs-12 col-sm-10 col-md-8 center-block" style="float: none;">
+            <h1 class="page-header">UIISC</h1>
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    <span class="panel-title"><?php echo $PageInfo['title']; ?></span>
+                </div>
+                <form action="controllers/database.php" method="post">
+                    <div class="panel-body">
+                        <div class="mb-10">
+                            <label class="form-label">Database Hostname</label>
+                            <input type="text" name="hostname" class="form-control" placeholder="Enter database hostname here...">
+                        </div>
+                        <div class="mb-5">
+                            <label class="form-label">Database Username</label>
+                            <input type="text" name="username" class="form-control" placeholder="Enter database username here...">
+                        </div>
+                        <div class="mb-5">
+                            <label class="form-label">Database Password</label>
+                            <input type="password" name="password" class="form-control" placeholder="Enter database password here...">
+                        </div>
+                        <div class="mb-5">
+                            <label class="form-label">Database Name</label>
+                            <input type="text" name="dbname" class="form-control" placeholder="Enter database name here...">
+                        </div>
+                        <div class="mb-5">
+                            <label class="form-label">Database Port</label>
+                            <input type="text" name="dbport" class="form-control" placeholder="Enter database port here(default:3306)">
+                        </div>
+                        <div class="mb-5">
+                            <label class="form-label">Database prefix</label>
+                            <input type="text" name="prefix" class="form-control" placeholder="Enter database prefix here(default:uiisc)">
+                        </div>
+                    </div>
+                    <div class="panel-footer">
+                        <input type="submit" name="submit" class="btn btn-primary btn-sm" value="Validate">
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>
+
+<?php require APP_ROOT . '/views/footer.php';?>

+ 10 - 10
src/install/views/done.php → src/install/views/install/done.php

@@ -4,15 +4,19 @@ if (!defined('IN_CRONLITE')) {
     exit();
     exit();
 }
 }
 
 
-require __DIR__ . '/header.php';
+require APP_ROOT . '/views/header.php';
 
 
 ?>
 ?>
 
 
-<div class="container-fluid" id="login">
+<div class="container" id="login">
     <div class="row">
     <div class="row">
-        <div class="col-md-8 offset-md-2 col-lg-6 offset-lg-3">
-            <div class="card mx-30" style="opacity: 80%">
-                <div class="text-center">
+        <div class="col-xs-12 col-sm-10 col-md-8 center-block" style="float: none;">
+            <h1 class="page-header">UIISC</h1>
+            <div class="panel panel-success">
+                <div class="panel-heading">
+                    <span class="panel-title"><?php echo $PageInfo['title']; ?></span>
+                </div>
+                <div class="panel-body text-center">
                     <i class="fa fa-info-circle fa-5x icon-text"></i>
                     <i class="fa fa-info-circle fa-5x icon-text"></i>
                     <h3 class="my-10">Congratulations</h3>
                     <h3 class="my-10">Congratulations</h3>
                     <p class="my-5">You have successfully installed UIISC.</p>
                     <p class="my-5">You have successfully installed UIISC.</p>
@@ -25,8 +29,4 @@ require __DIR__ . '/header.php';
     </div>
     </div>
 </div>
 </div>
 
 
-<?php
-
-require __DIR__ . '/footer.php';
-
-?>
+<?php require APP_ROOT . '/views/footer.php'; ?>

+ 0 - 46
src/install/views/step1.php

@@ -1,46 +0,0 @@
-<?php
-
-if (!defined('IN_CRONLITE')) {
-    exit();
-}
-
-require __DIR__ . '/header.php';
-
-?>
-
-<div class="container-fluid" id="login">
-    <div class="row">
-        <div class="col-md-6 offset-md-3 col-lg-4 offset-lg-4">
-            <div class="card mx-30" style="opacity: 80%">
-                <h5 class="text-center my-0">Clientarea</h5><hr>
-                <form action="function/Step1.php" method="post">
-                    <div class="mb-5">
-                        <label class="form-label">Site Name</label>
-                        <input type="text" name="site_name" class="form-control" placeholder="Enter Site Name here...">
-                    </div>
-                    <div class="mb-10">
-                        <label class="form-label">Clientarea Brand</label>
-                        <input type="text" name="site_brand" class="form-control" placeholder="Enter Brand name here...">
-                    </div>
-                    <div class="mb-10">
-                        <label class="form-label">Clientarea Company</label>
-                        <input type="text" name="site_company" class="form-control" placeholder="Enter Company name here...">
-                    </div>
-                    <div class="mb-5">
-                        <label class="form-label">Clientarea Path</label>
-                        <input type="text" name="site_path" class="form-control" placeholder="Enter Clientarea url here...">
-                    </div>
-                    <div class="mb-10">
-                        <label class="form-label">Clientarea Email</label>
-                        <input type="text" name="site_email" class="form-control" placeholder="Enter Clientarea email here...">
-                    </div>
-                    <div class="mb-0">
-                        <input type="submit" name="submit" class="btn btn-primary mb-0" value="Next Step">
-                    </div>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-
-<?php require __DIR__ . '/footer.php';?>