<?php 
require 'config.php'; 
require 'DB.php'; 
 
$json = file_get_contents('php://input'); 
 
if (strlen($json) == 0) { 
    $aError = array('MSG' => 'Access Denied'); 
 
    http_response_code(206); 
    header('Content-type: application/json');; 
 
    echo json_encode($aError);     
} 
else { 
    $db = DB::getInstance($cfg_host, $cfg_user, $cfg_pwd, $cfg_db, $cfg_port); 
 
    $entity = ""; 
 
    $msg = "Your entity was created"; 
 
    $tableExists = false; 
 
    if (isset($_REQUEST['entity'])) { 
        $entity = "v3_" . $_REQUEST['entity']; 
        $qry = "SHOW TABLES LIKE '" . $entity . "';"; 
 
        $result = $db->query($qry); 
 
        if (count($result) > 0) { 
            $msg = "Entity already exists"; 
            $tableExists = true; 
        } 
    } 
    else 
        die("Not sent entity name !!!"); 
 
    if (!$tableExists) { 
        $dataArray = json_decode($json, true); 
 
        $qry = "CREATE TABLE " . $entity . "(_id int(11) NOT NULL AUTO_INCREMENT,"; 
 
        foreach ($dataArray as $item => $value) { 
            $field = $item; 
            $type = $value; 
            $typeDB = ""; 
 
            switch ($type) { 
                case 'TEXT': 
                    $typeDB = 'varchar(10000)'; 
                    break; 
                case 'INTEGER': 
                    $typeDB = 'int(11)'; 
                    break; 
 
                case 'DECIMAL': 
                    $typeDB = 'decimal(10,6)'; 
                    break; 
 
                case 'DATETIME': 
                    $typeDB = 'datetime'; 
                    break; 
 
                default: 
                    break; 
            } 
 
            $qry = $qry . $field . " " . $typeDB . ","; 
        } 
 
        $qry = $qry . "PRIMARY KEY (_id))ENGINE=InnoDB DEFAULT CHARSET=utf8;"; 
 
        $db->query($qry); 
    } 
     
    $resArray = array('msg' => $msg); 
 
    http_response_code(200); 
    header('Content-type: application/json'); 
    echo json_encode($resArray); 
} 
?>
 
 |