Example #1
0
 /**
  * function connect($databaseParameters = array()):
  * Method that make the connection to the database
  */
 public static function connect($databaseParameters = array())
 {
     try {
         if (self::$__conn === null) {
             // check for properties first.
             if (!isset($databaseParameters['host']) && !isset($databaseParameters['name']) && !isset($databaseParameters['user']) && !isset($databaseParameters['pass']) && !isset($databaseParameters['app'])) {
                 throw new Exception('These parameters are obligatory: host="database ip or hostname", name="database name", user="******", pass="******", app="path of your sencha application"');
             }
             // Connect using regular PDO Matcha::connect Abstraction layer.
             // but make only a connection, not to the database.
             // and then the database
             self::$__app = $databaseParameters['app'];
             $host = (string) (isset($databaseParameters['host']) ? $databaseParameters['host'] : 'localhost');
             $port = (int) (isset($databaseParameters['port']) ? $databaseParameters['port'] : '3306');
             $dbName = (string) $databaseParameters['name'];
             $dbUser = (string) $databaseParameters['user'];
             $dbPass = (string) $databaseParameters['pass'];
             self::$__conn = new PDO('mysql:host=' . $host . ';port=' . $port . ';', $dbUser, $dbPass, array(PDO::MYSQL_ATTR_LOCAL_INFILE => 1, PDO::ATTR_PERSISTENT => true));
             self::$__conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
             self::$__conn->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
             // check if the database exist.
             self::__createDatabase($dbName);
             self::$__conn->query('USE ' . $dbName . ';');
             // set the encryption secret key if provided
             if (isset($databaseParameters['key'])) {
                 self::$__secretKey = $databaseParameters['key'];
             }
         }
         return self::$__conn;
     } catch (Exception $e) {
         MatchaErrorHandler::__errorProcess($e);
         return false;
     }
 }
Example #2
0
                foreach ($vars as $var) {
                    utf8_encode_deep($input->{$var});
                }
            }
        }
    }
}
$response = null;
if (is_array($data)) {
    $response = array();
    foreach ($data as $d) {
        $response[] = doRpc($d);
    }
} else {
    $response = doRpc($data);
}
utf8_encode_deep($response);
if ($isForm && $isUpload) {
    print '<html><body><textarea>';
    $json = htmlentities(json_encode($response), ENT_NOQUOTES | ENT_SUBSTITUTE, 'UTF-8');
    $json = mb_convert_encoding($json, 'UTF-8', 'UTF-8');
    print $json;
    print '</textarea></body></html>';
} else {
    header('Content-Type: application/json; charset=utf-8');
    $json = htmlentities(json_encode($response), ENT_NOQUOTES | ENT_SUBSTITUTE, 'UTF-8');
    $json = mb_convert_encoding($json, 'UTF-8', 'UTF-8');
    print $json;
}
Matcha::$__conn = null;