Changeset 6258


Ignore:
Timestamp:
05/21/12 17:10:33 (12 years ago)
Author:
cristiano
Message:

Ticket #2765 - Aviso de ferias de destinatarios na criacao de mensagens conforme filtro fora de escritorio

Location:
sandbox/2.4.1-2/prototype
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • sandbox/2.4.1-2/prototype/config/filter.ini

    r6021 r6258  
    2222makeId = modules/filters/interceptors/FilterMapping.php 
    2323applySieveFilter = modules/filters/interceptors/FilterMapping.php 
     24verifyVacationRule = modules/filters/interceptors/FilterMapping.php 
    2425 
    2526 
    2627[after.update] 
    2728makeId = modules/filters/interceptors/FilterMapping.php 
     29verifyVacationRule = modules/filters/interceptors/FilterMapping.php 
    2830 
    2931 
  • sandbox/2.4.1-2/prototype/config/user.ini

    r5804 r6258  
    4747mailAlternateAddress = mailAlternateAddress 
    4848phpgwAccountStatus = phpgwAccountStatus 
     49vacationInfo = vacationInfo 
     50vacationActive = vacationActive 
    4951accountStatus = accountStatus 
    5052objectClass = objectClass 
  • sandbox/2.4.1-2/prototype/modules/filters/interceptors/FilterMapping.php

    r6213 r6258  
    650650                return( $return ); 
    651651        } 
     652         
     653        /** 
     654         * Método que insere no ldap as informações do vacation 
     655         * 
     656         * @license    http://www.gnu.org/copyleft/gpl.html GPL 
     657         * @author     Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) 
     658         * @sponsor     Caixa Econômica Federal 
     659         * @author     Cristiano Corrêa Schmidt 
     660         * @param      <$uri> 
     661         * @param      <$result> 
     662         * @param      <$criteria> 
     663         * @param      <$original> 
     664         * @return     <void> 
     665         * @access     <public> 
     666         */ 
     667        public function verifyVacationRule( &$uri , &$params , &$criteria , $original  ) 
     668        { 
     669                if( $original['properties']['id'] === 'vacation' ) 
     670                { 
     671         
     672                        $user = Controller::read(array('concept' => 'user' , 'id' => config::me('uidNumber') , 'service' => 'OpenLDAP')); 
     673                        $ldapConf = Config::service('OpenLDAP', 'config'); 
     674                        $con = ldap_connect( $ldapConf['host'] ); 
     675                        ldap_set_option( $con,LDAP_OPT_PROTOCOL_VERSION, 3 ); 
     676                        ldap_bind( $con, $ldapConf['user'], $ldapConf['password']); 
     677         
     678                        $info = array(); 
     679                        if(!in_array('Vacation', $user['objectClass'])) 
     680                                $info['objectClass'] = 'Vacation'; 
     681         
     682                        $info['vacationActive'] = strtoupper($original['properties']['enabled']); 
     683         
     684                        if(isset($original['properties']['actions']) && isset($original['properties']['actions'][0]['parameter'])) 
     685                                $info['vacationInfo']   = $original['properties']['actions'][0]['parameter']; 
     686                        else if( !isset($user['vacationInfo']) ) 
     687                        { 
     688                                $rules = $this->getRules(); 
     689                                if(is_array($rules)) 
     690                                        foreach ($rules as $rule) 
     691                                        if($rule['id'] === 'vacation') 
     692                                        $info['vacationInfo'] = $rule['actions'][0]['parameter']; 
     693                        } 
     694         
     695                        if(!in_array('Vacation', $user['objectClass'])) 
     696                                ldap_mod_add ( $con , $user['dn'] ,  $info ); 
     697                        else 
     698                                ldap_modify ( $con , $user['dn'] ,  $info ); 
     699         
     700         
     701                        ldap_close($con); 
     702         
     703                } 
     704         
     705        } 
    652706} 
Note: See TracChangeset for help on using the changeset viewer.