Ignore:
Timestamp:
09/20/10 11:27:17 (14 years ago)
Author:
amuller
Message:

Ticket #1305 - Refresh remove as mensagens que não estão mais na caixa

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/expressoMail1_2/inc/class.imap_functions.inc.php

    r3250 r3265  
    14671467        function refresh($params) 
    14681468        { 
    1469                 include_once("class.imap_attachment.inc.php"); 
    1470                 $imap_attachment = new imap_attachment(); 
     1469 
    14711470                $folder = $params['folder']; 
    14721471                $msg_range_begin = $params['msg_range_begin']; 
     
    14891488 
    14901489                $msgs_to_exec = array(); 
    1491                 if ((count($msg_to_insert)) && ($msgs_existent)) 
    1492                 { 
    1493                         foreach($msg_to_insert as $index => $msg_number) 
    1494                         { 
    1495                                 if ($msgs_in_the_server[$index+1]) 
    1496                                 { 
    1497                                         //$msgs_to_exec[$msg_number] = 'Inserir mensage numero ' . $msg_number . ' antes da ' . $msgs_in_the_server[$index+1]; 
    1498                                         $msgs_to_exec[$msg_number] = 'box.insertBefore(new_msg, Element("'.$msgs_in_the_server[$index+1].'"));'; 
    1499                                 } 
    1500                                 else 
    1501                                 { 
    1502                                         //$msgs_to_exec[$msg_number] = 'Inserir mensage numero ' . $msg_number . ' no final (append)'; 
    1503                                         $msgs_to_exec[$msg_number] = 'box.appendChild(new_msg);'; 
    1504                                 } 
    1505                         } 
    1506                         ksort($msgs_to_exec); 
    1507                 } 
    1508                 elseif(!$msgs_existent) 
    1509                 { 
    1510                         foreach($msgs_in_the_server as $index => $msg_number) 
    1511                         { 
    1512                                 $msgs_to_exec[$msg_number] = 'box.appendChild(new_msg);'; 
    1513                         } 
    1514                 } 
     1490                foreach($msg_to_insert as $msg_number) 
     1491                        $msgs_to_exec[] = $msg_number; 
     1492                sort($msgs_to_exec); 
    15151493 
    15161494                $return = array(); 
    15171495                $i = 0; 
    1518                 foreach($msgs_to_exec as $msg_number => $command) 
     1496                foreach($msgs_to_exec as $msg_number) 
    15191497                { 
    15201498                        /*A função imap_headerinfo não traz o cabeçalho completo, e sim alguns 
     
    15251503                        * duas vezes e de duas formas diferentes, mas em contrapartida, eu 
    15261504                        * não preciso reimplementar o método utilizando o fetchheader. 
    1527                         * Como na atualização são poucas as mensagens que devem ser renderizadas, 
    1528                         * a perda em performance é insignificante. 
    15291505                        */ 
    1530             $tempHeader = @imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)); 
     1506                        $tempHeader = @imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)); 
    15311507                        $flag = preg_match('/importance *: *(.*)\r/i', $tempHeader, $importance); 
    15321508                        $return[$i]['Importance'] = $flag==0?"Normal":$importance[1]; 
     
    15401516 
    15411517                        $return[$i]['msg_number']       = $msg_number; 
    1542                         $return[$i]['command']          = $command; 
    15431518 
    15441519                        $return[$i]['msg_folder']       = $folder; 
    1545             // Atribui o tipo (normal, signature ou cipher) ao campo Content-Type 
    1546             $return[$i]['ContentType']  = $this->getMessageType($msg_number, $tempHeader); 
     1520                        // Atribui o tipo (normal, signature ou cipher) ao campo Content-Type 
     1521                        $return[$i]['ContentType']  = $this->getMessageType($msg_number, $tempHeader); 
    15471522                        $return[$i]['Recent']           = $header->Recent; 
    15481523                        $return[$i]['Unseen']           = $header->Unseen; 
     
    15801555 
    15811556                        $return[$i]['attachment'] = array(); 
     1557                        if (!isset($imap_attachment)) 
     1558                        { 
     1559                                include_once("class.imap_attachment.inc.php"); 
     1560                                $imap_attachment = new imap_attachment(); 
     1561                        } 
    15821562                        $return[$i]['attachment'] = $imap_attachment->get_attachment_headerinfo($this->mbox, $msg_number); 
    15831563                        $i++; 
    15841564                } 
     1565                $return['quota'] = $this->get_quota(array('folder_id' => $folder)); 
     1566                $return['sort_box_type'] = $params['sort_box_type']; 
    15851567                $return['new_msgs'] = imap_num_recent($this->mbox); 
    15861568                $return['msgs_to_delete'] = $msg_to_delete; 
Note: See TracChangeset for help on using the changeset viewer.