Changeset 46


Ignore:
Timestamp:
08/06/07 08:54:16 (17 years ago)
Author:
niltonneto
Message:

* empty log message *

Location:
trunk
Files:
58 added
24 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoAdmin1_2/inc/class.bomanagers.inc.php

    r32 r46  
    3838                        'edit_groups'                           => $_POST['edit_groups'], 
    3939                        'delete_groups'                         => $_POST['delete_groups'], 
     40                        'edit_email_groups'                     => $_POST['edit_email_groups'], 
    4041                        'change_users_password'         => $_POST['change_users_password'], 
    4142                        'change_users_quote'            => $_POST['change_users_quote'], 
     
    6061                        $acl = 0; 
    6162                        $acl = $acl + $manager['add_users'] + $manager['edit_users'] + $manager['delete_users'] + $manager['rename_users'] + $manager['view_users']; 
    62                         $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups']; 
     63                        $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups'] + $manager['edit_email_groups']; 
    6364                        $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password']; 
    6465                        $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains']; 
     
    108109                        'add_groups'                            => $_POST['add_groups'], 
    109110                        'edit_groups'                           => $_POST['edit_groups'], 
    110                         'delete_groups'                         => $_POST['delete_groups'],                      
     111                        'delete_groups'                         => $_POST['delete_groups'], 
     112                        'edit_email_groups'                     => $_POST['edit_email_groups'],                  
    111113                        'change_users_password'         => $_POST['change_users_password'], 
    112114                        'change_users_quote'            => $_POST['change_users_quote'], 
     
    131133                        $acl = 0; 
    132134                        $acl = $acl + $manager['add_users'] + $manager['edit_users'] + $manager['delete_users'] + $manager['rename_users'] + $manager['view_users']; 
    133                         $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups']; 
     135                        $acl = $acl + $manager['add_groups'] + $manager['edit_groups'] + $manager['delete_groups'] + $manager['edit_email_groups']; 
    134136                        $acl = $acl + $manager['change_users_password'] + $manager['change_users_quote'] + $manager['set_user_default_password']; 
    135137                        $acl = $acl + $manager['edit_sambausers_attributes'] + $manager['edit_sambadomains']; 
  • trunk/expressoAdmin1_2/inc/class.functions.inc.php

    r33 r46  
    103103                                                return true; 
    104104                                        break; 
     105                                case edit_email_groups: 
     106                                        if ($array_acl[edit_email_groups]) 
     107                                                return true; 
     108                                        break; 
    105109                                 
    106110                                case list_maillists: 
     
    175179                function read_acl($account_lid) 
    176180                {  
    177                         /* 
    178                         $query = "SELECT * FROM phpgw_expressoadmin WHERE manager_lid = '" . $account_lid . "'";  
    179                         $GLOBALS['phpgw']->db->query($query); 
    180                         while($GLOBALS['phpgw']->db->next_record()) 
    181                         { 
    182                                 $result[] = $GLOBALS['phpgw']->db->row(); 
    183                         } 
    184                         */ 
    185181                        $result = $this->db_functions->read_acl($account_lid); 
    186182                        $context_array = ldap_explode_dn($result[0]['context'], 1); 
    187                         $tmp = array_shift($context_array); 
    188                         $result[0]['context_display'] = implode(".", $context_array); 
     183                        $result[0]['context_display'] = ldap_dn2ufn ( $result[0]['context'] ); 
    189184                        return $result; 
    190185                } 
    191186                 
    192187                // Make a array read humam 
    193                 // Last acl:    33.554.432 
     188                // Last acl:    33.554.432, 67.108.864 
    194189                function make_array_acl($acl) 
    195190                { 
     
    202197                        $array_acl['edit_groups'] = $acl & 32; 
    203198                        $array_acl['delete_groups'] = $acl & 64; 
     199                        $array_acl['edit_email_groups'] = $acl & 67108864; 
    204200                        $array_acl['change_users_password'] = $acl & 128; 
    205201                        $array_acl['change_users_quote'] = $acl & 262144; 
     
    234230                                 
    235231                                $justthese = array("uidnumber", "uid", "cn", "mail"); 
    236                                 $filter="(&(phpgwAccountType=u)(|(uid=*".$query."*)(sn=*".$query."*)(cn=*".$query."*)(givenName=*".$query."*)(mail=$query*)))"; 
     232                                $filter="(&(phpgwAccountType=u)(|(uid~=".$query.")(sn~=".$query.")(cn~=".$query.")(givenName~=".$query.")(mail~=$query)(mailAlternateAddress~=$query)))"; 
    237233                                $search=ldap_search($ldap_conn, $context, $filter, $justthese); 
    238234                                ldap_sort($ldap_conn, $search, "uid"); 
     
    470466                 
    471467                // Get list of all levels, this function is used for sectors module. 
     468                /* 
    472469                function get_sectors_list($context) 
    473470                { 
     
    477474         
    478475                        if ($connection) 
    479                         { 
     476                        {                                
    480477                                $bind=ldap_bind($connection); 
    481478                                $filter="ou=*"; 
    482479                                $justthese = array("ou"); 
    483480                                $search=ldap_list($connection, $context, $filter, $justthese); 
    484                                 ldap_sort($connection ,$search, "ou"); 
     481                                ldap_sort($connection, $search, "ou"); 
    485482                                $info = ldap_get_entries($connection, $search); 
    486483                                for ($i=0; $i<$info["count"]; $i++) 
     
    496493                        $this->level--; 
    497494                        return $this->sectors_list; 
     495                } 
     496                */ 
     497                 
     498                // Get list of all levels, this function is used for sectors module. 
     499                function get_sectors_list($context, $selected='', $referral=false ,$show_invisible_ou=false) 
     500                { 
     501                        $dn                     = $GLOBALS['phpgw_info']['server']['ldap_root_dn']; 
     502                        $passwd         = $GLOBALS['phpgw_info']['server']['ldap_root_pw']; 
     503                        $ldap_conn      = ldap_connect($GLOBALS['phpgw_info']['server']['ldap_host']); 
     504                         
     505                        ldap_set_option($ldap_conn, LDAP_OPT_PROTOCOL_VERSION, 3); 
     506                         
     507                        if ($referral) 
     508                                ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 1); 
     509                        else 
     510                                ldap_set_option($ldap_conn, LDAP_OPT_REFERRALS, 0); 
     511                         
     512                        ldap_bind($ldap_conn,$dn,$passwd); 
     513                         
     514                        $justthese = array("dn"); 
     515                        $filter = "(ou=*)"; 
     516                        $search=ldap_search($ldap_conn, $context, $filter, $justthese); 
     517                 
     518                ldap_sort($ldap_conn, $search, "ou"); 
     519                $info = ldap_get_entries($ldap_conn, $search); 
     520                        ldap_close($ldap_conn); 
     521 
     522                        // Retiro o count do array info e inverto o array para ordenação. 
     523                for ($i=0; $i<$info["count"]; $i++) 
     524            { 
     525                                $dn = $info[$i]["dn"]; 
     526                                 
     527                                // Necessário, pq em uma busca com ldapsearch ou=*, traz tb o próprio ou.  
     528                                if (strtolower($dn) == $context) 
     529                                        continue; 
     530 
     531                                $array_dn = ldap_explode_dn ( $dn, 1 ); 
     532 
     533                $array_dn_reverse  = array_reverse ( $array_dn, true ); 
     534 
     535                                // Retirar o indice count do array. 
     536                                array_pop ( $array_dn_reverse ); 
     537 
     538                                $inverted_dn[$dn] = implode ( "#", $array_dn_reverse ); 
     539                        } 
     540 
     541                        // Ordenação 
     542                        natcasesort($inverted_dn); 
     543                         
     544                        // Construção do select 
     545                        $level = 0; 
     546                        $options = array(); 
     547                        foreach ($inverted_dn as $dn=>$invert_ufn) 
     548                        { 
     549                $display = ''; 
     550 
     551                $array_dn_reverse = explode ( "#", $invert_ufn ); 
     552                $array_dn  = array_reverse ( $array_dn_reverse, true ); 
     553 
     554                $level = count( $array_dn ) - (int)(count(explode(",", $GLOBALS['phpgw_info']['server']['ldap_context'])) + 1); 
     555 
     556                if ($level == 0) 
     557                        $display .= '+'; 
     558                else  
     559                { 
     560                                        for ($i=0; $i<$level; $i++) 
     561                                                $display .= '---'; 
     562                } 
     563 
     564                reset ( $array_dn ); 
     565                $display .= ' ' . (current ( $array_dn ) ); 
     566                                 
     567                                $dn = trim(strtolower($dn)); 
     568                                $options[$dn] = $display; 
     569                } 
     570            return $options; 
    498571                } 
    499572                 
  • trunk/expressoAdmin1_2/inc/class.group.inc.php

    r33 r46  
    7575                        $group_info['userPassword']                     = ''; 
    7676                         
     77                        // E-mail for groups 
     78                        if ($params['email'] != '') 
     79                                $group_info['mail'] = $params['email']; 
     80                         
    7781                        if (count($params['members'])) 
    7882                        { 
     
    9397                        { 
    9498                                $group_info['objectClass'][]  = 'sambaGroupMapping'; 
    95                                 $group_info['sambaSID']           = $params['sambadomain'] . '-' . (($id * 2) + 1001); 
     99                                $group_info['sambaSID']           = $params['sambasid'] . '-' . (($id * 2) + 1001); 
    96100                                $group_info['sambaGroupType'] = '2'; 
    97101                        } 
     
    166170                        } 
    167171                         
     172                        $ldap_mod_replace = array(); 
    168173                        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    169174                        // REPLACE SAMBASID OF SAMBA 
    170                         if ( ($this->current_config['expressoAdmin_samba_support'] == 'true') && ($diff['sambadomain']) )  
    171                         { 
    172                                 $ldap_mod_replace['sambaSID'] = $new_values['sambadomain'] . '-' . ((2 * $new_values['uidnumber'])+1001); 
    173                                 $this->db_functions->write_log("Alterado dominio samba do grupo $dn para " . $new_values['sambadomain'],'',$dn,'',''); 
     175                        if ( ($this->current_config['expressoAdmin_samba_support'] == 'true') && ($diff['sambasid']) && ($old_values['sambasid'])) 
     176                        { 
     177                                $ldap_mod_replace['sambasid'] = $new_values['sambasid'] . '-' . ((2 * $new_values['gidnumber'])+1001); 
     178                                $this->db_functions->write_log("Alterado dominio samba do grupo $dn para " . $new_values['sambasid'],'',$dn,'',''); 
    174179                        } 
    175180                         
     
    183188 
    184189                        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    185                         // CALL LDAP_REPLACE FUNCTION                    
     190                        // REPLACE E-Mail 
     191                        if ((($old_values['email']) && ($diff['email'])) &&  
     192                                $this->functions->check_acl($_SESSION['phpgw_session']['session_lid'],'edit_email_groups')) 
     193                        { 
     194                                $ldap_mod_replace['mail'] = $new_values['email']; 
     195                                $this->db_functions->write_log("Modificado E-Mail do grupo $dn",'',$dn,'',''); 
     196                        } 
     197 
     198                        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
     199                        // CALL LDAP_REPLACE FUNCTION 
    186200                        if (count($ldap_mod_replace)) 
    187201                        { 
     
    226240                                        $ldap_add['objectClass'][]              = 'sambaGroupMapping'; 
    227241                                        $ldap_add['sambagrouptype']             = '2'; 
    228                                         $ldap_add['sambasid']                   = $new_values['sambadomain'] . '-' . ((2 * $new_values['gidnumber'])+1001); 
     242                                        $ldap_add['sambasid']                   = $new_values['sambasid'] . '-' . ((2 * $new_values['gidnumber'])+1001); 
    229243                                         
    230244                                        $result = $this->ldap_functions->add_user_attributes($dn, $ldap_add); 
     
    241255                        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    242256                        // ADD ATTRIBUTES 
     257                        $ldap_add = array(); 
    243258                        if (($new_values['phpgwaccountvisible'] == 'on') && ($old_values['phpgwaccountvisible'] != '-1')) 
    244259                        { 
    245260                                $ldap_add['phpgwaccountvisible'] = '-1'; 
     261                                $this->db_functions->write_log("Adicionado atributo phpgwaccountvisible ao grupo $dn",'','','',''); 
     262                        } 
     263                        if ((($new_values['email']) && (!$old_values['email'])) && 
     264                                $this->functions->check_acl($_SESSION['phpgw_session']['session_lid'],'edit_email_groups')) 
     265                        { 
     266                                $ldap_add['mail'] = $new_values['email']; 
     267                                $this->db_functions->write_log("Adicionado atributo mail ao grupo $dn",'','','',''); 
     268                        } 
     269                        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
     270                        // CALL LDAP_ADD FUNCTION                        
     271                        if (count($ldap_add)) 
     272                        { 
    246273                                $result = $this->ldap_functions->add_user_attributes($dn, $ldap_add); 
    247274                                if (!$result['status']) 
     
    250277                                        $return['msg'] .= $result['msg']; 
    251278                                } 
    252                                 else 
    253                                         $this->db_functions->write_log("Adicionado atributo phpgwaccountvisible ao grupo $dn",'','','',''); 
    254                         } 
    255                          
     279                        } 
     280                                                 
     281                        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
    256282                        // REMOVE ATTRIBUTES 
     283                        $ldap_remove = array(); 
    257284                        if (($new_values['phpgwaccountvisible'] != 'on') && ($old_values['phpgwaccountvisible'] == '-1')) 
    258285                        { 
    259286                                $ldap_remove['phpgwaccountvisible'] = array(); 
     287                                $this->db_functions->write_log("Removido atributo phpgwaccountvisible do grupo $dn",'','','',''); 
     288                        } 
     289                        if (((!$new_values['email']) && ($old_values['email'])) && 
     290                                $this->functions->check_acl($_SESSION['phpgw_session']['session_lid'],'edit_email_groups')) 
     291                        { 
     292                                $ldap_remove['mail'] = array(); 
     293                                $this->db_functions->write_log("Removido atributo mail do grupo $dn",'','','',''); 
     294                        } 
     295                        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
     296                        // CALL LDAP_REMOVED FUNCTION                    
     297                        if (count($ldap_remove)) 
     298                        { 
    260299                                $result = $this->ldap_functions->remove_user_attributes($dn, $ldap_remove); 
    261300                                if (!$result['status']) 
     
    264303                                        $return['msg'] .= $result['msg']; 
    265304                                } 
    266                                 else 
    267                                         $this->db_functions->write_log("Removido atributo phpgwaccountvisible do grupo $dn",'','','',''); 
    268305                        } 
    269306 
  • trunk/expressoAdmin1_2/inc/class.imap_functions.inc.php

    r2 r46  
    2828                        return $result; 
    2929                } 
    30                 if (!imap_createmailbox($this->imap, '{'.$this->imap_server.'}' . "user" . $this->imapDelimiter . $uid . $this->imapDelimiter . "Enviados")) 
     30                if (!imap_createmailbox($this->imap, '{'.$this->imap_server.'}' . "user" . $this->imapDelimiter . $uid . $this->imapDelimiter . "Sent")) 
    3131                { 
    3232                        $error = imap_errors(); 
     
    3535                        return $result; 
    3636                } 
    37                 if (!imap_createmailbox($this->imap, '{'.$this->imap_server.'}' . "user" . $this->imapDelimiter . $uid . $this->imapDelimiter . "Rascunhos")) 
     37                if (!imap_createmailbox($this->imap, '{'.$this->imap_server.'}' . "user" . $this->imapDelimiter . $uid . $this->imapDelimiter . "Drafts")) 
    3838                { 
    3939                        $error = imap_errors(); 
     
    4242                        return $result; 
    4343                } 
    44                 if (!imap_createmailbox($this->imap, '{'.$this->imap_server.'}' . "user" . $this->imapDelimiter . $uid . $this->imapDelimiter . "Lixeira")) 
     44                if (!imap_createmailbox($this->imap, '{'.$this->imap_server.'}' . "user" . $this->imapDelimiter . $uid . $this->imapDelimiter . "Trash")) 
    4545                { 
    4646                        $error = imap_errors(); 
  • trunk/expressoAdmin1_2/inc/class.ldap_functions.inc.php

    r33 r46  
    299299                 
    300300                $justthese = array("cn", "uidNumber"); 
    301                 $users_filter="(&(phpgwAccountType=u)(!(phpgwAccountVisible=-1)))"; 
     301                $users_filter="(phpgwAccountType=u)"; 
    302302                $lists_filter = $denied_uidnumber == '' ? "(phpgwAccountType=l)" : "(&(phpgwAccountType=l)(!(uidnumber=$denied_uidnumber)))"; 
    303303                 
     
    637637                $result['mailforwardingaddress']= $entry[0]['mailforwardingaddress'][0]; 
    638638                $result['deliverymode']                 = $entry[0]['deliverymode'][0]; 
     639                $result['userPasswordRFC2617']  = $entry[0]['userpasswordrfc2617'][0]; 
    639640 
    640641                //Photo 
     
    705706                $result['gidnumber']                    = $entry[0]['gidnumber'][0]; 
    706707                $result['phpgwaccountvisible']  = $entry[0]['phpgwaccountvisible'][0]; 
     708                $result['email']                                = $entry[0]['mail'][0]; 
    707709                 
    708710                //MemberUid 
  • trunk/expressoAdmin1_2/inc/class.uiaccounts.inc.php

    r33 r46  
    429429                                                if ($alert_warning == '') 
    430430                                                        $alert_warning = "O expressoAdmin corrigiu as seguintes inconsistências:\\n"; 
    431                                                 $alert_warning .= "Incluido atributo memberUid do usuário no grupo $cn - $gidnumber.\\n"; 
     431                                                $alert_warning .= "Incluido atributo memberUid do usuário no grupo:\\n$cn - gidnumber: $gidnumber."; 
    432432                                        } 
    433433                                        else 
  • trunk/expressoAdmin1_2/inc/class.uigroups.inc.php

    r33 r46  
    225225                                'type'                                          => 'create_group', 
    226226                                'ldap_context'                          => $GLOBALS['phpgw_info']['server']['ldap_context'], 
     227                                'ufn_ldap_context'                      => ldap_dn2ufn($GLOBALS['phpgw_info']['server']['ldap_context']), 
    227228                                'lang_back'                                     => lang('Back'), 
    228229                                'lang_save'                                     => lang('save'), 
    229230                                'lang_org'                                      => lang('Organizations'), 
    230231                                'lang_group_name'                       => lang('group name'), 
     232                                'lang_description'                      => lang('Description'), 
     233                                'lang_email'                            => lang('E-mail'), 
     234                                'concatenateDomain'                     => $this->current_config['expressoAdmin_concatenateDomain'], 
     235                                'defaultDomain'                         => $this->current_config['expressoAdmin_defaultDomain'], 
    231236                                'lang_group_users'                      => lang('Group users'), 
    232237                                'lang_applications'                     => lang('Applications'), 
     
    239244                                'disabled_samba'                        => 'disabled', 
    240245                                'display_samba_options'         => $this->current_config['expressoAdmin_samba_support'] == 'true' ? '' : '"display:none"', 
     246                                'disable_email_groups'          => $this->functions->check_acl($account_lid,'edit_email_groups') ? '' : 'disabled', 
    241247                                'sambadomainname_options'       => $sambadomainname_options, 
    242248                                'back_url'                                      => $GLOBALS['phpgw']->link('/index.php','menuaction=expressoAdmin1_2.uigroups.list_groups'), 
     
    338344                                'lang_org'                                      => lang('Organizations'), 
    339345                                'lang_group_name'                       => lang('group name'), 
     346                                'lang_description'                      => lang('Description'), 
     347                                'lang_email'                            => lang('E-mail'), 
    340348                                'lang_group_users'                      => lang('Group users'), 
    341349                                'lang_applications'                     => lang('Applications'), 
     
    347355                                'cn'                                            => $group_info['cn'], 
    348356                                'user_count'                            => $user_count, 
     357                                'email'                                         => $group_info['email'], 
    349358                                'description'                           => $group_info['description'], 
    350359                                'apps'                                          => $apps, 
    351360                                'use_attrs_samba_checked'       => $group_info['sambaGroup'] ? 'CHECKED' : '', 
    352361                                'disabled_samba'                        => $group_info['sambaGroup'] ? '' : 'disabled', 
     362                                'disable_email_groups'          => $this->functions->check_acl($account_lid,'edit_email_groups') ? '' : 'disabled', 
    353363                                'sambadomainname_options'       => $sambadomainname_options, 
    354364                                'phpgwaccountvisible_checked'   => $group_info['phpgwaccountvisible'] == '-1' ? 'CHECKED' : '', 
  • trunk/expressoAdmin1_2/inc/class.uimanagers.inc.php

    r32 r46  
    210210                                'lang_edit_groups'                              => lang('Edit groups'), 
    211211                                'lang_delete_groups'                    => lang('Delete groups'), 
     212                                'lang_edit_email_attribute_from_the_groups'     =>      lang('Edit email attribute from the groups'), 
    212213                                'lang_change_user_password'             => lang('Change users password'), 
    213214                                'lang_change_users_quote'               => lang('Change users quote'), 
     
    337338                                $_POST['edit_groups']                   = $acl['edit_groups']; 
    338339                                $_POST['delete_groups']                 = $acl['delete_groups']; 
     340                                $_POST['edit_email_groups']             = $acl['edit_email_groups']; 
    339341                                $_POST['change_users_password'] = $acl['change_users_password']; 
    340342                                $_POST['change_users_quote']    = $acl['change_users_quote']; 
     
    453455                                'lang_add_groups'                               => lang('Add groups'), 
    454456                                'lang_edit_groups'                              => lang('Edit groups'), 
    455                                 'lang_delete_groups'                    => lang('Delete groups'),                                
     457                                'lang_delete_groups'                    => lang('Delete groups'), 
     458                                'lang_edit_email_attribute_from_the_groups'     =>      lang('Edit email attribute from the groups'), 
    456459                                'lang_change_user_password'             => lang('Change users password'), 
    457460                                'lang_change_users_quote'               => lang('Change users quote'), 
     
    483486                                'edit_groups'                                   => $_POST['edit_groups'] != '' ? 'checked' : '', 
    484487                                'delete_groups'                                 => $_POST['delete_groups'] != '' ? 'checked' : '', 
     488                                'edit_email_groups'                             => $_POST['edit_email_groups'] != '' ? 'checked' : '', 
    485489                                'change_users_password'                 => $_POST['change_users_password'] != '' ? 'checked' : '', 
    486490                                'change_users_quote'                    => $_POST['change_users_quote'] != '' ? 'checked' : '', 
     
    561565                                if ($num_registros != 0) 
    562566                                { 
    563                                         $_POST['error_messages'] = lang('Este Gerente neste contexto já exite !!'); 
     567                                        $_POST['error_messages'] = lang('Este Gerente, neste contexto já exite !!'); 
    564568                                        $this->add_managers(); 
    565569                                        return; 
  • trunk/expressoAdmin1_2/inc/class.uisectors.inc.php

    r33 r46  
    6060                        $p->set_block('sectors','row_empty','row_empty'); 
    6161                         
     62                        //$sectors_info = $this->functions->get_sectors_list($manager_context); 
     63                        //_debug_array($sectors_info); 
    6264                        $sectors_info = $this->functions->get_sectors_list($manager_context); 
    63                         //_debug_array($sectors_info); 
    6465                         
    6566                        $var = Array( 
     
    9495                                } 
    9596 
    96                                 foreach($sectors_info as $sector) 
     97                                foreach($sectors_info as $context=>$sector) 
    9798                                { 
    9899                                        $tr_color = $this->nextmatchs->alternate_row_color($tr_color); 
    99100                                         
    100                                         if ($sector->sector_level == 1) 
    101                                         { 
    102                                                 $sector->sector_name = '+'.$sector->sector_name; 
    103                                         } 
    104                                         else 
    105                                         { 
    106                                                 for ($i=1; $i < $sector->sector_level; $i++) 
    107                                                         $sector->sector_name = '----'.$sector->sector_name; 
    108                                         } 
    109                                          
    110101                                        $var = Array( 
    111102                                                'tr_color'    => $tr_color, 
    112                                                 'sector_name'  => (!$sector->sector_name?'&nbsp;':$sector->sector_name), 
    113                                                 'add_link' => $this->row_action('add','sector',$sector->sector_context) 
     103                                                'sector_name'  => $sector, 
     104                                                'add_link' => $this->row_action('add','sector',$context) 
    114105                                        ); 
    115106                                        $p->set_var($var); 
     
    117108                                        if ($can_edit) 
    118109                                        { 
    119                                                 $p->set_var('edit_link',$this->row_action('edit','sector',$sector->sector_context)); 
     110                                                $p->set_var('edit_link',$this->row_action('edit','sector',$context)); 
    120111                                        } 
    121112                                        else 
     
    126117                                        if ($can_delete) 
    127118                                        { 
    128                                                 $p->set_var('delete_link',$this->row_action('delete','sector',$sector->sector_context)); 
     119                                                $p->set_var('delete_link',$this->row_action('delete','sector',$context)); 
    129120                                        } 
    130121                                        else 
  • trunk/expressoAdmin1_2/inc/class.user.inc.php

    r33 r46  
    8181                                $user_info['uidnumber']                                 = $id; 
    8282                                $user_info['userPassword']                              = '{md5}' . base64_encode(pack("H*",md5($params['password1']))); 
    83                          
     83                                 
     84                                // Gerenciar senhas RFC2617 
     85                                if ($this->current_config['expressoAdmin_userPasswordRFC2617'] == 'true') 
     86                                { 
     87                                        $realm          = $this->current_config['expressoAdmin_realm_userPasswordRFC2617']; 
     88                                        $uid            = $user_info['uid']; 
     89                                        $password       = $params['password1']; 
     90                                        $user_info['userPasswordRFC2617'] = $realm . ':      ' . md5("$uid:$realm:$password"); 
     91                                } 
     92                                 
    8493                                if ($params['phpgwaccountstatus'] == '1') 
    8594                                        $user_info['phpgwAccountStatus'] = 'A'; 
     
    315324                                { 
    316325                                        $ldap_mod_replace['userPassword'] = '{md5}' . base64_encode(pack("H*",md5($new_values['password1']))); 
     326                                         
    317327                                        // Suporte ao SAMBA 
    318328                                        if (($this->current_config['expressoAdmin_samba_support'] == 'true') && ($new_values['userSamba']) && ($new_values['use_attrs_samba'] == 'on')) 
     
    321331                                                $ldap_mod_replace['sambaNTPassword'] = exec('/home/expressolivre/mkntpwd -N '.$new_values['password1']); 
    322332                                        } 
     333                                         
     334                                        // Gerenciar senhas RFC2617 
     335                                        if ($this->current_config['expressoAdmin_userPasswordRFC2617'] == 'true') 
     336                                        { 
     337                                                $realm          = $this->current_config['expressoAdmin_realm_userPasswordRFC2617']; 
     338                                                $uid            = $new_values['uid']; 
     339                                                $password       = $new_values['password1']; 
     340                                                $passUserRFC2617 = $realm . ':      ' . md5("$uid:$realm:$password"); 
     341                                                 
     342                                                if ($old_values['userPasswordRFC2617'] != '') 
     343                                                        $ldap_mod_replace['userPasswordRFC2617'] = $passUserRFC2617; 
     344                                                else 
     345                                                        $ldap_add['userPasswordRFC2617'] = $passUserRFC2617; 
     346                                        } 
     347                                         
    323348                                        $this->db_functions->write_log("alterado password do usuario",'',$dn,'',''); 
    324349                                } 
  • trunk/expressoAdmin1_2/js/jscode/groups.js

    r33 r46  
    4242                document.forms[0].description.focus(); 
    4343                return; 
     44        } 
     45         
     46        var reEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 
     47        if ( (document.forms[0].email.value != '') && (!reEmail.test(document.forms[0].email.value)) ) 
     48        { 
     49                alert("Campo E-mail não é válido."); 
     50                return false; 
    4451        } 
    4552         
     
    280287function use_samba_attrs(value) 
    281288{ 
    282         document.forms[0].sambadomain.disabled = !value; 
     289        document.forms[0].sambasid.disabled = !value; 
    283290} 
    284291 
     
    312319        } 
    313320} 
     321 
     322function groupEmailSuggestion(concatenateDomain, type) 
     323{ 
     324        if (type != 'create_group') 
     325                return; 
     326         
     327        if (concatenateDomain == 'true') 
     328        { 
     329                var ldap_context = document.forms[0].ufn_ldap_context.value.toLowerCase(); 
     330                var organization_context = document.forms[0].context.value.toLowerCase(); 
     331                var select_orgs = document.getElementById('ea_combo_org_info'); 
     332                 
     333                for(var i=0; i<select_orgs.options.length; i++) 
     334                { 
     335                        if(select_orgs.options[i].selected == true) 
     336                        { 
     337                                var x; 
     338                                var context = ''; 
     339                                select_context = select_orgs.options[i].value.toLowerCase(); 
     340                                organization_name = organization_context.split(","); 
     341                         
     342                                for (x in organization_name) 
     343                                { 
     344                                        tmp = organization_name[x].split("="); 
     345                                        context += tmp[1] + '.'; 
     346                                } 
     347                        } 
     348                } 
     349                domain_name = document.forms[0].defaultDomain.value; 
     350         
     351                x=context.indexOf(ldap_context,0); 
     352                org_name_par = context.substring(0,(x-1)); 
     353                org_name = org_name_par.split('.'); 
     354                org_name = org_name[org_name.length-1]; 
     355         
     356                if (org_name != '') 
     357                        document.forms[0].email.value = document.forms[0].cn.value + '@' + org_name + '.' + domain_name; 
     358                else 
     359                        document.forms[0].email.value = document.forms[0].cn.value; 
     360        } 
     361        else 
     362        { 
     363                document.forms[0].email.value = document.forms[0].cn.value; 
     364        } 
     365} 
  • trunk/expressoAdmin1_2/setup/setup.inc.php

    r27 r46  
    1212        $setup_info['expressoAdmin1_2']['name']         = 'expressoAdmin1_2'; 
    1313        $setup_info['expressoAdmin1_2']['title']        = 'ExpressoAdmin 1.2'; 
    14         $setup_info['expressoAdmin1_2']['version']      = '1.240'; 
     14        /* Ao incrementar versão, não esquecer de declarar função do tables_update.inc.php*/ 
     15        $setup_info['expressoAdmin1_2']['version']      = '1.24'; 
    1516        $setup_info['expressoAdmin1_2']['app_order']    = 1; 
    1617        $setup_info['expressoAdmin1_2']['tables'][]             = 'phpgw_expressoadmin'; 
  • trunk/expressoAdmin1_2/setup/tables_update.inc.php

    r27 r46  
    99        * option) any later version.                                               * 
    1010        \**************************************************************************/     
    11         $test[] = '1.221'; 
     11        $test[] = '1.24'; 
    1212        function expressoAdmin1_2_upgrade1_221() 
    1313        { 
     
    3030                return $GLOBALS['setup_info']['contactcenter']['currentver']; 
    3131        } 
     32         
     33        function expressoAdmin1_2_upgrade1_24()  
     34        { 
     35                 
     36        } 
    3237?> 
  • trunk/expressoAdmin1_2/templates/default/config.tpl

    r27 r46  
    99 
    1010        <tr><td></td></tr> 
    11  
     11         
     12        <tr class="row_off"> 
     13                <td>{lang_manage_userPasswordRFC2617_attribute}:</td> 
     14                <td> 
     15                        <select name="newsettings[expressoAdmin_userPasswordRFC2617]"> 
     16                                <option value="false" {selected_expressoAdmin_userPasswordRFC2617_false}>{lang_no}</option> 
     17                                <option value="true"  {selected_expressoAdmin_userPasswordRFC2617_true}>{lang_yes}</option> 
     18                        </select>                        
     19                </td> 
     20        </tr> 
    1221        <tr class="row_on"> 
     22                <td>{lang_REALM_for_userPasswordRFC2617_attribute}:</td> 
     23                <td><input name="newsettings[expressoAdmin_realm_userPasswordRFC2617]" value="{value_expressoAdmin_realm_userPasswordRFC2617}" size="15" /></td> 
     24        </tr> 
     25         
     26        <tr class="row_off"> 
    1327                <td>{lang_Manage_SAMBA_attributes}:</td> 
    1428                <td> 
  • trunk/expressoAdmin1_2/templates/default/groups_form.tpl

    r33 r46  
    99                                        <input type="hidden" name="gidnumber"                   value="{gidnumber}"> 
    1010                                        <input type="hidden" name="old_cn"                              value="{cn}"> 
     11                                        <input type="hidden" name="defaultDomain"               value="{defaultDomain}"> 
    1112                                        <input type="hidden" name="ldap_context"                value="{ldap_context}"> 
     13                                        <input type="hidden" name="ufn_ldap_context"    value="{ufn_ldap_context}"> 
    1214                                        <input type="hidden" name="manager_context"             value="{manager_context}"> 
    1315                                         
     
    2224                                                <td width="25%" bgcolor="#DDDDDD"> 
    2325                                                        Organização do Grupo:<br> 
    24                                                         <select name="context" onchange="javascript:sinc_combos_org(this.value, ea_check_allUsers.checked); get_available_sambadomains(this.value, '{type}')">{combo_manager_org}</select><br> 
     26                                                        <select id="ea_combo_org_info" name="context" onchange="javascript:sinc_combos_org(this.value, ea_check_allUsers.checked); get_available_sambadomains(this.value, '{type}')">{combo_manager_org}</select><br> 
    2527                                                        {lang_group_name}: <font color="blue">Ex: grupo-celepar-rh</font> 
    26                                                         <input name="cn" size="35" value="{cn}" autocomplete="off"><br> 
    27                                                         Descrição:<br> 
     28                                                        <input name="cn" size="35" value="{cn}" autocomplete="off" onKeyUp="javascript:groupEmailSuggestion('{concatenateDomain}','{type}')"><br> 
     29                                                        {lang_email}:<br> 
     30                                                        <input name="email" size="60" value="{email}" {disable_email_groups} autocomplete="off"><br> 
     31                                                        {lang_description}:<br> 
    2832                                                        <input name="description" size="60" value="{description}" autocomplete="off"><br> 
    2933                                                        <div id="ea_div_display_samba_options" style={display_samba_options}> 
     
    3842                                                                                <td>Domínio:</td> 
    3943                                                                                <td> 
    40                                                                                         <select {disabled_samba} name="sambadomain" id="ea_combo_sambadomains"> 
     44                                                                                        <select {disabled_samba} name="sambasid" id="ea_combo_sambadomains"> 
    4145                                                                                                {sambadomainname_options} 
    4246                                                                                        </select> 
  • trunk/expressoAdmin1_2/templates/default/managers_form.tpl

    r32 r46  
    7272                                                        <td>{lang_rename_user}:</td> 
    7373                                                        <td><input type="checkbox" name="rename_users" value="8388608" {rename_users}></td> 
     74                                                        <td>{lang_edit_email_attribute_from_the_groups}:</td> 
     75                                                        <td><input type="checkbox" name="edit_email_groups" value="67108864" {edit_email_groups}></td> 
    7476                                                </tr> 
    7577                                                <tr bgcolor="{color_font1}" align='right'> 
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r41 r46  
    6767                                $sort_array_msg = imap_sort($mbox_stream, SORTSIZE, $sort_box_reverse, SE_UID); 
    6868                                break; 
     69                        case 'UNSEEN': 
     70                        $sort_array_msg = imap_search($mbox_stream,"UNSEEN", SE_UID); // nao lidas 
     71                        break; 
     72                        case 'ANSWERED': 
     73                        $sort_array_msg = imap_search($mbox_stream,"ANSWERED", SE_UID); // repondidas 
     74                        break; 
     75                        case 'SEEN': 
     76                        $sort_array_msg = imap_search($mbox_stream,"SEEN", SE_UID); // lidas 
     77                        break; 
     78                        case 'FLAGGED': 
     79                        $sort_array_msg = imap_search($mbox_stream,"FLAGGED", SE_UID); // importantes 
     80                        break; 
     81                        case 'ALL': 
     82                        $sort_array_msg = imap_search($mbox_stream,SORTARRIVAL,$sort_box_reverse,  SE_UID); // Todas 
     83                        break; 
    6984                } 
    7085                 
    7186                $return = array(); 
    7287                $i = 0; 
    73                 for ($msg_range_begin; (($msg_range_begin <= $msg_range_end) && ($msg_range_begin <= count($sort_array_msg))); $msg_range_begin++) 
     88                $num_msgs = (is_array($sort_array_msg) ? count($sort_array_msg) : 0); 
     89                if($num_msgs) {  
     90                        for ($msg_range_begin; (($msg_range_begin <= $msg_range_end) && ($msg_range_begin <= $num_msgs)); $msg_range_begin++) 
    7491                { 
    7592                        $msg_number = $sort_array_msg[$msg_range_begin-1]; 
     
    122139                        $i++; 
    123140                } 
    124                 $return['num_msgs'] = imap_num_msg($mbox_stream);                
     141                } 
     142                $return['num_msgs'] = $num_msgs;                 
    125143                return $return; 
    126144        } 
     
    804822                        case 'SORTSIZE': 
    805823                                $sort_array_msg = imap_sort($mbox_stream, SORTSIZE, $sort_box_reverse, SE_UID); 
     824                                break; 
     825                        case 'ANSWERED': 
     826                                $sort_array_msg = imap_search($mbox_stream,"ANSWERED", SE_UID); // repondidas 
     827                                break; 
     828                        case 'SEEN': 
     829                                $sort_array_msg = imap_search($mbox_stream,"SEEN", SE_UID); // lidas 
     830                                break; 
     831                        case 'FLAGGED': 
     832                                $sort_array_msg = imap_search($mbox_stream,"FLAGGED", SE_UID); // importantes 
     833                                break; 
     834                        case 'ALL': 
     835                                $sort_array_msg = imap_search($mbox_stream,SORTARRIVAL,$sort_box_reverse,  SE_UID); // Todas 
    806836                                break; 
    807837                } 
     
    17011731        function empty_trash() 
    17021732        { 
    1703                 $folder = 'INBOX' . $this->imap_delimiter . 'Lixeira'; 
     1733                $folder = 'INBOX' . $this->imap_delimiter . 'Trash'; 
    17041734                $mbox_stream = $this->open_mbox($folder); 
    17051735                $return = imap_delete($mbox_stream,'1:*'); 
     
    18111841                $params_tmp1['msgs_number'] = $params['msg_number']; 
    18121842                $params_tmp1['folder'] = $params['msg_folder']; 
    1813                 $params_tmp1['new_folder'] = 'INBOX'.$this->imap_delimiter.'Lixeira'; 
     1843                $params_tmp1['new_folder'] = 'INBOX'.$this->imap_delimiter.'Trash'; 
    18141844                 
    18151845                $return_tmp1 = $this->move_messages($params_tmp1); 
     
    18251855                $before_date = date("m/d/Y", strtotime("-".$params['before_date']." day")); 
    18261856                $criteria =  'BEFORE "'.$before_date.'"'; 
    1827                 $mbox_stream = $this->open_mbox('INBOX'.$this->imap_delimiter."Lixeira"); 
     1857                $mbox_stream = $this->open_mbox('INBOX'.$this->imap_delimiter."Trash"); 
    18281858                $messages = imap_search($mbox_stream, $criteria, SE_UID); 
    18291859                if (is_array($messages)){ 
  • trunk/expressoMail1_2/js/InfoContact.js

    r37 r46  
    2525 
    2626        var card = Element("card_cc"); 
    27  
    28         if(_this.td != td){ 
     27         
     28        if(this.td != td){ 
    2929                this.email = email; 
    3030                this.td = td; 
  • trunk/expressoMail1_2/js/color_palette.js

    r2 r46  
    11// Inicializa palheta de cores; 
     2 
     3str 
    24function cColorPalette(){ 
    35        this.editor; 
     
    1214                                                new Array("#000000","#330000","#663300","#663333","#333300","#003300","#003333","#000066","#330099","#330033")); 
    1315        this.buildPalette(); 
    14 } 
     16}; 
    1517 
    1618// funçoes 
  • trunk/expressoMail1_2/js/common_functions.js

    r37 r46  
    3434                        div.style.height = defaultHeight - 73; 
    3535        } 
    36         Element('content_folders').style.height = defaultHeight - 160;   
     36        Element('content_folders').style.height = defaultHeight - (is_ie ? 160 : 150); 
    3737        if(Element("divScrollMain")) 
    38                 Element("divScrollMain").style.height   = defaultHeight - 118 
     38                Element("divScrollMain").style.height   = defaultHeight - (is_ie ? 118 : 110) 
    3939} 
    4040// END: FUNCTION RESIZE WINDOW 
     
    654654} 
    655655 
     656function array_search(needle, haystack) { 
     657        var n = haystack.length; 
     658        for (var i=0; i<n; i++) { 
     659                if (haystack[i]==needle) { 
     660                        return true; 
     661                } 
     662        } 
     663        return false; 
     664} 
  • trunk/expressoMail1_2/js/draw_api.js

    r41 r46  
    66function draw_tree_folders(folders){ 
    77        // Check if the tree folders alredy exist. 
     8        var defaultFolders = new Array("Trash","INBOX", "Sent", "Drafts");       
     9         
    810        if (Element('dftree_tree_folders')){ 
     11 
    912                var update_tree_folders = function(data){ 
    1013                        for (var i=0; i<data.length; i++){ 
     
    1720                                else if (data[i].folder_unseen > 0) 
    1821                                { 
    19                                         tree_folders.getNodeById(data[i].folder_id).alter({caption: data[i].folder_name + '<font style=color:red>&nbsp(</font><span id="dftree_'+data[i].folder_id+'_unseen" style=color:red>'+data[i].folder_unseen+'</span><font style=color:red>)</font>'}); 
     22                                        tree_folders.getNodeById(data[i].folder_id).alter({caption:(array_search(data[i].folder_name, defaultFolders) ? get_lang(data[i].folder_name) : data[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+data[i].folder_id+'_unseen" style=color:red>'+data[i].folder_unseen+'</span><font style=color:red>)</font>'}); 
    2023                                        tree_folders.getNodeById(data[i].folder_id)._refresh(); 
    2124                                } 
    2225                                else if (data[i].folder_unseen <= 0) 
    2326                                { 
    24                                         tree_folders.getNodeById(data[i].folder_id).alter({caption: data[i].folder_name}); 
     27                                        tree_folders.getNodeById(data[i].folder_id).alter({caption:(array_search(data[i].folder_name, defaultFolders) ? get_lang(data[i].folder_name) : data[i].folder_name)}); 
    2528                                        tree_folders.getNodeById(data[i].folder_id)._refresh(); 
    2629                                } 
    2730 
    28                                 if(data[i].folder_id == get_current_folder()){                                   
    29                                         var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
     31                                if(data[i].folder_id == get_current_folder()){ 
     32                                        var old_new_m = 0; 
     33                                         
     34                                        if(Element('new_m')){ 
     35                                                old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 
     36                                                Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 
     37                                        } 
    3038                                        if(!isNaN(old_new_m) && old_new_m < data[i].folder_unseen){ 
    3139                                                Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(data[i].folder_unseen)-old_new_m); 
    3240                                        } 
    33                                         Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 
    3441                                        draw_paging(Element('tot_m').innerHTML); 
    3542                                } 
     
    4451                var n_root = new dNode({id:'root', caption:'Minhas Pastas'}); 
    4552                tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 
    46          
     53 
    4754                for (var i=0; i<folders.length; i++){ 
     55                                                 
    4856                        if (folders[i].folder_unseen > 0) 
    49                                 var nn = new dNode({id:folders[i].folder_id, caption:folders[i].folder_name + '<font style=color:red>&nbsp(</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren});  
     57                                var nn = new dNode({id:folders[i].folder_id, caption:(array_search(folders[i].folder_name, defaultFolders) ? get_lang(folders[i].folder_name) : folders[i].folder_name) + '<font style=color:red>&nbsp(</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren});  
    5058                        else 
    51                                 var nn = new dNode({id:folders[i].folder_id, caption:folders[i].folder_name, onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren});  
     59                                var nn = new dNode({id:folders[i].folder_id, caption:(array_search(folders[i].folder_name, defaultFolders) ? get_lang(folders[i].folder_name) : folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren});  
    5260                         
    5361                        if (folders[i].folder_parent == '') 
     
    127135                        if(!verify_session(data)) 
    128136                                return; 
    129                         Element("border_id_0").innerHTML = "&nbsp;" + folder_name + '&nbsp;<font face="Verdana" size="1" color="#505050">[<span id="new_m">&nbsp;</span> / <span id="tot_m">0</span>]</font>'; 
     137                        //Element("border_id_0").innerHTML = "&nbsp;" + folder_name + '&nbsp;<font face="Verdana" size="1" color="#505050">[ '+ (sort_box_type == 'SORTARRIVAL' ? '<span id="new_m">0</span> /' : '') + ' <span id="tot_m">0</span> ]</font>'; 
    130138                        draw_box(data, get_current_folder()); 
    131139                        draw_paging(data.num_msgs); 
     
    250258// Draw the inbox and another folders 
    251259function draw_box(headers_msgs, msg_folder){ 
     260        Element("border_id_0").innerHTML = "&nbsp;" + msg_folder + '&nbsp;<font face="Verdana" size="1" color="#505050">[ '+ (sort_box_type == 'SORTARRIVAL' ? '<span id="new_m">0</span> /' : '') + ' <span id="tot_m">0</span> ]</font>'; 
    252261        kill_current_box(); 
    253262         
     
    383392                _divScroll.style.overflow = "-moz-scrollbars-vertical"; 
    384393                _divScroll.style.width  ="99.3%"; 
     394                // Inicio: Redimensiona DIV SCROLL 
     395                var bar = Element("toolbar"); 
     396                var offset = 0; 
     397                if(bar.style.visibility != 'hidden')  
     398                        offset = (bar.offsetHeight ? bar.offsetHeight :  bar.clientHeight);              
     399                var screenHeight = document.body.clientHeight ? document.body.clientHeight : document.body.offsetHeight; 
     400                var defaultHeight = screenHeight - offset;               
     401                _divScroll.style.height         = defaultHeight - 118; 
     402                // Fim: Redimensiona DIV SCROLL 
    385403        } 
    386404        _divScroll.appendChild(table_element); 
     
    395413                        _dragArea.makeDragged(tr_element, headers_msgs[i].msg_number, headers_msgs[i].subject, true); 
    396414        } 
    397  
    398         var span_T = document.createElement("TABLE"); 
    399         var span_B = document.createElement("TBODY"); 
    400         var span_R = document.createElement("TR"); 
    401         span_R.className = "table_message"; 
    402         var span_options = document.createElement("TD"); 
    403         span_R.appendChild(span_options); 
    404         span_B.appendChild(span_R); 
    405         span_T.appendChild(span_B); 
    406         span_T.border = "0px"; 
    407         span_T.cellPadding = "0px"; 
    408         span_T.cellSpacing = "0px"; 
    409         span_T.width = "100%"; 
    410         span_T.style.height = "10"; 
    411         span_options.style.fontSize = "12"; 
    412         span_options.width = "50%"; 
    413         span_options.innerHTML =  
    414         '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 
    415         '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+ 
    416         '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 
    417         '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span>'; 
    418         var span_D = document.createElement("TD"); 
    419         span_R.appendChild(span_D); 
    420         span_D.align = "right"; 
    421         span_T.style.borderTop = "1px solid black"; 
    422         span_D.style.fontSize = "12"; 
    423         span_D.innerHTML = '<span title="'+get_lang("View tips")+'" class="message_options" onclick="openWindow(443,520,\'help/dicas.html\',null,\'CartelaExpressoMail.pdf\')">&nbsp;'+get_lang("View tips")+'</span>'; 
    424         span_D.innerHTML +='&nbsp;&nbsp;|&nbsp;<span style="margin-right:25px" title="'+get_lang("Download manual")+'" class="message_options" onclick="download_attachments(null,null,\'../help/CartelaExpressoMail.pdf\',null,null,\'CartelaExpressoMail.pdf\')">&nbsp;'+get_lang("Download manual")+'</span>'; 
    425         span_T.style.visibility = 'hidden'; 
    426         content_id_0.appendChild(span_T); 
     415        if(!headers_msgs.length) { 
     416                write_msg( get_lang("No messages found.")); 
     417        } 
     418 
    427419        var tdFolders  =  Element("folderscol"); 
    428420        tdFolders.style.display = preferences.hide_folders == '1'  ? "none" : ""; 
    429         //Cria Menu Ferramentas 
    430         ConstructMenuTools(); 
    431421        alternate_border(0); 
    432422        resizeWindow(); 
     423        draw_footer_box(headers_msgs.num_msgs);  
    433424        Element('main_table').style.display = ''; 
    434         span_T.style.visibility = 'visible'; 
    435425        if(debug) { 
    436426                var _eTime = new Date(); 
     
    448438                Element('msg_number').value = ''; 
    449439        } 
     440 
    450441 
    451442        if(!is_ie) { 
     
    464455                                                        "TreeShow"); 
    465456                                                         
    466                 connector.loadAllScripts(scripts); 
    467         } 
     457                connector.loadAllScripts(scripts);       
     458        } 
     459 
    468460} 
    469461 
     
    567559                } 
    568560                else{ 
    569                         td_element3.onmouseover = function (event) {try {InfoContact.begin(this,headers_msgs.from.email)} catch(e){};}; 
     561                        td_element3.onmouseover = function () {try {InfoContact.begin(this,headers_msgs.from.email)} catch(e){};}; 
    570562                        td_element3.onmouseout = function (){ try {clearTimeout(InfoContact.timeout);} catch(e){}}; 
    571563                        if (headers_msgs.Draft == 'X'){ 
     
    640632function sort_box(type){ 
    641633        var message_header = Element("message_header_"+type); 
     634         
    642635        var handler_draw_box = function(data){ 
    643636                draw_box(data, get_current_folder()); 
     
    645638        } 
    646639 
    647         if(sort_box_type == type) { 
    648                 if(sort_box_reverse == 1) 
    649                         sort_box_reverse = 0; 
    650                 else 
    651                         sort_box_reverse = 1; 
    652         } 
     640        if(sort_box_type == type) 
     641                sort_box_reverse = sort_box_reverse ? 0 : 1; 
    653642        else 
    654643                sort_box_reverse = 0; 
    655644                 
     645        // Global variable. 
     646        sort_box_type = type; 
     647 
    656648        cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+type+"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 
    657         sort_box_type = type; 
    658649        current_page = 1; 
    659650        update_menu(); 
     
    677668                default: 
    678669                        type_name = get_lang("Date"); 
    679                         sort_box_type = 'SORTARRIVAL'; 
     670 
    680671                break; 
    681672        } 
    682673 
    683         Element("message_header_"+sort_box_type).innerHTML = "<B>"+type_name+"</B><img src ='templates/default/images/arrow_"+(sort_box_reverse == 1 ? 'desc' : 'asc')+"endant.gif'>"; 
     674        Element("message_header_"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL") ).innerHTML = "<B>"+type_name+"</B><img src ='templates/default/images/arrow_"+(sort_box_reverse == 1 ? 'desc' : 'asc')+"endant.gif'>"; 
    684675} 
    685676function draw_message(info_msg, ID){ 
     
    21252116        div_address_full.style.display=''; 
    21262117} 
     2118 
     2119function draw_footer_box(num_msgs){ 
     2120        var span_T = document.createElement("TABLE"); 
     2121        span_T.style.visibility = 'hidden';      
     2122        span_T.id = "footer_box"; 
     2123        span_T.border = "0px"; 
     2124        span_T.cellPadding = "0px"; 
     2125        span_T.cellSpacing = "0px"; 
     2126        span_T.width = "100%"; 
     2127        span_T.style.height = "10"; 
     2128        span_T.style.borderTop = "1px solid black";              
     2129        var span_B = document.createElement("TBODY"); 
     2130        var span_R = document.createElement("TR"); 
     2131        span_R.className = "table_message"; 
     2132        span_B.appendChild(span_R); 
     2133        span_T.appendChild(span_B); 
     2134        var span_options = document.createElement("TD");         
     2135        span_options.style.fontSize = "12"; 
     2136        span_options.innerHTML =  
     2137        '<span title="'+get_lang("Delete")+'" style="margin-left:8px" class="message_options" onclick=delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span> | '+ 
     2138        '<span title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span> | '+ 
     2139        '<span title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span> | '+ 
     2140        '<span title="'+get_lang("Export")+'" class="message_options" onclick="export_all_selected_msgs()">'+get_lang("Export")+'</span>'; 
     2141         
     2142        var span_D = document.createElement("TD");       
     2143        span_D.align = "right"; 
     2144        span_D.style.fontSize = "12"; 
     2145        span_D.innerHTML =  
     2146         get_lang("List")+': '+ 
     2147        '<span id="span_flag_SORTARRIVAL" style="'+(sort_box_type == 'SORTARRIVAL' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("All")+'" class="message_options" onclick="sort_box(\'SORTARRIVAL\')">'+get_lang("all")+'</span>, '+ 
     2148        '<span id="span_flag_UNSEEN" style="'+(sort_box_type == 'UNSEEN' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("Unseen")+'" class="message_options" onclick="sort_box(\'UNSEEN\',this)">'+get_lang("Unseen")+'s</span>, '+ 
     2149        '<span id="span_flag_SEEN" style="'+(sort_box_type == 'SEEN' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("Seen")+'" class="message_options" onclick="sort_box(\'SEEN\',this)">'+get_lang("Seen")+'s</span>, '+ 
     2150        '<span id="span_flag_ANSWERED" style="'+(sort_box_type == 'ANSWERED' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("Answered")+'" class="message_options" onclick="sort_box(\'ANSWERED\',this)">'+get_lang("answered").toLowerCase()+'s</span>, '+ 
     2151        '<span id="span_flag_FLAGGED" style="'+(sort_box_type == 'FLAGGED' ? 'font-weight:bold;text-decoration:underline' : '')+'" title="'+get_lang("Flagged")+'" class="message_options" onclick="sort_box(\'FLAGGED\',this)">'+get_lang("important")+'s</span>&nbsp;&nbsp;'; 
     2152 
     2153        span_R.appendChild(span_options); 
     2154        span_R.appendChild(span_D);              
     2155        var content_id_0 = document.getElementById("content_id_0"); 
     2156        content_id_0.appendChild(span_T); 
     2157        span_T.style.visibility = 'visible'; 
     2158        draw_paging(num_msgs); 
     2159        Element("tot_m").innerHTML = num_msgs;   
     2160} 
  • trunk/expressoMail1_2/js/main.js

    r37 r46  
    99                Element("tot_m").innerHTML = data; 
    1010                draw_menu(); 
     11                //Cria Menu Ferramentas 
     12                ConstructMenuTools(); 
    1113        } 
    1214        var save_contacts = function(data){ 
     
    132134                folder = get_current_folder(); 
    133135 
    134         if ((parseInt(preferences.save_deleted_msg)) && (folder!='INBOX'+cyrus_delimiter+'Lixeira')){ 
    135                 move_msgs(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+'Lixeira', 'Lixeira'); 
     136        if ((parseInt(preferences.save_deleted_msg)) && (folder!='INBOX'+cyrus_delimiter+'Trash')){ 
     137                move_msgs(folder, msgs_number, border_ID, 'INBOX'+cyrus_delimiter+'Trash', 'Trash'); 
    136138                return; 
    137139        } 
     
    733735                if(!verify_session(data)) 
    734736                        return; 
    735                 if (get_current_folder() == 'INBOX'+cyrus_delimiter+'Lixeira'){ 
     737                if (get_current_folder() == 'INBOX'+cyrus_delimiter+'Trash'){ 
    736738                        draw_paging(0); 
    737739                        kill_current_box(); 
    738740                } 
    739                 tree_folders.getNodeById('INBOX'+cyrus_delimiter+'Lixeira').alter({caption: 'Lixeira'}); 
    740                 tree_folders.getNodeById('INBOX'+cyrus_delimiter+'Lixeira')._refresh(); 
     741                tree_folders.getNodeById('INBOX'+cyrus_delimiter+'Trash').alter({caption: 'Trash'}); 
     742                tree_folders.getNodeById('INBOX'+cyrus_delimiter+'Trash')._refresh(); 
    741743                update_quota(); 
    742744                if (data) 
Note: See TracChangeset for help on using the changeset viewer.