Changeset 23
- Timestamp:
- 05/07/07 15:06:04 (17 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 1 deleted
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/calendar/doc/change_log.txt
r22 r23 2 2 módulo Agenda de Eventos, e a partir da versão 29/11/2006 [0.9.17] 3 3 Nilton Emilio Buhrer Neto. 4 5 03/05/2007 - [0.9.2] 6 - Corrigido bug. Caso o horário do alarme seja mais antigo que a data atual não pode ser adicionada. 4 7 5 8 03/05/2007 - [0.9.2] -
trunk/calendar/inc/class.uialarm.inc.php
r22 r23 133 133 (int)($_POST['time']['mins'])*60; 134 134 $alarm_time = $start_event - $time; 135 136 if ($alarm_time <= time()) 137 { 138 echo "Alarm is older than now!!!"; 139 $GLOBALS['phpgw']->common->phpgw_exit(True); 140 } 135 141 136 142 foreach ( $this->bo->bo->so->cal->event['alarm'] as $object ){ -
trunk/calendar/inc/class.uicalendar.inc.php
r22 r23 342 342 .'<head>'."\n" 343 343 .'<LINK href="'.$GLOBALS['phpgw_info']['server']['webserver_url'].'/calendar/templates/'.$GLOBALS['phpgw_info']['user']['preferences']['common']['template_set'].'/app_print.css" type=text/css rel=StyleSheet>'."\n" 344 .'<LINK href="'.$GLOBALS['phpgw_info']['server']['webserver_url'].'/calendar/templates/'.$GLOBALS['phpgw_info']['user']['preferences']['common']['template_set'].'/app.css" type=text/css rel=StyleSheet>'."\n" 344 345 .'</head> 345 346 <table id="calendar_print_main" class="calendar_print_main"> … … 4682 4683 function get_organizations($context, $selected='') 4683 4684 { 4685 $s = CreateObject('phpgwapi.sector_search_ldap'); 4686 $sectors_info = $s->get_organizations($context, $selected, false, false); 4687 return $sectors_info; 4688 } 4689 /* 4690 function get_organizations($context, $selected='') 4691 { 4684 4692 $first_sector_ufn = ldap_dn2ufn($context); 4685 4693 $first_sector_string = split(",", $first_sector_ufn); … … 4715 4723 return $sector_select; 4716 4724 } 4717 4725 */ 4718 4726 } 4719 4727 ?> -
trunk/contactcenter/inc/class.bo_ldap_manager.inc.php
r2 r23 311 311 } 312 312 $dn_parts = ldap_explode_dn(($refer_context ? $refer_context : $context),1); 313 $filter = '(!(objectClass='.$objectClass.'))'; 313 //$filter = '(!(objectClass='.$objectClass.'))'; 314 // Don't show OU's whith phpgwAccountVisible equal to '-1' 315 $filter = '(&(!(objectClass='.$objectClass.')) (!(phpgwAccountVisible=-1)))'; 314 316 $result_res = @ldap_list($resource, ($refer_context ? $refer_context : $context), $filter); 315 317 @ldap_sort($resource, $result_res, 'ou'); -
trunk/expressoAdmin1_2/docs/change_log.txt
r14 r23 42 42 - Corrigido bug ao deletar um participante da lista de email, onde não se acha o email 43 43 deste participante. 44 45 26/04/2007 46 - Criado nova função get_organizations() em class.functions.inc.php, com melhor performance. 47 - Melhorado exibição de usuários e listas na adição/edição de listas de emails. 48 - Criado nova função get_available_users_and_maillist em class.ldap_functions.inc.php para isto. 49 - Cria uma SCL para as listas no expresso. Com isto é possível "liberar" envio para listas para alguns usuários. 50 51 02/05/2007 52 - Implementado opção para restrição de nomes (logins) para listas. 53 - Implementado restrição de criação de contas/listas/grupos com nomes 54 de contas/grupos de sistemas. Ex: root, amanda, etc ... -
trunk/expressoAdmin1_2/inc/class.functions.inc.php
r19 r23 344 344 */ 345 345 346 function get_organizations($context, $selected='') 346 /* 347 function get_organizations($context, $selected='', $show_invisible_ou=false) 347 348 { 348 349 $dn = $GLOBALS['phpgw_info']['server']['ldap_root_dn']; … … 355 356 356 357 $justthese = array("dn"); 357 $search=ldap_search($ldap_conn, $context, "ou=*", $justthese); 358 $filter = $show_invisible_ou ? "(ou=*)" : "(& (ou=*) (!(phpgwAccountVisible=-1)) )"; 359 $search=ldap_search($ldap_conn, $context, $filter, $justthese); 358 360 359 361 ldap_sort($ldap_conn, $search, "ou"); … … 418 420 return $options; 419 421 } 422 */ 423 424 function get_organizations($context, $selected='') 425 { 426 $s = CreateObject('phpgwapi.sector_search_ldap'); 427 $sectors_info = $s->get_organizations($context, $selected, false, false); 428 return $sectors_info; 429 } 420 430 421 431 function get_sectors($context, $selected='') -
trunk/expressoAdmin1_2/inc/class.group.inc.php
r9 r23 97 97 } 98 98 99 // ADD ATTRIBUTES 100 if ($params['phpgwaccountvisible'] == 'on') 101 { 102 $group_info['phpgwaccountvisible'] = '-1'; 103 } 104 99 105 $result = $this->ldap_functions->ldap_add_entry($dn, $group_info); 100 106 if (!$result['status']) … … 216 222 } 217 223 else 218 $this->db_functions->write_log("Adicionado atributos samba do grupo $dn",'',$dn,'',''); 219 } 224 $this->db_functions->write_log("Adicionado atributos samba ao grupo $dn",'','','',''); 225 } 226 } 227 228 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 229 // ADD ATTRIBUTES 230 if (($new_values['phpgwaccountvisible'] == 'on') && ($old_values['phpgwaccountvisible'] != '-1')) 231 { 232 $ldap_add['phpgwaccountvisible'] = '-1'; 233 $result = $this->ldap_functions->add_user_attributes($dn, $ldap_add); 234 if (!$result['status']) 235 { 236 $return['status'] = false; 237 $return['msg'] .= $result['msg']; 238 } 239 else 240 $this->db_functions->write_log("Adicionado atributo phpgwaccountvisible ao grupo $dn",'','','',''); 241 } 242 243 // REMOVE ATTRIBUTES 244 if (($new_values['phpgwaccountvisible'] != 'on') && ($old_values['phpgwaccountvisible'] == '-1')) 245 { 246 $ldap_remove['phpgwaccountvisible'] = array(); 247 $result = $this->ldap_functions->remove_user_attributes($dn, $ldap_remove); 248 if (!$result['status']) 249 { 250 $return['status'] = false; 251 $return['msg'] .= $result['msg']; 252 } 253 else 254 $this->db_functions->write_log("Removido atributo phpgwaccountvisible do grupo $dn",'','','',''); 220 255 } 221 256 -
trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php
r16 r23 26 26 27 27 $result['status'] = true; 28 29 if ($_SESSION['phpgw_info']['expresso']['global_denied_users'][$uid]) 30 { 31 $result['status'] = false; 32 $result['msg'] = 'Este LOGIN não pode ser usado pois é uma conta de sistema.'; 33 return $result; 34 } 28 35 29 36 if (($type == 'create_user') || ($type == 'rename_user')) … … 130 137 $result['status'] = true; 131 138 139 if ($_SESSION['phpgw_info']['expresso']['global_denied_groups'][$cn]) 140 { 141 $result['status'] = false; 142 $result['msg'] = 'Este nome de grupo não pode ser usado pois é um grupo de sistema.'; 143 return $result; 144 } 145 132 146 // CN 133 147 $filter = "(&(phpgwAccountType=g)(cn=$cn))"; … … 163 177 $mail = $params['mail']; 164 178 $result['status'] = true; 179 180 if ($_SESSION['phpgw_info']['expresso']['global_denied_users'][$uid]) 181 { 182 $result['status'] = false; 183 $result['msg'] = 'Este LOGIN não pode ser usado pois é uma conta de sistema.'; 184 return $result; 185 } 165 186 166 187 // UID … … 230 251 231 252 //Busca usuários de um contexto e já retorna as options do select; 253 /* 232 254 function get_available_users_and_maillist($params) 233 255 { … … 264 286 265 287 return $options; 288 } 289 */ 290 291 //Busca usuários e listas de um contexto e já retorna as options do select; 292 function get_available_users_and_maillist($params) 293 { 294 $context = $params['context']; 295 $recursive = $params['recursive']; 296 297 //Usado para retirar a própria lista das possibilidades de inclusão. 298 $denied_uidnumber = $params['denied_uidnumber']; 299 300 $justthese = array("cn", "uidNumber"); 301 $users_filter="(&(phpgwAccountType=u)(!(phpgwAccountVisible=-1)))"; 302 $lists_filter = $denied_uidnumber == '' ? "(phpgwAccountType=l)" : "(&(phpgwAccountType=l)(!(uidnumber=$denied_uidnumber)))"; 303 304 $users = Array(); 305 $lists = Array(); 306 307 if ($recursive == 'true') 308 { 309 $lists_search = ldap_search($this->ldap, $context, $lists_filter, $justthese); 310 $users_search = ldap_search($this->ldap, $context, $users_filter, $justthese); 311 } 312 else 313 { 314 $lists_search = ldap_list($this->ldap, $context, $lists_filter, $justthese); 315 $users_search = ldap_list($this->ldap, $context, $users_filter, $justthese); 316 } 317 318 $lists_entries = ldap_get_entries($this->ldap, $lists_search); 319 for ($i=0; $i<$lists_entries["count"]; $i++) 320 { 321 $l_tmp[$lists_entries[$i]["uidnumber"][0]] = $lists_entries[$i]["cn"][0]; 322 } 323 324 if (count($l_tmp)) 325 natcasesort($l_tmp); 326 327 $i = 0; 328 $lists = array(); 329 330 $options .= '<option value="-1" disabled>------------------------------ Listas ------------------------------ </option>'."\n"; 331 if (count($l_tmp)) 332 { 333 foreach ($l_tmp as $uidnumber => $cn) 334 { 335 $options .= "<option value=$uidnumber>$cn</option>"; 336 } 337 unset($l_tmp); 338 } 339 340 $users_entries = ldap_get_entries($this->ldap, $users_search); 341 for ($i=0; $i<$users_entries["count"]; $i++) 342 { 343 $u_tmp[$users_entries[$i]["uidnumber"][0]] = $users_entries[$i]["cn"][0]; 344 } 345 346 if (count($u_tmp)) 347 natcasesort($u_tmp); 348 349 $i = 0; 350 $users = array(); 351 352 $options .= '<option value="-1" disabled>----------------------------- Usuários ---------------------------- </option>'."\n"; 353 if (count($u_tmp)) 354 { 355 foreach ($u_tmp as $uidnumber => $cn) 356 { 357 $options .= "<option value=$uidnumber class='line-above'>$cn</option>"; 358 } 359 unset($u_tmp); 360 } 361 362 return $options; 266 363 } 267 364 … … 322 419 { 323 420 $result['status'] = false; 324 $result['msg'] = "Erro na funcao ldap_functions->ldap_save_photo ($dn).\ \nRetorno do servidor:" . ldap_error($this->ldap);421 $result['msg'] = "Erro na funcao ldap_functions->ldap_save_photo ($dn).\nRetorno do servidor:" . ldap_error($this->ldap); 325 422 } 326 423 … … 340 437 { 341 438 $result['status'] = false; 342 $result['msg'] = "Erro na funcao ldap_functions->ldap_remove_photo ($dn).\ \nRetorno do servidor:" . ldap_error($this->ldap);439 $result['msg'] = "Erro na funcao ldap_functions->ldap_remove_photo ($dn).\nRetorno do servidor:" . ldap_error($this->ldap); 343 440 } 344 441 … … 365 462 { 366 463 $result['status'] = false; 367 $result['msg'] = "Erro na funcao ldap_functions->add_user2group ($memberUid).\ \nRetorno do servidor:" . ldap_error($this->ldap);464 $result['msg'] = "Erro na funcao ldap_functions->add_user2group ($memberUid).\nRetorno do servidor:" . ldap_error($this->ldap); 368 465 } 369 466 return $result; … … 391 488 { 392 489 $result['status'] = false; 393 $result['msg'] = "Erro na funcao ldap_functions->remove_user2group ($memberUid).\ \nRetorno do servidor:" . ldap_error($this->ldap);490 $result['msg'] = "Erro na funcao ldap_functions->remove_user2group ($memberUid).\nRetorno do servidor:" . ldap_error($this->ldap); 394 491 } 395 492 return $result; … … 413 510 { 414 511 $result['status'] = false; 415 $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist ($mail).\\nRetorno do servidor:" . ldap_error($this->ldap); 416 } 417 return $result; 418 } 512 $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist ($mail).\nRetorno do servidor:" . ldap_error($this->ldap); 513 } 514 return $result; 515 } 516 517 function add_user2maillist_scl($dn, $array_emails) 518 { 519 $attrs['mailSenderAddress'] = $array_emails; 520 $res = @ldap_mod_add($this->ldap, $dn, $attrs); 521 522 if ($res) 523 { 524 $result['status'] = true; 525 } 526 else 527 { 528 $result['status'] = false; 529 $result['msg'] = "Erro na funcao ldap_functions->add_user2maillist_scp ($dn).\n\nRetorno do servidor:" . ldap_error($this->ldap); 530 } 531 return $result; 532 } 533 419 534 function remove_user2maillist($uidNumber, $mail) 420 535 { … … 434 549 { 435 550 $result['status'] = false; 436 $result['msg'] = "Erro na funcao ldap_functions->remove_user2maillist ($mail).\\nRetorno do servidor:" . ldap_error($this->ldap); 437 } 438 return $result; 439 } 551 $result['msg'] = "Erro na funcao ldap_functions->remove_user2maillist ($mail).\n\nRetorno do servidor:" . ldap_error($this->ldap); 552 } 553 return $result; 554 } 555 556 function remove_user2maillist_scl($dn, $array_emails) 557 { 558 $attrs['mailSenderAddress'] = $array_emails; 559 $res = @ldap_mod_del($this->ldap, $dn, $attrs); 560 561 if ($res) 562 { 563 $result['status'] = true; 564 } 565 else 566 { 567 $result['status'] = false; 568 $result['msg'] = "Erro na funcao ldap_functions->remove_user2maillist_scp ($dn).\n\nRetorno do servidor:" . ldap_error($this->ldap); 569 } 570 return $result; 571 } 572 440 573 function replace_user2maillists($new_mail, $old_mail) 441 574 { … … 455 588 { 456 589 $result['status'] = false; 457 $result['msg'] = "Erro na funcao ldap_functions->replace_user2maillists ($old_mail).\ \nRetorno do servidor:" . ldap_error($this->ldap);590 $result['msg'] = "Erro na funcao ldap_functions->replace_user2maillists ($old_mail).\nRetorno do servidor:" . ldap_error($this->ldap); 458 591 } 459 592 } … … 555 688 $result['description'] = $entry[0]['description'][0]; 556 689 $result['gidnumber'] = $entry[0]['gidnumber'][0]; 690 $result['phpgwaccountvisible'] = $entry[0]['phpgwaccountvisible'][0]; 557 691 558 692 //MemberUid … … 606 740 $result['cn'] = $entry[0]['cn'][0]; 607 741 $result['mail'] = $entry[0]['mail'][0]; 608 $result['mail'] = $entry[0]['mail'][0];609 742 $result['accountStatus'] = $entry[0]['accountstatus'][0]; 610 743 $result['phpgwAccountVisible'] = $entry[0]['phpgwaccountvisible'][0]; … … 613 746 for ($i=0; $i<$entry[0]['mailforwardingaddress']['count']; $i++) 614 747 { 615 $justthese = array("cn", "uidnumber", "uid" );748 $justthese = array("cn", "uidnumber", "uid", "phpgwaccounttype"); 616 749 $filter="(&(|(phpgwAccountType=u)(phpgwAccountType=l))(mail=".$entry[0]['mailforwardingaddress'][$i]."))"; 617 750 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); … … 622 755 $result['members_info'][$user_entry[0]['uidnumber'][0]]['uid'] = $user_entry[0]['uid'][0]; 623 756 $result['members_info'][$user_entry[0]['uidnumber'][0]]['cn'] = $user_entry[0]['cn'][0]; 757 $result['members_info'][$user_entry[0]['uidnumber'][0]]['type'] = $user_entry[0]['phpgwaccounttype'][0]; 624 758 $result['members_info'][$user_entry[0]['uidnumber'][0]]['mailforwardingaddress'] = $entry[0]['mailforwardingaddress'][$i]; 625 759 $result['members'][] = $user_entry[0]['uidnumber'][0]; … … 634 768 } 635 769 770 return $result; 771 } 772 773 function get_maillist_scl_info($uidnumber, $context) 774 { 775 $filter="(&(phpgwAccountType=l)(uidNumber=".$uidnumber."))"; 776 $search = ldap_search($this->ldap, $context, $filter); 777 $entry = ldap_get_entries($this->ldap, $search); 778 779 //Pega o dn do setor do usuario. 780 $entry[0]['dn'] = strtolower($entry[0]['dn']); 781 $sector_dn_array = explode(",", $entry[0]['dn']); 782 for($i=1; $i<count($sector_dn_array); $i++) 783 $sector_dn .= $sector_dn_array[$i] . ','; 784 //Retira ultimo pipe. 785 $sector_dn = substr($sector_dn,0,(strlen($sector_dn) - 1)); 786 787 $result['dn'] = $entry[0]['dn']; 788 $result['context'] = $sector_dn; 789 $result['uidnumber'] = $entry[0]['uidnumber'][0]; 790 $result['uid'] = $entry[0]['uid'][0]; 791 $result['cn'] = $entry[0]['cn'][0]; 792 $result['mail'] = $entry[0]['mail'][0]; 793 $result['accountStatus'] = $entry[0]['accountstatus'][0]; 794 $result['phpgwAccountVisible'] = $entry[0]['phpgwaccountvisible'][0]; 795 $result['accountRestrictive'] = $entry[0]['accountrestrictive'][0]; 796 $result['participantCanSendMail'] = $entry[0]['participantcansendmail'][0]; 797 798 //Senders 799 for ($i=0; $i<$entry[0]['mailsenderaddress']['count']; $i++) 800 { 801 $justthese = array("cn", "uidnumber", "uid", "mail"); 802 $filter="(&(phpgwAccountType=u)(mail=".$entry[0]['mailsenderaddress'][$i]."))"; 803 $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 804 $user_entry = ldap_get_entries($this->ldap, $search); 805 806 $result['senders_info'][$user_entry[0]['uidnumber'][0]]['uid'] = $user_entry[0]['uid'][0]; 807 $result['senders_info'][$user_entry[0]['uidnumber'][0]]['cn'] = $user_entry[0]['cn'][0]; 808 $result['senders_info'][$user_entry[0]['uidnumber'][0]]['mail'] = $user_entry[0]['mail'][0]; 809 $result['members'][] = $user_entry[0]['uidnumber'][0]; 810 } 811 636 812 return $result; 637 813 } -
trunk/expressoAdmin1_2/inc/class.maillist.inc.php
r15 r23 262 262 } 263 263 264 function save_scl($new_values) 265 { 266 // Verifica o acesso do gerente 267 if (!$this->functions->check_acl($_SESSION['phpgw_session']['session_lid'], 'edit_maillists')) 268 { 269 $return['status'] = false; 270 $return['msg'] = 'Você não tem acesso para editar listas de email.'; 271 return $return; 272 } 273 274 $return['status'] = true; 275 276 //Retira os uids duplicados se existir 277 $array_tmp = array(); 278 $array_tmp = array_unique($new_values['members']); 279 $new_values['members'] = $array_tmp; 280 281 $old_values = $this->get_scl_info($new_values['uidnumber'], $new_values['manager_context']); 282 $diff = array_diff($new_values, $old_values); 283 $dn = $old_values['dn']; 284 285 //echo '<pre>'; 286 //print_r($new_values['participantCanSendMail']); 287 //print_r($old_values['participantCanSendMail']); 288 289 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 290 // ADD ATTRS 291 if (($new_values['participantCanSendMail'] == 'on') && ($old_values['participantCanSendMail'] == '')) 292 { 293 $ldap_add['participantCanSendMail'] = "TRUE"; 294 $this->db_functions->write_log("Ativado participantCanSendMail da SCL da lista de email " . $new_values['mail'],'','','',''); 295 } 296 if (($new_values['accountRestrictive'] == 'on') && ($old_values['accountRestrictive'] == '')) 297 { 298 $ldap_add['accountRestrictive'] = "mailListRestriction"; 299 $ldap_add['accountDeliveryMessage'] = 'OK'; 300 $this->db_functions->write_log("Ativado mailListRestriction da SCL da lista de email " . $new_values['mail'],'','','',''); 301 } 302 if (count($ldap_add)) 303 { 304 $result = $this->ldap_functions->add_user_attributes($dn, $ldap_add); 305 if (!$result['status']) 306 { 307 $return['status'] = false; 308 $return['msg'] .= $result['msg']; 309 } 310 } 311 312 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 313 // REMOVE ATTRS 314 if (($new_values['participantCanSendMail'] != 'on') && ($old_values['participantCanSendMail'] == 'TRUE')) 315 { 316 $ldap_remove['participantCanSendMail'] = array(); 317 $this->db_functions->write_log("Desativado participantCanSendMail da SCL da lista de email " . $new_values['mail'],'','','',''); 318 } 319 if (($new_values['accountRestrictive'] != 'on') && ($old_values['accountRestrictive'] == 'mailListRestriction')) 320 { 321 $ldap_remove['accountRestrictive'] = array(); 322 $ldap_remove['accountDeliveryMessage'] = array(); 323 $this->db_functions->write_log("Desativado restrição (mailListRestriction) da SCL da lista de email " . $new_values['mail'],'','','',''); 324 } 325 if (count($ldap_remove)) 326 { 327 $result = $this->ldap_functions->remove_user_attributes($dn, $ldap_remove); 328 if (!$result['status']) 329 { 330 $return['status'] = false; 331 $return['msg'] .= $result['msg']; 332 } 333 } 334 335 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 336 // USERS 337 338 if (!$new_values['members']) 339 $new_values['members'] = array(); 340 if (!$old_values['members']) 341 $old_values['members'] = array(); 342 343 $add_users = array_diff($new_values['members'], $old_values['members']); 344 $remove_users = array_diff($old_values['members'], $new_values['members']); 345 346 if (count($add_users)>0) 347 { 348 $array_emails_add = array(); 349 foreach($add_users as $uidnumber) 350 { 351 $mail = $this->ldap_functions->uidnumber2mail($uidnumber); 352 $array_emails_add[] = $mail; 353 $this->db_functions->write_log("Adicionado usuario $mail a SCL da lista $dn",'',$uidnumber,'',''); 354 } 355 $result = $this->ldap_functions->add_user2maillist_scl($dn, $array_emails_add); 356 if (!$result['status']) 357 { 358 $return['status'] = false; 359 $return['msg'] .= $result['msg']; 360 } 361 362 } 363 364 if (count($remove_users)>0) 365 { 366 $array_emails_remove = array(); 367 foreach($remove_users as $uidnumber) 368 { 369 $mail = $this->ldap_functions->uidnumber2mail($uidnumber); 370 $array_emails_remove[] = $mail; 371 $this->db_functions->write_log("Removido usuario $mail da SCP da lista $dn",'',$uidnumber,'',''); 372 } 373 $result = $this->ldap_functions->remove_user2maillist_scl($dn, $array_emails_remove); 374 if (!$result['status']) 375 { 376 $return['status'] = false; 377 $return['msg'] .= $result['msg']; 378 } 379 } 380 381 return $return; 382 } 264 383 265 384 function get_info($uidnumber, $context) 266 385 { 267 386 $maillist_info_ldap = $this->ldap_functions->get_maillist_info($uidnumber, $context); 387 return $maillist_info_ldap; 388 } 389 390 function get_scl_info($uidnumber, $context) 391 { 392 $maillist_info_ldap = $this->ldap_functions->get_maillist_scl_info($uidnumber, $context); 268 393 return $maillist_info_ldap; 269 394 } -
trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php
r16 r23 200 200 201 201 // Pega combo das organizações e seleciona, caso seja um post, o setor que o usuario selecionou. 202 $sectors = $this->functions->get_organizations 2($manager_context);202 $sectors = $this->functions->get_organizations($manager_context); 203 203 204 204 // Chama funcao para criar lista de aplicativos disponiveis. … … 361 361 362 362 // ORGANIZATIONS 363 $orgs = $this->functions->get_organizations 2($manager_context, $user_info['context']);363 $orgs = $this->functions->get_organizations($manager_context, $user_info['context']); 364 364 365 365 // GROUPS. -
trunk/expressoAdmin1_2/inc/class.uigroups.inc.php
r16 r23 188 188 189 189 // Pega combo das organizações e seleciona um dos setores em caso de um erro na validaçao dos dados. 190 $combo_manager_org = $this->functions->get_organizations 2($manager_context, trim(strtolower($group_info['context'])));191 $combo_all_orgs = $this->functions->get_organizations 2($GLOBALS['phpgw_info']['server']['ldap_context'], trim(strtolower($group_info['context'])));190 $combo_manager_org = $this->functions->get_organizations($manager_context, trim(strtolower($group_info['context']))); 191 $combo_all_orgs = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], trim(strtolower($group_info['context']))); 192 192 193 193 // Chama funcao para criar lista de aplicativos disponiveis. … … 250 250 251 251 // Pega combo das organizações e seleciona a org do grupo. 252 $combo_manager_org = $this->functions->get_organizations 2($manager_context, trim(strtolower($group_info['context'])));253 $combo_all_orgs = $this->functions->get_organizations 2($GLOBALS['phpgw_info']['server']['ldap_context'], trim(strtolower($group_info['context'])));252 $combo_manager_org = $this->functions->get_organizations($manager_context, trim(strtolower($group_info['context']))); 253 $combo_all_orgs = $this->functions->get_organizations($GLOBALS['phpgw_info']['server']['ldap_context'], trim(strtolower($group_info['context']))); 254 254 255 255 // Usuarios do grupo. … … 292 292 'apps' => $apps, 293 293 'use_attrs_samba_checked' => $group_info['sambaGroup'] ? 'CHECKED' : '', 294 'phpgwaccountvisible_checked' => $group_info['phpgwaccountvisible'] == '-1' ? 'CHECKED' : '', 294 295 'back_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uigroups.list_groups'), 295 296 'combo_manager_org' => $combo_manager_org, -
trunk/expressoAdmin1_2/inc/class.uimaillists.inc.php
r2 r23 14 14 var $public_functions = array 15 15 ( 16 'list_maillists' => True, 17 'add_maillists' => True, 18 'edit_maillists' => True, 19 'css' => True 16 'list_maillists' => True, 17 'add_maillists' => True, 18 'edit_maillists' => True, 19 'scl_maillists' => True, 20 'css' => True 20 21 ); 21 22 … … 28 29 $this->functions = CreateObject('expressoAdmin1_2.functions'); 29 30 $this->nextmatchs = CreateObject('phpgwapi.nextmatchs'); 31 32 $c = CreateObject('phpgwapi.config','expressoAdmin1_2'); 33 $c->read_repository(); 34 $this->current_config = $c->config_data; 30 35 31 36 if(!@is_object($GLOBALS['phpgw']->js)) … … 82 87 'lang_add_email_lists' => lang('Add Email Lists'), 83 88 'lang_edit' => lang('Edit'), 89 'lang_scl' => 'SCL', 84 90 'lang_delete' => 'Excluir', 85 91 'lang_view' => lang('View'), … … 131 137 { 132 138 $p->set_var('edit_link',$this->row_action('edit','maillists',$maillist['uidnumber'],$maillist['uid'])); 139 $p->set_var('scl_link',$this->row_action('scl','maillists',$maillist['uidnumber'],$maillist['uid'])); 133 140 } 134 141 else 135 142 { 136 143 $p->set_var('edit_link',' '); 144 $p->set_var('scl_link',' '); 137 145 } 138 146 … … 186 194 'uid' => 'lista-', 187 195 'accountStatus_checked' => 'CHECKED', 196 'restrictionsOnEmailLists' => $this->current_config['expressoAdmin_restrictionsOnEmailLists'], 188 197 'lang_back' => lang('Back'), 189 198 'lang_save' => lang('save'), … … 195 204 'lang_add_user' => lang('Add User'), 196 205 'lang_rem_user' => lang('Remove User'), 197 'lang_all_users' => lang('S electusers from all sub-organizations'),206 'lang_all_users' => lang('Show users from all sub-organizations'), 198 207 'back_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uimaillists.list_maillists'), 199 208 'combo_org' => $org, … … 242 251 $array_users[$uidnumber] = $userinfo['cn']; 243 252 $array_users_uid[$uidnumber] = $userinfo['uid']; 253 $array_users_type[$uidnumber] = $userinfo['type']; 244 254 } 245 255 natcasesort($array_users); 246 256 foreach ($array_users as $uidnumber=>$cn) 247 257 { 248 $ea_select_usersInMaillist .= "<option value=" . $uidnumber . ">" . $cn . " [" . $array_users_uid[$uidnumber] . "]</option>"; 249 } 258 if ($array_users_type[$uidnumber] == 'u') 259 { 260 $users .= "<option value=" . $uidnumber . ">" . $cn . " [" . $array_users_uid[$uidnumber] . "]</option>"; 261 } 262 else 263 { 264 $lists .= "<option value=" . $uidnumber . ">" . $cn . " [" . $array_users_uid[$uidnumber] . "]</option>"; 265 } 266 } 267 $opt_tmp_lists = '<option value="-1" disabled>------------------------------ Listas ------------------------------ </option>'."\n"; 268 $opt_tmp_users = '<option value="-1" disabled>----------------------------- Usuários ---------------------------- </option>'."\n"; 269 270 $ea_select_usersInMaillist = $opt_tmp_lists . $lists . $opt_tmp_users . $users; 250 271 } 251 272 … … 255 276 'color_bg2' => "#D3DCE3", 256 277 'type' => 'edit_maillist', 257 'ldap_context' => $GLOBALS['phpgw_info']['server']['ldap_context'],278 'ldap_context' => $GLOBALS['phpgw_info']['server']['ldap_context'], 258 279 'lang_back' => lang('Back'), 259 280 'lang_save' => lang('save'), … … 281 302 $p->pfp('out','edit_maillist'); 282 303 } 283 304 305 function scl_maillists() 306 { 307 $GLOBALS['phpgw']->js->set_onload('get_available_users(document.forms[0].org_context.value, document.forms[0].ea_check_allUsers.checked);'); 308 309 $account_lid = $GLOBALS['phpgw']->accounts->data['account_lid']; 310 $acl = $this->functions->read_acl($account_lid); 311 $manager_context = $acl[0]['context']; 312 313 // Verifica se tem acesso a este modulo 314 if (!$this->functions->check_acl($account_lid,'edit_maillists')) 315 { 316 $GLOBALS['phpgw']->redirect($GLOBALS['phpgw']->link('/expressoAdmin1_2/inc/access_denied.php')); 317 } 318 319 // GET all infomations about the group. 320 $maillist_info = $this->maillist->get_scl_info($_GET['uidnumber'], $manager_context); 321 //_debug_array($maillist_info); 322 323 unset($GLOBALS['phpgw_info']['flags']['noheader']); 324 unset($GLOBALS['phpgw_info']['flags']['nonavbar']); 325 $GLOBALS['phpgw_info']['flags']['app_header'] = $GLOBALS['phpgw_info']['apps']['expressoAdmin1_2']['title'].' - '.lang('Edit Sending Control List'); 326 $GLOBALS['phpgw']->common->phpgw_header(); 327 328 // Set o template 329 $p = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); 330 $p->set_file(Array('sql_maillist' => 'maillists_scl.tpl')); 331 332 // Pega combo das organizações e seleciona a org da lista. 333 $org = $this->functions->get_organizations($manager_context, trim(strtolower($maillist_info['context']))); 334 335 // Usuarios de senders. 336 if (count($maillist_info['senders_info']) > 0) 337 { 338 foreach ($maillist_info['senders_info'] as $uidnumber=>$senderinfo) 339 { 340 $array_senders[$uidnumber] = $senderinfo['cn']; 341 } 342 natcasesort($array_senders); 343 foreach ($array_senders as $uidnumber=>$cn) 344 { 345 $ea_select_users_SCL_Maillist .= "<option value=" . $uidnumber . ">" . $cn . " [" . $maillist_info['senders_info'][$uidnumber]['mail'] . "]</option>"; 346 } 347 } 348 349 // Seta variaveis utilizadas pelo tpl. 350 $var = Array( 351 'color_bg1' => "#E8F0F0", 352 'color_bg2' => "#D3DCE3", 353 'type' => 'edit_maillist', 354 'ldap_context' => $GLOBALS['phpgw_info']['server']['ldap_context'], 355 'dn' => $maillist_info['dn'], 356 'lang_back' => lang('Back'), 357 'lang_save' => lang('save'), 358 'lang_org' => lang('Organizations'), 359 'lang_maillist_uid' => lang('Maillist login'), 360 'lang_maillist_mail' => lang('Maillist Mail'), 361 'lang_maillist_name' => lang('Maillist name'), 362 'lang_maillist_users' => lang('Maillist users'), 363 'lang_add_user' => lang('Add User'), 364 'lang_rem_user' => lang('Remove User'), 365 'lang_all_users' => lang('Show users from all sub-organizations'), 366 'back_url' => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uimaillists.list_maillists'), 367 'combo_org' => $org, 368 'manager_context' => $manager_context, 369 'uidnumber' => $_GET['uidnumber'], 370 'uid' => $maillist_info['uid'], 371 'mail' => $maillist_info['mail'], 372 'cn' => $maillist_info['cn'], 373 'accountRestrictive_checked' => $maillist_info['accountRestrictive'] == 'mailListRestriction' ? 'CHECKED' : '', 374 'participantCanSendMail_checked'=> $maillist_info['participantCanSendMail'] == 'TRUE' ? 'CHECKED' : '', 375 'ea_select_users_SCL_Maillist' => $ea_select_users_SCL_Maillist 376 ); 377 $p->set_var($var); 378 379 $p->pfp('out','sql_maillist'); 380 } 381 284 382 function row_action($action,$type,$uidnumber,$maillist_uid) 285 383 { -
trunk/expressoAdmin1_2/js/jscode/maillists.js
r2 r23 14 14 return; 15 15 } 16 17 uid_tmp = document.forms[0].uid.value.split("-"); 18 if ((uid_tmp.length < 3) || (uid_tmp[0] != 'lista')){ 19 alert( 20 'O campo LOGIN da lista está incompleto.\n' + 21 'O nome da lista deve ser formado assim:\n' + 22 'lista-ORGANIZACAO-NOME_DA_LISTA.\n' + 23 'Ex: lista-celepar-rh.'); 24 return; 16 17 if (document.forms[0].restrictionsOnEmailLists.value == 'true') 18 { 19 uid_tmp = document.forms[0].uid.value.split("-"); 20 if ((uid_tmp.length < 3) || (uid_tmp[0] != 'lista')){ 21 alert( 22 'O campo LOGIN da lista está incompleto.\n' + 23 'O nome da lista deve ser formado assim:\n' + 24 'lista-ORGANIZACAO-NOME_DA_LISTA.\n' + 25 'Ex: lista-celepar-rh.'); 26 return; 27 } 25 28 } 26 29 … … 109 112 } 110 113 114 function save_scl() 115 { 116 select_users_SCL_Maillist = document.getElementById('ea_select_users_SCL_Maillist'); 117 // Needed select all options from select 118 for(var i=0; i<select_users_SCL_Maillist.options.length; i++) 119 select_users_SCL_Maillist.options[i].selected = true; 120 121 cExecuteForm ("$this.maillist.save_scl", document.forms[0], handler_save_scl); 122 } 123 function handler_save_scl(data) 124 { 125 return_handler_save_scl(data); 126 } 127 128 function return_handler_save_scl(data) 129 { 130 if (!data.status) 131 alert(data.msg); 132 else 133 alert('Sending Control List salva com êxito!!'); 134 location.href="./index.php?menuaction=expressoAdmin1_2.uimaillists.list_maillists"; 135 return; 136 } 111 137 112 138 function sinc_combos_org(context, recursive) … … 162 188 return; 163 189 } 164 cExecute ('$this.ldap_functions.get_available_users_and_maillist&context='+context+'&recursive='+recursive , handler_get_available_users);190 cExecute ('$this.ldap_functions.get_available_users_and_maillist&context='+context+'&recursive='+recursive+'&denied_uidnumber='+document.forms[0].uidnumber.value, handler_get_available_users); 165 191 } 166 192 … … 219 245 } 220 246 247 function add_user2scl_maillist() 248 { 249 select_available_users = document.getElementById('ea_select_available_users'); 250 select_usersInMaillist = document.getElementById('ea_select_users_SCL_Maillist'); 251 252 var count_available_users = select_available_users.length; 253 var count_usersInMailList = select_usersInMaillist.options.length; 254 var new_options = ''; 255 256 for (i = 0 ; i < count_available_users ; i++) 257 { 258 if (select_available_users.options[i].selected) 259 { 260 if(document.all) 261 { 262 if ( (select_usersInMaillist.innerHTML.indexOf('value='+select_available_users.options[i].value)) == '-1' ) 263 { 264 new_options += "<option value=" 265 + select_available_users.options[i].value 266 + ">" 267 + select_available_users.options[i].text 268 + "</options>"; 269 } 270 } 271 else 272 { 273 if ( (select_usersInMaillist.innerHTML.indexOf('value="'+select_available_users.options[i].value+'"')) == '-1' ) 274 { 275 new_options += "<option value=" 276 + select_available_users.options[i].value 277 + ">" 278 + select_available_users.options[i].text 279 + "</options>"; 280 } 281 } 282 } 283 } 284 285 if (new_options != '') 286 { 287 select_usersInMaillist.innerHTML = '#' + new_options + select_usersInMaillist.innerHTML; 288 select_usersInMaillist.outerHTML = select_usersInMaillist.outerHTML; 289 } 290 } 291 292 function remove_user2scl_maillist() 293 { 294 select_usersInMaillist = document.getElementById('ea_select_users_SCL_Maillist'); 295 296 for(var i = 0;i < select_usersInMaillist.options.length; i++) 297 if(select_usersInMaillist.options[i].selected) 298 select_usersInMaillist.options[i--] = null; 299 } 300 301 221 302 // Variaveis Locais 222 303 if (document.getElementById('ea_select_available_users')) … … 240 321 finderTimeout = setTimeout("optionFinder('"+obj.id+"')",500); 241 322 } 242 function optionFinder(id) { 323 function optionFinder(id) { 243 324 var oWait = document.getElementById("ea_span_searching"); 244 325 var oText = document.getElementById(id); … … 246 327 //Limpa todo o select 247 328 var select_available_users_tmp = document.getElementById('ea_select_available_users') 329 248 330 for(var i = 0;i < select_available_users_tmp.options.length; i++) 249 331 select_available_users_tmp.options[i--] = null; 250 332 251 333 var RegExp_name = new RegExp("\\b"+oText.value, "i"); 252 334 253 335 //Inclui usuário começando com a pesquisa 254 for(i = 0; i < select_available_users_clone.length; i++){ 255 if ( RegExp_name.test(select_available_users_clone[i].text))336 for(i = 0; i < select_available_users_clone.length; i++){ 337 if ( RegExp_name.test(select_available_users_clone[i].text) || (select_available_users_clone[i].value == -1) ) 256 338 { 257 339 sel = select_available_users_tmp.options; 258 option = new Option(select_available_users_clone[i].text,select_available_users_clone[i].value); 340 option = new Option(select_available_users_clone[i].text,select_available_users_clone[i].value); 341 342 if (select_available_users_clone[i].value == -1) 343 option.disabled = true; 344 259 345 sel[sel.length] = option; 260 346 } -
trunk/expressoAdmin1_2/templates/default/config.tpl
r2 r23 74 74 </td> 75 75 </tr> 76 76 <tr class="row_off"> 77 <td>{lang_use_restrictions_in_the_creation_of_emaillists}:</td> 78 <td> 79 <select name="newsettings[expressoAdmin_restrictionsOnEmailLists]"> 80 <option value="false" {selected_expressoAdmin_restrictionsOnEmailLists_false}>{lang_no}</option> 81 <option value="true" {selected_expressoAdmin_restrictionsOnEmailLists_true}>{lang_yes}</option> 82 </select> 83 </td> 84 </tr> 77 85 <!-- END body --> 78 86 <!-- BEGIN footer --> -
trunk/expressoAdmin1_2/templates/default/groups_form.tpl
r2 r23 28 28 <input name="description" size="60" value="{description}" autocomplete="off"><br> 29 29 Usar atributos Samba: <input type="checkbox" {use_attrs_samba_checked} name="use_attrs_samba"><br> 30 Ocultar este grupo no Expresso? <input type="checkbox" {phpgwaccountvisible_checked} name="phpgwaccountvisible"><br> 31 30 32 <b>{lang_group_users}:</b><br> 31 33 <select id="ea_select_usersInGroup" name="members[]" style="width: 400px" multiple size="13">{ea_select_usersInGroup}</select> -
trunk/expressoAdmin1_2/templates/default/maillists.tpl
r2 r23 30 30 <td width="40%">{lang_email}</td> 31 31 <td width="8%" align="center">{lang_edit}</td> 32 <td width="8%" align="center"><span title='Sending Control List'>{lang_scl}<span></td> 33 34 32 35 <td width="8%" align="center">{lang_delete}</td> 33 36 </tr> … … 45 48 <td width="20%">{row_email}</td> 46 49 <td width="6%" align="center">{edit_link}</td> 50 <td width="6%" align="center">{scl_link}</td> 47 51 <td width="7%" align="center">{delete_link}</td> 48 52 </tr> -
trunk/expressoAdmin1_2/templates/default/maillists_form.tpl
r2 r23 11 11 <input type="hidden" name="ldap_context" value="{ldap_context}"> 12 12 <input type="hidden" name="manager_context" value="{manager_context}"> 13 13 <input type="hidden" name="restrictionsOnEmailLists" value="{restrictionsOnEmailLists}"> 14 14 15 <tr> 15 16 <td colspan="3" align="right" bgcolor="{color_bg1}"> … … 36 37 37 38 <b>{lang_maillist_users}:</b><br> 38 <select id="ea_select_usersInMaillist" name="members[]" style="width: 400px" multiple size="13">{ea_select_usersInMaillist}</select>39 <select id="ea_select_usersInMaillist" name="members[]" style="width:400px; height:200px" multiple size="13">{ea_select_usersInMaillist}</select> 39 40 </td> 40 41 … … 60 61 <br> 61 62 <b>Usuários:</b> 62 <select id="ea_select_available_users" style="width: 400px" multiple size="13"></select>63 <select id="ea_select_available_users" style="width:400px; height:200px" multiple size="13"></select> 63 64 </td> 64 65 </tr> -
trunk/instant_messenger/inc/class.contacts_im.inc.php
r20 r23 30 30 } 31 31 } 32 32 33 33 for($i=0; $i < count($array_groups_ldap); $i++) 34 34 $array_2[]['members'] = $this->ldap_users->list_groups_ldap($org_ldap,$array_groups_ldap[$i]); … … 46 46 47 47 @natsort($array_3); 48 48 49 $array_4 = @array_values(@array_unique($array_3)); 49 50 50 51 for($i=0; $i < count($array_4); $i++) 51 52 $array_5[] = $this->ldap_users->list_users_ldap($org_ldap,"uid", $array_4[$i]); … … 56 57 } 57 58 } 59 60 sort($array_6); 58 61 59 sort($array_6);60 61 62 for($i=0; $i < count($array_6); $i++){ 62 63 $aux = explode(";", $array_6[$i]); -
trunk/instant_messenger/inc/class.ldap_im.inc.php
r20 r23 105 105 106 106 if ($this->conn) { 107 $filter=" gidNumber=".$gid;107 $filter="(&(gidNumber=".$gid.")(objectClass=posixGroup))"; 108 108 $justthese = array("gidnumber","cn","memberuid"); 109 109 $search = ldap_search($this->conn,"ou=".$orgLdap.",".$this->ldap_context, $filter, $justthese); -
trunk/instant_messenger/js/im_functions.js
r21 r23 17 17 IM.prototype.load_im = function() 18 18 { 19 19 var force = ( arguments.length ) ? true : false; 20 20 var _this = this; 21 21 Sincro.count = 0; … … 82 82 var div = document.getElementById("div_contacts"); 83 83 div.innerHTML = ""; 84 84 85 var groups = "<b>"+_this.get_lang("list of contacts")+" - 0 </b><br>"; 85 86 -
trunk/instant_messenger/js/im_images.js
r20 r23 36 36 var img_chat_bubble = new Image(); 37 37 img_chat_bubble.src = im_path + "templates/default/images/chat_bubble.gif"; 38 // MANUTENÇÃO 39 var img_manutencao_im = new Image(); 40 img_manutencao_im.src = im_path + "templates/default/images/manutencao_im.png"; 38 41 39 42 -
trunk/instant_messenger/js/im_preferences.js
r21 r23 40 40 { 41 41 var select_org = document.getElementById('ImSelOrg'); 42 var select_contact = document.getElementById('ImSelAddContact'); 42 43 var organization = ""; 44 43 45 for(var i=0; i < select_org.options.length; i++){ 44 46 if(select_org.options[i].selected == true){ -
trunk/instant_messenger/js/im_sincro.js
r20 r23 12 12 { 13 13 if ( this.count++ < 4 ) 14 IM.getMessage();15 else16 IM.UpdateContacts();14 IM.getMessage(); 15 else 16 IM.UpdateContacts(); 17 17 18 18 setTimeout("Sincro.synchronize()", this.wait); -
trunk/phpgwapi/inc/class.sector_search_ldap.inc.php
r2 r23 98 98 return $sectors_list; 99 99 } 100 101 // Retorna os organizações com os options prontos 102 function get_organizations($context, $selected='', $referral=false ,$show_invisible_ou=false) 103 { 104 $dn = $GLOBALS['phpgw_info']['server']['ldap_root_dn']; 105 $passwd = $GLOBALS['phpgw_info']['server']['ldap_root_pw']; 106 $ldap_conn = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']); 107 108 ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3); 109 110 if ($referral) 111 ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 1); 112 else 113 ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0); 114 115 ldap_bind($ldap_conn,$dn,$passwd); 116 117 $justthese = array("dn"); 118 $filter = $show_invisible_ou ? "(ou=*)" : "(& (ou=*) (!(phpgwAccountVisible=-1)) )"; 119 $search=ldap_search($ldap_conn, $context, $filter, $justthese); 120 121 ldap_sort($ldap_conn, $search, "ou"); 122 $info = ldap_get_entries($ldap_conn, $search); 123 ldap_close($ldap_conn); 124 125 // Retiro o count do array info e inverto o array para ordenação. 126 for ($i=0; $i<$info["count"]; $i++) 127 { 128 $dn = $info[$i]["dn"]; 129 130 // Necessário, pq em uma busca com ldapsearch ou=*, traz tb o próprio ou. 131 if (strtolower($dn) == $context) 132 continue; 133 134 $array_dn = ldap_explode_dn ( $dn, 1 ); 135 136 $array_dn_reverse = array_reverse ( $array_dn, true ); 137 138 array_pop ( $array_dn_reverse ); 139 140 $inverted_dn[$dn] = implode ( ".", $array_dn_reverse ); 141 } 142 143 // Ordenação 144 natcasesort($inverted_dn); 145 146 // Construção do select 147 $level = 0; 148 foreach ($inverted_dn as $dn=>$invert_ufn) 149 { 150 $display = ''; 151 152 $array_dn_reverse = explode ( ".", $invert_ufn ); 153 $array_dn = array_reverse ( $array_dn_reverse, true ); 154 155 $level = count( $array_dn ) - 4; 156 157 if ($level == 0) 158 $display .= '+'; 159 else { 160 for ($i=0; $i<$level; $i++) 161 $display .= '---'; 162 } 163 164 reset ( $array_dn ); 165 $display .= ' ' . (current ( $array_dn ) ); 166 167 $dn = trim(strtolower($dn)); 168 if ( $dn == $selected ) 169 $select = ' selected'; 170 else 171 $select = ''; 172 $options .= "<option value='$dn'$select>$display</option>"; 173 } 174 175 // Cria a primeira entrada na combo 176 $first_sector_ufn = ldap_dn2ufn($context); 177 $first_sector_string = split(",", $first_sector_ufn); 178 $options = "<option value='$context'>" . strtoupper($first_sector_string[0]) . "</option>" . $options; 179 180 return $options; 181 } 100 182 } 101 183 ?>
Note: See TracChangeset
for help on using the changeset viewer.