Changeset 24 for trunk/expressoAdmin1_2/inc
- Timestamp:
- 05/10/07 11:51:20 (17 years ago)
- Location:
- trunk/expressoAdmin1_2/inc
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
r23 r24 694 694 { 695 695 $justthese = array("cn","uid","uidnumber"); 696 $filter="(&(phpgwAccountType=u)(uid=".$entry[0]['memberuid'][$i]."))"; 696 697 // Montagem dinamica do filtro 698 $filter="(&(phpgwAccountType=u)(|"; 699 for ($k=0; (($k<10) && ($i<$entry[0]['memberuid']['count'])); $k++) 700 { 701 $filter .= "(uid=".$entry[0]['memberuid'][$i].")"; 702 $i++; 703 } 704 $i--; 705 $filter .= "))"; 706 697 707 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 698 708 $user_entry = ldap_get_entries($this->ldap, $search); 699 709 700 if ($user_entry[0]['uid'][0] == '') 701 { 702 $result['memberuid_info'][$i]['cn'] = '0-UID NAO EXISTE, corrigir manualmente: ' . $entry[0]['memberuid'][$i]; 703 $result['memberuid_info'][$i]['uid'] = $entry[0]['memberuid'][$i]; 704 $result['memberuid_info'][$i]['uidnumber'] = $entry[0]['memberuid'][$i]; 705 } 706 else 707 { 708 $result['memberuid_info'][$i]['cn'] = $user_entry[0]['cn'][0]; 709 $result['memberuid_info'][$i]['uid'] = $user_entry[0]['uid'][0]; 710 $result['memberuid_info'][$i]['uidnumber'] = $user_entry[0]['uidnumber'][0]; 711 } 710 for ($j=0; $j<$user_entry['count']; $j++) 711 { 712 $result['memberuid_info'][$user_entry[$j]['uid'][0]]['cn'] = $user_entry[$j]['cn'][0]; 713 $result['memberuid_info'][$user_entry[$j]['uid'][0]]['uidnumber'] = $user_entry[$j]['uidnumber'][0]; 714 $result['memberuid_info'][$user_entry[$j]['uid'][0]]['type'] = 'u'; 715 } 716 } 717 718 // Retira o count do array 719 array_shift($entry[0]['memberuid']); 720 721 // Checamos e-mails que não fazem parte do expresso. 722 // Criamos um array temporario 723 $tmp_array = array(); 724 foreach ($result['memberuid_info'] as $uid => $user_data) 725 { 726 $tmp_array[] = $uid; 727 } 728 729 // Vemos a diferença 730 $array_diff = array_diff($entry[0]['memberuid'], $tmp_array); 731 732 // Incluimos no resultado 733 foreach ($array_diff as $index=>$uid) 734 { 735 $result['memberuid_info'][$uid]['cn'] = $uid; 712 736 } 713 737 … … 718 742 $result['sambaGroup'] = true; 719 743 } 744 720 745 return $result; 721 746 } … … 726 751 $search = ldap_search($this->ldap, $context, $filter); 727 752 $entry = ldap_get_entries($this->ldap, $search); 728 753 729 754 //Pega o dn do setor do usuario. 730 755 $entry[0]['dn'] = strtolower($entry[0]['dn']); … … 734 759 //Retira ultimo pipe. 735 760 $sector_dn = substr($sector_dn,0,(strlen($sector_dn) - 1)); 736 761 737 762 $result['context'] = $sector_dn; 738 763 $result['uidnumber'] = $entry[0]['uidnumber'][0]; … … 742 767 $result['accountStatus'] = $entry[0]['accountstatus'][0]; 743 768 $result['phpgwAccountVisible'] = $entry[0]['phpgwaccountvisible'][0]; 744 769 745 770 //Members 746 771 for ($i=0; $i<$entry[0]['mailforwardingaddress']['count']; $i++) 747 772 { 748 $justthese = array("cn", "uidnumber", "uid", "phpgwaccounttype"); 749 $filter="(&(|(phpgwAccountType=u)(phpgwAccountType=l))(mail=".$entry[0]['mailforwardingaddress'][$i]."))"; 773 $justthese = array("cn", "uidnumber", "uid", "phpgwaccounttype", "mail"); 774 775 // Montagem dinamica do filtro 776 $filter="(&(|(phpgwAccountType=u)(phpgwAccountType=l))(|"; 777 for ($k=0; (($k<10) && ($i<$entry[0]['mailforwardingaddress']['count'])); $k++) 778 { 779 $filter .= "(mail=".$entry[0]['mailforwardingaddress'][$i].")"; 780 $i++; 781 } 782 $i--; 783 $filter .= "))"; 784 750 785 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 751 786 $user_entry = ldap_get_entries($this->ldap, $search); 752 753 if ($user_entry['count'] != 0) 754 { 755 $result['members_info'][$user_entry[0]['uidnumber'][0]]['uid'] = $user_entry[0]['uid'][0]; 756 $result['members_info'][$user_entry[0]['uidnumber'][0]]['cn'] = $user_entry[0]['cn'][0]; 757 $result['members_info'][$user_entry[0]['uidnumber'][0]]['type'] = $user_entry[0]['phpgwaccounttype'][0]; 758 $result['members_info'][$user_entry[0]['uidnumber'][0]]['mailforwardingaddress'] = $entry[0]['mailforwardingaddress'][$i]; 759 $result['members'][] = $user_entry[0]['uidnumber'][0]; 760 } 761 else 762 { 763 $result['members_info'][$entry[0]['mailforwardingaddress'][$i]]['uid'] = $entry[0]['mailforwardingaddress'][$i]; 764 $result['members_info'][$entry[0]['mailforwardingaddress'][$i]]['cn'] = 'E-Mail nao encontrado (' . $entry[0]['mailforwardingaddress'][$i] . ')'; 765 $result['members_info'][$entry[0]['mailforwardingaddress'][$i]]['mailforwardingaddress'] = $entry[0]['mailforwardingaddress'][$i]; 766 $result['members'][] = $entry[0]['mailforwardingaddress'][$i]; 767 } 768 } 769 770 return $result; 787 788 for ($j=0; $j<$user_entry['count']; $j++) 789 { 790 $result['members_info'][$user_entry[$j]['uidnumber'][0]]['uid'] = $user_entry[$j]['uid'][0]; 791 $result['members_info'][$user_entry[$j]['uidnumber'][0]]['cn'] = $user_entry[$j]['cn'][0]; 792 $result['members_info'][$user_entry[$j]['uidnumber'][0]]['type'] = $user_entry[$j]['phpgwaccounttype'][0]; 793 $result['members_info'][$user_entry[$j]['uidnumber'][0]]['mail'] = $user_entry[$j]['mail'][0]; 794 $result['members'][] = $user_entry[$j]['uidnumber'][0]; 795 } 796 } 797 798 // Retira o count do array 799 array_shift($entry[0]['mailforwardingaddress']); 800 801 // Checamos e-mails que não fazem parte do expresso. 802 // Criamos um array temporario 803 $tmp_array = array(); 804 foreach ($result['members_info'] as $uid => $user_data) 805 { 806 $tmp_array[] = $user_data['mail']; 807 } 808 809 // Vemos a diferença 810 $array_diff = array_diff($entry[0]['mailforwardingaddress'], $tmp_array); 811 812 // Incluimos no resultado 813 foreach ($array_diff as $index=>$mailforwardingaddress) 814 { 815 $result['members_info'][$mailforwardingaddress]['uid'] = $mailforwardingaddress; 816 $result['members_info'][$mailforwardingaddress]['cn'] = 'E-Mail nao encontrado'; 817 $result['members_info'][$mailforwardingaddress]['mailforwardingaddress'] = $mailforwardingaddress; 818 $result['members'][] = $mailforwardingaddress; 819 } 820 return $result; 771 821 } 772 822 -
trunk/expressoAdmin1_2/inc/class.uigroups.inc.php
r23 r24 238 238 // GET all infomations about the group. 239 239 $group_info = $this->group->get_info($_GET['gidnumber'], $manager_context); 240 //_debug_array($group_info);241 240 242 241 unset($GLOBALS['phpgw_info']['flags']['noheader']); … … 254 253 255 254 // Usuarios do grupo. 255 $user_count = 0; 256 256 if (count($group_info['memberuid_info']) > 0) 257 257 { 258 foreach ($group_info['memberuid_info'] as $user) 259 { 260 $array_users[$user['uidnumber']] = $user['cn']; 261 $array_users_uid[$user['uidnumber']] = $user['uid']; 258 foreach ($group_info['memberuid_info'] as $uid=>$user_data) 259 { 260 $array_users[$user_data['uidnumber']] = $user_data['cn']; 261 $array_users_uid[$user_data['uidnumber']] = $uid; 262 $array_users_type[$user_data['uidnumber']] = $user_data['type']; 262 263 } 263 264 natcasesort($array_users); 264 265 foreach ($array_users as $uidnumber=>$cn) 265 266 { 266 $ea_select_usersInGroup .= "<option value=" . $uidnumber . ">" . $cn . " [" . $array_users_uid[$uidnumber] . "]</option>"; 267 } 267 $user_count++; 268 if ($array_users_type[$uidnumber] == 'u') 269 { 270 $users .= "<option value=" . $uidnumber . ">" . $cn . " [" . $array_users_uid[$uidnumber] . "]</option>"; 271 } 272 else 273 { 274 $unknow .= "<option value=-1>" . $cn . " [Corrigir manualmente]</option>"; 275 } 276 } 277 278 $opt_tmp_users = '<option value="-1" disabled>----------------------------- Usuários ---------------------------- </option>'."\n"; 279 $opt_tmp_unknow = '<option value="-1" disabled>-------------------- Usuários não encontrados ------------------ </option>'."\n"; 280 $ea_select_usersInGroup = $unknow != '' ? $opt_tmp_unknow . $unknow . $opt_tmp_users . $users : $opt_tmp_users . $users; 268 281 } 269 282 … … 289 302 'manager_context' => $manager_context, 290 303 'cn' => $group_info['cn'], 304 'user_count' => $user_count, 291 305 'description' => $group_info['description'], 292 306 'apps' => $apps, -
trunk/expressoAdmin1_2/inc/class.uimaillists.inc.php
r23 r24 260 260 $users .= "<option value=" . $uidnumber . ">" . $cn . " [" . $array_users_uid[$uidnumber] . "]</option>"; 261 261 } 262 elseif ($array_users_type[$uidnumber] == 'l') 263 { 264 $lists .= "<option value=" . $uidnumber . ">" . $cn . " [" . $array_users_uid[$uidnumber] . "]</option>"; 265 } 262 266 else 263 267 { 264 $lists .= "<option value=" . $uidnumber . ">" . $cn . " [" . $array_users_uid[$uidnumber] . "]</option>"; 265 } 266 } 267 $opt_tmp_lists = '<option value="-1" disabled>------------------------------ Listas ------------------------------ </option>'."\n"; 268 $opt_tmp_users = '<option value="-1" disabled>----------------------------- Usuários ---------------------------- </option>'."\n"; 268 $unknow .= "<option value=" . $uidnumber . ">" . $cn . " [" . $array_users_uid[$uidnumber] . "]</option>"; 269 } 270 } 269 271 270 $ea_select_usersInMaillist = $opt_tmp_lists . $lists . $opt_tmp_users . $users; 272 if ($unknow != '') 273 { 274 $opt_tmp_unknow = '<option value="-1" disabled>-------------------- E-mails não encontrados ------------------ </option>'."\n"; 275 $ea_select_usersInMaillist .= $opt_tmp_unknow . $unknow; 276 } 277 if ($lists != '') 278 { 279 $opt_tmp_lists = '<option value="-1" disabled>------------------------------ Listas ------------------------------ </option>'."\n"; 280 $ea_select_usersInMaillist .= $opt_tmp_lists . $lists; 281 } 282 $opt_tmp_users = '<option value="-1" disabled>----------------------------- Usuários ---------------------------- </option>'."\n"; 283 $ea_select_usersInMaillist .= $opt_tmp_users . $users; 271 284 } 272 285
Note: See TracChangeset
for help on using the changeset viewer.