Example #1
0
 /**
  * Converte os dados de uma STRING JSON para o Objeto Where
  * 
  * @param string $data
  * @return \ZendT_Db_Where 
  */
 public static function fromJson($data)
 {
     if (is_string($data)) {
         try {
             $data = Zend_Json_Decoder::decode(stripslashes(base64_decode($data)));
         } catch (Exception $ex) {
             $data = stripslashes(urldecode($data));
             $data = Zend_Json_Decoder::decode($data);
             if (!isset($data['ZendT_Db_Where'])) {
                 if (count($data['filter']) > 0) {
                     $where = array();
                     $where['groupOp'] = $data['filter_groupop'];
                     $where['filter'] = $data['filter'];
                     $data = array();
                     $data['ZendT_Db_Where'] = $where;
                 }
             }
         }
     }
     if (!isset($data['ZendT_Db_Where']['groupOp'])) {
         return new ZendT_Db_Where();
     }
     if ($data['ZendT_Db_Where']['filter']) {
         foreach ($data['ZendT_Db_Where']['filter'] as $filter) {
             if ($filter['operation'] == 'in') {
                 if (is_string($filter['value']) && strpos($filter['value'], ',') !== false) {
                     $filter['value'] = explode(',', $filter['value']);
                 }
             }
         }
     }
     $filter = $data['ZendT_Db_Where']['filter'];
     $groupOp = $data['ZendT_Db_Where']['groupOp'];
     $result = new ZendT_Db_Where($groupOp);
     $result->setFilter($filter);
     return $result;
 }