Changeset 62


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

* empty log message *

Location:
trunk
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoAdmin1_2/docs/change_log.txt

    r57 r62  
    8787- Corrigido bug ao adicionar email em grupos 
    8888- Corrigido bug ao adicionar atributos samba a um usuários já existente. 
    89  
    90 14/08/2007 
    91 - Criado aba Informações Corporativas, com os campo employeeNumber, cpf, rg, rgUf 
    92 - Melhorado classe user.inc.php. 
  • trunk/expressoAdmin1_2/inc/class.bomanagers.inc.php

    r57 r62  
    3030                        'lid'                                           => $_POST['manager_lid'], 
    3131                        'context'                                       => $_POST['context'], 
    32                          
    3332                        'add_users'                                     => $_POST['add_users'], 
    3433                        'edit_users'                            => $_POST['edit_users'], 
     
    3635                        'rename_users'                          => $_POST['rename_users'], 
    3736                        'view_users'                            => $_POST['view_users'], 
    38                         'manipulate_corporative_information' => $_POST['manipulate_corporative_information'], 
    3937                        'add_groups'                            => $_POST['add_groups'], 
    4038                        'edit_groups'                           => $_POST['edit_groups'], 
     
    4442                        'change_users_quote'            => $_POST['change_users_quote'], 
    4543                        'set_user_default_password'     => $_POST['set_user_default_password'], 
    46                         'empty_user_inbox'                      => $_POST['empty_user_inbox'], 
    4744                        'edit_sambausers_attributes'=> $_POST['edit_sambausers_attributes'], 
    4845                        'edit_sambadomains'                     => $_POST['edit_sambadomains'], 
     
    5754                        'create_computers'                      => $_POST['create_computers'], 
    5855                        'edit_computers'                        => $_POST['edit_computers'], 
    59                         'delete_computers'                      => $_POST['delete_computers'], 
    60                                          
     56                        'delete_computers'                      => $_POST['delete_computers'],                   
    6157                        'apps'                                          => $_POST['applications_list'] 
    6258                        ); 
     
    6460                        // Soma os niveis de acesso criando uma ACL 
    6561                        $acl = 0; 
    66                         $acl = $acl + $manager['add_users'] + $manager['edit_users'] + $manager['delete_users'] + $manager['rename_users'] + $manager['view_users'] + $manager['manipulate_corporative_information']; 
     62                        $acl = $acl + $manager['add_users'] + $manager['edit_users'] + $manager['delete_users'] + $manager['rename_users'] + $manager['view_users']; 
    6763                        $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups'] + $manager['edit_email_groups']; 
    68                         $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password'] + $manager['empty_user_inbox']; 
     64                        $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password']; 
    6965                        $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains']; 
    7066                        $acl = $acl + $manager['add_email_lists'] + $manager['edit_email_lists'] + $manager['delete_email_lists']; 
     
    106102                        'lid'                                           => $_POST['manager_lid'], 
    107103                        'context'                                       => $_POST['context'], 
    108                          
    109104                        'add_users'                                     => $_POST['add_users'], 
    110105                        'edit_users'                            => $_POST['edit_users'], 
     
    112107                        'rename_users'                          => $_POST['rename_users'], 
    113108                        'view_users'                            => $_POST['view_users'], 
    114                         'manipulate_corporative_information' => $_POST['manipulate_corporative_information'], 
    115109                        'add_groups'                            => $_POST['add_groups'], 
    116110                        'edit_groups'                           => $_POST['edit_groups'], 
     
    120114                        'change_users_quote'            => $_POST['change_users_quote'], 
    121115                        'set_user_default_password'     => $_POST['set_user_default_password'], 
    122                         'empty_user_inbox'                      => $_POST['empty_user_inbox'], 
    123116                        'edit_sambausers_attributes'=> $_POST['edit_sambausers_attributes'], 
    124117                        'edit_sambadomains'                     => $_POST['edit_sambadomains'], 
     
    134127                        'edit_computers'                        => $_POST['edit_computers'], 
    135128                        'delete_computers'                      => $_POST['delete_computers'], 
    136                          
    137129                        'apps'                                          => $_POST['applications_list'] 
    138130                        ); 
     
    140132                        // Soma os niveis de acesso criando uma ACL 
    141133                        $acl = 0; 
    142                         $acl = $acl + $manager['add_users'] + $manager['edit_users'] + $manager['delete_users'] + $manager['rename_users'] + $manager['view_users'] + $manager['manipulate_corporative_information']; 
     134                        $acl = $acl + $manager['add_users'] + $manager['edit_users'] + $manager['delete_users'] + $manager['rename_users'] + $manager['view_users']; 
    143135                        $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups'] + $manager['edit_email_groups']; 
    144                         $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password'] + $manager['empty_user_inbox']; 
     136                        $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password']; 
    145137                        $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains']; 
    146138                        $acl = $acl + $manager['add_email_lists'] + $manager['edit_email_lists'] + $manager['delete_email_lists']; 
  • trunk/expressoAdmin1_2/inc/class.functions.inc.php

    r57 r62  
    6666                                                return true; 
    6767                                        break; 
    68                                 case manipulate_corporative_information: 
    69                                         if ($array_acl[manipulate_corporative_information]) 
    70                                                 return true; 
    71                                         break; 
    7268                                case change_users_password: 
    7369                                        if ($array_acl[change_users_password]) 
     
    8076                                case set_user_default_password: 
    8177                                        if ($array_acl[set_user_default_password]) 
    82                                                 return true; 
    83                                         break; 
    84                                 case empty_user_inbox: 
    85                                         if (($array_acl[empty_user_inbox]) && ($array_acl[edit_users])) 
    8678                                                return true; 
    8779                                        break; 
     
    194186                 
    195187                // Make a array read humam 
    196                 // Last acl:    33.554.432, 67.108.864, 134.217.728, 134.217.728, 268.435.456 
     188                // Last acl:    33.554.432, 67.108.864 
    197189                function make_array_acl($acl) 
    198190                { 
     
    202194                        $array_acl['rename_users'] = $acl & 8388608; 
    203195                        $array_acl['view_users'] = $acl & 33554432; 
    204                         $array_acl['manipulate_corporative_information'] = $acl & 268435456; 
    205196                        $array_acl['add_groups'] = $acl & 16; 
    206197                        $array_acl['edit_groups'] = $acl & 32; 
     
    210201                        $array_acl['change_users_quote'] = $acl & 262144; 
    211202                        $array_acl['set_user_default_password'] = $acl & 524288; 
    212                         $array_acl['empty_user_inbox'] = $acl & 134217728; 
    213203                        $array_acl['edit_sambausers_attributes'] = $acl & 32768; 
    214204                        $array_acl['edit_sambadomains'] = $acl & 16777216; 
  • trunk/expressoAdmin1_2/inc/class.imap_functions.inc.php

    r57 r62  
    11<?php 
    2  
    3 include_once('class.functions.inc.php'); 
    42 
    53class imap_functions 
    64{ 
    7         var $functions; 
    85        var $imap; 
    96        var $imapDelimiter; 
     
    2017                $this->imapDelimiter= $_SESSION['phpgw_info']['expresso']['email_server']['imapDelimiter']; 
    2118                $this->imap             = imap_open('{'.$this->imap_server.':'.$this->imap_port.'/novalidate-cert}', $this->imap_admin, $this->imap_passwd, OP_HALFOPEN); 
    22                 $this->functions        = new functions; 
    2319        } 
    2420         
     
    7672                else 
    7773                { 
    78                         $quota['mailquota'] = round (($get_quota['limit'] / 1024), 2); 
    79                         $quota['mailquota_used'] = round (($get_quota['usage'] / 1024), 2); 
     74                        $quota['mailquota'] = ($get_quota['limit'] / 1024); 
     75                        $quota['mailquota_used'] = ($get_quota['usage'] / 1024); 
    8076                } 
    8177                         
     
    120116                return $result; 
    121117        } 
    122          
    123         function empty_inbox($params) 
    124         { 
    125                 // Verifica o acesso do gerente 
    126                 if (!$this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'empty_user_inbox')) 
    127                 { 
    128                         $result['status'] = false; 
    129                         $result['msg'] = 'Você não tem acesso para executar esta operação.'; 
    130                         return $result; 
    131                 } 
    132                  
    133                 if ($_SESSION['phpgw_info']['expressomail']['email_server']['imapTLSEncryption'] == 'yes') 
    134                 { 
    135                         $imap_options = '/tls/novalidate-cert'; 
    136                 } 
    137                 else 
    138                 { 
    139                         $imap_options = '/notls/novalidate-cert'; 
    140                 } 
    141  
    142                  
    143                 $result['status'] = true; 
    144                 $uid = $params['uid']; 
    145                  
    146                 $return_setacl = imap_setacl($this->imap, "user" . $this->imapDelimiter . $uid, $this->imap_admin, 'lrswipcda'); 
    147                  
    148                 if ($return_setacl) 
    149                 { 
    150                         //$mbox_stream = imap_open('{'.$this->imap_server.':'.$this->imap_port.$imap_options.'/user="'.$uid.'"}', $this->imap_admin, $this->imap_passwd); 
    151                         $mbox_stream = imap_open('{'.$this->imap_server.':'.$this->imap_port.$imap_options .'}user'. $this->imapDelimiter . $uid, $this->imap_admin, $this->imap_passwd); 
    152                          
    153                         $check = imap_mailboxmsginfo($mbox_stream); 
    154                         $inbox_size = (string)(round ((($check->Size)/(1024*1024)), 2)); 
    155                          
    156                         $return_imap_delete = imap_delete($mbox_stream,'1:*'); 
    157                         imap_close($mbox_stream, CL_EXPUNGE); 
    158                          
    159                         imap_setacl ($this->imap, "user" . $this->imapDelimiter . $uid, $this->imap_admin, ''); 
    160                          
    161                         if ($return_imap_delete) 
    162                         { 
    163                                 $result['inbox_size'] = $inbox_size; 
    164                                  
    165                                 $get_user_quota = @imap_get_quotaroot($this->imap,"user" . $this->imapDelimiter . $uid); 
    166                                 $result['mailquota_used'] = (string)(round(($get_user_quota['usage']/1024), 2)); 
    167                         } 
    168                         else 
    169                         { 
    170                                 $result['status'] = false; 
    171                                 $result['msg'] = "Nao foi possivel esvaziar a caixa postal do usuario:\n" . imap_last_error(); 
    172                         } 
    173                 } 
    174                 else 
    175                 { 
    176                         $result['status'] = false; 
    177                         $result['msg'] = "Nao foi possivel modificar a acl do usuario:\n" . imap_last_error(); 
    178                 } 
    179                 return $result; 
    180         } 
    181118} 
  • trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php

    r57 r62  
    33define('PHPGW_API_INC','../phpgwapi/inc');       
    44include_once(PHPGW_API_INC.'/class.common.inc.php'); 
    5 include_once('class.functions.inc.php'); 
    65 
    76class ldap_functions 
     
    98        var $ldap; 
    109        var $current_config; 
    11         var $functions; 
    1210         
    1311        function ldap_functions(){ 
     
    1614                $common = new common(); 
    1715                $this->ldap = $common->ldapConnect(); 
    18                 $this->functions = new functions; 
    1916        } 
    2017         
    2118        function validate_fields($params) 
    2219        { 
    23                 $result['status'] = true; 
    2420                $params = unserialize($params['attributes']); 
    2521                $type = $params['type']; 
     
    2824                $mail = $params['mail']; 
    2925                $mailalternateaddress = $params['mailalternateaddress']; 
    30                                  
     26 
     27                $result['status'] = true; 
     28                 
    3129                if ($_SESSION['phpgw_info']['expresso']['global_denied_users'][$uid]) 
    3230                { 
     
    659657                        array_pop($a_tmp); 
    660658                        $result['sambasid'] = implode("-", $a_tmp); 
    661                 } 
    662  
    663                 // Verifica o acesso do gerente aos atributos corporativos 
    664                 if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'manipulate_corporative_information')) 
    665                 { 
    666                         $result['corporative_information_employeenumber']= $entry[0]['employeenumber'][0]; 
    667                         $result['corporative_information_cpf']                  = $entry[0]['cpf'][0]; 
    668                         $result['corporative_information_rg']                   = $entry[0]['rg'][0]; 
    669                         $result['corporative_information_rguf']                 = $entry[0]['rguf'][0]; 
    670659                } 
    671660                 
  • trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php

    r57 r62  
    242242                                'display_spam_uid'                              => 'display:none', 
    243243                                'lang_general_information'              => lang('General Information'), 
    244                                 'lang_corporative_information'  => lang('Corporative Information'), 
    245244                                'lang_email_config'                             => lang('Email Config'), 
    246245                                'lang_groups_permission'                => lang('Groups Permission'), 
     
    275274                                'ldap_context'                                  => ldap_dn2ufn($GLOBALS['phpgw_info']['server']['ldap_context']), 
    276275                                 
    277                                 // Corporative Information 
    278                                 'display_corporative_information' => $this->functions->check_acl($manager_lid,'manipulate_corporative_information') ? '' : 'none', 
    279                                 'lang_employeenumber'                   => lang('Employee number'), 
    280                                 'lang_cpf'                                              => lang('cpf'), 
    281                                 'lang_rg'                                               => lang('rg'), 
    282                                 'lang_rguf'                                             => lang('rguf'), 
    283                                  
    284276                                //MAIL 
    285277                                'lang_activeemailaccount'               => lang('Active email account'), 
     
    313305                                 
    314306                                //SAMBA ABA 
    315                                 'display_samba_suport'                          => $this->functions->check_acl($manager_lid,'edit_sambausers_attributes') ? '' : 'none', 
    316307                                'lang_samba_config'                                     => lang('Samba Config'), 
    317308                                'lang_use_attrs_samba'                          => lang('Use samba attributes'), 
     
    545536                                'display_input_account_lid'             => 'display:none', 
    546537                                'lang_general_information'              => lang('General Information'), 
    547                                 'lang_corporative_information'  => lang('Corporative Information'), 
    548538                                'lang_email_config'                             => lang('Email Config'), 
    549539                                'lang_groups_permission'                => lang('Groups Permission'), 
     
    582572                                'phpgwaccountvisible_checked'   => $user_info['phpgwaccountvisible'] == '-1' ? 'CHECKED' : '', 
    583573 
    584                                 // Corporative Information 
    585                                 'display_corporative_information'=> $this->functions->check_acl($manager_account_lid,'edit_sambausers_attributes') ? '' : 'none', 
    586                                 'lang_employeenumber'                   => lang('Employee number'), 
    587                                 'lang_cpf'                                              => lang('cpf'), 
    588                                 'lang_rg'                                               => lang('rg'), 
    589                                 'lang_rguf'                                             => lang('rguf'), 
    590                                 'corporative_information_employeenumber' => $user_info['corporative_information_employeenumber'], 
    591                                 'corporative_information_cpf'                   => $user_info['corporative_information_cpf'], 
    592                                 'corporative_information_rg'                    => $user_info['corporative_information_rg'], 
    593                                 'corporative_information_rguf'                  => $user_info['corporative_information_rguf'], 
    594                                  
    595                                 //MAIL 
     574                                //MAIL BORD 
    596575                                'disabled_quota_used'                   => 'disabled', 
    597576                                'lang_activeemailaccount'               => lang('Active email account'), 
  • trunk/expressoAdmin1_2/inc/class.uimanagers.inc.php

    r57 r62  
    207207                                'lang_rename_user'                              => lang('Rename users'), 
    208208                                'lang_view_user'                                => lang('View users'), 
    209                                 'lang_manipulate_corporative_information' => lang('Manipulate corporative information'), 
    210209                                'lang_add_groups'                               => lang('Add groups'), 
    211210                                'lang_edit_groups'                              => lang('Edit groups'), 
     
    215214                                'lang_change_users_quote'               => lang('Change users quote'), 
    216215                                'lang_set_user_default_password'=> lang('Set default users password'), 
    217                                 'lang_empty_user_inbox'                 => lang('Empty user inbox'), 
    218216                                'lang_edit_sambausers_attributes'=> lang('Edit SAMBA users attributes'), 
    219217                                'lang_edit_sambadomains'                => lang('Edit SAMBA domains'), 
     
    235233                                'add_users'                                     => $_POST['add_users'] != '' ? 'checked' : '', 
    236234                                'edit_users'                                    => $_POST['edit_users'] != '' ? 'checked' : '', 
    237                                 'view_users'                                    => $_POST['view_users'] != '' ? 'checked' : '', 
    238                                 'manipulate_corporative_information' => $_POST['manipulate_corporative_information'] != '' ? 'checked' : '', 
    239235                                'delete_users'                                  => $_POST['delete_users'] != '' ? 'checked' : '', 
    240236                                'add_groups'                                    => $_POST['add_groups'] != '' ? 'checked' : '', 
     
    339335                                $_POST['rename_users']                  = $acl['rename_users']; 
    340336                                $_POST['view_users']                    = $acl['view_users']; 
    341                                 $_POST['manipulate_corporative_information'] = $acl['manipulate_corporative_information']; 
    342337                                $_POST['add_groups']                    = $acl['add_groups']; 
    343338                                $_POST['edit_groups']                   = $acl['edit_groups']; 
     
    347342                                $_POST['change_users_quote']    = $acl['change_users_quote']; 
    348343                                $_POST['set_user_default_password']     = $acl['set_user_default_password']; 
    349                                 $_POST['empty_user_inbox']              = $acl['empty_user_inbox']; 
    350344                                $_POST['edit_sambausers_attributes'] = $acl['edit_sambausers_attributes']; 
    351345                                $_POST['edit_sambadomains']     = $acl['edit_sambadomains']; 
     
    459453                                'lang_rename_user'                              => lang('Rename users'), 
    460454                                'lang_view_user'                                => lang('View users'), 
    461                                 'lang_manipulate_corporative_information' => lang('Manipulate corporative information'), 
    462455                                'lang_add_groups'                               => lang('Add groups'), 
    463456                                'lang_edit_groups'                              => lang('Edit groups'), 
     
    467460                                'lang_change_users_quote'               => lang('Change users quote'), 
    468461                                'lang_set_user_default_password'=> lang('Set default user password'), 
    469                                 'lang_empty_user_inbox'                 => lang('Empty user inbox'), 
    470462                                'lang_edit_sambausers_attributes'=> lang('Edit SAMBA users attributes'), 
    471463                                'lang_edit_sambadomains'                => lang('Edit SAMBA domains'), 
     
    491483                                'rename_users'                                  => $_POST['rename_users'] != '' ? 'checked' : '', 
    492484                                'view_users'                                    => $_POST['view_users'] != '' ? 'checked' : '', 
    493                                 'manipulate_corporative_information' => $_POST['manipulate_corporative_information'] != '' ? 'checked' : '', 
    494485                                'add_groups'                                    => $_POST['add_groups'] != '' ? 'checked' : '', 
    495486                                'edit_groups'                                   => $_POST['edit_groups'] != '' ? 'checked' : '', 
     
    499490                                'change_users_quote'                    => $_POST['change_users_quote'] != '' ? 'checked' : '', 
    500491                                'set_user_default_password'             => $_POST['set_user_default_password'] != '' ? 'checked' : '', 
    501                                 'empty_user_inbox'                              => $_POST['empty_user_inbox'] != '' ? 'checked' : '', 
    502492                                'edit_sambausers_attributes'    => $_POST['edit_sambausers_attributes'] != '' ? 'checked' : '', 
    503493                                'edit_sambadomains'                             => $_POST['edit_sambadomains'] != '' ? 'checked' : '', 
  • 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?> 
  • trunk/expressoAdmin1_2/js/jscode/users.js

    r57 r62  
    4141                return; 
    4242        } 
    43          
    44         // Corporative Information 
    45         if (document.forms[0].corporative_information_employeenumber.value != "") 
    46         { 
    47                 var re_employeenumber = /^([0-9])+$/; 
    48                  
    49                 if(!re_employeenumber.test(document.forms[0].corporative_information_employeenumber.value)) 
    50                 { 
    51                         alert('Campo matrícula contém caracteres não permitidos. Somente números são permitidos.'); 
    52                         document.forms[0].corporative_information_employeenumber.focus(); 
    53                         return; 
    54                 } 
    55         } 
    56  
    57         if (document.forms[0].corporative_information_cpf.value != "") 
    58         { 
    59                 var re_cpf = /^([0-9])+$/; 
    60  
    61                 if(!re_cpf.test(document.forms[0].corporative_information_cpf.value)) 
    62                 { 
    63                         alert('Campo cpf contém caracteres não permitidos. Somente números são permitidos'); 
    64                         document.forms[0].corporative_information_employeenumber.focus(); 
    65                         return; 
    66                 } 
    67          
    68                 if (! validarCPF(document.forms[0].corporative_information_cpf.value) ) 
    69                 { 
    70                         alert("Campo CPF invalido."); 
    71                         document.forms[0].corporative_information_cpf.focus(); 
    72                         return; 
    73                 } 
    74         } 
    75          
     43 
    7644        //MAIL 
    7745        document.forms[0].mail.value = document.forms[0].mail.value.toLowerCase(); 
     
    638606        } 
    639607} 
    640  
    641 function empty_inbox(uid) 
    642 { 
    643         var action = "Limpado INBOX do usuario"; 
    644         var handler_write_log = function(){} 
    645         var handler_empty_inbox = function(data) 
    646         { 
    647                 if (!data.status) 
    648                         alert(data.msg); 
    649                 else{ 
    650                         cExecute ('$this.user.write_log_from_ajax&_action='+action+'&userinfo='+uid, handler_write_log); 
    651                         alert("Esvaziados '" + data.inbox_size + "' MB da caixa postal do usuário"); 
    652                         document.getElementById('mailquota_used').value = data.mailquota_used; 
    653                 } 
    654         } 
    655         cExecute ('$this.imap_functions.empty_inbox&uid='+uid, handler_empty_inbox); 
    656 } 
    657  
    658 function validarCPF(cpf) 
    659 { 
    660         if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || 
    661                 cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || 
    662                 cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || 
    663                 cpf == "88888888888" || cpf == "99999999999"){ 
    664           return false; 
    665    } 
    666  
    667         soma = 0; 
    668         for(i = 0; i < 9; i++) 
    669                 soma += parseInt(cpf.charAt(i)) * (10 - i); 
    670         resto = 11 - (soma % 11); 
    671         if(resto == 10 || resto == 11) 
    672                 resto = 0; 
    673         if(resto != parseInt(cpf.charAt(9))) 
    674         { 
    675                 return false; 
    676         } 
    677          
    678         soma = 0; 
    679         for(i = 0; i < 10; i ++) 
    680                 soma += parseInt(cpf.charAt(i)) * (11 - i); 
    681         resto = 11 - (soma % 11); 
    682         if(resto == 10 || resto == 11) 
    683                 resto = 0; 
    684         if(resto != parseInt(cpf.charAt(10))){ 
    685                 return false; 
    686         } 
    687         return true; 
    688 } 
  • trunk/expressoAdmin1_2/templates/default/accounts_form.tpl

    r57 r62  
    22 
    33<script type="text/javascript"> 
    4 var tab = new Tabs(7,'activetab','inactivetab','tab','tabcontent','','','tabpage'); 
     4var tab = new Tabs(6,'activetab','inactivetab','tab','tabcontent','','','tabpage'); 
    55function initAll() 
    66{ 
     
    2828        <tr> 
    2929                <th id="tab1" class="activetab" onclick="javascript:tab.display(1);"><a href="#" tabindex="0" accesskey="1" onfocus="tab.display(1);" onclick="tab.display(1); return(false);">{lang_general_information}</a></th> 
    30                 <th id="tab2" class="activetab" style="display:{display_corporative_information}"onclick="javascript:tab.display(2);"><a href="#" tabindex="0" accesskey="2" onfocus="tab.display(2);" onclick="tab.display(2); return(false);">{lang_corporative_information}</a></th> 
    31                 <th id="tab3" class="activetab" onclick="javascript:tab.display(3);"><a href="#" tabindex="0" accesskey="3" onfocus="tab.display(3);" onclick="tab.display(3); return(false);">{lang_email_config}</a></th> 
    32                 <th id="tab4" class="activetab" onclick="javascript:tab.display(4);"><a href="#" tabindex="0" accesskey="4" onfocus="tab.display(4);" onclick="tab.display(4); return(false);">{lang_groups_permission}</a></th> 
    33                 <th id="tab5" class="activetab" onclick="javascript:tab.display(5);"><a href="#" tabindex="0" accesskey="5" onfocus="tab.display(5);" onclick="tab.display(5); return(false);">{lang_lists_permission}</a></th> 
    34                 <th id="tab6" class="activetab" onclick="javascript:tab.display(6);"><a href="#" tabindex="0" accesskey="6" onfocus="tab.display(6);" onclick="tab.display(6); return(false);">{lang_aplication_permission}</a></th> 
    35                 <th id="tab7" class="activetab" style="display:{display_samba_suport}" onclick="javascript:tab.display(7);"><a href="#" tabindex="0" accesskey="7" onfocus="tab.display(7);" onclick="tab.display(7); return(false);">{lang_samba_config}</a></th> 
     30                <th id="tab2" class="activetab" onclick="javascript:tab.display(2);"><a href="#" tabindex="0" accesskey="2" onfocus="tab.display(2);" onclick="tab.display(2); return(false);">{lang_email_config}</a></th> 
     31                <th id="tab3" class="activetab" onclick="javascript:tab.display(3);"><a href="#" tabindex="0" accesskey="3" onfocus="tab.display(3);" onclick="tab.display(3); return(false);">{lang_groups_permission}</a></th> 
     32                <th id="tab4" class="activetab" onclick="javascript:tab.display(4);"><a href="#" tabindex="0" accesskey="4" onfocus="tab.display(4);" onclick="tab.display(4); return(false);">{lang_lists_permission}</a></th> 
     33                <th id="tab5" class="activetab" onclick="javascript:tab.display(5);"><a href="#" tabindex="0" accesskey="5" onfocus="tab.display(5);" onclick="tab.display(5); return(false);">{lang_aplication_permission}</a></th> 
     34                <th style="{display_samba_suport}" id="tab6" class="activetab" onclick="javascript:tab.display(6);"><a href="#" tabindex="0" accesskey="6" onfocus="tab.display(6);" onclick="tab.display(6); return(false);">{lang_samba_config}</a></th> 
    3635        </tr> 
    3736</table> 
     
    112111</div> 
    113112 
    114 <!-- The code for Corporative Information --> 
     113<!-- The code for Email Config --> 
    115114<div id="tabcontent2" class="inactivetab"> 
    116115        <table width="60%" border="0" cellspacing="4" cellpading="0"> 
    117                 <tr bgcolor={row_on}> 
    118                         <td>{lang_employeenumber}:</td> 
    119                         <td><input type="text" name="corporative_information_employeenumber" autocomplete="off" value="{corporative_information_employeenumber}" size="30"></td> 
    120                 </tr> 
    121                 <tr bgcolor={row_off}> 
    122                         <td>{lang_cpf}:</td> 
    123                         <td><input type="text" name="corporative_information_cpf" autocomplete="off" value="{corporative_information_cpf}" size="30"></td> 
    124                 </tr> 
    125                 <tr bgcolor={row_on}> 
    126                         <td>{lang_rg}:</td> 
    127                         <td><input type="text" name="corporative_information_rg" autocomplete="off" value="{corporative_information_rg}" size="30"></td> 
    128                 </tr> 
    129                 <tr bgcolor={row_off}> 
    130                         <td>{lang_rguf}:</td> 
    131                         <td><input type="text" name="corporative_information_rguf" autocomplete="off" value="{corporative_information_rguf}" size="30"></td> 
    132                 </tr> 
    133         </table> 
    134 </div> 
    135  
    136 <!-- The code for Email Config --> 
    137 <div id="tabcontent3" class="inactivetab"> 
    138         <table width="60%" border="0" cellspacing="4" cellpading="0"> 
    139116                <tr bgcolor={row_off}> 
    140117                        <td>{lang_activeemailaccount}:</td> 
     
    169146                <tr bgcolor={row_off}> 
    170147                        <td>{lang_email_quota_used}:</td> 
    171                         <td><input type="text" name="mailquota_used" id="mailquota_used" value="{mailquota_used}" disabled size=10></td> 
    172                 </tr> 
    173  
    174                 <tr bgcolor={row_on}> 
    175                         <td><input type='button' {disabled} {disabled_empty_inbox} value='Limpar INBOX do usuário' onclick="javascript:empty_inbox(uid.value);"></td> 
    176                 </tr> 
    177  
     148                        <td><input type="text" name="mailquota_used" value="{mailquota_used}" disabled size=10></td> 
     149                </tr> 
     150                                 
    178151        </table> 
    179152</div> 
    180153 
    181154<!-- The code for Group --> 
    182 <div id="tabcontent4" class="inactivetab"> 
     155<div id="tabcontent3" class="inactivetab"> 
    183156        <table width="60%" border="0" cellspacing="4" cellpading="0"> 
    184157                <tr bgcolor={row_on}> 
     
    240213 
    241214<!-- The code for lists Email --> 
    242 <div id="tabcontent5" class="inactivetab"> 
     215<div id="tabcontent4" class="inactivetab"> 
    243216        <table width="60%" border="0" cellspacing="4" cellpading="0"> 
    244217                <tr bgcolor={row_on}> 
     
    292265 
    293266<!-- The code for Apps Tab --> 
    294 <div id="tabcontent6" class="inactivetab"> 
     267<div id="tabcontent5" class="inactivetab"> 
    295268        <table id="ea_table_apps" width="80%" border="0" cellspacing="2" cellpading="0"> 
    296269                {apps} 
     
    299272 
    300273<!-- The code for SAMBA --> 
    301 <!--<div id="tabcontent7" class="inactivetab" style="{display_samba_suport}">--> 
    302 <div id="tabcontent7" class="inactivetab"> 
     274<div id="tabcontent6" class="inactivetab" style="{display_samba_suport}"> 
    303275        <table width="60%" border="0" cellspacing="4" cellpading="0"> 
    304276                <tr bgcolor={row_on}> 
  • trunk/expressoAdmin1_2/templates/default/managers_form.tpl

    r57 r62  
    7676                                                </tr> 
    7777                                                <tr bgcolor="{color_font1}" align='right'> 
    78                                                         <td>{lang_manipulate_corporative_information}:</td> 
    79                                                         <td><input type="checkbox" name="manipulate_corporative_information" value="268435456" {manipulate_corporative_information}></td> 
    80                                                 </tr> 
    81                                                 <tr bgcolor="{color_font1}" align='right'> 
    8278                                                        <td>{lang_view_user}:</td> 
    8379                                                        <td><input type="checkbox" name="view_users" value="33554432" {view_users}></td> 
     
    9490                                                        <td>{lang_set_user_default_password}:</td> 
    9591                                                        <td><input type="checkbox" name="set_user_default_password" value="524288" {set_user_default_password}></td> 
    96                                                 </tr> 
    97                                                 <tr bgcolor="{color_font1}" align='right'> 
    98                                                         <td>{lang_empty_user_inbox}:</td> 
    99                                                         <td><input type="checkbox" name="empty_user_inbox" value="134217728" {empty_user_inbox}></td> 
    10092                                                </tr> 
    10193                                                 
  • trunk/phpgwapi/inc/class.common.inc.php

    r2 r62  
    248248                function ldapConnect($host='', $dn='', $passwd='', $ldapreferral=false) #default: dont follow the referral 
    249249                { 
    250                         if(!$host || $host == $GLOBALS['phpgw_info']['server']['ldap_host']) { 
    251                                 $dn     = $GLOBALS['phpgw_info']['server']['ldap_root_dn']; 
    252                                 $passwd = $GLOBALS['phpgw_info']['server']['ldap_root_pw']; 
    253                                 $host   = $GLOBALS['phpgw_info']['server']['ldap_host']; 
    254                         } 
     250                         
     251                        if(!$host || $host == $GLOBALS['phpgw_info']['server']['ldap_host']) {                        
     252                                $dn     = $dn ? $dn : $GLOBALS['phpgw_info']['server']['ldap_root_dn']; 
     253                                $passwd = $passwd ? $passwd : $GLOBALS['phpgw_info']['server']['ldap_root_pw']; 
     254                                $host   = $host ? $host : $GLOBALS['phpgw_info']['server']['ldap_host']; 
     255                        } 
     256 
    255257                        else if(strstr($host, "ldap://")){ 
    256258                                $dn = ''; 
     
    14571459                        if (!$t || (int)$t <= 0) 
    14581460                        { 
     1461                                $t."GMT"; 
    14591462                                $t = $GLOBALS['phpgw']->datetime->gmtnow; 
    14601463                        } 
    1461  
     1464                        else 
     1465                                $t."Não GMT"; 
    14621466                        //  + (date('I') == 1?3600:0) 
    14631467                        $t += $GLOBALS['phpgw']->datetime->tz_offset; 
  • trunk/phpgwapi/inc/class.sector_search_ldap.inc.php

    r44 r62  
    178178                        $first_sector_ufn = ldap_dn2ufn($context); 
    179179                        $first_sector_string = split(",", $first_sector_ufn); 
    180                         $options = "<option value='$context'>" . strtoupper($first_sector_string[0]) . "</option>" . $options; 
     180                         
     181                        if ($context == $selected) 
     182                                $select_first_entrie = ' selected'; 
     183                        $options = "<option value='$context'$select_first_entrie>+ " . strtoupper($first_sector_string[0]) . "</option>" . $options; 
    181184 
    182185            return $options; 
Note: See TracChangeset for help on using the changeset viewer.