Changeset 62
- Timestamp:
- 08/23/07 11:40:39 (17 years ago)
- Location:
- trunk
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/docs/change_log.txt
r57 r62 87 87 - Corrigido bug ao adicionar email em grupos 88 88 - Corrigido bug ao adicionar atributos samba a um usuários já existente. 89 90 14/08/200791 - Criado aba Informações Corporativas, com os campo employeeNumber, cpf, rg, rgUf92 - Melhorado classe user.inc.php. -
trunk/expressoAdmin1_2/inc/class.bomanagers.inc.php
r57 r62 30 30 'lid' => $_POST['manager_lid'], 31 31 'context' => $_POST['context'], 32 33 32 'add_users' => $_POST['add_users'], 34 33 'edit_users' => $_POST['edit_users'], … … 36 35 'rename_users' => $_POST['rename_users'], 37 36 'view_users' => $_POST['view_users'], 38 'manipulate_corporative_information' => $_POST['manipulate_corporative_information'],39 37 'add_groups' => $_POST['add_groups'], 40 38 'edit_groups' => $_POST['edit_groups'], … … 44 42 'change_users_quote' => $_POST['change_users_quote'], 45 43 'set_user_default_password' => $_POST['set_user_default_password'], 46 'empty_user_inbox' => $_POST['empty_user_inbox'],47 44 'edit_sambausers_attributes'=> $_POST['edit_sambausers_attributes'], 48 45 'edit_sambadomains' => $_POST['edit_sambadomains'], … … 57 54 'create_computers' => $_POST['create_computers'], 58 55 'edit_computers' => $_POST['edit_computers'], 59 'delete_computers' => $_POST['delete_computers'], 60 56 'delete_computers' => $_POST['delete_computers'], 61 57 'apps' => $_POST['applications_list'] 62 58 ); … … 64 60 // Soma os niveis de acesso criando uma ACL 65 61 $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']; 67 63 $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']; 69 65 $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains']; 70 66 $acl = $acl + $manager['add_email_lists'] + $manager['edit_email_lists'] + $manager['delete_email_lists']; … … 106 102 'lid' => $_POST['manager_lid'], 107 103 'context' => $_POST['context'], 108 109 104 'add_users' => $_POST['add_users'], 110 105 'edit_users' => $_POST['edit_users'], … … 112 107 'rename_users' => $_POST['rename_users'], 113 108 'view_users' => $_POST['view_users'], 114 'manipulate_corporative_information' => $_POST['manipulate_corporative_information'],115 109 'add_groups' => $_POST['add_groups'], 116 110 'edit_groups' => $_POST['edit_groups'], … … 120 114 'change_users_quote' => $_POST['change_users_quote'], 121 115 'set_user_default_password' => $_POST['set_user_default_password'], 122 'empty_user_inbox' => $_POST['empty_user_inbox'],123 116 'edit_sambausers_attributes'=> $_POST['edit_sambausers_attributes'], 124 117 'edit_sambadomains' => $_POST['edit_sambadomains'], … … 134 127 'edit_computers' => $_POST['edit_computers'], 135 128 'delete_computers' => $_POST['delete_computers'], 136 137 129 'apps' => $_POST['applications_list'] 138 130 ); … … 140 132 // Soma os niveis de acesso criando uma ACL 141 133 $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']; 143 135 $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']; 145 137 $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains']; 146 138 $acl = $acl + $manager['add_email_lists'] + $manager['edit_email_lists'] + $manager['delete_email_lists']; -
trunk/expressoAdmin1_2/inc/class.functions.inc.php
r57 r62 66 66 return true; 67 67 break; 68 case manipulate_corporative_information:69 if ($array_acl[manipulate_corporative_information])70 return true;71 break;72 68 case change_users_password: 73 69 if ($array_acl[change_users_password]) … … 80 76 case set_user_default_password: 81 77 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]))86 78 return true; 87 79 break; … … 194 186 195 187 // Make a array read humam 196 // Last acl: 33.554.432, 67.108.864 , 134.217.728, 134.217.728, 268.435.456188 // Last acl: 33.554.432, 67.108.864 197 189 function make_array_acl($acl) 198 190 { … … 202 194 $array_acl['rename_users'] = $acl & 8388608; 203 195 $array_acl['view_users'] = $acl & 33554432; 204 $array_acl['manipulate_corporative_information'] = $acl & 268435456;205 196 $array_acl['add_groups'] = $acl & 16; 206 197 $array_acl['edit_groups'] = $acl & 32; … … 210 201 $array_acl['change_users_quote'] = $acl & 262144; 211 202 $array_acl['set_user_default_password'] = $acl & 524288; 212 $array_acl['empty_user_inbox'] = $acl & 134217728;213 203 $array_acl['edit_sambausers_attributes'] = $acl & 32768; 214 204 $array_acl['edit_sambadomains'] = $acl & 16777216; -
trunk/expressoAdmin1_2/inc/class.imap_functions.inc.php
r57 r62 1 1 <?php 2 3 include_once('class.functions.inc.php');4 2 5 3 class imap_functions 6 4 { 7 var $functions;8 5 var $imap; 9 6 var $imapDelimiter; … … 20 17 $this->imapDelimiter= $_SESSION['phpgw_info']['expresso']['email_server']['imapDelimiter']; 21 18 $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;23 19 } 24 20 … … 76 72 else 77 73 { 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); 80 76 } 81 77 … … 120 116 return $result; 121 117 } 122 123 function empty_inbox($params)124 {125 // Verifica o acesso do gerente126 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 else138 {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 else169 {170 $result['status'] = false;171 $result['msg'] = "Nao foi possivel esvaziar a caixa postal do usuario:\n" . imap_last_error();172 }173 }174 else175 {176 $result['status'] = false;177 $result['msg'] = "Nao foi possivel modificar a acl do usuario:\n" . imap_last_error();178 }179 return $result;180 }181 118 } -
trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
r57 r62 3 3 define('PHPGW_API_INC','../phpgwapi/inc'); 4 4 include_once(PHPGW_API_INC.'/class.common.inc.php'); 5 include_once('class.functions.inc.php');6 5 7 6 class ldap_functions … … 9 8 var $ldap; 10 9 var $current_config; 11 var $functions;12 10 13 11 function ldap_functions(){ … … 16 14 $common = new common(); 17 15 $this->ldap = $common->ldapConnect(); 18 $this->functions = new functions;19 16 } 20 17 21 18 function validate_fields($params) 22 19 { 23 $result['status'] = true;24 20 $params = unserialize($params['attributes']); 25 21 $type = $params['type']; … … 28 24 $mail = $params['mail']; 29 25 $mailalternateaddress = $params['mailalternateaddress']; 30 26 27 $result['status'] = true; 28 31 29 if ($_SESSION['phpgw_info']['expresso']['global_denied_users'][$uid]) 32 30 { … … 659 657 array_pop($a_tmp); 660 658 $result['sambasid'] = implode("-", $a_tmp); 661 }662 663 // Verifica o acesso do gerente aos atributos corporativos664 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];670 659 } 671 660 -
trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php
r57 r62 242 242 'display_spam_uid' => 'display:none', 243 243 'lang_general_information' => lang('General Information'), 244 'lang_corporative_information' => lang('Corporative Information'),245 244 'lang_email_config' => lang('Email Config'), 246 245 'lang_groups_permission' => lang('Groups Permission'), … … 275 274 'ldap_context' => ldap_dn2ufn($GLOBALS['phpgw_info']['server']['ldap_context']), 276 275 277 // Corporative Information278 '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 284 276 //MAIL 285 277 'lang_activeemailaccount' => lang('Active email account'), … … 313 305 314 306 //SAMBA ABA 315 'display_samba_suport' => $this->functions->check_acl($manager_lid,'edit_sambausers_attributes') ? '' : 'none',316 307 'lang_samba_config' => lang('Samba Config'), 317 308 'lang_use_attrs_samba' => lang('Use samba attributes'), … … 545 536 'display_input_account_lid' => 'display:none', 546 537 'lang_general_information' => lang('General Information'), 547 'lang_corporative_information' => lang('Corporative Information'),548 538 'lang_email_config' => lang('Email Config'), 549 539 'lang_groups_permission' => lang('Groups Permission'), … … 582 572 'phpgwaccountvisible_checked' => $user_info['phpgwaccountvisible'] == '-1' ? 'CHECKED' : '', 583 573 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 596 575 'disabled_quota_used' => 'disabled', 597 576 'lang_activeemailaccount' => lang('Active email account'), -
trunk/expressoAdmin1_2/inc/class.uimanagers.inc.php
r57 r62 207 207 'lang_rename_user' => lang('Rename users'), 208 208 'lang_view_user' => lang('View users'), 209 'lang_manipulate_corporative_information' => lang('Manipulate corporative information'),210 209 'lang_add_groups' => lang('Add groups'), 211 210 'lang_edit_groups' => lang('Edit groups'), … … 215 214 'lang_change_users_quote' => lang('Change users quote'), 216 215 'lang_set_user_default_password'=> lang('Set default users password'), 217 'lang_empty_user_inbox' => lang('Empty user inbox'),218 216 'lang_edit_sambausers_attributes'=> lang('Edit SAMBA users attributes'), 219 217 'lang_edit_sambadomains' => lang('Edit SAMBA domains'), … … 235 233 'add_users' => $_POST['add_users'] != '' ? 'checked' : '', 236 234 'edit_users' => $_POST['edit_users'] != '' ? 'checked' : '', 237 'view_users' => $_POST['view_users'] != '' ? 'checked' : '',238 'manipulate_corporative_information' => $_POST['manipulate_corporative_information'] != '' ? 'checked' : '',239 235 'delete_users' => $_POST['delete_users'] != '' ? 'checked' : '', 240 236 'add_groups' => $_POST['add_groups'] != '' ? 'checked' : '', … … 339 335 $_POST['rename_users'] = $acl['rename_users']; 340 336 $_POST['view_users'] = $acl['view_users']; 341 $_POST['manipulate_corporative_information'] = $acl['manipulate_corporative_information'];342 337 $_POST['add_groups'] = $acl['add_groups']; 343 338 $_POST['edit_groups'] = $acl['edit_groups']; … … 347 342 $_POST['change_users_quote'] = $acl['change_users_quote']; 348 343 $_POST['set_user_default_password'] = $acl['set_user_default_password']; 349 $_POST['empty_user_inbox'] = $acl['empty_user_inbox'];350 344 $_POST['edit_sambausers_attributes'] = $acl['edit_sambausers_attributes']; 351 345 $_POST['edit_sambadomains'] = $acl['edit_sambadomains']; … … 459 453 'lang_rename_user' => lang('Rename users'), 460 454 'lang_view_user' => lang('View users'), 461 'lang_manipulate_corporative_information' => lang('Manipulate corporative information'),462 455 'lang_add_groups' => lang('Add groups'), 463 456 'lang_edit_groups' => lang('Edit groups'), … … 467 460 'lang_change_users_quote' => lang('Change users quote'), 468 461 'lang_set_user_default_password'=> lang('Set default user password'), 469 'lang_empty_user_inbox' => lang('Empty user inbox'),470 462 'lang_edit_sambausers_attributes'=> lang('Edit SAMBA users attributes'), 471 463 'lang_edit_sambadomains' => lang('Edit SAMBA domains'), … … 491 483 'rename_users' => $_POST['rename_users'] != '' ? 'checked' : '', 492 484 'view_users' => $_POST['view_users'] != '' ? 'checked' : '', 493 'manipulate_corporative_information' => $_POST['manipulate_corporative_information'] != '' ? 'checked' : '',494 485 'add_groups' => $_POST['add_groups'] != '' ? 'checked' : '', 495 486 'edit_groups' => $_POST['edit_groups'] != '' ? 'checked' : '', … … 499 490 'change_users_quote' => $_POST['change_users_quote'] != '' ? 'checked' : '', 500 491 'set_user_default_password' => $_POST['set_user_default_password'] != '' ? 'checked' : '', 501 'empty_user_inbox' => $_POST['empty_user_inbox'] != '' ? 'checked' : '',502 492 'edit_sambausers_attributes' => $_POST['edit_sambausers_attributes'] != '' ? 'checked' : '', 503 493 'edit_sambadomains' => $_POST['edit_sambadomains'] != '' ? 'checked' : '', -
trunk/expressoAdmin1_2/inc/class.user.inc.php
r57 r62 117 117 if (($this->current_config['expressoAdmin_samba_support'] == 'true') && ($params['use_attrs_samba'] == 'on')) 118 118 { 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 } 169 147 $result = $this->ldap_functions->ldap_add_entry($dn, $user_info); 170 148 if (!$result['status']) … … 261 239 $old_values = $this->get_user_info($new_values['uidnumber'], $new_values['manager_context']); 262 240 $dn = 'uid=' . $old_values['uid'] . ',' . strtolower($old_values['context']); 263 241 264 242 $diff = array_diff($new_values, $old_values); 265 243 266 244 $manager_account_lid = $_SESSION['phpgw_session']['session_lid']; 267 245 if ((!$this->functions->check_acl($manager_account_lid,'edit_users')) && … … 276 254 277 255 // 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 278 262 if ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users')) 279 263 { … … 309 293 $ldap_mod_replace['sn'] = $new_values['sn']; 310 294 $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,'',''); 312 296 } 313 297 if ($diff['mail']) … … 365 349 } 366 350 } 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 401 352 //Suporte ao SAMBA 402 353 if ( ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users')) || … … 561 512 } 562 513 } 563 514 564 515 if ( ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_users')) || 565 516 ($this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_sambausers_attributes')) ) … … 689 640 if (count($ldap_remove)) 690 641 { 642 691 643 $result = $this->ldap_functions->remove_user_attributes($dn, $ldap_remove); 692 644 if (!$result['status']) … … 775 727 return $return; 776 728 } 729 777 730 778 731 function get_user_info($uidnumber, $context) … … 1123 1076 } 1124 1077 } 1125 1126 function write_log_from_ajax($params)1127 {1128 $this->db_functions->write_log($params['_action'],'',$params['userinfo'],'','');1129 return true;1130 }1131 1078 } 1132 1079 ?> -
trunk/expressoAdmin1_2/js/jscode/users.js
r57 r62 41 41 return; 42 42 } 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 76 44 //MAIL 77 45 document.forms[0].mail.value = document.forms[0].mail.value.toLowerCase(); … … 638 606 } 639 607 } 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 2 2 3 3 <script type="text/javascript"> 4 var tab = new Tabs( 7,'activetab','inactivetab','tab','tabcontent','','','tabpage');4 var tab = new Tabs(6,'activetab','inactivetab','tab','tabcontent','','','tabpage'); 5 5 function initAll() 6 6 { … … 28 28 <tr> 29 29 <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> 36 35 </tr> 37 36 </table> … … 112 111 </div> 113 112 114 <!-- The code for Corporative Information-->113 <!-- The code for Email Config --> 115 114 <div id="tabcontent2" class="inactivetab"> 116 115 <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">139 116 <tr bgcolor={row_off}> 140 117 <td>{lang_activeemailaccount}:</td> … … 169 146 <tr bgcolor={row_off}> 170 147 <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 178 151 </table> 179 152 </div> 180 153 181 154 <!-- The code for Group --> 182 <div id="tabcontent 4" class="inactivetab">155 <div id="tabcontent3" class="inactivetab"> 183 156 <table width="60%" border="0" cellspacing="4" cellpading="0"> 184 157 <tr bgcolor={row_on}> … … 240 213 241 214 <!-- The code for lists Email --> 242 <div id="tabcontent 5" class="inactivetab">215 <div id="tabcontent4" class="inactivetab"> 243 216 <table width="60%" border="0" cellspacing="4" cellpading="0"> 244 217 <tr bgcolor={row_on}> … … 292 265 293 266 <!-- The code for Apps Tab --> 294 <div id="tabcontent 6" class="inactivetab">267 <div id="tabcontent5" class="inactivetab"> 295 268 <table id="ea_table_apps" width="80%" border="0" cellspacing="2" cellpading="0"> 296 269 {apps} … … 299 272 300 273 <!-- 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}"> 303 275 <table width="60%" border="0" cellspacing="4" cellpading="0"> 304 276 <tr bgcolor={row_on}> -
trunk/expressoAdmin1_2/templates/default/managers_form.tpl
r57 r62 76 76 </tr> 77 77 <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'>82 78 <td>{lang_view_user}:</td> 83 79 <td><input type="checkbox" name="view_users" value="33554432" {view_users}></td> … … 94 90 <td>{lang_set_user_default_password}:</td> 95 91 <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>100 92 </tr> 101 93 -
trunk/phpgwapi/inc/class.common.inc.php
r2 r62 248 248 function ldapConnect($host='', $dn='', $passwd='', $ldapreferral=false) #default: dont follow the referral 249 249 { 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 255 257 else if(strstr($host, "ldap://")){ 256 258 $dn = ''; … … 1457 1459 if (!$t || (int)$t <= 0) 1458 1460 { 1461 $t."GMT"; 1459 1462 $t = $GLOBALS['phpgw']->datetime->gmtnow; 1460 1463 } 1461 1464 else 1465 $t."Não GMT"; 1462 1466 // + (date('I') == 1?3600:0) 1463 1467 $t += $GLOBALS['phpgw']->datetime->tz_offset; -
trunk/phpgwapi/inc/class.sector_search_ldap.inc.php
r44 r62 178 178 $first_sector_ufn = ldap_dn2ufn($context); 179 179 $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; 181 184 182 185 return $options;
Note: See TracChangeset
for help on using the changeset viewer.