Changeset 27 for trunk/expressoAdmin1_2/inc
- Timestamp:
- 05/25/07 17:50:27 (17 years ago)
- Location:
- trunk/expressoAdmin1_2/inc
- Files:
-
- 1 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoAdmin1_2/inc/class.bocomputers.inc.php
r2 r27 59 59 $computer_info['sambaPwdLastSet'] = strtotime("now"); 60 60 $computer_info['sambaPwdMustChange'] = '2147483647'; 61 $computer_info['samba SID'] = $current_config['expressoAdmin_sambaSID'] . '-' . ((2 *$id)+1000);61 $computer_info['sambasid'] = $_POST['sambasid'] . '-' . ((2 * (int)$id)+1000); 62 62 63 63 /* Trust Account */ … … 140 140 $computer_mod_replace['sambaNTPassword'] = exec('/home/expressolivre/mkntpwd -L '.$_POST['computer_password']); 141 141 } 142 143 if ($_POST['sambasid'] != $_POST['old_sambasid']) 144 { 145 $computer_mod_replace['sambasid'] = $_POST['sambasid'] . '-' . ((2 * (int)$_POST['uidnumber'])+1000); 146 } 147 142 148 143 149 if (count($computer_mod_add) != 0) -
trunk/expressoAdmin1_2/inc/class.bomanagers.inc.php
r2 r27 41 41 'set_user_default_password' => $_POST['set_user_default_password'], 42 42 'edit_sambausers_attributes'=> $_POST['edit_sambausers_attributes'], 43 'edit_sambadomains' => $_POST['edit_sambadomains'], 43 44 'add_email_lists' => $_POST['add_maillists'], 44 45 'edit_email_lists' => $_POST['edit_maillists'], … … 61 62 $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups']; 62 63 $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password']; 63 $acl = $acl + $manager['edit_sambausers_attributes'] ;64 $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains']; 64 65 $acl = $acl + $manager['add_email_lists'] + $manager['edit_email_lists'] + $manager['delete_email_lists']; 65 66 $acl = $acl + $manager['create_sectors'] + $manager['edit_sectors'] + $manager['delete_sectors'] + $manager['manage_wf_sectors'] + $manager['view_global_sessions']; … … 79 80 $GLOBALS['phpgw']->db->query($sql); 80 81 } 81 82 // Adiciona usuário na ACL do expressoadmin83 /*84 $accounts = CreateObject('phpgwapi.accounts');85 $manager_id = $accounts->name2id($_POST['manager_lid']);86 $sql = "INSERT INTO phpgw_acl (acl_appname, acl_location, acl_account, acl_rights) values ('expressoadmin','run','" . $manager_id . "','1')";87 $GLOBALS['phpgw']->db->query($sql);88 */89 82 90 83 //Retorna ao list managers … … 119 112 'set_user_default_password' => $_POST['set_user_default_password'], 120 113 'edit_sambausers_attributes'=> $_POST['edit_sambausers_attributes'], 114 'edit_sambadomains' => $_POST['edit_sambadomains'], 121 115 'add_email_lists' => $_POST['add_maillists'], 122 116 'edit_email_lists' => $_POST['edit_maillists'], … … 139 133 $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups']; 140 134 $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password']; 141 $acl = $acl + $manager['edit_sambausers_attributes'] ;135 $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains']; 142 136 $acl = $acl + $manager['add_email_lists'] + $manager['edit_email_lists'] + $manager['delete_email_lists']; 143 137 $acl = $acl + $manager['create_sectors'] + $manager['edit_sectors'] + $manager['delete_sectors'] + $manager['manage_wf_sectors'] + $manager['view_global_sessions']; -
trunk/expressoAdmin1_2/inc/class.db_functions.inc.php
r13 r27 521 521 return $availableApps; 522 522 } 523 524 function get_sambadomains_list() 525 { 526 $query = "SELECT * FROM phpgw_expressoadmin_samba ORDER by samba_domain_name ASC"; 527 $this->db->query($query); 528 while($this->db->next_record()) 529 $result[] = $this->db->row(); 530 return $result; 531 } 532 533 function exist_domain_name_sid($sambadomainname, $sambasid) 534 { 535 $query = "SELECT * FROM phpgw_expressoadmin_samba WHERE samba_domain_name='$sambadomainname' OR samba_domain_sid='$sambasid'"; 536 $this->db->query($query); 537 while($this->db->next_record()) 538 $result[] = $this->db->row(); 539 540 if (count($result) > 0) 541 return true; 542 else 543 return false; 544 } 545 546 function delete_sambadomain($sambadomainname) 547 { 548 $this->db->query("DELETE FROM phpgw_expressoadmin_samba WHERE samba_domain_name='$sambadomainname'"); 549 return; 550 } 551 552 function add_sambadomain($sambadomainname, $sambasid) 553 { 554 $sql = "INSERT INTO phpgw_expressoadmin_samba (samba_domain_name, samba_domain_sid) VALUES('$sambadomainname','$sambasid')"; 555 $this->db->query($sql); 556 return; 557 } 523 558 } 524 559 ?> -
trunk/expressoAdmin1_2/inc/class.functions.inc.php
r23 r27 78 78 return true; 79 79 break; 80 case edit_sambadomains: 81 if ($array_acl[edit_sambadomains]) 82 return true; 83 break; 80 84 81 85 case list_groups: … … 201 205 $array_acl['set_user_default_password'] = $acl & 524288; 202 206 $array_acl['edit_sambausers_attributes'] = $acl & 32768; 207 $array_acl['edit_sambadomains'] = $acl & 16777216; 203 208 $array_acl['add_maillists'] = $acl & 256; 204 209 $array_acl['edit_maillists'] = $acl & 512; -
trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
r24 r27 640 640 $result['sambalogonscript'] = $entry[0]['sambalogonscript'][0]; 641 641 $result['homedirectory'] = $entry[0]['homedirectory'][0]; 642 $a_tmp = explode("-", $entry[0]['sambasid'][0]); 643 array_pop($a_tmp); 644 $result['sambasid'] = implode("-", $a_tmp); 642 645 } 643 646 … … 1160 1163 function rename_departmentnumber($old_dp, $new_dp) 1161 1164 { 1162 1163 1165 $return['status'] = true; 1164 1165 1166 1166 1167 $justthese = array("dn"); … … 1183 1184 return $return; 1184 1185 } 1186 1187 function add_sambadomain($sambadomainname, $sambasid, $context) 1188 { 1189 $result = array(); 1190 1191 $dn = "sambaDomainName=$sambadomainname,$context"; 1192 $entry['sambaSID'] = $sambasid; 1193 $entry['objectClass'] = 'sambaDomain'; 1194 $entry['sambaAlgorithmicRidBase'] = '1000'; 1195 $entry['sambaDomainName'] = $sambadomainname; 1196 1197 if (!@ldap_add ( $this->ldap, $dn, $entry )) 1198 { 1199 $return['status'] = false; 1200 $return['msg'] = "Erro na funcao ldap_functions->add_sambadomain ($dn).\nRetorno do servidor: " . ldap_error($this->ldap); 1201 } 1202 else 1203 $return['status'] = true; 1204 1205 return $return; 1206 } 1207 1208 function delete_sambadomain($sambadomainname) 1209 { 1210 $return['status'] = true; 1211 $filter="(sambaDomainName=$sambadomainname)"; 1212 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter); 1213 $entry = ldap_get_entries($this->ldap, $search); 1214 1215 if ($entry['count'] != 0) 1216 { 1217 $dn = $entry[0]['dn']; 1218 1219 if (!@ldap_delete($this->ldap, $dn)) 1220 { 1221 $return['status'] = false; 1222 $return['msg'] .= "Erro em ldap_funcitons->delete_sambadomain ($sambadomainname).\nRetorno do servidor: " . ldap_error($this->ldap); 1223 } 1224 } 1225 1226 return $return; 1227 } 1185 1228 } 1186 1229 ?> -
trunk/expressoAdmin1_2/inc/class.socomputers.inc.php
r2 r27 71 71 $computer_data['context'] = substr($computer_data['context'],0,(strlen($computer_data['context']) - 1)); 72 72 73 $a_tmp = explode("-", $result[0]['sambasid'][0]); 74 array_pop($a_tmp); 75 $computer_data['sambasid'] = implode("-", $a_tmp); 76 73 77 return $computer_data; 74 78 } -
trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php
r23 r27 206 206 $applications_list = $this->functions->make_list_app($manager_lid, $manager_context, $app_list); 207 207 208 // Cria combo de dominio samba 209 if ($this->current_config['expressoAdmin_samba_support'] == 'true') 210 { 211 $a_sambadomains = $this->db_functions->get_sambadomains_list(); 212 $sambadomainname_options = ''; 213 if (count($a_sambadomains)) 214 { 215 foreach ($a_sambadomains as $a_sambadomain) 216 { 217 $sambadomainname_options .= "<option value='" . $a_sambadomain['samba_domain_sid'] . "'>" . $a_sambadomain['samba_domain_name'] . "</option>"; 218 } 219 } 220 } 221 208 222 // Valores default. 209 223 $var = Array( … … 213 227 'manager_context' => $manager_context, 214 228 'type' => 'create_user', 215 //'action' => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uiaccounts.validade_user_data_add'),216 //'action' => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.boaccounts.create_user'),217 229 'back_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uiaccounts.list_users'), 218 230 'display_samba_suport' => $this->current_config['expressoAdmin_samba_support'] == 'true' ? '' : 'display:none', … … 285 297 //SAMBA ABA 286 298 'lang_samba_config' => lang('Samba Config'), 287 'lang_use_attrs_samba' => 'Usar atributos Samba', 299 'lang_use_attrs_samba' => lang('Use samba attributes'), 300 'lang_sambadomain' => lang('Domain'), 288 301 'lang_sambaAcctFlags' => lang('AcctFlags'), 289 302 'lang_sambaLogonScript' => lang('Logon Script'), … … 292 305 'lang_desactive_user' => lang('Samba User Desactive'), 293 306 'use_attrs_samba_checked' => 'CHECKED', 307 'sambadomainname_options' => $sambadomainname_options, 294 308 'sambalogonscript' => $this->current_config['expressoAdmin_defaultLogonScript'] != '' ? $this->current_config['expressoAdmin_defaultLogonScript'] : '', 295 309 'use_suggestion_in_logon_script' => $this->current_config['expressoAdmin_defaultLogonScript'] == '' ? 'true' : 'false', … … 328 342 $disabled_samba = ''; 329 343 } 344 // TOTAIS MENOS O SAMBA 345 if (($this->functions->check_acl($manager_account_lid,'edit_users')) && (!$this->functions->check_acl($manager_account_lid,'edit_sambausers_attributes'))) 346 { 347 $disabled = ''; 348 $disabled_password = ''; 349 $disabled_samba = 'disabled'; 350 } 330 351 // TOTAIS 331 if ($this->functions->check_acl($manager_account_lid,'edit_users'))352 elseif ($this->functions->check_acl($manager_account_lid,'edit_users')) 332 353 { 333 354 $disabled = ''; … … 453 474 $photo_bin = $GLOBALS['phpgw_info']['server']['webserver_url'] . '/expressoAdmin1_2/templates/default/images/photo_celepar.png'; 454 475 $disabled_delete_photo = 'disabled'; 476 } 477 478 // Cria combo de dominios do samba 479 if ($this->current_config['expressoAdmin_samba_support'] == 'true') 480 { 481 $a_sambadomains = $this->db_functions->get_sambadomains_list(); 482 $sambadomainname_options = ''; 483 if (count($a_sambadomains)) 484 { 485 foreach ($a_sambadomains as $a_sambadomain) 486 { 487 if ($a_sambadomain['samba_domain_sid'] == $user_info['sambasid']) 488 $sambadomainname_options .= "<option value='" . $a_sambadomain['samba_domain_sid'] . "' SELECTED>" . $a_sambadomain['samba_domain_name'] . "</option>"; 489 else 490 $sambadomainname_options .= "<option value='" . $a_sambadomain['samba_domain_sid'] . "'>" . $a_sambadomain['samba_domain_name'] . "</option>"; 491 } 492 } 455 493 } 456 494 … … 556 594 //SAMBA ABA 557 595 'lang_samba_config' => lang('Samba Config'), 558 'lang_use_attrs_samba' => 'Usar atributos Samba', 596 'lang_use_attrs_samba' => lang('Use samba attributes'), 597 'lang_sambadomain' => lang('Domain'), 559 598 'lang_sambaAcctFlags' => lang('AcctFlags'), 560 599 'lang_sambaLogonScript' => lang('Logon Script'), … … 564 603 565 604 'userSamba' => $user_info['sambaUser'], 605 'sambadomainname_options' => $sambadomainname_options, 566 606 'use_attrs_samba_checked' => $user_info['sambaUser'] ? 'CHECKED' : '', 567 607 'active_user_selected' => $user_info['sambaaccflags'] == '[U ]' ? 'selected' : '', -
trunk/expressoAdmin1_2/inc/class.uicomputers.inc.php
r2 r27 26 26 var $nextmatchs; 27 27 var $functions; 28 var $current_config; 29 var $db_functions; 28 30 29 31 function uicomputers() … … 33 35 $this->so = $this->bo->so; 34 36 $this->functions = $this->bo->functions; 37 $this->db_functions = CreateObject('expressoAdmin1_2.db_functions'); 38 39 $c = CreateObject('phpgwapi.config','expressoAdmin1_2'); 40 $c->read_repository(); 41 $this->current_config = $c->config_data; 35 42 } 36 43 … … 187 194 $sectors = $this->functions->get_organizations($context, trim(strtolower($_POST['sector_context']))); 188 195 196 // Cria combo de dominio samba 197 if ($this->current_config['expressoAdmin_samba_support'] == 'true') 198 { 199 $a_sambadomains = $this->db_functions->get_sambadomains_list(); 200 $sambadomainname_options = ''; 201 if (count($a_sambadomains)) 202 { 203 foreach ($a_sambadomains as $a_sambadomain) 204 { 205 $sambadomainname_options .= "<option value='" . $a_sambadomain['samba_domain_sid'] . "'>" . $a_sambadomain['samba_domain_name'] . "</option>"; 206 } 207 } 208 } 209 189 210 // Seta variaveis utilizadas pelo tpl. 190 211 $var = Array( … … 200 221 'lang_save' => lang('save'), 201 222 'lang_sectors' => lang('Sectors'), 223 'lang_sambadomain' => lang('Domain'), 224 202 225 'lang_computer_cn' => lang('Computer UID'), 203 226 'lang_computer_description' => lang('Description'), … … 211 234 212 235 'display_tr_computer_password' => $_POST['sambaAcctFlags'] == '[I ]' ? '' : 'display:none', 236 237 'sambadomainname_options' => $sambadomainname_options, 213 238 214 239 // Retorna os valores, quando da um erro na validação. … … 300 325 //O POST esta vazio, oq indica que precisamos recuperar os dados do computador no ldap. 301 326 if ($_POST['try_saved'] != 'true') 302 { 327 { 303 328 $uidnumber = $_GET['uidnumber']; 304 329 $computer_data = $this->so->get_computer_data($uidnumber, $manager_context); … … 306 331 // Pega combo das organizações e seleciona um dos setores em caso de um erro na validaçao dos dados. 307 332 $sectors = $this->functions->get_organizations($manager_context, trim(strtolower($computer_data['context']))); 333 334 // Cria combo de dominios do samba 335 if ($this->current_config['expressoAdmin_samba_support'] == 'true') 336 { 337 $a_sambadomains = $this->db_functions->get_sambadomains_list(); 338 $sambadomainname_options = ''; 339 if (count($a_sambadomains)) 340 { 341 foreach ($a_sambadomains as $a_sambadomain) 342 { 343 if ($a_sambadomain['samba_domain_sid'] == $computer_data['sambasid']) 344 $sambadomainname_options .= "<option value='" . $a_sambadomain['samba_domain_sid'] . "' SELECTED>" . $a_sambadomain['samba_domain_name'] . "</option>"; 345 else 346 $sambadomainname_options .= "<option value='" . $a_sambadomain['samba_domain_sid'] . "'>" . $a_sambadomain['samba_domain_name'] . "</option>"; 347 } 348 } 349 } 308 350 309 351 // Salva valores antigos … … 315 357 'old_computer_description' => $computer_data['computer_description'], 316 358 'old_computer_context' => $computer_data['context'], 359 'old_sambasid' => $computer_data['sambasid'], 317 360 318 361 'row_on' => "#DDDDDD", … … 322 365 'lang_save' => lang('save'), 323 366 'lang_sectors' => lang('Sectors'), 367 'lang_sambadomain' => lang('Domain'), 324 368 'lang_computer_cn' => lang('Computer UID'), 325 369 'lang_computer_description' => lang('Description'), … … 337 381 'computer_description' => $computer_data['computer_description'], 338 382 'combo_sectors' => $sectors, 383 'sambadomainname_options' => $sambadomainname_options, 339 384 340 385 // LINKS … … 368 413 $sectors = $this->functions->get_organizations($manager_context, trim(strtolower($_POST['sector_context']))); 369 414 415 // Cria combo de dominios do samba 416 if ($this->current_config['expressoAdmin_samba_support'] == 'true') 417 { 418 $a_sambadomains = $this->db_functions->get_sambadomains_list(); 419 $sambadomainname_options = ''; 420 if (count($a_sambadomains)) 421 { 422 foreach ($a_sambadomains as $a_sambadomain) 423 { 424 if ($a_sambadomain['samba_domain_sid'] == $_POST['sambasid']) 425 $sambadomainname_options .= "<option value='" . $a_sambadomain['samba_domain_sid'] . "' SELECTED>" . $a_sambadomain['samba_domain_name'] . "</option>"; 426 else 427 $sambadomainname_options .= "<option value='" . $a_sambadomain['samba_domain_sid'] . "'>" . $a_sambadomain['samba_domain_name'] . "</option>"; 428 } 429 } 430 } 431 370 432 $var = Array( 371 433 // LINKS … … 379 441 'lang_save' => lang('save'), 380 442 'lang_sectors' => lang('Sectors'), 443 'lang_sambadomain' => lang('Domain'), 381 444 'lang_computer_cn' => lang('Computer UID'), 382 445 'lang_computer_description' => lang('Description'), … … 398 461 'computer_description' => $_POST['computer_description'], 399 462 'combo_sectors' => $sectors, 463 'sambadomainname_options' => $sambadomainname_options, 400 464 401 465 // Valores que devem ser mantidos, aqui sao referenciados como old. … … 405 469 'old_computer_description' => $_POST['old_computer_description'], 406 470 'old_computer_context' => $_POST['old_computer_context'], 471 'old_sambasid' => $_POST['sambasid'] 407 472 ); 408 473 $p->set_var($var); -
trunk/expressoAdmin1_2/inc/class.uimanagers.inc.php
r2 r27 213 213 'lang_set_user_default_password'=> lang('Set default users password'), 214 214 'lang_edit_sambausers_attributes'=> lang('Edit SAMBA users attributes'), 215 'lang_edit_sambadomains' => lang('Edit SAMBA domains'), 215 216 'lang_add_email_lists' => lang('Add email lists'), 216 217 'lang_edit_email_lists' => lang('Edit email lists'), … … 237 238 'change_users_quote' => $_POST['change_users_quote'] != '' ? 'checked' : '', 238 239 'set_user_default_password' => $_POST['set_user_default_password'] != '' ? 'checked' : '', 240 'edit_sambausers_attributes' => $_POST['edit_sambausers_attributes'] != '' ? 'checked' : '', 241 'edit_sambadomains' => $_POST['edit_sambadomains'] != '' ? 'checked' : '', 239 242 'add_maillists' => $_POST['add_maillists'] != '' ? 'checked' : '', 240 243 'edit_maillists' => $_POST['edit_maillists'] != '' ? 'checked' : '', … … 337 340 $_POST['set_user_default_password'] = $acl['set_user_default_password']; 338 341 $_POST['edit_sambausers_attributes'] = $acl['edit_sambausers_attributes']; 342 $_POST['edit_sambadomains'] = $acl['edit_sambadomains']; 339 343 $_POST['add_maillists'] = $acl['add_maillists']; 340 344 $_POST['edit_maillists'] = $acl['edit_maillists']; … … 453 457 'lang_set_user_default_password'=> lang('Set default user password'), 454 458 'lang_edit_sambausers_attributes'=> lang('Edit SAMBA users attributes'), 459 'lang_edit_sambadomains' => lang('Edit SAMBA domains'), 455 460 'lang_add_email_lists' => lang('Add email lists'), 456 461 'lang_edit_email_lists' => lang('Edit email lists'), … … 480 485 'set_user_default_password' => $_POST['set_user_default_password'] != '' ? 'checked' : '', 481 486 'edit_sambausers_attributes' => $_POST['edit_sambausers_attributes'] != '' ? 'checked' : '', 487 'edit_sambadomains' => $_POST['edit_sambadomains'] != '' ? 'checked' : '', 482 488 'add_maillists' => $_POST['add_maillists'] != '' ? 'checked' : '', 483 489 'edit_maillists' => $_POST['edit_maillists'] != '' ? 'checked' : '', -
trunk/expressoAdmin1_2/inc/class.user.inc.php
r16 r27 58 58 59 59 // Cria array para incluir no LDAP 60 $dn = 'uid=' . $params['uid'] . ',' . $params['context']; 60 $dn = 'uid=' . $params['uid'] . ',' . $params['context']; 61 61 62 62 $user_info = array(); … … 117 117 { 118 118 $user_info['objectClass'][] = 'sambaSamAccount'; 119 120 119 $user_info['loginShell'] = '/bin/bash'; 121 $user_info['sambaSID'] = $this->current_config['expressoAdmin_sambaSID'] . '-' . ((2 * $id)+1000); 122 $user_info['sambaPrimaryGroupSID'] = $this->current_config['expressoAdmin_sambaSID'] . '-' . ((2 * $user_info['gidNumber'])+1001); 120 121 //$user_info['sambaSID'] = $this->current_config['expressoAdmin_sambaSID'] . '-' . ((2 * $id)+1000); 122 //$user_info['sambaPrimaryGroupSID'] = $this->current_config['expressoAdmin_sambaSID'] . '-' . ((2 * $user_info['gidNumber'])+1001); 123 $user_info['sambaSID'] = $params['sambadomain'] . '-' . ((2 * $id)+1000); 124 $user_info['sambaPrimaryGroupSID'] = $params['sambadomain'] . '-' . ((2 * $user_info['gidNumber'])+1001); 125 123 126 $user_info['sambaAcctFlags'] = $params['sambaacctflags']; 124 127 … … 326 329 { 327 330 $ldap_mod_replace['homedirectory'] = $new_values['sambahomedirectory']; 328 $this->db_functions->write_log("alterado homedirectory do usuario",'',$dn,'',''); 331 $this->db_functions->write_log("alterado homedirectory do usuario",'',$dn,'',''); 332 } 333 if ($diff['sambadomain']) 334 { 335 $ldap_mod_replace['sambaSID'] = $diff['sambadomain'] . '-' . ((2 * $old_values['uidnumber'])+1000); 336 $ldap_mod_replace['sambaPrimaryGroupSID'] = $diff['sambadomain'] . '-' . ((2 * $old_values['gidnumber'])+1001); 337 $this->db_functions->write_log("alterado dominio samba do usuario $dn para " . $params['sambadomain'],'',$dn,'',''); 329 338 } 330 339 }
Note: See TracChangeset
for help on using the changeset viewer.