[5341] | 1 | <?php |
---|
| 2 | |
---|
| 3 | require_once ROOTPATH.'/modules/calendar/interceptors/Helpers.php'; |
---|
| 4 | |
---|
| 5 | class LDAPMapping extends Helpers { |
---|
| 6 | |
---|
| 7 | public function encodeFindUser( &$uri , &$params , &$criteria , $original ){ |
---|
| 8 | if(isset($criteria['filter'])) |
---|
| 9 | { |
---|
| 10 | if($criteria['filter'][0] === '*' && $criteria['filter'][1] === 'name') //Busca pelo nome usar DFD00032 |
---|
| 11 | $criteria['filter'] = array('AND', |
---|
| 12 | array('AND' , |
---|
| 13 | array('=' , 'objectClass' , 'phpgwAccount'), |
---|
| 14 | array('OR' , |
---|
| 15 | array('=' , 'phpgwAccountType' , 'i'), |
---|
| 16 | array('=' , 'phpgwAccountType' , 'u'), |
---|
| 17 | array('=' , 'phpgwAccountType' , 's') |
---|
| 18 | ) |
---|
| 19 | ), |
---|
| 20 | array('AND' , |
---|
| 21 | array('!','phpgwAccountVisible','-1'), |
---|
| 22 | array('OR', |
---|
| 23 | array('=','phpgwAccountStatus','A'), |
---|
| 24 | array('=','accountStatus','active'), |
---|
| 25 | array('=','objectClass','posixGroup') |
---|
| 26 | ), |
---|
| 27 | array('OR', |
---|
[5437] | 28 | array('*','name',$criteria['filter'][2]), |
---|
[5341] | 29 | array('*','givenName',$criteria['filter'][2]), |
---|
| 30 | array('*','uid',$criteria['filter'][2]), |
---|
| 31 | array('*','sn',$criteria['filter'][2]), |
---|
| 32 | array('*','displayName',$criteria['filter'][2]), |
---|
| 33 | array('*','mail',$criteria['filter'][2]), |
---|
| 34 | array('*','mailAlternateAddress',$criteria['filter'][2]), |
---|
| 35 | ) |
---|
| 36 | ) |
---|
| 37 | ); |
---|
[5804] | 38 | |
---|
| 39 | else |
---|
| 40 | $criteria['filter'] = array('AND', |
---|
| 41 | array('AND' , |
---|
| 42 | array('=' , 'objectClass' , 'phpgwAccount'), |
---|
| 43 | array('OR' , |
---|
| 44 | array('=' , 'phpgwAccountType' , 'i'), |
---|
| 45 | array('=' , 'phpgwAccountType' , 'u'), |
---|
| 46 | array('=' , 'phpgwAccountType' , 's') |
---|
| 47 | ) |
---|
| 48 | ),$criteria['filter'] |
---|
| 49 | ); |
---|
[5341] | 50 | } |
---|
| 51 | |
---|
| 52 | } |
---|
[5437] | 53 | |
---|
[5804] | 54 | |
---|
| 55 | public function encodeFindGroup( &$uri , &$params , &$criteria , $original ){ |
---|
| 56 | if(isset($criteria['filter'])) |
---|
| 57 | { |
---|
| 58 | if($criteria['filter'][0] === '*' && $criteria['filter'][1] === 'name') //Busca pelo nome group DFD00032 |
---|
| 59 | $criteria['filter'] = array('AND', |
---|
| 60 | array('AND' , |
---|
| 61 | array('=' , 'objectClass' , 'phpgwAccount'), |
---|
| 62 | array('=' , 'phpgwAccountType' , 'g') |
---|
| 63 | |
---|
| 64 | ), |
---|
| 65 | array('AND' , |
---|
| 66 | array('!','phpgwAccountVisible','-1'), |
---|
| 67 | array('OR', |
---|
| 68 | array('=','accountStatus','active'), |
---|
| 69 | array('=','objectClass','posixGroup') |
---|
| 70 | ), |
---|
| 71 | array('OR', |
---|
| 72 | array('*','name',$criteria['filter'][2]), |
---|
| 73 | array('*','id',$criteria['filter'][2]), |
---|
| 74 | array('*','mail',$criteria['filter'][2]), |
---|
| 75 | array('*','mailAlternateAddress',$criteria['filter'][2]), |
---|
| 76 | ) |
---|
| 77 | ) |
---|
| 78 | ); |
---|
| 79 | |
---|
| 80 | |
---|
| 81 | else |
---|
| 82 | $criteria['filter'] = array('AND', |
---|
| 83 | array('AND' , |
---|
| 84 | array('=' , 'objectClass' , 'phpgwAccount'), |
---|
| 85 | array('=' , 'phpgwAccountType' , 'g') |
---|
| 86 | ),$criteria['filter'] |
---|
| 87 | ); |
---|
| 88 | } |
---|
| 89 | |
---|
| 90 | } |
---|
| 91 | |
---|
| 92 | |
---|
| 93 | |
---|
[5341] | 94 | } |
---|
| 95 | |
---|
| 96 | ?> |
---|