Changeset 614 for trunk/expressoMail1_2/inc/class.imap_functions.inc.php
- Timestamp:
- 01/15/09 19:06:49 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r613 r614 82 82 $msg_number = $sort_array_msg[$msg_range_begin-1]; 83 83 84 /*A função imap_headerinfo não traz o cabeçalho completo, e sim alguns 85 * atributos do cabeçalho. Como eu preciso do atributo Importance 86 * para saber se o email é importante ou não, uso abaixo a função 87 * imap_fetchheader e busco o atributo importance nela para passar 88 * para as funções ajax. Isso faz com que eu acesse o cabeçalho 89 * duas vezes e de duas formas diferentes, mas em contrapartida, eu 90 * não preciso reimplementar o método utilizando o fetchheader. 91 * Como as mensagens são renderizadas em um número pequeno por vez, 92 * não parece ter perda considerável de performance. 93 */ 94 $flag = preg_match('/importance *: *(.*)\r/i', 95 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 96 ,$importance); 97 $return[$i]['Importance'] = $flag==0?"":$importance[1]; 98 99 84 100 $header = $this->get_header($msg_number); 85 101 if (!is_object($header)) … … 993 1009 foreach($msgs_to_exec as $msg_number => $command) 994 1010 { 1011 /*A função imap_headerinfo não traz o cabeçalho completo, e sim alguns 1012 * atributos do cabeçalho. Como eu preciso do atributo Importance 1013 * para saber se o email é importante ou não, uso abaixo a função 1014 * imap_fetchheader e busco o atributo importance nela para passar 1015 * para as funções ajax. Isso faz com que eu acesse o cabeçalho 1016 * duas vezes e de duas formas diferentes, mas em contrapartida, eu 1017 * não preciso reimplementar o método utilizando o fetchheader. 1018 * Como na atualização são poucas as mensagens que devem ser renderizadas, 1019 * a perda em performance é insignificante. 1020 */ 1021 $flag = preg_match('/importance *: *(.*)\r/i', 1022 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 1023 ,$importance); 1024 $return[$i]['Importance'] = $flag==0?"":$importance[1]; 1025 995 1026 $header = $this->get_header($msg_number); 996 1027 if (!is_object($header)) … … 1235 1266 $msg_uid = $params['msg_id']; 1236 1267 $return_receipt = $params['input_return_receipt']; 1268 $is_important = $params['input_important_message']; 1237 1269 $body = $params['body']; 1238 1270 //echo "<script language=\"javascript\">javascript:alert('".$body."');</script>"; … … 1359 1391 } 1360 1392 } 1393 1394 //////////////////////////////////////////////////////////////////////////////////////////////////// 1395 // Important message 1396 if($is_important) 1397 $mail->isImportant(); 1361 1398 1362 1399 //////////////////////////////////////////////////////////////////////////////////////////////////// … … 1871 1908 elseif ($flag == "flagged") 1872 1909 $return["status"] = imap_setflag_full($this->mbox, $msgs_to_set, "\\Flagged", ST_UID); 1873 elseif ($flag == "unflagged") 1874 $return["status"] = imap_clearflag_full($this->mbox, $msgs_to_set, "\\Flagged", ST_UID); 1910 elseif ($flag == "unflagged") { 1911 $flag_importance = false; 1912 $msgs_number = explode(",",$msgs_to_set); 1913 foreach($msgs_number as $msg_number) { 1914 preg_match('/importance *: *(.*)\r/i', 1915 imap_fetchheader($this->mbox, imap_msgno($this->mbox, $msg_number)) 1916 ,$importance); 1917 if(strtolower($importance[1])=="high") { 1918 $flag_importance=true; 1919 break; 1920 } 1921 1922 } 1923 1924 if(!$flag_importance) 1925 $return["status"] = imap_clearflag_full($this->mbox, $msgs_to_set, "\\Flagged", ST_UID); 1926 else{ 1927 $return["status"] = false; 1928 $return["msg"] = $this->functions->getLang("At least one of selected message cant be marked as normal"); 1929 } 1930 } 1875 1931 1876 1932 if($this->mbox && is_resource($this->mbox))
Note: See TracChangeset
for help on using the changeset viewer.