Changeset 53 for trunk/expressoMail1_2/inc/class.imap_functions.inc.php
- Timestamp:
- 08/13/07 17:18:06 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r51 r53 48 48 include("class.imap_attachment.inc.php"); 49 49 $imap_attachment = new imap_attachment(); 50 $folder = $params['folder'];50 $folder = $params['folder']; 51 51 $msg_range_begin = $params['msg_range_begin']; 52 52 $msg_range_end = $params['msg_range_end']; 53 $sort_box_type = $params['sort_box_type']; 53 $sort_box_type = $params['sort_box_type']; 54 $sort_box_reverse = $params['sort_box_reverse']; 54 55 $search_box_type = $params['search_box_type'] != "ALL" && $params['search_box_type'] != "" ? $params['search_box_type'] : false; 55 $sort_box_reverse = $params['sort_box_reverse']; 56 $this->mbox = $this->open_mbox($folder); 57 58 switch($sort_box_type){ 59 case 'SORTFROM': 60 $sort_array_msg = $this->imap_sortfrom($sort_box_reverse, $folder); 61 break; 62 case 'SORTSUBJECT': 63 $sort_array_msg = imap_sort($this->mbox, SORTSUBJECT, $sort_box_reverse, SE_UID, $search_box_type); 64 break; 65 case 'SORTSIZE': 66 $sort_array_msg = imap_sort($this->mbox, SORTSIZE, $sort_box_reverse, SE_UID, $search_box_type); 67 break; 68 default: 69 $sort_array_msg = imap_sort($this->mbox, SORTARRIVAL, $sort_box_reverse, SE_UID, $search_box_type); 70 break; 71 } 56 $sort_array_msg = $this-> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse); 72 57 73 58 $return = array(); … … 773 758 { 774 759 include("class.imap_attachment.inc.php"); 775 $imap_attachment = new imap_attachment(); 776 760 $imap_attachment = new imap_attachment(); 777 761 $folder = $params['folder']; 778 762 $msg_range_begin = $params['msg_range_begin']; 779 763 $msg_range_end = $params['msg_range_end']; 780 764 $msgs_existent = $params['msgs_existent']; 781 $sort_box_type = $params['sort_box_type']; 782 $search_box_type = $params['search_box_type'] != "ALL" && $params['search_box_type'] != "" ? $params['search_box_type'] : false; 765 $sort_box_type = $params['sort_box_type']; 783 766 $sort_box_reverse = $params['sort_box_reverse']; 784 767 $msgs_in_the_server = array(); 785 $sort_array_msg = array(); 786 $this->mbox = $this->open_mbox($folder); 787 788 switch($sort_box_type){ 789 case 'SORTFROM': 790 $sort_array_msg = $this->imap_sortfrom($sort_box_reverse, $folder); 791 break; 792 case 'SORTSUBJECT': 793 $sort_array_msg = imap_sort($this->mbox, SORTSUBJECT, $sort_box_reverse, SE_UID, $search_box_type); 794 break; 795 case 'SORTSIZE': 796 $sort_array_msg = imap_sort($this->mbox, SORTSIZE, $sort_box_reverse, SE_UID, $search_box_type); 797 break; 798 default: 799 $sort_array_msg = imap_sort($this->mbox, SORTARRIVAL, $sort_box_reverse, SE_UID, $search_box_type); 800 break; 801 } 768 $search_box_type = $params['search_box_type'] != "ALL" && $params['search_box_type'] != "" ? $params['search_box_type'] : false; 769 $sort_array_msg = $this -> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse); 802 770 803 771 if(!count($sort_array_msg)) … … 1265 1233 } 1266 1234 1267 function imap_sortfrom($sort_box_reverse, $ folder)1235 function imap_sortfrom($sort_box_reverse, $search_box_type) 1268 1236 { 1269 1237 $sortfrom = array(); … … 1274 1242 { 1275 1243 $header = imap_headerinfo($this->mbox, $i, 80, 255); 1244 // List UNSEEN messages. 1245 if($search_box_type == "UNSEEN" && (!trim($header->Recent) && !trim($header->Unseen))){ 1246 continue; 1247 } 1248 // List SEEN messages. 1249 elseif($search_box_type == "SEEN" && (trim($header->Recent) || trim($header->Unseen))){ 1250 continue; 1251 } 1252 // List ANSWERED messages. 1253 elseif($search_box_type == "ANSWERED" && !trim($header->Answered)){ 1254 continue; 1255 } 1256 // List FLAGGED messages. 1257 elseif($search_box_type == "FLAGGED" && !trim($header->Flagged)){ 1258 continue; 1259 } 1260 1276 1261 if (($header->from[0]->mailbox . "@" . $header->from[0]->host) == $_SESSION['phpgw_info']['expressomail']['user']['email']) 1277 1262 $from = $header->to; 1278 1263 else 1279 1264 $from = $header->from; 1280 $tmp = imap_mime_header_decode($from[0]->personal); 1265 1266 $tmp = imap_mime_header_decode($from[0]->personal); 1267 1281 1268 if ($tmp[0]->text != "") 1282 $sortfrom[ ] = $tmp[0]->text;1269 $sortfrom[$i] = $tmp[0]->text; 1283 1270 else 1284 $sortfrom[ ] = $from[0]->mailbox . "@" . $from[0]->host;1271 $sortfrom[$i] = $from[0]->mailbox . "@" . $from[0]->host; 1285 1272 } 1286 1273 … … 1288 1275 1289 1276 foreach($sortfrom as $index => $header_msg) 1290 { 1291 $sortfrom_uid[] = imap_uid($this->mbox, $index +1);1277 { 1278 $sortfrom_uid[] = imap_uid($this->mbox, $index); 1292 1279 } 1293 1280 … … 1548 1535 return $str; 1549 1536 } 1537 1538 function get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse){ 1539 1540 if(!$this->mbox) 1541 $this->mbox = $this->open_mbox($folder); 1542 1543 switch($sort_box_type){ 1544 case 'SORTFROM': 1545 return $this->imap_sortfrom($sort_box_reverse, $search_box_type); 1546 case 'SORTSUBJECT': 1547 return imap_sort($this->mbox, SORTSUBJECT, $sort_box_reverse, SE_UID, $search_box_type); 1548 case 'SORTSIZE': 1549 return imap_sort($this->mbox, SORTSIZE, $sort_box_reverse, SE_UID, $search_box_type); 1550 default: 1551 return imap_sort($this->mbox, SORTARRIVAL, $sort_box_reverse, SE_UID, $search_box_type); 1552 } 1553 } 1554 1550 1555 function get_info_next_msg($params) 1551 1556 { … … 1555 1560 $sort_box_reverse = $params['sort_box_reverse']; 1556 1561 $reuse_border = $params['reuse_border']; 1557 1558 if(!$this->mbox) 1559 $this->mbox = $this->open_mbox($folder); 1560 1561 switch($sort_box_type){ 1562 case 'SORTFROM': 1563 $sort_array_msg = $this->imap_sortfrom($this->mbox , $sort_box_reverse, $folder); 1564 break; 1565 case 'SORTSUBJECT': 1566 $sort_array_msg = imap_sort($this->mbox , SORTSUBJECT, $sort_box_reverse, SE_UID); 1567 break; 1568 case 'SORTARRIVAL': 1569 $sort_array_msg = imap_sort($this->mbox , SORTARRIVAL, $sort_box_reverse, SE_UID); 1570 break; 1571 case 'SORTSIZE': 1572 $sort_array_msg = imap_sort($this->mbox , SORTSIZE, $sort_box_reverse, SE_UID); 1573 break; 1574 } 1575 1562 $search_box_type = $params['search_box_type'] != "ALL" && $params['search_box_type'] != "" ? $params['search_box_type'] : false; 1563 $sort_array_msg = $this -> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse); 1576 1564 $i = 0; 1565 1577 1566 while($sort_array_msg[$i] != $msg_number) 1578 1567 { … … 1603 1592 $sort_box_reverse = $params['sort_box_reverse']; 1604 1593 $reuse_border = $params['reuse_border']; 1605 1606 if(!$this->mbox) 1607 $this->mbox = $this->open_mbox($folder); 1608 1609 switch($sort_box_type){ 1610 case 'SORTFROM': 1611 $sort_array_msg = $this->imap_sortfrom($this->mbox, $sort_box_reverse, $folder); 1612 break; 1613 case 'SORTSUBJECT': 1614 $sort_array_msg = imap_sort($this->mbox, SORTSUBJECT, $sort_box_reverse, SE_UID); 1615 break; 1616 case 'SORTARRIVAL': 1617 $sort_array_msg = imap_sort($this->mbox, SORTARRIVAL, $sort_box_reverse, SE_UID); 1618 break; 1619 case 'SORTSIZE': 1620 $sort_array_msg = imap_sort($this->mbox, SORTSIZE, $sort_box_reverse, SE_UID); 1621 break; 1622 } 1623 1594 $search_box_type = $params['search_box_type'] != "ALL" && $params['search_box_type'] != "" ? $params['search_box_type'] : false; 1595 $sort_array_msg = $this -> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse); 1624 1596 $i = 0; 1625 1597
Note: See TracChangeset
for help on using the changeset viewer.