Changeset 2324


Ignore:
Timestamp:
03/22/10 16:55:05 (14 years ago)
Author:
niltonneto
Message:

Ticket #997 - Corrigido fatal error gerado por imap_error na páginal inicial.

File:
1 edited

Legend:

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

    r2079 r2324  
    3333                $_SESSION['phpgw_info']['expressomail']['server'] = $GLOBALS['phpgw_info']['server']; 
    3434                $expressoMail   = CreateObject($current_app.'.imap_functions'); 
    35                 $mbox_stream = $expressoMail-> open_mbox();              
    36                 $messages        = imap_sort($mbox_stream, SORTARRIVAL, true, SE_UID, UNSEEN); 
    37                 $num_new_messages = count($messages); 
    38                 $subjects = array(); 
    39                  
    40                 foreach($messages as $idx => $message){ 
    41                         if($idx == 10){ 
    42                                 break; 
     35                $mbox_stream = @imap_open("{".$expressoMail->imap_server.":".$expressoMail->imap_port.$expressoMail->imap_options."}", 
     36                        $expressoMail->username, $expressoMail->password); 
     37 
     38                if($mbox_stream){ 
     39                         
     40                        $messages= imap_sort($mbox_stream, SORTARRIVAL, true, SE_UID, UNSEEN); 
     41                        $num_new_messages = count($messages); 
     42                        $subjects = array(); 
     43                        foreach($messages as $idx => $message){ 
     44                                if($idx == 10){ 
     45                                        break; 
     46                                } 
     47                                $header = @imap_headerinfo($mbox_stream, imap_msgno($mbox_stream,$message), 80, 255); 
     48                                if (!is_object($header)) 
     49                                        return false; 
     50 
     51                                $date_msg = date("d/m/Y",$header->udate); 
     52                                if (date("d/m/Y") == $date_msg) 
     53                                        $date = date("H:i",$header->udate); 
     54                                else 
     55                                        $date = $date_msg; 
     56 
     57                                $subject = $expressoMail->decode_string($header->fetchsubject);                          
     58                                $text = "<div style='overflow:hidden;white-space:nowrap'>".$date." .: ".$subject."</div>"; 
     59                                if(strlen($text) > 105) 
     60                                        $text = substr($text,0,105).' ...'; 
     61                         
     62                                $link_msg = $GLOBALS['phpgw']->link( 
     63                                                '/'.$current_app.'/index.php', 
     64                                                'msgball[msgnum]='.$message.'&msgball[folder]=INBOX'); 
     65                                $data[] = array('text' => $text, 'link' => $link_msg); 
     66                                 
     67                                $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"))); 
     68                                 
    4369                        } 
    44                         $header = @imap_headerinfo($mbox_stream, imap_msgno($mbox_stream,$message), 80, 255); 
    45                         if (!is_object($header)) 
    46                                 return false;                    
     70                        imap_close($mbox_stream); 
     71                } 
     72                else{ 
     73                        $title =  $current_name." <font color=red> [imap] ".imap_last_error()."</font>"; 
     74                } 
    4775 
    48                         $date_msg = date("d/m/Y",$header->udate); 
    49                         if (date("d/m/Y") == $date_msg) 
    50                                 $date = date("H:i",$header->udate); 
    51                         else 
    52                                 $date = $date_msg; 
    53                                  
    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]='.$message.'&msgball[folder]=INBOX'); 
    62                         $data[] = array('text' => $text, 'link' => $link_msg);                                   
    63                 } 
    64                                  
    65                 imap_close($mbox_stream); 
    66                  
    67                 $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")));                     
    6876                $GLOBALS['phpgw']->translation->add_app($current_app); 
    6977 
Note: See TracChangeset for help on using the changeset viewer.