Ignore:
Timestamp:
12/13/10 09:55:00 (13 years ago)
Author:
eduardoalex
Message:

Ticket #1407 - Renderização das mensagens e filtro

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/mobile/inc/class.ui_mobilemail.inc.php

    r3576 r3579  
    3434                        'list_folders' => true, 
    3535                        'save_draft' => true, 
    36                         'mark_message_with_flag' => true 
     36                        'mark_message_with_flag' => true, 
     37                        'change_search_box_type' => true 
    3738                ); 
    3839 
     
    4041                var $common; 
    4142                var $folders; // Pastas imap 
     43                var $current_search_box_type; 
    4244                var $current_folder; // Pasta corrente 
    4345                var $current_page; // Página corrente da lista de e-mails da pasta corrente 
     
    6264                        $current_folder = $GLOBALS['phpgw']->session->appsession('mobilemail.current_folder','mobile'); 
    6365                        $current_page = $GLOBALS['phpgw']->session->appsession('mobilemail.current_page','mobile'); 
    64  
     66                        $current_search_box_type = $GLOBALS['phpgw']->session->appsession('mobilemail.current_search_box_type','mobile'); 
     67                         
    6568                        // Inicializa a classe class.imap_functions.inc.php 
    6669                        $this->imap_functions = new imap_functions(); 
     
    9396                        { 
    9497                                $this->current_page = 1; // Define a primeira página como página padrão 
     98                        } 
     99                         
     100                        if($current_search_box_type)  
     101                        { 
     102                                $this->current_search_box_type = $current_search_box_type; 
     103                        } 
     104                        else { 
     105                                $this->current_search_box_type = "all"; 
    95106                        } 
    96107 
     
    107118                        $GLOBALS['phpgw']->session->appsession('mobilemail.current_folder','mobile',$this->current_folder); 
    108119                        $GLOBALS['phpgw']->session->appsession('mobilemail.current_page','mobile',$this->current_page); 
     120                        $GLOBALS['phpgw']->session->appsession('mobilemail.current_search_box_type','mobile',$this->current_search_box_type); 
    109121                } 
    110122 
     
    114126                 * @author Mário César Kolling <mario.kolling@serpro.gov.br> 
    115127                 */ 
    116                 function change_page() 
    117                 { 
    118                         if (isset($_GET['page'])) 
    119                         { 
    120                                 $this->current_page = $_GET['page']; 
     128                function change_page($params) 
     129                { 
     130                        if (isset($params['page'])) 
     131                        { 
     132                                $this->current_page = $params['page']; 
     133                        } 
     134                        $this->mail_list(); 
     135                        $this->save_session(); 
     136                } 
     137 
     138                function change_search_box_type($params) { 
     139                        if (isset($params['search_box_type'])) 
     140                        { 
     141                                $this->current_search_box_type = $params['search_box_type']; 
     142                                $this->current_page = 1; 
    121143                        } 
    122144                        $this->mail_list(); 
     
    136158                                $this->current_folder = $folder; 
    137159                                $this->current_page = 1; 
    138                         } 
    139                          
     160                                $this->current_search_box_type = "all"; 
     161                        } 
     162                         
     163                                 
    140164                        $GLOBALS['phpgw_info']['mobiletemplate']->set_error_msg($params["error_message"]); 
    141                         $this->mail_list($params); 
     165                        $this->mail_list(); 
    142166                        $this->save_session(); 
    143167                } 
     
    366390                 * @author Mário César Kolling <mario.kolling@serpro.gov.br> 
    367391                 */ 
    368                 function mail_list($params) 
     392                function mail_list() 
    369393                {        
    370                  
    371                         if($params['folder']){ 
    372                                 $this->current_folder = $params['folder']; 
    373                         }else{ 
    374                                 $this->current_folder = 0; 
    375                         } 
    376                         $this->print_folder_selection(); 
    377                         $this->messages_per_page =  
     394                                 
     395                        $p = CreateObject('phpgwapi.Template', PHPGW_SERVER_ROOT . '/mobile/templates/'.$GLOBALS['phpgw_info']['server']['template_set']); 
     396                        $p->set_file( 
     397                                Array( 
     398                                        'mail_t' => 'mobilemail.tpl' 
     399                                ) 
     400                        ); 
     401                        $p->set_var("page",$this->current_page+1); 
     402                        $p->set_var("folder",$this->folders[$this->current_folder]['folder_name']); 
     403                        $p->set_var("selected_".$this->current_search_box_type,"selected"); 
     404                        $p->set_var("lang_back",lang("back")); 
     405                        $p->set_var("lang_new_message",lang("new message")); 
     406                        $p->set_var("lang_search_message",lang("search message")); 
     407                        $p->set_var("lang_more",lang("more")); 
     408                        $p->set_var("lang_messages",lang("messages")); 
     409                         
     410                        $max_per_page =  
    378411                                        isset($GLOBALS['phpgw_info']['user']['preferences']['mobile']['max_message_per_page'])? 
    379412                                        $GLOBALS['phpgw_info']['user']['preferences']['mobile']['max_message_per_page']:10;  
    380  
    381                         if (!isset($this->number_of_messages)) 
    382                         { 
    383                                 $params_num_msg = array( 
    384                                         'folder' => $this->folders[$this->current_folder]['folder_id'], 
    385                                 ); 
    386                                 $this->number_of_messages = $this->imap_functions->get_num_msgs($params_num_msg); 
    387                         } 
    388  
    389                         // Recalcular as páginas 
    390                         $this->pages = ceil($this->number_of_messages/$this->messages_per_page); 
    391                         $page = $this->current_page; 
    392                          
    393                         if($_POST["searchEmail"]){ 
    394                                 $params_mobile_search = array( 
    395                                         'filter'        => $_POST["searchEmail"] 
    396                                         ); 
    397  
    398                                 $messages = $this->imap_functions->mobile_search($params_mobile_search); 
    399                         }else{ 
    400                                 $params_get_range_msgs = array( 
    401                                         'folder'                        => $this->folders[$this->current_folder]['folder_id'], 
    402                                         'msg_range_begin'       => $this->current_page * $this->messages_per_page - ($this->messages_per_page - 1), 
    403                                         'msg_range_end'         => $this->current_page * $this->messages_per_page, 
    404                                         'sort_box_type'         => 'SORTARRIVAL', 
    405                                         'sort_box_reverse'      => 1 
    406                                 ); 
    407  
    408                                 $messages = $this->imap_functions->get_range_msgs2($params_get_range_msgs); 
    409                         } 
    410                         $this->print_mails_list($messages); 
    411                         $this->print_page_navigation($this->pages, $this->current_page); 
     413                                                 
     414                        $params = array( 
     415                                'folder'                        => $this->folders[$this->current_folder]['folder_id'], 
     416                                'msg_range_begin'       => 1, 
     417                                'msg_range_end'         => $this->current_page * $max_per_page, 
     418                                'search_box_type'       => $this->current_search_box_type, 
     419                                'sort_box_type'         => 'SORTARRIVAL', 
     420                                'sort_box_reverse'      => 1 
     421                        ); 
     422                         
     423                        $messages = $this->imap_functions->get_range_msgs2($params); 
     424//                      print_r($messages); 
     425                        $this->number_of_messages = $messages[num_msgs]; 
     426                         
     427                        unset($messages["offsetToGMT"]); 
     428                        unset($messages["tot_unseen"]); 
     429                         
     430                        $p->set_var('mails',$this->print_mails_list($messages,true)); 
     431                         
     432                        $GLOBALS['phpgw_info']['mobiletemplate']->set_content($p->fp('out','mail_t')); 
     433                         
     434 
    412435                } 
    413436 
     
    418441                 * @param array Um array com a lista de mensagens recuperado por $this->imap_functions->get_range_msgs2($params) 
    419442                 */ 
    420                 function print_mails_list($messages) 
     443                function print_mails_list($messages,$print_checkbox=false) 
    421444                { 
    422445                         
     
    444467                                                $from_name = $functions->strach_string($message['from']['email'],20); 
    445468                                         
    446                                         $p->set_var('bg',$bg=="par"?$bg="reset-dt":$bg="par");                                                   
     469                                        $p->set_var('bg',$bg=="par"?$bg="reset-dt":$bg="par"); 
     470                                         
     471                                        $pre = " "; 
     472                                        $pos = " "; 
     473                                         
     474                                        if($message["Unseen"]==="U") { 
     475                                                $pre.="<b>"; 
     476                                                $pos.="</b>"; 
     477                                        } 
     478                                         
     479                                        if($message["Flagged"]==="F") { 
     480                                                $pre.= "<font color='#FF0000'>"; 
     481                                                $pos = "</font>".$pos; 
     482                                        } 
     483                                         
     484                                        if($print_checkbox) 
     485                                                $p->set_var('show_check','inline'); 
     486                                        else 
     487                                                $p->set_var('show_check','none'); 
     488                                         
     489                                        $p->set_var('pre_type',$pre); 
     490                                        $p->set_var('pos_type',$pos); 
    447491                                        $p->set_var('from',$from_name); 
    448492                                        $p->set_var('mail_time',$message['smalldate']); 
     
    471515                        } 
    472516                        return $p->fp('out','rows_mails'); 
     517/* 
     518                        // Cria a lista de e-mails 
     519                        $mail_rows = ''; 
     520      $unread_msg_count = 0; 
     521       
     522                        if ($this->number_of_messages != 0) 
     523                        { 
     524                                $unread_msg_count = 0; 
     525                                foreach ($messages as $index => $msg) 
     526                                { 
     527                                  $p = CreateObject('phpgwapi.Template', PHPGW_SERVER_ROOT . '/mobile/templates/'.$GLOBALS['phpgw_info']['server']['template_set']); 
     528                                        $p->set_file(array('mobilemail_t' => 'mobilemail.tpl')); 
     529                                        $p->set_block('mobilemail_t', 'mail_row'); 
     530                                        $p->set_block('mobilemail_t', 'end_strong'); 
     531                                        $p->set_block('mobilemail_t', 'begin_strong'); 
     532                                        $p->set_var('unseen_bkg', "seen_bkg"); 
     533                                        $p->set_var('itememail_access_key', "0"); 
     534                                        $p->set_var('str_new_message', ""); 
     535 
     536                                        if (is_numeric($index)) 
     537                                        { 
     538                                                !empty($msg['from']['name']) ? $from = $msg['from']['name'] : $from = $msg['from']['email']; 
     539                                                !empty($msg['subject']) ? $subject = $msg['subject'] : $subject = lang('[empty subject]'); 
     540                                                if ($msg['Unseen'] == 'U') 
     541                                                { //Setando as mensagens nao lidas 
     542                                                        $p->set_var('strong_unseen_begin', trim($p->fp('mobilemail_t', 'begin_strong'))); 
     543                                                        $p->set_var('strong_unseen_end', trim($p->fp('mobilemail_t', 'end_strong'))); 
     544                                                        $p->set_var('unseen_bkg', "unseen_bkg"); 
     545                                                        $p->set_var('itememail_access_key', "9"); 
     546                                                        $unread_msg_count = $unread_msg_count + 1; 
     547                                                        $p->set_var('str_new_message', lang("New message")); 
     548                                                } 
     549                                                $p->set_var('from', $from); 
     550                                                $p->set_var('subject', $subject); 
     551                                                $p->set_var('msg_number', $msg['msg_number']); 
     552                                                $p->set_var('date', $msg['smalldate']); 
     553                                                $p->set_var('msg_folder', $this->folders[$this->current_folder]['folder_id']); 
     554                                                $p->set_var('from_label', lang('From')); 
     555                                                $mail_rows .= $p->fp('mobilemail_t', 'mail_row'); 
     556                                        } 
     557                                } 
     558     
     559                                // Imprime a lista de e-mails 
     560                                $p = CreateObject('phpgwapi.Template', PHPGW_SERVER_ROOT . '/mobile/templates/'.$GLOBALS['phpgw_info']['server']['template_set']); 
     561                                $p->set_file(array('mobilemail_t' => 'mobilemail.tpl')); 
     562                                $p->set_block('mobilemail_t', 'mail_list'); 
     563                                $p->set_var('mail_rows', $mail_rows); 
     564                                $p->set_var('messages_total', $this->number_of_messages); 
     565                                $p->set_var('unread_messages_total', $unread_msg_count); 
     566                                if ($unread_msg_count) 
     567                                { 
     568                                        $p->set_var('(unread_messages_total)', '('.$unread_msg_count.')'); 
     569                                } 
     570                                 
     571                                //$p->pfp('out', 'mail_list'); 
     572                                $GLOBALS['phpgw_info']['mobiletemplate']->set_content($p->fp('out', 'mail_list')); 
     573                        } 
     574                        else 
     575                        { 
     576                                // Lista de e-mails vazia 
     577                                $p = CreateObject('phpgwapi.Template', PHPGW_SERVER_ROOT . '/mobile/templates/'.$GLOBALS['phpgw_info']['server']['template_set']); 
     578                                $p->set_file(array('mobilemail_t' => 'mobilemail.tpl')); 
     579                                $p->set_block('mobilemail_t', 'empty_list'); 
     580                                $p->set_var('empty_message', lang('Empty folder'));                              
     581                                //$p->pfp('out', 'empty_list'); 
     582                                $GLOBALS['phpgw_info']['mobiletemplate']->set_content($p->fp('out', 'empty_list')); 
     583                        }*/ 
    473584                } 
    474585 
     
    841952                } 
    842953 
    843                 function delete_msg() 
     954                function delete_msg($params) 
    844955                { 
    845956                        if (isset($_GET['msg_number'])) 
Note: See TracChangeset for help on using the changeset viewer.