Example #1
0
 public function postQuery($callName, $input, $par = array())
 {
     $par = DBJson::mysql_real_escape_string($par);
     $params = array();
     extract($par, EXTR_OVERWRITE);
     $config = parse_ini_file(dirname(__FILE__) . '/config.ini', TRUE);
     $obj = $input;
     $answer = DBRequest::request2($obj->getRequest(), $obj->getCheckSession(), $config);
     $result = Model::isOK();
     $result['content'] = array();
     $res = array();
     foreach ($answer as $query_result) {
         $obj = new Query();
         if ($query_result['errno'] != 0) {
             if (isset($query_result['errno']) && $query_result['errno'] != 0) {
                 Logger::Log('GET queryResult failed errno: ' . $query_result['errno'] . ' error: ' . $query_result['error'], LogLevel::ERROR);
             }
             if (!isset($query_result['content']) || !$query_result['content']) {
                 Logger::Log('GET queryResult failed, no content', LogLevel::ERROR);
             }
             if (isset($query_result['errno']) && $query_result['errno'] == 401) {
                 $result = Model::isRejected();
             } else {
                 $result = Model::isProblem();
             }
         } elseif (gettype($query_result['content']) == 'boolean') {
             $obj->setResponse(array());
             if (isset($query_result['affectedRows'])) {
                 $obj->setAffectedRows($query_result['affectedRows']);
             }
             if (isset($query_result['insertId'])) {
                 $obj->setInsertId($query_result['insertId']);
             }
             if (isset($query_result['errno'])) {
                 $obj->setErrno($query_result['errno']);
             }
             if (isset($query_result['numRows'])) {
                 $obj->setNumRows($query_result['numRows']);
             }
             if (isset($query_result['errno']) && $query_result['errno'] > 0) {
                 $result = Model::isProblem();
             } else {
                 $result = Model::isCreated();
             }
         } else {
             $data = array();
             if (isset($query_result['numRows']) && $query_result['numRows'] > 0) {
                 $data = $query_result['content'];
             }
             $obj->setResponse($data);
             if (isset($query_result['affectedRows'])) {
                 $obj->setAffectedRows($query_result['affectedRows']);
             }
             if (isset($query_result['insertId'])) {
                 $obj->setInsertId($query_result['insertId']);
             }
             if (isset($query_result['errno'])) {
                 $obj->setErrno($query_result['errno']);
             }
             if (isset($query_result['numRows'])) {
                 $obj->setNumRows($query_result['numRows']);
             }
             if (isset($query_result['errno']) && $query_result['errno'] > 0) {
                 $result = Model::isProblem();
             } else {
                 $result = Model::isCreated();
             }
             //$result = Model::isOK();
         }
         $res[] = $obj;
     }
     if (count($res) == 1) {
         $res = $res[0];
     }
     $result['content'] = $res;
     return $result;
 }
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;
 }