- Timestamp:
- 06/11/12 18:05:43 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/modules/filters/interceptors/FilterMapping.php
r6392 r6459 697 697 return( $return ); 698 698 } 699 700 /** 701 * Método que insere no ldap as informações do vacation 702 * 703 * @license http://www.gnu.org/copyleft/gpl.html GPL 704 * @author Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) 705 * @sponsor Caixa Econômica Federal 706 * @author Cristiano Corrêa Schmidt 707 * @param <$uri> 708 * @param <$result> 709 * @param <$criteria> 710 * @param <$original> 711 * @return <void> 712 * @access public 713 */ 714 public function verifyVacationRule( &$uri , &$params , &$criteria , $original ) 715 { 716 if( $original['properties']['id'] === 'vacation' ) 717 { 718 719 $user = Controller::read(array('concept' => 'user' , 'id' => config::me('uidNumber') , 'service' => 'OpenLDAP')); 720 $ldapConf = Config::service('OpenLDAP', 'config'); 721 $con = ldap_connect( $ldapConf['host'] ); 722 ldap_set_option( $con,LDAP_OPT_PROTOCOL_VERSION, 3 ); 723 ldap_bind( $con, $ldapConf['user'], $ldapConf['password']); 724 725 $info = array(); 726 if(!in_array('Vacation', $user['objectClass'])) 727 $info['objectClass'] = 'Vacation'; 728 729 $info['vacationActive'] = strtoupper($original['properties']['enabled']); 730 731 if(isset($original['properties']['actions']) && isset($original['properties']['actions'][0]['parameter'])) 732 $info['vacationInfo'] = $original['properties']['actions'][0]['parameter']; 733 else if( !isset($user['vacationInfo']) ) 734 { 735 $rules = $this->getRules(); 736 if(is_array($rules)) 737 foreach ($rules as $rule) 738 if($rule['id'] === 'vacation') 739 $info['vacationInfo'] = $rule['actions'][0]['parameter']; 740 } 741 742 if(!in_array('Vacation', $user['objectClass'])) 743 ldap_mod_add ( $con , $user['dn'] , $info ); 744 else 745 ldap_modify ( $con , $user['dn'] , $info ); 746 747 748 ldap_close($con); 749 750 } 751 752 } 753 754 /** 755 * Método que remove do ldap as informações do vacation 756 * 757 * @license http://www.gnu.org/copyleft/gpl.html GPL 758 * @author Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) 759 * @sponsor Caixa Econômica Federal 760 * @author Cristiano Corrêa Schmidt 761 * @param <$uri> 762 * @param <$result> 763 * @param <$criteria> 764 * @param <$original> 765 * @return <void> 766 * @access public 767 */ 768 public function deleteVacationRule( &$uri , &$params , &$criteria , $original ) 769 { 770 if( $original['URI']['id'] === 'vacation' ) 771 { 772 $user = Controller::read(array('concept' => 'user' , 'id' => config::me('uidNumber') , 'service' => 'OpenLDAP')); 773 $ldapConf = Config::service('OpenLDAP', 'config'); 774 $con = ldap_connect( $ldapConf['host'] ); 775 ldap_set_option( $con,LDAP_OPT_PROTOCOL_VERSION, 3 ); 776 ldap_bind( $con, $ldapConf['user'], $ldapConf['password']); 777 $info = array(); 778 $info['vacationActive'] = 'FALSE'; 779 $info['vacationInfo'] = ""; 780 ldap_modify ( $con , $user['dn'] , $info ); 781 ldap_close($con); 782 } 783 } 699 784 }
Note: See TracChangeset
for help on using the changeset viewer.