Changeset 23


Ignore:
Timestamp:
05/07/07 15:06:04 (17 years ago)
Author:
niltonneto
Message:

* empty log message *

Location:
trunk
Files:
3 added
1 deleted
26 edited

Legend:

Unmodified
Added
Removed
  • trunk/calendar/doc/change_log.txt

    r22 r23  
    22módulo Agenda de Eventos, e a partir da versão 29/11/2006 [0.9.17] 
    33Nilton Emilio Buhrer Neto. 
     4 
     503/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. 
    47 
    5803/05/2007 - [0.9.2] 
  • trunk/calendar/inc/class.uialarm.inc.php

    r22 r23  
    133133                                        (int)($_POST['time']['mins'])*60; 
    134134                                $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                                } 
    135141                                 
    136142                                foreach ( $this->bo->bo->so->cal->event['alarm'] as $object ){ 
  • trunk/calendar/inc/class.uicalendar.inc.php

    r22 r23  
    342342                                        .'<head>'."\n" 
    343343                                        .'<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" 
    344345                                        .'</head> 
    345346                                        <table id="calendar_print_main" class="calendar_print_main">                                             
     
    46824683                function get_organizations($context, $selected='') 
    46834684                { 
     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                { 
    46844692                        $first_sector_ufn = ldap_dn2ufn($context); 
    46854693                        $first_sector_string = split(",", $first_sector_ufn); 
     
    47154723                        return $sector_select;   
    47164724                } 
    4717                                  
     4725                */ 
    47184726        } 
    47194727?> 
  • trunk/contactcenter/inc/class.bo_ldap_manager.inc.php

    r2 r23  
    311311                        } 
    312312                        $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)))'; 
    314316                        $result_res = @ldap_list($resource,  ($refer_context ? $refer_context : $context), $filter); 
    315317                        @ldap_sort($resource, $result_res, 'ou'); 
  • trunk/expressoAdmin1_2/docs/change_log.txt

    r14 r23  
    4242- Corrigido bug ao deletar um participante da lista de email, onde não se acha o email 
    4343deste participante. 
     44 
     4526/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 
     5102/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 
     54de contas/grupos de sistemas. Ex: root, amanda, etc ... 
  • trunk/expressoAdmin1_2/inc/class.functions.inc.php

    r19 r23  
    344344                */ 
    345345                 
    346                 function get_organizations($context, $selected='') 
     346                /* 
     347                function get_organizations($context, $selected='', $show_invisible_ou=false) 
    347348                { 
    348349                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn']; 
     
    355356                         
    356357                        $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); 
    358360                 
    359361                ldap_sort($ldap_conn, $search, "ou"); 
     
    418420            return $options; 
    419421                } 
     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                }                
    420430                 
    421431                function get_sectors($context, $selected='') 
  • trunk/expressoAdmin1_2/inc/class.group.inc.php

    r9 r23  
    9797                        } 
    9898                         
     99                        // ADD ATTRIBUTES 
     100                        if ($params['phpgwaccountvisible'] == 'on') 
     101                        { 
     102                                $group_info['phpgwaccountvisible'] = '-1'; 
     103                        } 
     104                         
    99105                        $result = $this->ldap_functions->ldap_add_entry($dn, $group_info); 
    100106                        if (!$result['status']) 
     
    216222                                        } 
    217223                                        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",'','','',''); 
    220255                        } 
    221256 
  • trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php

    r16 r23  
    2626 
    2727                $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                } 
    2835                 
    2936                if (($type == 'create_user') || ($type == 'rename_user'))  
     
    130137                $result['status'] = true; 
    131138                 
     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                 
    132146                // CN 
    133147                $filter = "(&(phpgwAccountType=g)(cn=$cn))"; 
     
    163177                $mail = $params['mail']; 
    164178                $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                } 
    165186                 
    166187                // UID 
     
    230251 
    231252        //Busca usuários de um contexto e já retorna as options do select; 
     253        /* 
    232254        function get_available_users_and_maillist($params) 
    233255        { 
     
    264286 
    265287        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>------------------------------&nbsp;&nbsp;&nbsp;&nbsp;Listas&nbsp;&nbsp;&nbsp;&nbsp;------------------------------ </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>-----------------------------&nbsp;&nbsp;&nbsp;&nbsp;Usuários&nbsp;&nbsp;&nbsp;&nbsp;---------------------------- </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; 
    266363        } 
    267364 
     
    322419                { 
    323420                        $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); 
    325422                } 
    326423                 
     
    340437                { 
    341438                        $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); 
    343440                } 
    344441                 
     
    365462                { 
    366463                        $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); 
    368465                } 
    369466                return $result; 
     
    391488                { 
    392489                        $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); 
    394491                } 
    395492                return $result; 
     
    413510                { 
    414511                        $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 
    419534        function remove_user2maillist($uidNumber, $mail) 
    420535        { 
     
    434549                { 
    435550                        $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 
    440573        function replace_user2maillists($new_mail, $old_mail) 
    441574        { 
     
    455588                        { 
    456589                                $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); 
    458591                        } 
    459592                } 
     
    555688                $result['description']                  = $entry[0]['description'][0]; 
    556689                $result['gidnumber']                    = $entry[0]['gidnumber'][0]; 
     690                $result['phpgwaccountvisible']  = $entry[0]['phpgwaccountvisible'][0]; 
    557691                 
    558692                //MemberUid 
     
    606740                $result['cn']                                   = $entry[0]['cn'][0]; 
    607741                $result['mail']                                 = $entry[0]['mail'][0]; 
    608                 $result['mail']                                 = $entry[0]['mail'][0]; 
    609742                $result['accountStatus']                = $entry[0]['accountstatus'][0]; 
    610743                $result['phpgwAccountVisible']  = $entry[0]['phpgwaccountvisible'][0]; 
     
    613746                for ($i=0; $i<$entry[0]['mailforwardingaddress']['count']; $i++) 
    614747                { 
    615                         $justthese = array("cn", "uidnumber", "uid"); 
     748                        $justthese = array("cn", "uidnumber", "uid", "phpgwaccounttype"); 
    616749                        $filter="(&(|(phpgwAccountType=u)(phpgwAccountType=l))(mail=".$entry[0]['mailforwardingaddress'][$i]."))"; 
    617750                        $search = ldap_search($this->ldap, $GLOBALS['phpgw_info']['server']['ldap_context'], $filter, $justthese); 
     
    622755                                $result['members_info'][$user_entry[0]['uidnumber'][0]]['uid'] = $user_entry[0]['uid'][0]; 
    623756                                $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]; 
    624758                                $result['members_info'][$user_entry[0]['uidnumber'][0]]['mailforwardingaddress'] = $entry[0]['mailforwardingaddress'][$i]; 
    625759                                $result['members'][] = $user_entry[0]['uidnumber'][0]; 
     
    634768                } 
    635769                 
     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 
    636812                return $result; 
    637813        }        
  • trunk/expressoAdmin1_2/inc/class.maillist.inc.php

    r15 r23  
    262262                }                
    263263                 
     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                }                                
    264383                 
    265384                function get_info($uidnumber, $context) 
    266385                { 
    267386                        $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); 
    268393                        return $maillist_info_ldap; 
    269394                } 
  • trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php

    r16 r23  
    200200 
    201201                        // Pega combo das organizações e seleciona, caso seja um post, o setor que o usuario selecionou. 
    202                         $sectors = $this->functions->get_organizations2($manager_context); 
     202                        $sectors = $this->functions->get_organizations($manager_context); 
    203203 
    204204                        // Chama funcao para criar lista de aplicativos disponiveis. 
     
    361361                                                         
    362362                // ORGANIZATIONS 
    363                 $orgs = $this->functions->get_organizations2($manager_context, $user_info['context']); 
     363                $orgs = $this->functions->get_organizations($manager_context, $user_info['context']); 
    364364 
    365365                        // GROUPS. 
  • trunk/expressoAdmin1_2/inc/class.uigroups.inc.php

    r16 r23  
    188188 
    189189                        // 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_organizations2($manager_context, trim(strtolower($group_info['context']))); 
    191                         $combo_all_orgs = $this->functions->get_organizations2($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']))); 
    192192                         
    193193                        // Chama funcao para criar lista de aplicativos disponiveis. 
     
    250250 
    251251                        // Pega combo das organizações e seleciona a org do grupo. 
    252                         $combo_manager_org = $this->functions->get_organizations2($manager_context, trim(strtolower($group_info['context']))); 
    253                         $combo_all_orgs = $this->functions->get_organizations2($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']))); 
    254254 
    255255                        // Usuarios do grupo. 
     
    292292                                'apps'                                          => $apps, 
    293293                                'use_attrs_samba_checked'       => $group_info['sambaGroup'] ? 'CHECKED' : '', 
     294                                'phpgwaccountvisible_checked'   => $group_info['phpgwaccountvisible'] == '-1' ? 'CHECKED' : '', 
    294295                                'back_url'                                      => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uigroups.list_groups'), 
    295296                                'combo_manager_org'                     => $combo_manager_org, 
  • trunk/expressoAdmin1_2/inc/class.uimaillists.inc.php

    r2 r23  
    1414                var $public_functions = array 
    1515                ( 
    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 
    2021                ); 
    2122 
     
    2829                        $this->functions        = CreateObject('expressoAdmin1_2.functions'); 
    2930                        $this->nextmatchs       = CreateObject('phpgwapi.nextmatchs'); 
     31 
     32                        $c = CreateObject('phpgwapi.config','expressoAdmin1_2'); 
     33                        $c->read_repository(); 
     34                        $this->current_config = $c->config_data; 
    3035 
    3136                        if(!@is_object($GLOBALS['phpgw']->js)) 
     
    8287                                'lang_add_email_lists'          => lang('Add Email Lists'), 
    8388                                'lang_edit'                             => lang('Edit'), 
     89                                'lang_scl'                              => 'SCL', 
    8490                                'lang_delete'                           => 'Excluir', 
    8591                                'lang_view'                                     => lang('View'), 
     
    131137                                        { 
    132138                                                $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'])); 
    133140                                        } 
    134141                                        else 
    135142                                        { 
    136143                                                $p->set_var('edit_link','&nbsp;'); 
     144                                                $p->set_var('scl_link','&nbsp;'); 
    137145                                        } 
    138146 
     
    186194                                'uid'                                           => 'lista-', 
    187195                                'accountStatus_checked'         => 'CHECKED', 
     196                                'restrictionsOnEmailLists'      => $this->current_config['expressoAdmin_restrictionsOnEmailLists'], 
    188197                                'lang_back'                                     => lang('Back'), 
    189198                                'lang_save'                                     => lang('save'), 
     
    195204                                'lang_add_user'                         => lang('Add User'), 
    196205                                'lang_rem_user'                         => lang('Remove User'), 
    197                                 'lang_all_users'                        => lang('Select users from all sub-organizations'), 
     206                                'lang_all_users'                        => lang('Show users from all sub-organizations'), 
    198207                                'back_url'                                      => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uimaillists.list_maillists'), 
    199208                                'combo_org'                                     => $org, 
     
    242251                                        $array_users[$uidnumber] = $userinfo['cn']; 
    243252                                        $array_users_uid[$uidnumber] = $userinfo['uid']; 
     253                                        $array_users_type[$uidnumber] = $userinfo['type']; 
    244254                                } 
    245255                                natcasesort($array_users); 
    246256                                foreach ($array_users as $uidnumber=>$cn) 
    247257                                { 
    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>------------------------------&nbsp;&nbsp;&nbsp;&nbsp;Listas&nbsp;&nbsp;&nbsp;&nbsp;------------------------------ </option>'."\n"; 
     268                                $opt_tmp_users = '<option  value="-1" disabled>-----------------------------&nbsp;&nbsp;&nbsp;&nbsp;Usuários&nbsp;&nbsp;&nbsp;&nbsp;---------------------------- </option>'."\n"; 
     269                                 
     270                                $ea_select_usersInMaillist = $opt_tmp_lists . $lists . $opt_tmp_users . $users; 
    250271                        } 
    251272 
     
    255276                                'color_bg2'                                             => "#D3DCE3", 
    256277                                'type'                                                  => 'edit_maillist', 
    257                                 'ldap_context'                          => $GLOBALS['phpgw_info']['server']['ldap_context'], 
     278                                'ldap_context'                                  => $GLOBALS['phpgw_info']['server']['ldap_context'], 
    258279                                'lang_back'                                             => lang('Back'), 
    259280                                'lang_save'                                             => lang('save'), 
     
    281302                        $p->pfp('out','edit_maillist'); 
    282303                } 
    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                 
    284382                function row_action($action,$type,$uidnumber,$maillist_uid) 
    285383                { 
  • trunk/expressoAdmin1_2/js/jscode/maillists.js

    r2 r23  
    1414                return; 
    1515        } 
    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                } 
    2528        } 
    2629                 
     
    109112} 
    110113 
     114function 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} 
     123function handler_save_scl(data) 
     124{ 
     125        return_handler_save_scl(data); 
     126} 
     127 
     128function 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} 
    111137 
    112138function sinc_combos_org(context, recursive) 
     
    162188                return; 
    163189        } 
    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); 
    165191} 
    166192 
     
    219245} 
    220246 
     247function 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 
     292function 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 
    221302// Variaveis Locais  
    222303if (document.getElementById('ea_select_available_users')) 
     
    240321        finderTimeout = setTimeout("optionFinder('"+obj.id+"')",500); 
    241322} 
    242 function optionFinder(id) {      
     323function optionFinder(id) { 
    243324        var oWait = document.getElementById("ea_span_searching"); 
    244325        var oText = document.getElementById(id); 
     
    246327        //Limpa todo o select 
    247328        var select_available_users_tmp = document.getElementById('ea_select_available_users') 
     329 
    248330        for(var i = 0;i < select_available_users_tmp.options.length; i++) 
    249331                select_available_users_tmp.options[i--] = null; 
    250                  
     332 
    251333        var RegExp_name = new RegExp("\\b"+oText.value, "i"); 
    252                  
     334         
    253335        //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) ) 
    256338                { 
    257339                        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 
    259345                        sel[sel.length] = option; 
    260346                } 
  • trunk/expressoAdmin1_2/templates/default/config.tpl

    r2 r23  
    7474                </td> 
    7575        </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> 
    7785<!-- END body --> 
    7886<!-- BEGIN footer --> 
  • trunk/expressoAdmin1_2/templates/default/groups_form.tpl

    r2 r23  
    2828                                                        <input name="description" size="60" value="{description}" autocomplete="off"><br> 
    2929                                                        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                                                         
    3032                                                        <b>{lang_group_users}:</b><br> 
    3133                                                        <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  
    3030    <td width="40%">{lang_email}</td> 
    3131    <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         
    3235    <td width="8%" align="center">{lang_delete}</td> 
    3336   </tr> 
     
    4548    <td width="20%">{row_email}</td> 
    4649    <td width="6%" align="center">{edit_link}</td> 
     50        <td width="6%" align="center">{scl_link}</td> 
    4751    <td width="7%" align="center">{delete_link}</td> 
    4852   </tr> 
  • trunk/expressoAdmin1_2/templates/default/maillists_form.tpl

    r2 r23  
    1111                                        <input type="hidden" name="ldap_context" value="{ldap_context}"> 
    1212                                        <input type="hidden" name="manager_context" value="{manager_context}"> 
    13                                          
     13                                        <input type="hidden" name="restrictionsOnEmailLists" value="{restrictionsOnEmailLists}"> 
     14 
    1415                                        <tr> 
    1516                                                <td colspan="3" align="right" bgcolor="{color_bg1}"> 
     
    3637                                                         
    3738                                                        <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> 
    3940                                                </td> 
    4041                                                 
     
    6061                                                        <br> 
    6162                                                        <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> 
    6364                                                </td> 
    6465                                        </tr> 
  • trunk/instant_messenger/inc/class.contacts_im.inc.php

    r20 r23  
    3030                        }                
    3131                } 
    32          
     32                 
    3333                for($i=0; $i < count($array_groups_ldap); $i++) 
    3434                        $array_2[]['members'] = $this->ldap_users->list_groups_ldap($org_ldap,$array_groups_ldap[$i]); 
     
    4646         
    4747                @natsort($array_3); 
     48                 
    4849                $array_4 = @array_values(@array_unique($array_3)); 
    49                  
     50 
    5051                for($i=0; $i < count($array_4); $i++) 
    5152                        $array_5[] = $this->ldap_users->list_users_ldap($org_ldap,"uid", $array_4[$i]); 
     
    5657                        } 
    5758                } 
     59 
     60                sort($array_6);  
    5861                 
    59                 sort($array_6);  
    60  
    6162                for($i=0; $i < count($array_6); $i++){ 
    6263                        $aux = explode(";", $array_6[$i]); 
  • trunk/instant_messenger/inc/class.ldap_im.inc.php

    r20 r23  
    105105                 
    106106                if ($this->conn) { 
    107                         $filter="gidNumber=".$gid;               
     107                        $filter="(&(gidNumber=".$gid.")(objectClass=posixGroup))";               
    108108                        $justthese = array("gidnumber","cn","memberuid"); 
    109109                        $search = ldap_search($this->conn,"ou=".$orgLdap.",".$this->ldap_context, $filter, $justthese); 
  • trunk/instant_messenger/js/im_functions.js

    r21 r23  
    1717   IM.prototype.load_im = function() 
    1818   { 
    19            var force = ( arguments.length ) ? true : false; 
     19          var force = ( arguments.length ) ? true : false; 
    2020      var _this = this; 
    2121      Sincro.count = 0; 
     
    8282                var div = document.getElementById("div_contacts"); 
    8383                        div.innerHTML = ""; 
     84                 
    8485                var groups = "<b>"+_this.get_lang("list of contacts")+" - 0 </b><br>"; 
    8586         
  • trunk/instant_messenger/js/im_images.js

    r20 r23  
    3636        var img_chat_bubble = new Image(); 
    3737        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"; 
    3841 
    3942 
  • trunk/instant_messenger/js/im_preferences.js

    r21 r23  
    4040        { 
    4141                var select_org = document.getElementById('ImSelOrg'); 
     42                var select_contact = document.getElementById('ImSelAddContact'); 
    4243                var organization = ""; 
     44                 
    4345                for(var i=0; i < select_org.options.length; i++){ 
    4446                        if(select_org.options[i].selected == true){ 
  • trunk/instant_messenger/js/im_sincro.js

    r20 r23  
    1212        { 
    1313                if ( this.count++ < 4 ) 
    14          IM.getMessage(); 
    15       else 
    16          IM.UpdateContacts(); 
     14          IM.getMessage(); 
     15        else 
     16          IM.UpdateContacts(); 
    1717 
    1818      setTimeout("Sincro.synchronize()", this.wait); 
  • trunk/phpgwapi/inc/class.sector_search_ldap.inc.php

    r2 r23  
    9898                        return $sectors_list; 
    9999                } 
     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                } 
    100182        } 
    101183?> 
Note: See TracChangeset for help on using the changeset viewer.