Ignore:
Timestamp:
01/27/12 19:21:30 (12 years ago)
Author:
cristiano
Message:

Ticket #2434 - Atualização modulo agenda e API - Correções de serviços

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/services/PostgreSQL.php

    r5437 r5441  
    88     
    99    public function find ( $uri, $justthese = false, $criteria = false ){ 
    10           
     10                    
    1111        $map =  Config::get($uri['concept'], 'PostgreSQL.mapping'); 
    1212         
     
    3838 
    3939    public function replace ( $uri,  $data, $criteria = false ){ 
    40              
    41             return $this->execSql('UPDATE '.(Config::get($uri['concept'],'PostgreSQL.concept')).' '. self::parseUpdateData( $data ,$uri['concept']).' '.self::parseCriteria($criteria , $uri['concept'])); 
     40            $map = Config::get($uri['concept'], 'PostgreSQL.mapping'); 
     41            return $this->execSql('UPDATE '.(Config::get($uri['concept'],'PostgreSQL.concept')).' '. self::parseUpdateData( $data ,$map).' '.self::parseCriteria($criteria , $map)); 
    4242    } 
    4343                 
    4444    public function update ( $uri,  $data ){ 
    45             return $this->execSql('UPDATE '.(Config::get($uri['concept'],'PostgreSQL.concept')).' '. self::parseUpdateData( $data ,$uri['concept']).' WHERE id = \''. addslashes( $uri['id']) .'\''); 
     45            $map = Config::get($uri['concept'], 'PostgreSQL.mapping'); 
     46            return $this->execSql('UPDATE '.(Config::get($uri['concept'],'PostgreSQL.concept')).' '. self::parseUpdateData( $data ,$map).' WHERE id = \''. addslashes( $uri['id']) .'\''); 
    4647    } 
    4748 
     
    145146    } 
    146147         
    147     private static function parseUpdateData( $data , $concept){ 
    148              
    149             $map = Config::get($concept, 'PostgreSQL.mapping'); 
    150                          
     148    private static function parseUpdateData( $data , &$map){ 
     149                                             
    151150            $d = array(); 
    152151            foreach ($data as $i => $v) 
     
    192191                */ 
    193192 
    194                     $result .= 'WHERE '.self::parseFilter( $criteria['filter'] , $map); 
     193                    $result .= 'WHERE ('.self::parseFilter( $criteria['filter'] , $map).')'; 
    195194            } 
    196195            /* 
     
    236235 
    237236            foreach( $filter as $i => $f ) 
    238                 $nested[] = self::parseFilter( $f , $map); 
    239  
    240             return( '('.implode( ' '.$op.' ', $nested ).')' ); 
     237                if( $n = self::parseFilter( $f , $map)) 
     238                    $nested[] = $n;  
     239 
     240                 
     241            return (count($nested) > 0 ) ? '('.implode( ' '.$op.' ', $nested ).')' : ''; 
    241242        } 
    242243 
    243          
    244         if(isset($map[$filter[0]])) 
    245             $filter[0] = $map[$filter[0]]; 
     244        if(!isset($map[$filter[0]])) return ''; 
     245                   
     246        $filter[0] = $map[$filter[0]]; 
    246247         
    247248        $igSuffix = $igPrefix = ''; 
Note: See TracChangeset for help on using the changeset viewer.