예제 #1
0
 public static function getQuery($query, $extends = null, $id = "")
 {
     $table = $query["TABLE"];
     $query = ArrestDB::PrepareQueryGET($query, false);
     $result = ArrestDB::Query($query);
     if ($result === false || count($result) == 0) {
         return null;
     } else {
         if (isset($result[0])) {
             foreach ($result as $k => $object) {
                 $result[$k]["__table"] = $table;
             }
         } else {
             $result["__table"] = $table;
         }
     }
     if (isset($extends) === true) {
         $extends = explode(",", $extends);
         try {
             $result = ArrestDB::Extend($result, $extends);
         } catch (Exception $e) {
             $result = ArrestDB::$HTTP[$e->getCode()];
             $result["error"]["detail"] = $e->getMessage();
             return ArrestDB::Reply($result);
         }
     }
     if (function_exists("ArrestDB_postProcess")) {
         $result = ArrestDB_postProcess('GET', $table, $id, $result);
     }
     return ArrestDB::ObfuscateId($result);
 }
예제 #2
0
    } else {
        if (is_array($GLOBALS['_PUT']) === true) {
            $query = [];
            $query["TABLE"] = $table;
            $query["VALUES"] = [];
            foreach ($GLOBALS["_PUT"] as $key => $value) {
                $query["VALUES"][$key] = $value;
            }
            if (function_exists("ArrestDB_modify_query")) {
                $query = ArrestDB_modify_query("PUT", $table, $id, $query);
            }
            $data = [];
            foreach ($query['VALUES'] as $key => $value) {
                $data[$key] = sprintf('"%s" = ?', $key);
            }
            $query2 = array(sprintf('UPDATE "%s" SET %s WHERE "%s" = ?', $query["TABLE"], implode(', ', $data), ArrestDB::TableKeyName($query["TABLE"])));
            $query2 = sprintf('%s;', implode(' ', $query2));
            $result = ArrestDB::Query($query2, $query['VALUES'], $id);
            if ($result === false) {
                $result = ArrestDB::$HTTP[409];
            } else {
                $result = ArrestDB::$HTTP[200];
                if (function_exists(ArrestDB_postProcess)) {
                    ArrestDB_postProcess("PUT", $table, $id);
                }
            }
        }
    }
    return ArrestDB::Reply($result);
});
exit(ArrestDB::Reply(ArrestDB::$HTTP[400]));