Ignore:
Timestamp:
03/29/07 14:23:18 (17 years ago)
Author:
niltonneto
Message:

* empty log message *

File:
1 edited

Legend:

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

    r2 r9  
    2626                var $functions; 
    2727                var $current_config; 
     28                var $ldap_functions; 
    2829 
    2930                function uiaccounts() 
     
    3233                        $this->nextmatchs       = CreateObject('phpgwapi.nextmatchs'); 
    3334                        $this->functions        = CreateObject('expressoAdmin1_2.functions'); 
     35                        $this->ldap_functions = CreateObject('expressoAdmin1_2.ldap_functions'); 
    3436                         
    3537                        $c = CreateObject('phpgwapi.config','expressoAdmin1_2'); 
     
    299301                        $tmp = $this->functions->read_acl($manager_account_lid); 
    300302                        $manager_context = $tmp[0]['context']; 
     303                        $alert_warning = ''; 
    301304                         
    302305                        // Verifica se tem acesso a este modulo 
     
    339342                        $GLOBALS['phpgw']->js->validate_file("jscode","users","expressoAdmin1_2"); 
    340343                        $GLOBALS['phpgw']->js->set_onload("get_available_groups(document.forms[0].context.value);"); 
    341                         //$GLOBALS['phpgw']->js->set_onload("get_sectors(document.forms[0].context.value, '".$user_info['context']."','".$user_info['departmentnumber']."');"); 
    342344                        $GLOBALS['phpgw']->js->set_onload("get_available_maillists(document.forms[0].context.value);"); 
    343345                        $GLOBALS['phpgw']->js->set_onload("use_samba_attrs('".$user_info['sambaUser']."');"); 
     
    368370                                foreach ($array_groups as $gidnumber=>$cn) 
    369371                                { 
    370                                         $ea_select_user_groups_options .= "<option value=" . $gidnumber . ">" . $cn . "</option>"; 
     372                                         
     373                                        // O memberUid do usuário está somente no Banco, então adicionamos o memberUid no Ldap. 
     374                                        if (is_null($user_info['groups_ldap'][$gidnumber])) 
     375                                        { 
     376                                                $this->ldap_functions->add_user2group($gidnumber, $user_info['uid']); 
     377                                                $ea_select_user_groups_options .= "<option value=" . $gidnumber . ">" . $cn . " [Incluido memberUid no Ldap]</option>"; 
     378                                                 
     379                                                if ($alert_warning == '') 
     380                                                        $alert_warning = "O expressoAdmin corrigiu as seguintes inconsistências:\\n"; 
     381                                                $alert_warning .= "Incluido atributo memberUid do usuário no grupo $cn.\\n"; 
     382                                        } 
     383                                        else 
     384                                                $ea_select_user_groups_options .= "<option value=" . $gidnumber . ">" . $cn . "3</option>"; 
     385                                         
    371386                                        if ($gidnumber == $user_info['gidnumber']) 
    372387                                        { 
     
    378393                                        } 
    379394                                } 
     395                                 
     396                                // O memberUid do usuário está somente no Ldap, então removemos ele. 
     397                                $groups_db = array_flip($user_info['groups']); 
     398                                foreach ($user_info['groups_ldap'] as $gidnumber=>$cn) 
     399                                { 
     400                                        if (is_null($groups_db[$gidnumber])) 
     401                                        { 
     402                                                $this->ldap_functions->remove_user2group($gidnumber, $user_info['uid']); 
     403                                                if ($alert_warning == '') 
     404                                                        $alert_warning = "O expressoAdmin corrigiu as seguintes inconsistências:\\n"; 
     405                                                $alert_warning .= "Removido atributo memberUid do usuário do grupo $cn.\\n"; 
     406                                        } 
     407                                }        
    380408                        } 
    381409                         
     
    412440                        } 
    413441 
    414                         /* 
    415                         echo '<pre>'; 
    416                         _debug_array($user_info); 
    417                         echo '</pre>'; 
    418                         */ 
    419                          
     442                        if ($alert_warning != '') 
     443                                $alert_warning = "alert('". $alert_warning ."')"; 
     444 
    420445                        $var = Array( 
    421446                                'uidnumber'                                     => $_GET['account_id'], 
     
    438463                                 
    439464                                // First ABA 
     465                                'alert_warning'                                 => "$alert_warning", 
    440466                                'display_input_account_lid'             => 'display:none', 
    441467                                'lang_general_information'              => lang('General Information'), 
Note: See TracChangeset for help on using the changeset viewer.