Changeset 5441


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

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoCalendar/setup/tables_current.inc.php

    r5415 r5441  
    122122                'tzid' => array('type' => 'varchar', 'precision' => '50' ,'nullable' => True), 
    123123                'transp' => array( 'type' => 'int', 'precision' => '2', 'nullable' => FALSE , 'default' => 0 ), 
    124                 'sequence' => array( 'type' => 'int', 'precision' => '8', 'nullable' => FALSE , 'default' => 0 ), 
     124                'sequence' => array( 'type' => 'int', 'precision' => '8', 'nullable' => FALSE , 'default' => 0 ) 
    125125            ), 
    126126            'pk' => array('id'), 
  • trunk/prototype/modules/calendar/interceptors/DBMapping.php

    r5437 r5441  
    353353                        DAViCalAdapter::deleteEvent($uri['id'], array('calendar' => $v['calendar_name'])); 
    354354             } 
    355  
     355              
    356356             /* Seta o participante como rejeitado */ 
    357357             Controller::update(array('concept' => 'participant'), array('status' => STATUS_CANCELLED) ,  
    358358             array('filter' =>  
    359359                 array('AND', 
    360                         array('=' , 'user'  ,$_SESSION['wallet']['user']['uidNumber'] ), 
     360                        array('=' , 'user'  ,Config::me('uidNumber') ), 
    361361                        array('=' , 'schedulable'  , $uri['id'] ) 
    362362                     ))); 
  • trunk/prototype/services/OpenLDAP.php

    r5437 r5441  
    147147                $result .= self::parseFilter( $criteria['filter'] , $map); 
    148148        } 
    149          
     149                 
    150150        return $result; 
    151151    } 
     
    154154    { 
    155155        $result = ''; 
    156        
    157         $op = self::parseOperator( array_shift( $filter ) ); 
    158          
     156        $as = array_shift( $filter ); 
     157        $op = self::parseOperator( $as ); 
     158                 
    159159        if( is_array($filter[0]) ) 
    160160        { 
     
    167167        } 
    168168        else  if( isset($map[$filter[0]]) ) 
     169        {    
     170            if($as === '*') $filter[1] = str_replace (' ', '* *', $filter[1]); 
     171               
    169172            $fil = $op[0].$map[$filter[0]].$op[1].$filter[1].$op[2]; 
     173        } 
    170174        else 
    171175            return ''; 
  • 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 = ''; 
  • trunk/prototype/services/iCal.php

    r5437 r5441  
    482482 
    483483                /* Verifica se este usuario é um usuario interno do ldap */      
    484                 $intUser = Controller::find( array( 'concept' => 'user', 'service' => 'OpenLDAP' ) , array('uidNumber') ,array( 'filter' => array('OR' , array('=' , 'mail' ,  $mailUser ), array('=' , 'mailAlternateAddress' ,  $mailUser ) )) );  
    485  
    486                 if( !is_array($intUser) || count($intUser) < 1 ) 
    487                      $intUser = Controller::find( array( 'concept' => 'user' ,'service' => 'PostgreSQL') , array('uidNumber') ,array( 'filter' => array('=' , 'mail' ,  $mailUser )) );  
    488  
     484                 $intUser = Controller::find( array( 'concept' => 'user' ) , array('id','isExternal') ,array( 'filter' => array('OR' , array('=' , 'mail' ,  $mailUser ), array('=' , 'mailAlternateAddress' ,  $mailUser ) )) );  
    489485 
    490486                $user = null;     
    491487                if( $intUser && count($intUser) > 0 ) 
    492488                { 
    493                     $participant['isExternal']  = 0; 
     489                    $participant['isExternal']  = isset($intUser[0]['isExternal']) ? $intUser[0]['isExternal'] : 0; 
    494490                    $participant['user'] = $intUser[0]['id']; 
    495491                } 
     
    525521 
    526522                /* Verifica se este usuario é um usuario interno do ldap */      
    527                 $intUser = Controller::find( array( 'concept' => 'user' ,'service' => 'OpenLDAP') , array('uidNumber') ,array( 'filter' => array('OR' , array('=' , 'mail' ,  $mailUser ), array('=' , 'mailAlternateAddress' ,  $mailUser ) )) );  
    528  
    529                 if( !is_array($intUser) || count($intUser) < 1 ) 
    530                      $intUser = Controller::find( array( 'concept' => 'user' ,'service' => 'PostgreSQL') , array('uidNumber') ,array( 'filter' => array('=' , 'mail' ,  $mailUser )) );  
    531  
     523                $intUser = Controller::find( array( 'concept' => 'user' ) , array('id','isExternal') ,array( 'filter' => array('OR' , array('=' , 'mail' ,  $mailUser ), array('=' , 'mailAlternateAddress' ,  $mailUser ) )) );  
     524       
    532525                $user = null;     
    533526                if( $intUser && count($intUser) > 0 ) 
    534527                { 
    535                     $participant['isExternal']  = 0; 
     528                    $participant['isExternal']  = isset($intUser[0]['isExternal']) ? $intUser[0]['isExternal'] : 0; 
    536529                    $participant['user'] = $intUser[0]['id']; 
    537530                } 
Note: See TracChangeset for help on using the changeset viewer.