Ignore:
Timestamp:
08/23/07 11:40:39 (17 years ago)
Author:
niltonneto
Message:

* empty log message *

File:
1 edited

Legend:

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

    r57 r62  
    117117                                if (($this->current_config['expressoAdmin_samba_support'] == 'true') && ($params['use_attrs_samba'] == 'on')) 
    118118                                { 
    119                                         // Verifica o acesso do gerente aos atributos samba 
    120                                         if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_sambausers_attributes')) 
    121                                         { 
    122                                                 //Verifica se o binario para criar as senhas do samba exite. 
    123                                                 if (!is_file('/home/expressolivre/mkntpwd')) 
    124                                                 { 
    125                                                         $return['status'] = false; 
    126                                                         $return['msg'] .= "O arquivo  binário /home/expressolivre/mkntpwd não exite.\\nEle é necessário para a criação das senhas usadas pelo SAMBA.\\nInforme o administrador ExpressoLivre sobre isto."; 
    127                                                 } 
    128                                                 else 
    129                                                 { 
    130                                                         $user_info['objectClass'][]             = 'sambaSamAccount'; 
    131                                                         $user_info['loginShell']                        = '/bin/bash'; 
    132          
    133                                                         $user_info['sambaSID']                          = $params['sambadomain'] . '-' . ((2 * $id)+1000); 
    134                                                         $user_info['sambaPrimaryGroupSID']      = $params['sambadomain'] . '-' . ((2 * $user_info['gidNumber'])+1001); 
    135  
    136                                                         $user_info['sambaAcctFlags']            = $params['sambaacctflags']; 
    137                          
    138                                                         $user_info['sambaLogonScript']          = $params['sambalogonscript']; 
    139                                                         $user_info['homeDirectory']                     = $params['sambahomedirectory']; 
    140                          
    141                                                         $user_info['sambaLMPassword']           = exec('/home/expressolivre/mkntpwd -L '.$params['password1']); 
    142                                                         $user_info['sambaNTPassword']           = exec('/home/expressolivre/mkntpwd -N '.$params['password1']); 
    143                                                         $user_info['sambaPasswordHistory']      = '0000000000000000000000000000000000000000000000000000000000000000'; 
    144                          
    145                                                         $user_info['sambaPwdCanChange']         = strtotime("now"); 
    146                                                         $user_info['sambaPwdLastSet']           = strtotime("now"); 
    147                                                         $user_info['sambaPwdMustChange']        = '2147483647'; 
    148                                                 } 
    149                                         } 
    150                                 } 
    151                                  
    152                                 // Verifica o acesso do gerente aos atributos corporativos 
    153                                 if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'manipulate_corporative_information')) 
    154                                 { 
    155                                         foreach ($params as $atribute=>$value) 
    156                                         { 
    157                                                 $pos = strrpos($atribute, 'corporative_information_'); 
    158                                                 if ($pos !== false) 
    159                                                 { 
    160                                                         if ($params[$atribute]) 
    161                                                         { 
    162                                                                 $ldap_atribute = str_replace("corporative_information_", "", $atribute); 
    163                                                                 $user_info[$ldap_atribute] = $params[$atribute]; 
    164                                                         } 
    165                                                 } 
    166                                         } 
    167                                 } 
    168                                  
     119                                        //Verifica se o binario para criar as senhas do samba exite. 
     120                                        if (!is_file('/home/expressolivre/mkntpwd')) 
     121                                        { 
     122                                                $return['status'] = false; 
     123                                                $return['msg'] .= "O arquivo  binário /home/expressolivre/mkntpwd não exite.\\nEle é necessário para a criação das senhas usadas pelo SAMBA.\\nInforme o administrador ExpressoLivre sobre isto."; 
     124                                        } 
     125                                        else 
     126                                        { 
     127                                                $user_info['objectClass'][]             = 'sambaSamAccount'; 
     128                                                $user_info['loginShell']                        = '/bin/bash'; 
     129 
     130                                                $user_info['sambaSID']                          = $params['sambadomain'] . '-' . ((2 * $id)+1000); 
     131                                                $user_info['sambaPrimaryGroupSID']      = $params['sambadomain'] . '-' . ((2 * $user_info['gidNumber'])+1001); 
     132 
     133                                                $user_info['sambaAcctFlags']            = $params['sambaacctflags']; 
     134                         
     135                                                $user_info['sambaLogonScript']          = $params['sambalogonscript']; 
     136                                                $user_info['homeDirectory']                     = $params['sambahomedirectory']; 
     137                         
     138                                                $user_info['sambaLMPassword']           = exec('/home/expressolivre/mkntpwd -L '.$params['password1']); 
     139                                                $user_info['sambaNTPassword']           = exec('/home/expressolivre/mkntpwd -N '.$params['password1']); 
     140                                                $user_info['sambaPasswordHistory']      = '0000000000000000000000000000000000000000000000000000000000000000'; 
     141                         
     142                                                $user_info['sambaPwdCanChange']         = strtotime("now"); 
     143                                                $user_info['sambaPwdLastSet']           = strtotime("now"); 
     144                                                $user_info['sambaPwdMustChange']        = '2147483647'; 
     145                                        } 
     146                                } 
    169147                                $result = $this->ldap_functions->ldap_add_entry($dn, $user_info); 
    170148                                if (!$result['status']) 
     
    261239                        $old_values = $this->get_user_info($new_values['uidnumber'], $new_values['manager_context']); 
    262240                        $dn = 'uid=' . $old_values['uid'] . ',' . strtolower($old_values['context']); 
    263  
     241                         
    264242                        $diff = array_diff($new_values, $old_values); 
    265  
     243                         
    266244                        $manager_account_lid = $_SESSION['phpgw_session']['session_lid']; 
    267245                        if ((!$this->functions->check_acl($manager_account_lid,'edit_users')) && 
     
    276254 
    277255                        // Verifica o acesso do gerente 
     256                        if (!$this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users')) 
     257                        { 
     258                                 
     259                        } 
     260                         
     261                        // Verifica o acesso do gerente 
    278262                        if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users')) 
    279263                        { 
     
    309293                                        $ldap_mod_replace['sn'] = $new_values['sn']; 
    310294                                        $ldap_mod_replace['cn'] = $new_values['givenname'] . ' ' . $new_values['sn']; 
    311                                         $this->db_functions->write_log("altera$ldap_mod_do sn do usuario",'',$dn,'',''); 
     295                                        $this->db_functions->write_log("alterado sn do usuario",'',$dn,'',''); 
    312296                                } 
    313297                                if ($diff['mail']) 
     
    365349                                } 
    366350                        } 
    367                          
    368                         // REPLACE, ADD & REMOVE COPORATIVEs ATRIBUTES 
    369                         // Verifica o acesso do gerente aos atributos corporativos 
    370                         if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'manipulate_corporative_information')) 
    371                         { 
    372                                 foreach ($new_values as $atribute=>$value) 
    373                                 { 
    374                                         $pos = strrpos($atribute, 'corporative_information_'); 
    375                                         if ($pos !== false) 
    376                                         { 
    377                                                 $ldap_atribute = str_replace("corporative_information_", "", $atribute); 
    378                                                 // REPLACE ATTRS OF CORPORATIVE 
    379                                                 if (($diff[$atribute]) && ($old_values[$atribute] != '')) 
    380                                                 { 
    381                                                         $ldap_atribute = str_replace("corporative_information_", "", $atribute); 
    382                                                         $ldap_mod_replace[$ldap_atribute] = $new_values[$atribute]; 
    383                                                         $this->db_functions->write_log("alterado $ldap_atribute do usuario",'',$dn,'',''); 
    384                                                 } 
    385                                                 //ADD ATTRS OF CORPORATIVE 
    386                                                 elseif (($old_values[$atribute] == '') && ($new_values[$atribute] != '')) 
    387                                                 { 
    388                                                         $ldap_add[$ldap_atribute] = $new_values[$atribute]; 
    389                                                         $this->db_functions->write_log("adicionado $ldap_atribute ao usuario",'',$dn,'',''); 
    390                                                 } 
    391                                                 //REMOVE ATTRS OF CORPORATIVE 
    392                                                 elseif (($old_values[$atribute] != '') && ($new_values[$atribute] == '')) 
    393                                                 { 
    394                                                         $ldap_remove[$ldap_atribute] = array(); 
    395                                                         $this->db_functions->write_log("removido $ldap_atribute do usuario",'',$dn,'','');       
    396                                                 } 
    397                                         } 
    398                                 } 
    399                         } 
    400                          
     351 
    401352                        //Suporte ao SAMBA 
    402353                        if ( ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users')) ||  
     
    561512                                } 
    562513                        } 
    563  
     514                         
    564515                        if ( ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users')) ||  
    565516                             ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_sambausers_attributes')) ) 
     
    689640                        if (count($ldap_remove)) 
    690641                        { 
     642                                 
    691643                                $result = $this->ldap_functions->remove_user_attributes($dn, $ldap_remove); 
    692644                                if (!$result['status']) 
     
    775727                        return $return; 
    776728                }                
     729                 
    777730                 
    778731                function get_user_info($uidnumber, $context) 
     
    11231076                        } 
    11241077                } 
    1125                  
    1126                 function write_log_from_ajax($params) 
    1127                 { 
    1128                         $this->db_functions->write_log($params['_action'],'',$params['userinfo'],'',''); 
    1129                         return true; 
    1130                 } 
    11311078        } 
    11321079?> 
Note: See TracChangeset for help on using the changeset viewer.