Changeset 5366


Ignore:
Timestamp:
01/11/12 16:42:50 (12 years ago)
Author:
cristiano
Message:

Ticket #2434 - Inclusão do novo módulo de agenda no ambiente trunk

Location:
trunk/prototype/modules/calendar/interceptors
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/modules/calendar/interceptors/DAViCalAdapter.php

    r5341 r5366  
    2828        {       
    2929            ob_start(); 
    30             require_once ROOTPATH.'/modules/calendar/interceptors/DAViCalAdapter.php'; 
    3130            $schedulable = Controller::read( array( 'concept' => 'schedulable' , 'id' => $original['properties']['schedulable'] ) , null , array('deepness' => '2') ); 
    3231            $schedulable['URI']['concept'] = 'schedulable'; 
     
    4039     
    4140    static function import($data , $params = false) 
    42     {      
     41    {               
     42        $user =  Controller::find(array('concept' => 'user' , 'service' => 'OpenLDAP' ),false,array('filter' => array('=','uid',$params['owner'])));   
     43        $params['owner'] = $user[0]['id']; 
     44         
    4345        self::initSessionVars(array('user' => array('uidNumber' => $params['owner'] ))); 
    4446         
     
    6769     
    6870    static function delete($data , $params = false) 
    69     {     
     71    {          
     72        $user =  Controller::find(array('concept' => 'user' , 'service' => 'OpenLDAP' ),false,array('filter' => array('=','uid',$params['owner'])));   
     73        $params['owner'] = $user[0]['id']; 
     74         
    7075        self::initSessionVars(array('user' => array('uidNumber' => $params['owner'] ))); 
    7176 
     
    114119    static function move($origem , $destino , $owner) 
    115120    {     
     121        $user =  Controller::find(array('concept' => 'user' , 'service' => 'OpenLDAP' ),false,array('filter' => array('=','uid',$owner)));   
     122        $owner = $user[0]['id']; 
     123         
    116124        self::initSessionVars(array('user' => array('uidNumber' => $owner))); 
    117125 
  • trunk/prototype/modules/calendar/interceptors/DBMapping.php

    r5341 r5366  
    683683        
    684684        $newCriteria = $original['criteria']; 
    685          
    686         $newCriteria['filter'] = array('AND',$newCriteria['filter'] , array('=' , 'owner', $_SESSION['wallet']['user']['uidNumber']) );         
    687         $externalUsers = Controller::find( $newuri , $original['properties'] ? $original['properties'] : null , $newCriteria ); 
    688          
    689         if(is_array($externalUsers)) 
    690         { 
    691             foreach ($externalUsers as $i => $v) 
    692                 $externalUsers[$i]['isExternal'] = '1'; 
    693         } 
    694         else 
    695             $externalUsers = array(); 
    696          
    697         if(!is_array($result)) 
    698                 $result = array(); 
    699              
    700         return array_merge($result, $externalUsers);     
     685        $valid = true; 
     686        self::validExternalUserCriteria($newCriteria, self::$calendar_ex_participantMap, $valid); 
     687        if($valid == true) 
     688        { 
     689             $newCriteria['filter'] = array('AND',$newCriteria['filter'] , array('=' , 'owner', $_SESSION['wallet']['user']['uidNumber']) );         
     690            $externalUsers = Controller::find( $newuri , $original['properties'] ? $original['properties'] : null , $newCriteria ); 
     691 
     692            if(is_array($externalUsers)) 
     693            { 
     694                foreach ($externalUsers as $i => $v) 
     695                    $externalUsers[$i]['isExternal'] = '1'; 
     696            } 
     697            else 
     698                $externalUsers = array(); 
     699 
     700            if(!is_array($result)) 
     701                    $result = array(); 
     702 
     703            return array_merge($result, $externalUsers);     
     704        } 
     705        
    701706    } 
    702707 
     
    975980    }   
    976981     
     982    private static function validExternalUserCriteria( $filter, $map , &$ref ) 
     983    { 
     984        if (!is_array($filter) || count($filter) <= 0) 
     985            return null; 
     986 
     987        $op = array_shift($filter); 
     988 
     989        if (is_array($filter[0])) { 
     990            foreach ($filter as $i => $f) 
     991                $filter[$i] = self::validExternalUserCriteria($f, $map ,$findCalendar ); 
     992        } 
     993        else 
     994        { 
     995           if( isset($filter[0]) && !in_array($filter[0] , self::$calendar_ex_participantMap)) 
     996             $ref = false; 
     997   
     998            else 
     999                $filter[0] = isset($map[$filter[0]]) ? $map[$filter[0]] : $filter[0]; 
     1000        } 
     1001 
     1002        array_unshift($filter, $op); 
     1003 
     1004        return( $filter ); 
     1005    } 
     1006     
    9771007    private static function schedulable2calendarToObject($Schedulable) 
    9781008    { 
Note: See TracChangeset for help on using the changeset viewer.