示例#1
0
         $dbConnection = new DbConnection($jsonDecoded['Username'], $jsonDecoded['Password'], $jsonDecoded['Database_Name'], $jsonDecoded['Host'], $jsonDecoded['Port']);
         if ($dbConnection->DbConnection != null) {
             echo true;
         } else {
             echo 0;
         }
     } else {
         echo 0;
     }
     break;
 case "set_dbinfo":
     if (isset($jsonDecoded['Username']) && isset($jsonDecoded['Password']) && isset($jsonDecoded['Host']) && isset($jsonDecoded['Port']) && isset($jsonDecoded['Database_Name'])) {
         $dbConnection = new DbConnection($jsonDecoded['Username'], $jsonDecoded['Password'], $jsonDecoded['Database_Name'], $jsonDecoded['Host'], $jsonDecoded['Port']);
         if ($dbConnection->DbConnection != null) {
             // Save DB info and build Db.
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Login_Attempts`(\n                    `Attempt_ID` INT( 11 ) AUTO_INCREMENT,\n                     `IP_Address` VARCHAR ( 100 ) NOT NULL,\n                     `Attempt_Date` DATETIME NOT NULL,\n                     PRIMARY KEY (`Attempt_ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Configuration`(\n                    `ID` INT( 11 ) AUTO_INCREMENT,\n                     `Name` VARCHAR( 100 ) NOT NULL,\n                     `Value` VARCHAR( 2048 ) NOT NULL,\n                     PRIMARY KEY (`ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Accounts`(\n                    `User_ID` INT( 11 ) AUTO_INCREMENT,\n                     `Username` VARCHAR( 100 ) NOT NULL,\n                     `Email_Address` VARCHAR( 100 ) NOT NULL,\n                     `Password` VARCHAR( 60 ) NOT NULL,\n                     PRIMARY KEY (`User_ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Accounts_Data`(\n                    `User_ID` INT( 11 ) AUTO_INCREMENT,\n                     `Creation_Date` DATETIME NOT NULL,\n                     `Last_Login_Date` DATETIME NOT NULL,\n                     PRIMARY KEY (`User_ID`))", array());
             // This session table will be cleared regulary to avoid overload - It keeps records of all sessions.
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Sessions_Data`(\n                    `Session_ID` INT( 11 ) AUTO_INCREMENT,\n                     `User_ID` INT ( 11 ) NOT NULL,\n                     `Session_Start` DATETIME NOT NULL,\n                     `Session_Key` VARCHAR( 60 ) NOT NULL,\n                     `Session_IP` VARCHAR( 45 ) NOT NULL,\n                     PRIMARY KEY (`Session_ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Support_Tickets`(\n                    `Ticket_ID` INT( 11 ) AUTO_INCREMENT,\n                     `Ticket_Author` INT ( 11 ) NOT NULL,\n                     `Ticket_Creation` DATETIME NOT NULL,\n                     `Ticket_Title` VARCHAR( 200 ) NULL,\n                     `Ticket_Content` VARCHAR( 10000 ) NOT NULL,\n                     `Ticket_Priority` VARCHAR( 1 ) NULL,\n                     `Ticket_Parent` INT( 11 ) NULL,\n                     PRIMARY KEY (`Ticket_ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Servers`(\n                    `ID` INT( 11 ) AUTO_INCREMENT,\n                     `Owner` INT ( 11 ) NOT NULL,\n                     `Creation` DATETIME NOT NULL,\n                     `Name` VARCHAR( 200 ) NOT NULL,\n                     `Host` VARCHAR( 100 ) NOT NULL,\n                     `App_ID` INT( 11 ) NOT NULL,\n                     `Node` INT( 11 ) NOT NULL,\n                     PRIMARY KEY (`ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Servers_Status`(\n                    `Ping_ID` INT( 11 ) AUTO_INCREMENT,\n                    `Server_ID` INT( 11 ) NOT NULL,\n                     `Time_Pinged` DATETIME NOT NULL,\n                     `Data` VARCHAR (1000) NULL,\n                     PRIMARY KEY (`Ping_ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Nodes`(\n                    `Node` INT( 11 ) AUTO_INCREMENT,\n                     `Name` VARCHAR ( 100 ) NOT NULL,\n                     `Creation` DATETIME NOT NULL,\n                     `Host` VARCHAR( 200 ) NOT NULL,\n                     `Port` VARCHAR( 5 ) NOT NULL,\n                     `Password` VARCHAR( 100 ) NOT NULL,\n                     `Directory` VARCHAR( 100 ) NOT NULL,\n                     `OS` VARCHAR( 50 ) NOT NULL,\n                     `Active` VARCHAR( 1 ) NOT NULL,\n                     `Online` VARCHAR( 1 ) NOT NULL,\n                     PRIMARY KEY (`Node`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Nodes_Status`(\n                    `Ping_ID` INT( 11 ) AUTO_INCREMENT,\n                    `Node` INT( 11 ) NOT NULL,\n                     `Time_Pinged` DATETIME NOT NULL,\n                     `Ping` VARCHAR (4) NOT NULL,\n                     `Load_AVG` VARCHAR( 10 ) NOT NULL,\n                     `HDD_Space` VARCHAR( 150 ) NOT NULL,\n                     `RAM` VARCHAR( 100 ) NOT NULL,\n                     PRIMARY KEY (`Ping_ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Special_Tokens`(\n                    `Token_ID` INT( 11 ) AUTO_INCREMENT,\n                     `Generated` VARCHAR ( 100 ) NOT NULL,\n                     `Creation` DATETIME NOT NULL,\n                     `Type` VARCHAR ( 20 ) NOT NULL,\n                     `Linked` INT ( 11 ) DEFAULT NULL,\n                     PRIMARY KEY (`Token_ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `Supported_Servers` (\n                    `App_ID` INT( 11 ) AUTO_INCREMENT,\n                    `Name` VARCHAR(128),\n                    `Description` VARCHAR(512),\n                    `Installation` VARCHAR(2048),\n                    `Execution` VARCHAR(2048),\n                    `OS` VARCHAR(50),\n                    PRIMARY KEY (`App_ID`))", array());
             $dbConnection->query("CREATE TABLE IF NOT EXISTS `API_Keys` (\n                    `API_ID` INT( 11 ) AUTO_INCREMENT,\n                    `API_Key` VARCHAR(60),\n                    `Access_Filter` VARCHAR(512),\n                    `Creation` DATETIME NOT NULL,\n                    `Capabilities` VARCHAR(128),\n                    PRIMARY KEY (`API_ID`))", array());
             $apiKey = get_key();
             $array = array($apiKey, json_encode(array()), json_encode(array("Master")));
示例#2
0
文件: index.php 项目: GzPanel/GzPanel
$dbConnection = null;
if (!file_exists("../Configuration/internal_data.json")) {
    $failMessage = 'Failed to connect to database. Verify your database information in the configuration.';
} else {
    $string = file_get_contents("../Configuration/internal_data.json");
    $jsonConf = json_decode($string, true);
    $database = $jsonConf;
    //Needs fixes.
    if (!isset($database['name']) || !isset($database['host']) || !isset($database['port']) || !isset($database['username']) || !isset($database['password'])) {
        $failMessage = 'Failed to connect to database. Verify your database information in the configuration.';
    }
    $dbConnection = new DbConnection($database['username'], $database['password'], $database['name'], $database['host'], $database['port']);
    if ($dbConnection->DbConnection == null) {
        $failMessage = 'Failed to connect to database. Verify your database information in the configuration.';
    }
    $rows = $dbConnection->query("SELECT COUNT(*) AS totalTables FROM information_schema.tables WHERE table_schema = '" . $database['name'] . "' and TABLE_TYPE='BASE TABLE'")[0]['totalTables'];
    if ($rows == 0) {
        $failMessage = 'Databases are not set-up. Please re-initiate installation.';
        $dbConnection = null;
    }
}
if ($dbConnection != null) {
    // Version group
    $app->group('/v1', function () use($app, $dbConnection) {
        // Check API key
        $keyValidate = new KeyValidation($dbConnection);
        $app->group('/nodes', function () use($app, $keyValidate, $dbConnection) {
            $params = $app->request->post();
            $app->post('/', function () use($app, $keyValidate, $dbConnection, $params) {
                if (array_key_exists("key", $params) || array_key_exists("secret", $params)) {
                    if ($keyValidate->validateKey($params)) {