Changeset 208 for trunk/expressoAdmin1_2


Ignore:
Timestamp:
03/10/08 09:20:40 (16 years ago)
Author:
niltonneto
Message:

Alterações do mantenedor do módulo.

Location:
trunk/expressoAdmin1_2
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoAdmin1_2/inc/class.functions.inc.php

    r107 r208  
    494494                } 
    495495                 
    496                 function get_organizations($context, $selected='', $referral=false, $show_invisible_ou=true) 
     496                function get_organizations($context, $selected='', $referral=false, $show_invisible_ou=true, $master=false) 
    497497                { 
    498498                        $s = CreateObject('phpgwapi.sector_search_ldap'); 
    499                         $sectors_info = $s->get_organizations($context, $selected, $referral, $show_invisible_ou); 
     499                        $sectors_info = $s->get_organizations($context, $selected, $referral, $show_invisible_ou, $master); 
    500500                        return $sectors_info; 
    501501                }                
    502                  
     502                                 
    503503                function get_sectors($selected='', $referral=false, $show_invisible_ou=true) 
    504504                { 
  • trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php

    r180 r208  
    44include_once(PHPGW_API_INC.'/class.common.inc.php'); 
    55include_once('class.functions.inc.php'); 
     6 
     7function ldapRebind($ldap_connection, $ldap_url) 
     8{ 
     9        if ( ($_SESSION['phpgw_info']['expresso']['cc_ldap_server']['acc'] != '') && ($_SESSION['phpgw_info']['expresso']['cc_ldap_server']['pw'] != '') ) 
     10        { 
     11                ldap_bind($ldap_connection, $_SESSION['phpgw_info']['expresso']['cc_ldap_server']['acc'], $_SESSION['phpgw_info']['expresso']['cc_ldap_server']['pw']); 
     12        } 
     13} 
    614 
    715class ldap_functions 
     
    2331        } 
    2432         
     33        /* ldap connection following referals and using Contac Center config*/ 
     34        function ldapMasterConnect() 
     35        { 
     36                if ( (is_array($_SESSION['phpgw_info']['expresso']['cc_ldap_server'])) && ($ldap_connection = ldap_connect($_SESSION['phpgw_info']['expresso']['cc_ldap_server']['host'])) ) 
     37                { 
     38                        ldap_set_option($ldap_connection, LDAP_OPT_PROTOCOL_VERSION, 3); 
     39                        ldap_set_option($ldap_connection, LDAP_OPT_REFERRALS, true); 
     40                        ldap_set_rebind_proc($ldap_connection, ldapRebind); 
     41                        if ( ($_SESSION['phpgw_info']['expresso']['cc_ldap_server']['acc'] != '') && ($_SESSION['phpgw_info']['expresso']['cc_ldap_server']['pw'] != '') ) 
     42                        { 
     43                                if ( ! ldap_bind($ldap_connection, $_SESSION['phpgw_info']['expresso']['cc_ldap_server']['acc'], $_SESSION['phpgw_info']['expresso']['cc_ldap_server']['pw']) ) 
     44                                { 
     45                                        echo 'retornou false1'; 
     46                                        return false; 
     47                                } 
     48                        } 
     49                        return $ldap_connection; 
     50                } 
     51                else 
     52                { 
     53                        $ldap_connection = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']); 
     54                        if ($ldap_connection) 
     55                        { 
     56                                ldap_set_option($ldap_connection,LDAP_OPT_PROTOCOL_VERSION,3); 
     57                                ldap_set_option($ldap_connection, LDAP_OPT_REFERRALS, true); 
     58                                if ( ldap_bind($ldap_connection, $GLOBALS['phpgw_info']['server']['ldap_root_dn'], $GLOBALS['phpgw_info']['server']['ldap_root_pw']) ) 
     59                                        return $ldap_connection; 
     60                        } 
     61                } 
     62                 
     63                return false; 
     64        } 
     65                 
    2566        function validate_fields($params) 
    2667        { 
     
    71112                if (($type == 'create_user') || ($type == 'rename_user'))  
    72113                { 
    73                         //UID 
    74                         if (($type == 'rename_user') && ($this->current_config['expressoAdmin_prefix_org'] == 'true')) 
     114                        if ($this->current_config['expressoAdmin_prefix_org'] == 'true') 
    75115                        { 
    76116                                //Obtenho UID sem a organização. Na criação o uid já vem sem a organização 
     
    85125                                $filter = "(&(|(phpgwAccountType=u)(phpgwAccountType=l))(uid=$uid))"; 
    86126                        } 
     127                        /* 
     128                        //UID 
     129                        if (($type == 'rename_user') && ($this->current_config['expressoAdmin_prefix_org'] == 'true')) 
     130                        { 
     131                                //Obtenho UID sem a organização. Na criação o uid já vem sem a organização 
     132                                $tmp_uid_without_org = split("-", $params['uid']); 
     133                                $tmp_reverse_uid_without_org = array_reverse($tmp_uid_without_org); 
     134                                array_pop($tmp_reverse_uid_without_org); 
     135                                $uid_without_org = implode("-", $tmp_reverse_uid_without_org); 
     136                                $filter = "(&(|(phpgwAccountType=u)(phpgwAccountType=l))(|(uid=$uid)(uid=$uid_without_org)))"; 
     137                        } 
     138                        else 
     139                        { 
     140                                $filter = "(&(|(phpgwAccountType=u)(phpgwAccountType=l))(uid=$uid))"; 
     141                        } 
     142                        */ 
     143                         
    87144                        $justthese = array("uid", "mail", "cn"); 
    88145                        $search = ldap_search($ldap_connection, $context, $filter, $justthese); 
     
    333390                 
    334391                // MAIL 
    335                 /* 
    336392                $filter = "(&(|(phpgwAccountType=u)(phpgwAccountType=l))(|(mail=$mail)(mailalternateaddress=$mail)))"; 
    337393                $justthese = array("mail"); 
     
    343399                        $result['msg'] = 'E-MAIL da lista já está sendo usado.'; 
    344400                        return $result; 
    345                 }*/ 
     401                } 
    346402                 
    347403                return $result;  
     
    536592        function get_available_maillists($params) 
    537593        { 
     594                if ( !$ldapMasterConnect = $this->ldapMasterConnect() ) 
     595                        return false; 
     596                 
    538597                $context = $params['context']; 
    539598                $justthese = array("uid","mail","uidNumber"); 
    540         $maillists=ldap_list($this->ldap, $context, ("(phpgwAccountType=l)"), $justthese); 
    541         ldap_sort($this->ldap, $maillists, "uid"); 
     599        $maillists=ldap_list($ldapMasterConnect, $context, ("(phpgwAccountType=l)"), $justthese); 
     600        ldap_sort($ldapMasterConnect, $maillists, "uid"); 
    542601         
    543         $entries = ldap_get_entries($this->ldap, $maillists); 
     602        $entries = ldap_get_entries($ldapMasterConnect, $maillists); 
    544603         
    545604                $options = '';                   
    546605                for ($i=0; $i<$entries['count']; $i++) 
    547606                { 
    548                         $options .= "<option value=" . $entries[$i]['uidnumber'][0] . ">" . $entries[$i]['uid'][0] . " (" . $entries[$i]['mail'][0] . ")" . "</option>"; 
    549                 } 
    550         return $options;                 
     607                        $options .= "<option value=" . $entries[$i]['uid'][0] . ">" . $entries[$i]['uid'][0] . " (" . $entries[$i]['mail'][0] . ")" . "</option>"; 
     608                } 
     609         
     610        ldap_close($ldapMasterConnect); 
     611        return $options; 
    551612        } 
    552613         
     
    659720        } 
    660721         
    661         function add_user2maillist($uidNumber, $mail) 
    662         { 
    663                 $filter = "(&(phpgwAccountType=l)(uidNumber=$uidNumber))"; 
     722        function add_user2maillist($uid, $mail) 
     723        { 
     724                if ( !$ldapMasterConnect = $this->ldapMasterConnect() ) 
     725                { 
     726                        $result['status'] = false; 
     727                        $result['msg'] = "Falha de conexão com o openLDAP.\n\nRetorno do servidor:" . ldap_error($ldapMasterConnect); 
     728                        return $result; 
     729                } 
     730                         
     731                $filter = "(&(phpgwAccountType=l)(uid=$uid))"; 
    664732                $justthese = array("dn"); 
    665                 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
    666                 $entry = ldap_get_entries($this->ldap, $search); 
     733                $search = ldap_search($ldapMasterConnect, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
     734                $entry = ldap_get_entries($ldapMasterConnect, $search); 
    667735                $group_dn = $entry[0]['dn']; 
    668736                $attrs['mailForwardingAddress'] = $mail; 
    669                 $res = @ldap_mod_add($this->ldap, $group_dn, $attrs); 
     737                $res = @ldap_mod_add($ldapMasterConnect, $group_dn, $attrs); 
    670738                 
    671739                if ($res) 
     
    678746                        $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist ($mail).\nRetorno do servidor:" . ldap_error($this->ldap); 
    679747                } 
     748                 
     749                ldap_close($ldapMasterConnect); 
    680750                return $result; 
    681751        } 
     
    684754        { 
    685755                $attrs['mailSenderAddress'] = $array_emails; 
     756                 
     757                print_r($attrs); 
     758                 
    686759                $res = @ldap_mod_add($this->ldap, $dn, $attrs); 
    687760                 
     
    698771        } 
    699772 
    700         function remove_user2maillist($uidNumber, $mail) 
    701         { 
    702                 $filter = "(&(phpgwAccountType=l)(uidNumber=$uidNumber))"; 
     773        function remove_user2maillist($uid, $mail) 
     774        { 
     775                if ( !$ldapMasterConnect = $this->ldapMasterConnect() ) 
     776                { 
     777                        $result['status'] = false; 
     778                        $result['msg'] = "Falha de conexão com o openLDAP.\n\nRetorno do servidor:" . ldap_error($ldapMasterConnect); 
     779                        return $result; 
     780                } 
     781                 
     782                $filter = "(&(phpgwAccountType=l)(uid=$uid))"; 
    703783                $justthese = array("dn"); 
    704                 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
    705                 $entry = ldap_get_entries($this->ldap, $search); 
     784                $search = ldap_search($ldapMasterConnect, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
     785                $entry = ldap_get_entries($ldapMasterConnect, $search); 
    706786                $group_dn = $entry[0]['dn']; 
    707787                $attrs['mailForwardingAddress'] = $mail; 
    708                 $res = @ldap_mod_del($this->ldap, $group_dn, $attrs); 
     788                $res = @ldap_mod_del($ldapMasterConnect, $group_dn, $attrs); 
    709789                 
    710790                if ($res) 
     
    717797                        $result['msg'] = "Erro na funcao ldap_functions->remove_user2maillist ($mail).\n\nRetorno do servidor:" . ldap_error($this->ldap); 
    718798                } 
     799                ldap_close($ldapMasterConnect); 
    719800                return $result; 
    720801        } 
     
    829910                                $result['maillists_info'] = $this->get_user_maillists($result['mail']); 
    830911                                if($result['maillists_info']) 
     912                                { 
    831913                                        foreach ($result['maillists_info'] as $maillist) 
    832914                                        { 
    833                                                 $result['maillists'][] = $maillist['uidnumber']; 
     915                                                $result['maillists'][] = $maillist['uid']; 
    834916                                        } 
     917                                } 
    835918                                 
    836919                                // Groups 
     
    851934        function get_user_maillists($mail) 
    852935        { 
     936                if ( !$ldapMasterConnect = $this->ldapMasterConnect() ) 
     937                        return false; 
     938                 
    853939                $result = array(); 
    854940                 
     
    859945                foreach ($this->manager_contexts as $index=>$context) 
    860946                { 
    861                         $search = ldap_search($this->ldap, $context, $filter, $justthese); 
    862                         //ldap_sort($this->ldap, $search, "uid"); 
    863                 $entries = ldap_get_entries($this->ldap, $search); 
     947                        $search = ldap_search($ldapMasterConnect, $context, $filter, $justthese); 
     948                $entries = ldap_get_entries($ldapMasterConnect, $search); 
    864949                 
    865950                for ($i=0; $i<$entries['count']; $i++) 
    866951                { 
    867                                 $result[ $entries[$i]['uid'][0] ]['uidnumber']  = $entries[$i]['uidnumber'][0]; 
    868952                                $result[ $entries[$i]['uid'][0] ]['uid']                = $entries[$i]['uid'][0]; 
    869953                                $result[ $entries[$i]['uid'][0] ]['mail']               = $entries[$i]['mail'][0]; 
     
    878962                foreach ($a_tmp as $uid) 
    879963                { 
    880                         $return[$uid]['uidnumber']      = $result[$uid]['uidnumber']; 
    881964                                $return[$uid]['uid']            = $result[$uid]['uid']; 
    882965                                $return[$uid]['mail']           = $result[$uid]['mail']; 
    883966                } 
    884967        } 
     968        ldap_close($ldapMasterConnect); 
    885969                return $return; 
    886970        } 
     
    10931177                                        $user_entry = ldap_get_entries($this->ldap, $search); 
    10941178                         
    1095                                         $result['senders_info'][$user_entry[0]['uidnumber'][0]]['uid'] = $user_entry[0]['uid'][0]; 
    1096                                         $result['senders_info'][$user_entry[0]['uidnumber'][0]]['cn'] = $user_entry[0]['cn'][0]; 
    1097                                         $result['senders_info'][$user_entry[0]['uidnumber'][0]]['mail'] = $user_entry[0]['mail'][0]; 
    1098                                         $result['members'][] = $user_entry[0]['uidnumber'][0]; 
     1179                                        $result['senders_info'][$user_entry[0]['mail'][0]]['uid'] = $user_entry[0]['uid'][0]; 
     1180                                        $result['senders_info'][$user_entry[0]['mail'][0]]['cn'] = $user_entry[0]['cn'][0]; 
     1181                                        $result['members'][] = $user_entry[0]['mail'][0]; 
    10991182                                } 
    11001183                                return $result; 
     
    12821365                $attrs = array(); 
    12831366                $attrs['mailForwardingAddress'] = $user_info['mail']; 
     1367                 
    12841368                if (count($user_info['maillists_info'])) 
    12851369                { 
     1370                         
     1371                        if ( !$ldapMasterConnect = $this->ldapMasterConnect() ) 
     1372                        { 
     1373                                $return['status'] = false; 
     1374                                $return['msg'] .= 'Erro ao conectar ao ldap_master: ' . ldap_error($this->ldap); 
     1375                                return $return; 
     1376                        } 
     1377                         
    12861378                        foreach ($user_info['maillists_info'] as $maillists_info) 
    12871379                        { 
    1288                                 $uidnumber = $maillists_info['uidnumber']; 
     1380                                $uid = $maillists_info['uid']; 
    12891381                                $justthese = array("dn"); 
    1290                                 $filter="(&(phpgwAccountType=l)(uidnumber=".$uidnumber."))"; 
    1291                                 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
    1292                         $entry = ldap_get_entries($this->ldap, $search); 
     1382                                $filter="(&(phpgwAccountType=l)(uid=".$uid."))"; 
     1383                                $search = ldap_search($ldapMasterConnect, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
     1384                        $entry = ldap_get_entries($ldapMasterConnect, $search); 
    12931385                                $dn = $entry[0]['dn']; 
    12941386                         
    1295                                 if (!@ldap_mod_del($this->ldap, $dn, $attrs)) 
     1387                                if (!@ldap_mod_del($ldapMasterConnect, $dn, $attrs)) 
    12961388                                { 
    12971389                                        $return['status'] = false; 
     
    12991391                                } 
    13001392                        } 
     1393                        ldap_close($ldapMasterConnect); 
    13011394                } 
    13021395                         
  • trunk/expressoAdmin1_2/inc/class.maillist.inc.php

    r180 r208  
    100100                        if ($params['phpgwAccountVisible'] == 'on') 
    101101                                $maillist_info['phpgwAccountVisible'] = '-1'; 
    102                          
    103                         /* 
    104                         foreach($params['members'] as $index=>$uidnumber) 
    105                         { 
    106                                 $mail = $this->ldap_functions->uidnumber2mail($uidnumber); 
    107                                 $maillist_info['mailForwardingAddress'][] = $mail; 
    108                                 $this->db_functions->write_log("Adicionado usuario $mail a lista ".$params['cn']." no momento da criação",$dn,$uidnumber,'',''); 
    109                         } 
    110                         */ 
    111                          
     102                                                 
    112103                        $maillist_info['mailForwardingAddress'] = $params['mailForwardingAddress']; 
    113104                         
     
    234225                        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    235226                        // USERS 
     227                        /* 
     228                        echo '<pre>'; 
     229                        print_r($new_values['mailForwardingAddress']); 
     230                        */ 
    236231                        if (!$new_values['mailForwardingAddress']) 
    237232                                $new_values['mailForwardingAddress'] = array(); 
     
    242237                        $remove_users = array_diff($old_values['mailForwardingAddress'], $new_values['mailForwardingAddress']); 
    243238                         
    244 /*                      echo '<pre>'; 
    245                         print_r($new_values);*/ 
    246                          
    247239                        if (count($add_users)>0) 
    248240                        { 
    249241                                sort($add_users); 
    250                                 $result = $this->ldap_functions->add_user2maillist($new_values['uidnumber'], $add_users); 
     242                                $result = $this->ldap_functions->add_user2maillist($new_values['uid'], $add_users); 
    251243                                 
    252244                                /* log */ 
     
    258250                                else 
    259251                                { 
    260                                         foreach($add_users['mailForwardingAddress'] as $index=>$mail) 
     252                                        foreach($add_users as $index=>$mail) 
    261253                                        { 
    262254                                                $this->db_functions->write_log("Adicionado usuario $mail a lista de email $dn",$dn,'','',''); 
     
    268260                        { 
    269261                                sort($remove_users); 
    270                                 $result = $this->ldap_functions->remove_user2maillist($new_values['uidnumber'], $remove_users); 
     262                                $result = $this->ldap_functions->remove_user2maillist($new_values['uid'], $remove_users); 
    271263                                 
    272264                                /* log */ 
     
    302294                        //Retira os uids duplicados se existir 
    303295                        $array_tmp = array(); 
    304                         $array_tmp = array_unique($new_values['members']); 
     296                        $array_tmp = @array_unique($new_values['members']); 
    305297                        $new_values['members'] = $array_tmp; 
    306298                         
    307299                        $old_values = $this->get_scl_info($new_values['uidnumber'], $new_values['manager_context']); 
     300                         
    308301                        $diff = array_diff($new_values, $old_values); 
    309302                        $dn = $old_values['dn']; 
     
    372365                        if (count($add_users)>0) 
    373366                        { 
    374                                 $array_emails_add = array(); 
    375                                 foreach($add_users as $uidnumber) 
    376                                 { 
    377                                         if ($uidnumber != -1) 
     367                                sort($add_users); 
     368                                $result = $this->ldap_functions->add_user2maillist_scl($dn, $add_users); 
     369                                 
     370                                /* log */ 
     371                                if (!$result['status']) 
     372                                { 
     373                                        $return['status'] = false; 
     374                                        $return['msg'] .= $result['msg']; 
     375                                } 
     376                                else 
     377                                { 
     378                                        foreach($add_users as $index=>$mail) 
    378379                                        { 
    379                                                 $mail = $this->ldap_functions->uidnumber2mail($uidnumber); 
    380                                                 $array_emails_add[] = $mail; 
    381                                                 $this->db_functions->write_log("Adicionado usuario $mail a SCL da lista $dn",'',$uidnumber,'',''); 
     380                                                $this->db_functions->write_log("Adicionado usuario $mail da SCP da lista de email $dn",$dn,'','',''); 
    382381                                        } 
    383382                                } 
    384                                 $result = $this->ldap_functions->add_user2maillist_scl($dn, $array_emails_add); 
    385                                 if (!$result['status']) 
    386                                 { 
    387                                         $return['status'] = false; 
    388                                         $return['msg'] .= $result['msg']; 
    389                                 } 
     383                        } 
     384                         
     385                        if (count($remove_users)>0) 
     386                        { 
     387                                sort($remove_users); 
     388                                $result = $this->ldap_functions->remove_user2maillist_scl($dn, $remove_users); 
    390389                                 
    391                         } 
    392                          
    393                         if (count($remove_users)>0) 
    394                         { 
    395                                 $array_emails_remove = array(); 
    396                                 foreach($remove_users as $uidnumber) 
    397                                 { 
    398                                         if ($uidnumber != -1) 
     390                                /* log */ 
     391                                if (!$result['status']) 
     392                                { 
     393                                        $return['status'] = false; 
     394                                        $return['msg'] .= $result['msg']; 
     395                                } 
     396                                else 
     397                                { 
     398                                        foreach($add_users as $index=>$mail) 
    399399                                        { 
    400                                                 $mail = $this->ldap_functions->uidnumber2mail($uidnumber); 
    401                                                 $array_emails_remove[] = $mail; 
    402                                                 $this->db_functions->write_log("Removido usuario $mail da SCP da lista $dn",'',$uidnumber,'',''); 
     400                                                $this->db_functions->write_log("Removido usuario $mail da SCP da lista de email $dn",$dn,'','',''); 
    403401                                        } 
    404                                 } 
    405                                 $result = $this->ldap_functions->remove_user2maillist_scl($dn, $array_emails_remove); 
    406                                 if (!$result['status']) 
    407                                 { 
    408                                         $return['status'] = false; 
    409                                         $return['msg'] .= $result['msg']; 
    410402                                } 
    411403                        } 
  • trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php

    r180 r208  
    216216                        // Pega combo das organizações e seleciona, caso seja um post, o setor que o usuario selecionou. 
    217217                        foreach ($manager_contexts as $index=>$context) 
    218                                 $sectors .= $this->functions->get_organizations($context); 
     218                                $combo_manager_org .= $this->functions->get_organizations($context); 
     219                        $combo_all_orgs = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], '', true, true, true); 
    219220 
    220221                        // Chama funcao para criar lista de aplicativos disponiveis. 
     
    273274                                'lang_back'                                             => lang('Back'), 
    274275                                'lang_save'                                             => lang('Save'), 
    275                                  
    276                                 'sectors'                                               => $sectors, 
    277                                 'combo_organizations'                   => $sectors, 
     276                                'sectors'                                               => $combo_manager_org, 
     277                                'combo_organizations'                   => $combo_manager_org, 
     278                                'combo_all_orgs'                                => $combo_all_orgs, 
    278279                                'passwd_expired_checked'                => 'CHECKED', 
    279280                                'changepassword_checked'                => 'CHECKED', 
     
    430431                                                         
    431432                // ORGANIZATIONS 
     433                /* 
    432434                        foreach ($contexts as $index=>$context) 
    433435                                $orgs .= $this->functions->get_organizations($context, $user_info['context']); 
     436                        */ 
     437                                 
     438                        foreach ($contexts as $index=>$context) 
     439                                $combo_manager_org .= $this->functions->get_organizations($context, $user_info['context']); 
     440                        $combo_all_orgs = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], $user_info['context'], true, true, true);                        
     441 
    434442 
    435443                        // GROUPS. 
     
    498506                                foreach ($user_info['maillists_info'] as $maillist) 
    499507                                { 
    500                                         $array_maillist[$maillist['uidnumber']] = $maillist['uid'] . "  (" . $maillist['mail'] . ") "; 
     508                                        $array_maillist[$maillist['uid']] = $maillist['uid'] . "  (" . $maillist['mail'] . ") "; 
    501509                                } 
    502510                                natcasesort($array_maillist); 
    503                                 foreach ($array_maillist as $uidnumber=>$option) 
    504                                 { 
    505                                         $ea_select_user_maillists_options .= "<option value=" . $uidnumber . ">" . $option . "</option>"; 
     511                                foreach ($array_maillist as $uid=>$option) 
     512                                { 
     513                                        $ea_select_user_maillists_options .= "<option value=" . $uid . ">" . $option . "</option>"; 
    506514                                } 
    507515                        } 
     
    622630                                'lang_save'                                             => lang('Save'), 
    623631                                 
    624                                 'sectors'                                               => $orgs, 
    625                                 'combo_organizations'                   => $orgs, 
     632                                'sectors'                                               => $combo_manager_org, 
     633                                'combo_organizations'                   => $combo_manager_org, 
     634                                'combo_all_orgs'                                => $combo_all_orgs, 
    626635                                 
    627636                                'uid'                                                   => $user_info['uid'], 
  • trunk/expressoAdmin1_2/inc/class.uimaillists.inc.php

    r180 r208  
    189189                        foreach ($manager_contexts as $index=>$context) 
    190190                                $combo_manager_org .= $this->functions->get_organizations($context); 
    191                         $combo_all_orgs = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], '', true, true);                         
     191                        $combo_all_orgs = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], '', true, true, true);                   
    192192                         
    193193                        // Seta variaveis utilizadas pelo tpl. 
     
    252252                        foreach ($manager_contexts as $index=>$context) 
    253253                                $combo_manager_org .= $this->functions->get_organizations($context, trim(strtolower($maillist_info['context']))); 
    254                         $combo_all_orgs = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], trim(strtolower($maillist_info['context'])), true, true);                        
     254                        $combo_all_orgs = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], trim(strtolower($maillist_info['context'])), true, true, true);                  
    255255 
    256256                        // Usuarios da lista. 
     
    367367                        if (count($maillist_info['senders_info']) > 0) 
    368368                        { 
    369                                 foreach ($maillist_info['senders_info'] as $uidnumber=>$senderinfo) 
    370                                 { 
    371                                         $array_senders[$uidnumber] = $senderinfo['cn']; 
     369                                foreach ($maillist_info['senders_info'] as $mail=>$senderinfo) 
     370                                { 
     371                                        $array_senders[$mail] = $senderinfo['cn']; 
    372372                                } 
    373373                                natcasesort($array_senders); 
    374                                 foreach ($array_senders as $uidnumber=>$cn) 
    375                                 { 
    376                                         $ea_select_users_SCL_Maillist .= "<option value=" . $uidnumber . ">" . $cn . " [" . $maillist_info['senders_info'][$uidnumber]['mail'] . "]</option>"; 
     374                                foreach ($array_senders as $mail=>$cn) 
     375                                { 
     376                                        $ea_select_users_SCL_Maillist .= "<option value=" . $mail . ">" . $cn . " [" . $mail . "]</option>"; 
    377377                                } 
    378378                        } 
  • trunk/expressoAdmin1_2/inc/class.uimanagers.inc.php

    r180 r208  
    162162                        */ 
    163163                         
    164                         $options_context = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], '', false, true); 
     164                        $options_context = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], '', false, true, false); 
    165165                         
    166166                        // Seta variaveis que estao no TPL 
     
    292292                        foreach ($a_context as $context) 
    293293                                $input_context_fields .= '<div><input disabled type="text" value="'.$context.'" size=60></input><span onclick="this.parentNode.parentNode.removeChild(this.parentNode);" style="cursor:pointer"> -</span></div>'; 
    294                         $options_context = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], '', false, true); 
     294                        $options_context = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], '', false, true, false); 
    295295 
    296296                        $var = Array( 
  • trunk/expressoAdmin1_2/inc/class.user.inc.php

    r180 r208  
    2323                var $current_config; 
    2424                 
    25                  
    2625                function user() 
    2726                { 
     
    224223                                if ($params['maillists']) 
    225224                                { 
    226                                         foreach($params['maillists'] as $uidnumber) 
     225                                        foreach($params['maillists'] as $uid) 
    227226                        { 
    228                                                 $result = $this->ldap_functions->add_user2maillist($uidnumber, $user_info['mail']); 
     227                                                $result = $this->ldap_functions->add_user2maillist($uid, $user_info['mail']); 
    229228                                                if (!$result['status']) 
    230229                                                { 
     
    756755                                        foreach($remove_groups as $gidnumber) 
    757756                                        { 
    758                                                 echo $gidnumber; 
    759                                                  
    760757                                                foreach($old_values['groups_info'] as $group) 
    761758                                                { 
     
    836833                                if (count($add_maillists)>0) 
    837834                                { 
    838                                         foreach($add_maillists as $uidnumber) 
    839                                         { 
    840                                                 $this->ldap_functions->add_user2maillist($uidnumber, $new_values['mail']); 
    841                                                 $this->db_functions->write_log("adicionado usuario a maillist $uidnumber.",'',$dn,'',''); 
    842                                         } 
    843                                 } 
     835                                        foreach($add_maillists as $uid) 
     836                                        { 
     837                                                $this->ldap_functions->add_user2maillist($uid, $new_values['mail']); 
     838                                                $this->db_functions->write_log("adicionado usuario a maillist $uid.",'',$dn,'',''); 
     839                                        } 
     840                                } 
     841                                /* 
     842                                echo '<pre>'; 
     843                                print_r($old_values['maillists']); 
     844                                print_r($new_values['maillists']); 
     845                                */ 
    844846                                 
    845847                                if (count($remove_maillists)>0) 
    846848                                { 
    847                                         foreach($remove_maillists as $uidnumber) 
    848                                         { 
    849                                                 $this->ldap_functions->remove_user2maillist($uidnumber, $new_values['mail']); 
    850                                                 $this->db_functions->write_log("removido usuario da maillist $uidnumber.",'',$dn,'',''); 
     849                                        foreach($remove_maillists as $uid) 
     850                                        { 
     851                                                $this->ldap_functions->remove_user2maillist($uid, $new_values['mail']); 
     852                                                $this->db_functions->write_log("removido usuario da maillist $uid.",'',$dn,'',''); 
    851853                                        } 
    852854                                } 
  • trunk/expressoAdmin1_2/js/jscode/maillists.js

    r180 r208  
    6666        // Needed select all options from select 
    6767        for(var i=0; i<select_userInMaillist.options.length; i++) 
    68                 select_userInMaillist.options[i].selected = true; 
    69          
     68        { 
     69                // No IE, não seleciona o separador do select 
     70                if (select_userInMaillist.options[i].value != -1) 
     71                        select_userInMaillist.options[i].selected = true; 
     72                else 
     73                        select_userInMaillist.options[i].selected = false; 
     74        } 
     75 
    7076        // O UID da lista foi alterado ou é uma nova lista. 
    7177        if ((document.forms[0].old_uid.value != document.forms[0].uid.value) || (type == 'create_maillist')){ 
    72                 cExecute ('$this.maillist.validate_fields&uid='+document.forms[0].uid.value, handler_validate_fields); 
     78                cExecute ('$this.maillist.validate_fields&uid='+document.forms[0].uid.value+'&mail='+document.forms[0].mail.value, handler_validate_fields); 
    7379        } 
    7480        else if (type == 'edit_maillist') 
  • trunk/expressoAdmin1_2/js/jscode/users.js

    r81 r208  
    682682} 
    683683 
     684/* 
    684685function search_organization(key) 
    685686{ 
    686687        var organizations = document.getElementById('ea_combo_org_info'); 
     688        var RegExp_org = new RegExp("\\b"+key, "i"); 
     689         
     690        for(i = 0; i < organizations.length; i++) 
     691        { 
     692                if (RegExp_org.test(organizations[i].text)) 
     693                { 
     694                        organizations[i].selected = true; 
     695                        return; 
     696                } 
     697        } 
     698}*/ 
     699 
     700function search_organization(key, element) 
     701{ 
     702        var organizations = document.getElementById(element); 
    687703        var RegExp_org = new RegExp("\\b"+key, "i"); 
    688704         
Note: See TracChangeset for help on using the changeset viewer.