Changeset 1265


Ignore:
Timestamp:
08/04/09 11:14:11 (15 years ago)
Author:
niltonneto
Message:

Ticket #601 - Otimização do código que traz as mensagens mais novas.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/hook_home.inc.php

    r1261 r1265  
    3232                $expressoMail   = CreateObject($current_app.'.imap_functions'); 
    3333                $mbox_stream = $expressoMail-> open_mbox();              
    34                 $messages        = imap_sort($mbox_stream, SORTARRIVAL, true, SE_UID); 
    35                 $num_new_messages = 0; 
     34                $messages        = imap_sort($mbox_stream, SORTARRIVAL, true, SE_UID, UNSEEN); 
     35                $num_new_messages = count($messages); 
    3636                $subjects = array(); 
    3737                 
    38                 for ($i = 0; $i < count($messages);$i++) 
    39                 { 
    40                         $msg_number = $messages[$i]; 
    41                         $header = @imap_headerinfo($mbox_stream, imap_msgno($mbox_stream, $msg_number), 80, 255); 
     38                foreach($messages as $idx => $message){ 
     39                        if($idx == 10){ 
     40                                break; 
     41                        } 
     42                        $header = @imap_headerinfo($mbox_stream, imap_msgno($mbox_stream,$message), 80, 255); 
    4243                        if (!is_object($header)) 
    4344                                return false;                    
    4445 
    45                         if($header->Recent != 'N' && $header->Unseen != 'U') 
    46                                 continue; 
    47                         $new_m++; 
    48                         if($new_m <= 10) {                               
    49                                 $date_msg = date("d/m/Y",$header->udate); 
    50                                 if (date("d/m/Y") == $date_msg) 
    51                                         $date = date("H:i",$header->udate); 
    52                                 else 
    53                                         $date = $date_msg; 
    54                                 $subject = $expressoMail->decode_string($header->fetchsubject);                          
    55                                 $text = "<div style='overflow:hidden;white-space:nowrap'>".$date." .: ".$subject."</div>"; 
    56                                 if(strlen($text) > 105) 
    57                                         $text = substr($text,0,105).' ...'; 
    58                          
    59                                 $link_msg = $GLOBALS['phpgw']->link( 
    60                                                 '/'.$current_app.'/index.php', 
    61                                                 'msgball[msgnum]='.$msg_number.'&msgball[folder]=INBOX'); 
    62                                 $data[] = array('text' => $text, 'link' => $link_msg);           
    63                         }                        
     46                        $date_msg = date("d/m/Y",$header->udate); 
     47                        if (date("d/m/Y") == $date_msg) 
     48                                $date = date("H:i",$header->udate); 
     49                        else 
     50                                $date = $date_msg; 
     51                                 
     52                        $subject = $expressoMail->decode_string($header->fetchsubject);                          
     53                        $text = "<div style='overflow:hidden;white-space:nowrap'>".$date." .: ".$subject."</div>"; 
     54                        if(strlen($text) > 105) 
     55                                $text = substr($text,0,105).' ...'; 
     56                 
     57                        $link_msg = $GLOBALS['phpgw']->link( 
     58                                        '/'.$current_app.'/index.php', 
     59                                        'msgball[msgnum]='.$message.'&msgball[folder]=INBOX'); 
     60                        $data[] = array('text' => $text, 'link' => $link_msg);                                   
    6461                } 
    6562                                 
    6663                imap_close($mbox_stream); 
    67                                  
    68                 $title = $current_name." - ".($new_m > 1 ? lang("You have %1 new messages!","<font color=red>".$new_m."</font>") : ($new_m == 1 ? str_replace("1","<font color=red>1</font>",lang("you have 1 new message!")) : lang("you have no new messages")));                      
     64                 
     65                $title = $current_name." - ".($num_new_messages > 1 ? lang("You have %1 new messages!","<font color=red>".$num_new_messages."</font>") : ($num_new_messages == 1 ? str_replace("1","<font color=red>1</font>",lang("you have 1 new message!")) : lang("you have no new messages")));                     
    6966                $GLOBALS['phpgw']->translation->add_app($current_app); 
    7067 
Note: See TracChangeset for help on using the changeset viewer.