Example #1
0
 public static function getRoutedSql($querys, $sql, $checkSession = true)
 {
     $obj = new Query();
     $obj->setRequest($sql);
     $obj->setCheckSession($checkSession);
     // perform the route process
     return Request::routeRequest('POST', '/query', array(), Query::encodeQuery($obj), $querys, 'query');
 }
Example #2
0
 /**
  * decodes $data to an object
  *
  * @param string $data json encoded data (decode=true)
  * or json decoded data (decode=false)
  * @param bool $decode specifies whether the data must be decoded
  * @todo support query arrays
  *
  * @return the object
  */
 public static function decodeQuery($data, $decode = true)
 {
     /* if ( $decode && 
                  $data == null )
                 $data = '{}';
     
             if ( $decode )
                 $data = json_decode( $data );
             
             $isArray = true;
             if ( !$decode ){
                 if ($data !== null){
                     reset($data);
                     if (current($data)!==false && !is_int(key($data))) {
                         $isArray = false;
                     }
                 } else {
                    $isArray = false; 
                 }
             }
             
             if ( $isArray && is_array( $data ) ){
                 $result = array( );
                 foreach ( $data AS $key => $value ){
                     $result[] = new Query( $value );
                 }
                 return $result;
                 
             } else 
                 return new Query( $data );*/
     if ($decode && $data == null) {
         $data = '{}';
     }
     if ($decode) {
         $data = json_decode($data, true);
     }
     if (is_array($data) && !isset($data['response']) && !isset($data['request']) && !isset($data['insertId'])) {
         $result = array();
         foreach ($data as $key => &$value) {
             $obj = new Query();
             if (isset($value['request'])) {
                 $obj->setRequest($value['request']);
                 unset($value['request']);
             }
             if (isset($value['response'])) {
                 $obj->setResponse(json_decode($value['response'], true));
                 unset($value['response']);
             }
             if (isset($value['affectedRows'])) {
                 $obj->setAffectedRows($value['affectedRows']);
                 unset($value['affectedRows']);
             }
             if (isset($value['insertId'])) {
                 $obj->setInsertId($value['insertId']);
                 unset($value['insertId']);
             }
             if (isset($value['errno'])) {
                 $obj->setErrno($value['errno']);
                 unset($value['errno']);
             }
             if (isset($value['numRows'])) {
                 $obj->setNumRows($value['numRows']);
                 unset($value['numRows']);
             }
             if (isset($value['checkSession'])) {
                 $obj->setCheckSession($value['checkSession']);
                 unset($value['checkSession']);
             }
             $result[] = $obj;
             unset($value);
         }
         return $result;
     } else {
         $obj = new Query();
         if (isset($data['request'])) {
             $obj->setRequest($data['request']);
         }
         if (isset($data['response'])) {
             $obj->setResponse(json_decode($data['response'], true));
             unset($data['response']);
         }
         if (isset($data['affectedRows'])) {
             $obj->setAffectedRows($data['affectedRows']);
         }
         if (isset($data['insertId'])) {
             $obj->setInsertId($data['insertId']);
         }
         if (isset($data['errno'])) {
             $obj->setErrno($data['errno']);
         }
         if (isset($data['numRows'])) {
             $obj->setNumRows($data['numRows']);
         }
         if (isset($data['checkSession'])) {
             $obj->setCheckSession($data['checkSession']);
         }
     }
     return $obj;
 }