Changeset 320
- Timestamp:
- 06/18/08 11:28:42 (16 years ago)
- Location:
- trunk/expressoMail1_2
- Files:
-
- 1 added
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.ScriptS.inc.php
r122 r320 96 96 97 97 $narray = explode("_end_",$var_decode); 98 98 99 99 foreach($narray as $key=>$tmp){ 100 100 if($tmp != ""){ … … 196 196 $special_char = false; 197 197 for ( $i = 0; $i < strlen($input); $i++ ) 198 if ( preg_match('/[ÁáÉéÍíÓóÚúÀàÈèÌìÒòÙùÇçÃãÕõÂâÊêÔô ]/', $input[$i]) )198 if ( preg_match('/[ÁáÉéÍíÓóÚúÀàÈèÌìÒòÙùÇçÃãÕõÂâÊêÔô®©§ªºÐ¹²³°¢¿Æ£µøæß«»Ø÷±¬]/', $input[$i]) ) 199 199 { 200 200 $special_char = true; 201 201 $input = preg_replace('/'.$input[$i].'/', '=' . bin2hex($input[$i]), $input); 202 202 } 203 if ( $special_char ) 203 204 if ( $special_char ) 204 205 { 205 206 /* When using arrays with pattern and replacement, the keys are processed in the order they appear in the array. See preg_replace in php.net/preg_replace */ … … 210 211 $input = preg_replace($patterns, $replacements, $input); 211 212 } 212 return($input); 213 if (($input{0}) && (!eregi('^[a-zA-Z0-9=-]+$',$input))) 214 return false; 215 else 216 return($input); 213 217 } 214 218 … … 233 237 $rule['from'] = $this->convert_specialchar($tmp1[3]); 234 238 $rule['to'] = $this->convert_specialchar($tmp1[4]); 235 $rule['subject'] = $this->convert_specialchar($tmp1[5]);239 $rule['subject'] = $this->convert_specialchar($tmp1[5]); 236 240 $rule['action'] = $tmp1[6]; 237 $rule['action_arg'] = utf8_encode(preg_replace("/\\r\\n/","\r\n",$tmp1[7]));241 $rule['action_arg'] = utf8_encode(preg_replace("/\\r\\n/","\r\n",$tmp1[7])); 238 242 $rule['flg'] = $tmp1[8]; 239 243 $rule['field'] = $tmp1[9]; -
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r278 r320 275 275 $return['toaddress2'] .= " "; 276 276 $return['toaddress2'] .= "<"; 277 $return['toaddress2'] .= $tmp->mailbox . "@" . $tmp->host; 277 if ($tmp->host != 'unspecified-domain') 278 $return['toaddress2'] .= $tmp->mailbox . "@" . $tmp->host; 279 else 280 $return['toaddress2'] .= $tmp->mailbox; 278 281 $return['toaddress2'] .= ">"; 279 282 $return['toaddress2'] .= ", "; … … 281 284 else 282 285 { 283 $return['toaddress2'] .= $tmp->mailbox . "@" . $tmp->host; 286 if ($tmp->host != 'unspecified-domain') 287 $return['toaddress2'] .= $tmp->mailbox . "@" . $tmp->host; 288 else 289 $return['toaddress2'] .= $tmp->mailbox; 284 290 $return['toaddress2'] .= ", "; 285 291 } … … 351 357 $return['Size'] = $header->Size; 352 358 $return['reply_toaddress'] = $header->reply_toaddress; 359 353 360 return $return; 354 361 } … … 1471 1478 $ccaddress = $params['input_cc']; 1472 1479 $subject = $params['input_subject']; 1480 $msg_uid = $params['msg_id']; 1473 1481 $body = $params['body']; 1474 1482 $body = str_replace("%nbsp;"," ",$params['body']); … … 1507 1515 $mail->Body = $body; 1508 1516 1517 // Build CID for embedded Images!!! 1518 $pattern = '/src="([^"]*?show_embedded_attach.php\?msg_folder=(.+)?&msg_num=(.+)?&msg_part=(.+)?)"/isU'; 1519 $cid_imgs = ''; 1520 $name_cid_files = array(); 1521 preg_match_all($pattern,$mail->Body,$cid_imgs,PREG_PATTERN_ORDER); 1522 $cid_array = array(); 1523 foreach($cid_imgs[4] as $j => $val){ 1524 if ( !array_key_exists($cid_imgs[3][$j].$val, $cid_array) ) 1525 { 1526 $cid_array[$cid_imgs[3][$j].$val] = base_convert(microtime(), 10, 36); 1527 } 1528 $cid = $cid_array[$cid_imgs[3][$j].$val]; 1529 $mail->Body = str_replace($cid_imgs[1][$j], "cid:".$cid, $mail->Body); 1530 1531 if ($msg_uid != $cid_imgs[3][$j]) // The image isn't in the same mail? 1532 { 1533 $fileContent = $this->get_forwarding_attachment($cid_imgs[2][$j], $cid_imgs[3][$j], $cid_imgs[4][$j], 'base64'); 1534 $fileName = "image_".($j).".jpg"; 1535 $fileCode = "base64"; 1536 $fileType = "image/jpg"; 1537 } 1538 else 1539 { 1540 $attach_img = $forwarding_attachments[$cid_imgs[4][$j]-2]; 1541 $file_description = unserialize(rawurldecode($attach_img)); 1542 foreach($file_description as $i => $descriptor){ 1543 $file_description[$i] = eregi_replace('\'*\'','',$descriptor); 1544 } 1545 $fileContent = $this->get_forwarding_attachment($file_description[0], $msg_uid, $file_description[3], 'base64'); 1546 $fileName = $file_description[2]; 1547 $fileCode = $file_description[4]; 1548 $fileType = $this->get_file_type($file_description[2]); 1549 unset($forwarding_attachments[$cid_imgs[4][$j]-2]); 1550 if (!empty($file_description)) 1551 { 1552 $file_description[5] = strlen($fileContent); //Size of file 1553 $return_forward[] = $file_description; 1554 } 1555 } 1556 $tempDir = ini_get("session.save_path"); 1557 $file = "cid_image_".base_convert(microtime(), 10, 36).".dat"; 1558 $f = fopen($tempDir.'/'.$file,"w"); 1559 fputs($f,$fileContent); 1560 fclose($f); 1561 if ($fileContent) 1562 $mail->AddEmbeddedImage($tempDir.'/'.$file, $cid, $fileName, $fileCode, $fileType); 1563 //else 1564 // return "Error loading image attachment content"; 1565 1566 } 1509 1567 1510 1568 // Build Forwarding Attachments!!! … … 1757 1815 $search_box_type = $params['search_box_type'] != "ALL" && $params['search_box_type'] != "" ? $params['search_box_type'] : false; 1758 1816 $sort_array_msg = $this -> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse); 1759 $i = 0; 1760 1761 while($sort_array_msg[$i] != $msg_number) 1762 { 1763 $i++; 1764 } 1765 1766 if ($i == (count($sort_array_msg)-1)) 1817 1818 $success = false; 1819 if (is_array($sort_array_msg)) 1820 { 1821 foreach ($sort_array_msg as $i => $value){ 1822 if ($value == $msg_number) 1823 { 1824 $success = true; 1825 break; 1826 } 1827 } 1828 } 1829 1830 if (! $success || $i >= sizeof($sort_array_msg)-1) 1767 1831 { 1768 1832 $params['status'] = 'false'; … … 1789 1853 $search_box_type = $params['search_box_type'] != "ALL" && $params['search_box_type'] != "" ? $params['search_box_type'] : false; 1790 1854 $sort_array_msg = $this -> get_msgs($folder, $sort_box_type, $search_box_type, $sort_box_reverse); 1791 $i = 0; 1792 1793 while($sort_array_msg[$i] != $msg_number) 1794 { 1795 $i++; 1796 } 1797 1798 if ($i == 0){ 1855 1856 $success = false; 1857 if (is_array($sort_array_msg)) 1858 { 1859 foreach ($sort_array_msg as $i => $value){ 1860 if ($value == $msg_number) 1861 { 1862 $success = true; 1863 break; 1864 } 1865 } 1866 } 1867 if (! $success || $i == 0) 1868 { 1799 1869 $params['status'] = 'false'; 1800 1870 $params['command_to_exec'] = "delete_border('". $reuse_border ."');"; -
trunk/expressoMail1_2/inc/class.ldap_functions.inc.php
r271 r320 554 554 ); 555 555 556 $_SESSION['phpgw_info']['expressomail']['contact_photo'] = ldap_get_values_len($ds, $entry, "jpegphoto");556 $_SESSION['phpgw_info']['expressomail']['contact_photo'] = @ldap_get_values_len($ds, $entry, "jpegphoto"); 557 557 ldap_close($ds); 558 558 return $obj; -
trunk/expressoMail1_2/index.php
r271 r320 28 28 'nonavbar' => False, 29 29 'currentapp' => 'expressoMail1_2', 30 'update_version' => '1.22 11',30 'update_version' => '1.222', 31 31 'enable_nextmatchs_class' => True 32 32 ); -
trunk/expressoMail1_2/js/DropDownContacts.js
r2 r320 89 89 // treat especials keys 90 90 // key ENTER 91 if ((key_pressed == 13) && (document.getElementById('tipDiv').style.visibility)){ 92 makeMailList(document.getElementById('td_DD_' + actualSelectedContact).innerHTML,fld_id); 93 hideTip(); 91 if ((key_pressed == 13) && (document.getElementById('tipDiv').style.visibility)) 92 { 93 //Bug, sometimes the actualSelectedContact do not exist. 94 try{ 95 makeMailList(document.getElementById('td_DD_' + actualSelectedContact).innerHTML,fld_id); 96 hideTip(); 97 } 98 catch(e){} 94 99 return; 95 100 } -
trunk/expressoMail1_2/js/InfoContact.js
r72 r320 48 48 } 49 49 div_label.innerHTML = text; 50 div_label.style.top = findPosY(this.td) + 20 - Element("divScrollMain ").scrollTop;50 div_label.style.top = findPosY(this.td) + 20 - Element("divScrollMain_"+numBox).scrollTop; 51 51 div_label.style.left = findPosX(this.td) + 20; 52 52 div_label.style.display = ''; … … 73 73 { 74 74 card.style.left = findPosX(this.td) + 20; 75 var y = findPosY(this.td) + 20 - Element("divScrollMain ").scrollTop;75 var y = findPosY(this.td) + 20 - Element("divScrollMain_"+numBox).scrollTop; 76 76 var w_height = is_ie ? document.body.clientHeight + document.body.scrollTop : window.innerHeight + window.pageYOffset; 77 77 if(y + 160 > w_height) -
trunk/expressoMail1_2/js/TreeS.js
r197 r320 128 128 129 129 folders_tree = new dFTree({name: name_tree}); 130 130 131 if(click_root != ""){ 131 132 var n_root = new dNode({id:'root', caption:get_lang("My Folders"), onClick:click_root}); … … 134 135 } 135 136 folders_tree.add(n_root,'root'); //Places the root; second argument can be anything. 136 137 137 138 if(data.length == 0){ 138 139 alert("sem dados"); … … 161 162 } 162 163 163 /* if(folders_tree._folderPr.length > 0 && destination == "div_tree"){164 var nw_rt = new dNode({id:'proble', caption:'<font style=color:red><b>' + get_lang('Problems') + '</b></font>', plusSign:true});165 folders_tree.add(nw_rt,'root');166 167 for(var i=0; i < folders_tree._folderPr.length; i++){168 var nm_fl = folders_tree._folderPr[i].split(cyrus_delimiter);169 if( nm_fl[0] == "INBOX")170 var nm = folders_tree._folderPr[i].substr(6,folders_tree._folderPr[i].length);171 else172 var nm = folders_tree._folderPr[i].substr(5,folders_tree._folderPr[i].length);173 var nw_rm = new dNode({id:folders_tree._folderPr[i], caption:nm, plusSign:false});174 folders_tree.add(nw_rm,'proble');175 }176 folders_tree._folderPr.splice(0,folders_tree._folderPr.length);177 }178 */179 164 folders_tree.draw(Element(destination)); 180 165 n_root.changeState(); -
trunk/expressoMail1_2/js/TreeShow.js
r197 r320 26 26 } 27 27 ttree.FOLDER = ttreeBox.name_folder; 28 tree_folders.getNodeById(get_current_folder())._select(); 28 if (tree_folders.getNodeById(get_current_folder())) 29 tree_folders.getNodeById(get_current_folder())._select(); 29 30 } 30 31 cExecute ("$this.imap_functions.get_folders_list", handler_update_folders); -
trunk/expressoMail1_2/js/abas.js
r271 r320 11 11 function alternate_border(ID) 12 12 { 13 if (! Element('border_id_'+ID)) 14 return false; // Not possible to alternate 13 15 Element("footer_menu").style.display = (ID != "0" ? 'none' : ''); 14 16 var len = BordersArray.length; … … 16 18 { 17 19 m = document.getElementById(BordersArray[i].border_id); 18 if ( m.className == 'menu-sel')20 if ((m)&&(m.className == 'menu-sel')) 19 21 { 20 22 m.className = 'menu'; … … 43 45 44 46 m = Element("border_id_"+ID); 45 m.className = 'menu-sel'; 47 if (m) 48 m.className = 'menu-sel'; 46 49 if(Element("font_border_id_" + ID)) 47 50 Element("font_border_id_" + ID).className = 'font-menu-sel'; 48 51 var c = Element("content_id_"+ID) 49 c.style.display = ''; 52 if (c) 53 c.style.display = ''; 50 54 51 55 body = document.getElementById('body_'+ ID); … … 68 72 window_DropDownContacts.style.visibility = 'hidden'; 69 73 } 70 74 75 if (typeof(ID) == 'number') 76 { 77 current_folder = openBox.tab_folder[ID]; 78 numBox=ID; 79 } 71 80 return ID; 72 81 } … … 89 98 else{ 90 99 var ID = id_value; 91 if (document.getElementById("border_id_"+id_value+"_r")) // Edit message? if yes treat like new 100 if (document.getElementById("border_id_"+id_value+"_r")) // Edit message? if yes treat like new in dragdrop case 92 101 var id_value = null; 93 102 } … … 123 132 parent_bb.insertBefore(td, bb); 124 133 125 if( id_value&& id_value.match(/_r$/))134 if((typeof(id_value) == 'string') && id_value.match(/_r$/)) 126 135 _dragArea.makeDragged(td, id_value,td.value); 127 136 … … 139 148 140 149 div.style.height = document.body.clientHeight - offset - (is_ie ? 76 : 86); 141 div.style.overflow = " auto";150 div.style.overflow = "hidden"; 142 151 143 152 if(!is_ie) { … … 187 196 if(!ID) 188 197 return false; 198 199 Element("border_id_" + ID).onclick = null; 189 200 190 201 if (msg_sent == 'false') … … 205 216 else 206 217 { 207 if (! newMessageTab.toPreserve[ID]) 208 cExecute ("$this.imap_functions.delete_msgs&folder="+newMessageTab.imapBox[ID]+"&msgs_number="+newMessageTab.imapUid[ID],function(data){ return }); 218 if (newMessageTab.imapBox[ID] && ! newMessageTab.toPreserve[ID]){ 219 delete_msgs(newMessageTab.imapBox[ID], newMessageTab.imapUid[ID].toString(), 0) 220 } 221 //cExecute ("$this.imap_functions.delete_msgs&folder="+newMessageTab.imapBox[ID]+"&msgs_number="+newMessageTab.imapUid[ID],function(data){ return }); 209 222 Element('to_'+ID).focus(); 210 223 } … … 224 237 { 225 238 m = document.getElementById(BordersArray[i].border_id); 226 if ( m.className == 'menu-sel')239 if ((m) && (m.className == 'menu-sel')) 227 240 border_selected = BordersArray[i].border_id; 228 241 } … … 237 250 238 251 // Remove TD, title 239 border = document.getElementById('border_id_' + ID);252 border = Element('border_id_' + ID); 240 253 border.parentNode.removeChild(border); 241 254 // Remove Div Content 242 content = document.getElementById('content_id_' + ID);255 content = Element('content_id_' + ID); 243 256 content.parentNode.removeChild(content); 244 257 … … 247 260 for (i=0;i<BordersArray.length;i++) 248 261 { 249 if ( document.getElementById(BordersArray[i].border_id) != null){262 if (Element(BordersArray[i].border_id) != null){ 250 263 new_BordersArray[j] = BordersArray[i]; 251 264 j++; … … 255 268 Element("footer_menu").style.display = ''; 256 269 BordersArray = new_BordersArray; 257 } 270 return true; 271 } -
trunk/expressoMail1_2/js/common_functions.js
r271 r320 16 16 17 17 window.onresize = resizeWindow; 18 19 function config_events(pObj, pEvent, pHandler) 20 { 21 if( typeof pObj == 'object') 22 { 23 if( pEvent.substring(0, 2) == 'on') 24 pEvent = pEvent.substring(2, pEvent.length); 25 26 if ( pObj.addEventListener ) 27 pObj.addEventListener(pEvent, pHandler, false); 28 else if( pObj.attachEvent ) 29 pObj.attachEvent('on' + pEvent, pHandler ); 30 } 31 } 18 32 19 33 function resizeWindow(){ … … 38 52 } 39 53 Element('content_folders').style.height = defaultHeight - (is_ie ? 165 : 150); 40 if(Element("divScrollMain "))41 Element("divScrollMain ").style.height = defaultHeight - (is_ie ? 111 : 110);54 if(Element("divScrollMain_"+numBox)) 55 Element("divScrollMain_"+numBox).style.height = defaultHeight - (is_ie ? 111 : 110); 42 56 } 43 57 // END: FUNCTION RESIZE WINDOW 44 58 45 59 // onUnload edit message 46 if(!is_ie) 60 61 var _beforeunload_ = window.onbeforeunload; 62 63 window.onbeforeunload = function() 47 64 { 48 var beforeunload = window.onbeforeunload; 49 window.onbeforeunload = function() 50 { 51 if ( typeof beforeunload == 'function' ) 52 beforeunload(); 53 54 return unloadMess(); 55 }; 56 } 65 return unloadMess(); 66 } 67 57 68 function unloadMess(){ 58 69 var mess = get_lang("Your message has not been sent and will be discarted."); … … 64 75 } 65 76 } 77 66 78 // Translate words and phrases using user language from eGroupware. 67 79 function get_lang(_key,_arg1,_arg2,_arg3,_arg4) { … … 143 155 if (box != null) 144 156 box.parentNode.removeChild(box); 157 else 158 return false; 145 159 } 146 160 … … 189 203 function addFile(id_border){ 190 204 divFiles = document.getElementById("divFiles_"+id_border); 205 if (! divFiles) 206 return false; 191 207 192 208 if (divFiles.lastChild) … … 216 232 linkFile.id = "linkFile_"+id_border+"_"+countDivFiles; 217 233 linkFile.href='javascript:void(0)'; 218 linkFile.onclick=function () {removeFile(this.id.replace("link","div")); };234 linkFile.onclick=function () {removeFile(this.id.replace("link","div")); return false;}; 219 235 linkFile.innerHTML=get_lang("Remove"); 220 236 //divFile.innerHTML += " "; … … 231 247 232 248 function validateFileExtension(fileName, id, id_border){ 249 233 250 var error_flag = false; 234 if (fileName[0] != '/'){ // file name is windows format? 235 var file = fileName.substr(fileName.lastIndexOf('\\') + 1, fileName.length); 236 if ((fileName.indexOf(':\\') != 1) && (fileName.indexOf('\\\\') != 0)) // Is stored in partition or a network file? 237 error_flag = true; 238 } 239 else // is nix 240 var file = fileName.substr(fileName.lastIndexOf('/') + 1, fileName.length); 251 252 if ( fileName.indexOf('/') != -1 ) 253 { 254 if (fileName[0] != '/'){ // file name is windows format? 255 var file = fileName.substr(fileName.lastIndexOf('\\') + 1, fileName.length); 256 if ((fileName.indexOf(':\\') != 1) && (fileName.indexOf('\\\\') != 0)) // Is stored in partition or a network file? 257 error_flag = true; 258 } 259 else // is Unix 260 var file = fileName.substr(fileName.lastIndexOf('/') + 1, fileName.length); 261 } 262 else // is Firefox 3 263 var file = fileName; 241 264 242 265 var fileExtension = file.split("."); … … 252 275 } 253 276 254 if (error_flag == true){ 277 if ( error_flag == true ) 278 { 255 279 alert(get_lang('File extension forbidden or invalid file') + '.'); 256 280 removeFile(id); … … 259 283 } 260 284 return true; 261 262 285 } 263 286 … … 635 658 function remove_className(obj, className){ 636 659 var re = new RegExp("\\s*"+className); 637 obj.className = obj.className.replace(re, ''); 660 if (obj) 661 obj.className = obj.className.replace(re, ''); 638 662 } 639 663 -
trunk/expressoMail1_2/js/doiMenuData.js
r214 r320 206 206 div.style.display =''; 207 207 } 208 209 function ConstructBoxMenu(_event,boxName,boxFolder){ 210 211 var div = Element("div_rightbutton_folder"); 212 if (div) 213 div.parentNode.removeChild(div); 214 215 div = document.createElement("DIV"); 216 div.style.position = 'absolute'; 217 div.style.zIndex = '15'; 218 219 div.style.border = '1px outset BLACK'; 220 div.style.background = "#EEEEE6"; 221 div.id = 'div_rightbutton_folder'; 222 div.style.padding = "1px"; 223 div.style.fontSize = is_ie || is_gecko1_5 || is_win ? "9pt" : "11pt"; 224 div.style.width = "190px"; 225 div.style.height = is_win && !is_ie ? "35px" : "33px"; 226 div.style.display ='none'; 227 document.body.appendChild(div); 228 var _tab = " "; 229 var _sep = "<hr>"; 230 var optionsMenu = new Array( 231 _tab + get_lang("Open in new tab")+'|'+"open_folder('"+boxFolder+"', '"+boxName+"')", 232 _tab + get_lang("Edit folders")+'|'+"folderbox()" 233 ); 234 235 for(i = 0; i < optionsMenu.length; i++){ 236 optionsMenu_l = optionsMenu[i].split('|'); 237 var div_l = document.createElement("DIV"); 238 div_l.style.padding = "1px"; 239 div_l.style.width = "188px"; 240 div_l.style.cursor = 'pointer'; 241 div_l.innerHTML = optionsMenu_l[0]; 242 div_l.style.valign = 'top'; 243 if(optionsMenu_l[0] != _sep) { 244 var attr = document.createAttribute('javascript'); 245 attr.value = optionsMenu_l[1]+";Element('div_rightbutton_folder').style.display = 'none';"; 246 div_l.setAttributeNode(attr); 247 div_l.oncontextmenu = function(e) { return false;}; 248 div_l.onclick = function () {this.onmouseout();eval(this.getAttribute('javascript'));}; 249 div_l.onmouseover = function () {this.style.color = 'WHITE';this.style.background = "#4a79cd";}; 250 div_l.onmouseout = function () {this.style.color = 'BLACK';this.style.background = "#EEEEE6";}; 251 } 252 else 253 div_l.style.height = "11px"; 254 255 div_l.id="link_rightbutton_folder"+i; 256 div.appendChild(div_l); 257 } 258 259 var x = _event.clientX + document.body.scrollLeft + 2; 260 var y = _event.clientY + document.body.scrollTop + 2; 261 262 var w_width = is_ie ? document.body.clientWidth : window.innerWidth; 263 var w_height = is_ie ? document.body.clientHeight + document.body.scrollTop : window.innerHeight + window.pageYOffset; 264 265 if(x + 218 > w_width) 266 div.style.left = w_width - (is_ie ? 198 : 218); 267 else 268 div.style.left = x; 269 270 if(y + 131 > w_height) 271 div.style.top = w_height - (is_ie ? 125 : 131); 272 else 273 div.style.top = y; 274 275 div.style.display =''; 276 } -
trunk/expressoMail1_2/js/drag_area.js
r2 r320 3 3 this.msg_number = false; 4 4 this.subject = false; 5 this.folder = ''; 5 6 this.color_dd = 'red'; 6 7 this.from_list = false; … … 27 28 } 28 29 29 DragArea.prototype.makeDragged = function(element, msg_number, subject, from_list){ 30 DragArea.prototype.makeMenuBox = function(element){ 31 32 element.oncontextmenu = function(e) 33 { 34 return false; 35 } 36 37 var _this = this; 38 39 element.onmousedown = function (e) 40 { 41 var _button = is_ie ? window.event.button : e.which; 42 43 if(_button == 2 || _button == 3) 44 { 45 var boxFolder = element.id.substr(1,element.id.indexOf('tree_folders')-1); 46 var boxName = element.firstChild.nextSibling.innerHTML; 47 ConstructBoxMenu(is_ie ? window.event : e,boxName,boxFolder); 48 } 49 50 return true; 51 }; 52 53 } 54 55 DragArea.prototype.makeDragged = function(element, msg_number, subject, from_list, folder){ 30 56 element.oncontextmenu = function(e) { 31 57 return false; … … 62 88 _this.div_dd.style.width = "auto"; 63 89 _this.div_dd.style.height = "auto"; 90 _this.folder = folder; 64 91 } 65 92 return true; … … 69 96 70 97 var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r',''); 71 if(_dragArea.from_list) { 72 if(! Element("check_box_message_"+msg_number).checked) { 98 if(_dragArea.from_list) { 99 100 if((Element("check_box_message_"+msg_number)) && (! Element("check_box_message_"+msg_number).checked)) { 73 101 if (is_ie) 74 102 changeBgColor(window.event,msg_number); … … 148 176 if(_button != 2 && _button != 3) { 149 177 150 if(Element("div_rightbutton") && Element("div_rightbutton").style.display != 'none') { 178 if(Element("div_rightbutton") && Element("div_rightbutton").style.display != 'none') 179 { 151 180 152 181 if(!_target.id.match(/link_rightbutton_(.*)$/)){ … … 168 197 if(is_ie) 169 198 _dragArea.onSelectStart(true); 199 200 if (Element("div_rightbutton_folder") && Element("div_rightbutton_folder").style.display != 'none') 201 { 202 Element('div_rightbutton_folder').style.display = 'none'; 203 } 204 170 205 } 171 206 … … 183 218 184 219 if(_dragArea.from_list) 185 move_msgs( 'null', 'selected', 'null', new_folder, new_folder_name);186 else 220 move_msgs(_dragArea.folder, 'selected', numBox, new_folder, new_folder_name); 221 else{ 187 222 var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r',''); 188 move_msgs( 'null', msg_number, msg_number+"_r", new_folder, new_folder_name);223 move_msgs(_dragArea.folder, msg_number, msg_number+"_r", new_folder, new_folder_name); 189 224 } 190 225 } -
trunk/expressoMail1_2/js/draw_api.js
r271 r320 1 var openBox = { 2 'content_id' : [], 3 'tab_folder' : [] 4 }; 5 var numBox = 0; // Open Mailboxes at context 6 1 7 function draw_tree_folders(folders){ 2 8 // Check if the tree folders alredy exist. … … 24 30 if(data[i].folder_id == get_current_folder()){ 25 31 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 26 if(!isNaN(old_new_m) && old_new_m < data[i].folder_unseen){27 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(data[i].folder_unseen)-old_new_m);28 }32 // if(!isNaN(old_new_m) && old_new_m < data[i].folder_unseen){ 33 // Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(data[i].folder_unseen)-old_new_m); 34 // } 29 35 Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 30 36 draw_paging(Element('tot_m').innerHTML); … … 43 49 for (var i=0; i<folders.length; i++){ 44 50 if (folders[i].folder_unseen > 0) 51 { 45 52 var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name) + '<font style=color:red> (</font><span id="dftree_'+folders[i].folder_id+'_unseen" style=color:red>'+folders[i].folder_unseen+'</span><font style=color:red>)</font>', onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); 46 53 54 if( folders[i].folder_name.toLowerCase() == 'inbox' ) 55 Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 56 } 47 57 else 48 58 var nn = new dNode({id:folders[i].folder_id, caption:lang_folder(folders[i].folder_name), onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", plusSign:folders[i].folder_hasChildren}); … … 62 72 tree_folders.getNodeById('INBOX')._select(); 63 73 draw_paging(Element('tot_m').innerHTML); 74 // Draw right menu folders. 75 /* 76 var treeroot = document.getElementById('chroottree_folders'); 77 for (var linkBox = treeroot.firstChild; linkBox != null; linkBox = linkBox.nextSibling) 78 _dragArea.makeMenuBox(linkBox); 79 */ 64 80 } 65 81 … … 93 109 } 94 110 } 95 96 97 111 } 98 112 … … 105 119 Element('new_m').innerHTML = '<font face="Verdana" size="1" color="RED">'+f_unseen.innerHTML+'</font>'; 106 120 else 107 Element('new_m').innerHTML = 0; 121 { 122 if( parseInt(Element('new_m').innerHTML) == 0 ) 123 Element('new_m').innerHTML = 0; 124 } 108 125 folders = data; 109 126 cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&sort_box_reverse=1", handler_draw_box); … … 112 129 113 130 var handler_draw_box = function(data){ 114 draw_box(data, 'INBOX'); 131 draw_box(data, 'INBOX', true); 132 //alternate_border(0); 115 133 } 116 134 117 135 // Action on change folders. 118 136 function change_folder(folder, folder_name){ 137 if (openBox.tab_folder[0] != folder) 138 { 139 current_folder = folder; 140 var handler_draw_box = function(data) 141 { 142 if(!verify_session(data)) 143 return; 144 alternate_border(0); 145 Element("border_id_0").innerHTML = " " + lang_folder(folder_name) + ' <font face="Verdana" size="1" color="#505050">[<span id="new_m"> </span> / <span id="tot_m"></span>]</font>'; 146 draw_box(data, folder, true); 147 draw_paging(data.num_msgs); 148 Element("tot_m").innerHTML = data.num_msgs; 149 update_menu(); 150 return true; 151 } 152 cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 153 } else 154 alternate_border(0); 155 } 156 157 function open_folder(folder, folder_name){ 119 158 if (get_current_folder()!= folder) 120 159 { … … 123 162 { 124 163 if(!verify_session(data)) 125 return; 126 Element("border_id_0").innerHTML = " " + lang_folder(folder_name) + ' <font face="Verdana" size="1" color="#505050">[<span id="new_m"> </span> / <span id="tot_m"></span>]</font>'; 127 draw_box(data, current_folder); 128 draw_paging(data.num_msgs); 129 Element("tot_m").innerHTML = data.num_msgs; 130 update_menu(); 131 alternate_border(0); 164 return false; 165 numBox++; 166 create_border(folder_name,numBox.toString()); 167 draw_box(data, current_folder, false); 168 alternate_border(numBox); 169 return true; 132 170 } 133 171 cExecute ("$this.imap_functions.get_range_msgs2&folder="+current_folder+"&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", handler_draw_box); 134 172 } 135 173 else 136 alternate_border(0); 174 alternate_border(numBox); 175 return true; 137 176 } 138 177 … … 246 285 247 286 // Draw the inbox and another folders 248 function draw_box(headers_msgs, msg_folder){ 249 kill_current_box(); 287 function draw_box(headers_msgs, msg_folder, alternate){ 288 if (alternate) 289 kill_current_box(); 250 290 251 291 if(is_ie) 252 292 document.getElementById("border_table").width = "99.5%"; 253 293 254 var content_id_0 = document.getElementById("content_id_0"); 255 256 table_message_header_box = document.getElementById("table_message_header_box"); 294 openBox.content_id[numBox] = document.getElementById("content_id_"+numBox); 295 openBox.tab_folder[numBox] = msg_folder; 296 297 table_message_header_box = document.getElementById("table_message_header_box_"+numBox); 257 298 if (table_message_header_box == null){ 258 299 var table_element = document.createElement("TABLE"); 259 300 var tbody_element = document.createElement("TBODY"); 260 table_element.setAttribute("id", "table_message_header_box ");301 table_element.setAttribute("id", "table_message_header_box_"+numBox); 261 302 table_element.className = "table_message_header_box"; 262 303 … … 292 333 td_element3.setAttribute("width", "31%"); 293 334 td_element3.onclick = function () {sort_box(search_box_type,'SORTFROM');}; 294 td_element3.id = "message_header_SORTFROM ";335 td_element3.id = "message_header_SORTFROM_"+numBox; 295 336 td_element3.align = "left"; 296 337 td_element3.innerHTML = get_lang("Who"); … … 299 340 td_element4.setAttribute("width", "41%"); 300 341 td_element4.onclick = function () {sort_box(search_box_type,'SORTSUBJECT');}; 301 td_element4.id = "message_header_SORTSUBJECT ";342 td_element4.id = "message_header_SORTSUBJECT_"+numBox; 302 343 td_element4.align = "left"; 303 344 td_element4.innerHTML = get_lang("Subject"); … … 306 347 td_element5.setAttribute("width", "14%"); 307 348 td_element5.onclick = function () {sort_box(search_box_type,'SORTARRIVAL');}; 308 td_element5.id = "message_header_SORTARRIVAL ";349 td_element5.id = "message_header_SORTARRIVAL_"+numBox; 309 350 td_element5.align = "center"; 310 351 td_element5.innerHTML = get_lang("Date"); … … 312 353 td_element6.setAttribute("width", "14%"); 313 354 td_element6.onclick = function () {sort_box(search_box_type,'SORTSIZE');} 314 td_element6.id = "message_header_SORTSIZE ";355 td_element6.id = "message_header_SORTSIZE_"+numBox; 315 356 td_element6.align = "left"; 316 357 td_element6.innerHTML = get_lang("Size"); … … 324 365 tbody_element.appendChild(tr_element); 325 366 table_element.appendChild(tbody_element); 326 content_id_0.appendChild(table_element);367 openBox.content_id[numBox].appendChild(table_element); 327 368 } 328 369 draw_header_box(); … … 362 403 table_element.appendChild(tbody_element); 363 404 364 var _divScroll = Element("divScrollMain"); 405 var _divScroll = document.getElementById("divScrollMain_"+numBox); 406 365 407 var bar = document.getElementById("toolbar"); 366 408 var offset = 0; … … 368 410 if(!_divScroll){ 369 411 _divScroll = document.createElement("DIV"); 370 _divScroll.id = "divScrollMain ";412 _divScroll.id = "divScrollMain_"+numBox; 371 413 } 372 414 … … 391 433 // Fim: Redimensiona DIV SCROLL 392 434 _divScroll.appendChild(table_element); 393 content_id_0.appendChild(_divScroll);435 openBox.content_id[numBox].appendChild(_divScroll); 394 436 395 437 var f_unseen = 0; … … 415 457 416 458 if ((preferences.use_shortcuts == '1') && (headers_msgs[0])) 417 select_msg(headers_msgs[0].msg_number, 'null' );459 select_msg(headers_msgs[0].msg_number, 'null', true); 418 460 419 461 var tdFolders = Element("folderscol"); 420 462 tdFolders.style.display = preferences.hide_folders == '1' ? "none" : ""; 421 alternate_border( 0);463 alternate_border(numBox); 422 464 draw_footer_box(headers_msgs.num_msgs); 423 465 Element('main_table').style.display = ''; … … 458 500 459 501 function make_tr_message(headers_msgs, msg_folder){ 460 var tr_element = document.createElement( "TR");502 var tr_element = document.createElement('tr'); 461 503 tr_element.style.height = preferences.line_height; 462 504 var _fontSize = preferences.font_size ? preferences.font_size : "11"; … … 625 667 var message_header = Element("message_header_"+search); 626 668 var handler_draw_box = function(data){ 627 draw_box(data, get_current_folder() );669 draw_box(data, get_current_folder(),true); 628 670 draw_paging(Element('tot_m').innerHTML); 629 671 } … … 665 707 break; 666 708 } 667 Element("message_header_SORTFROM").innerHTML = get_lang("Who");668 Element("message_header_SORTSUBJECT").innerHTML = get_lang("Subject");669 Element("message_header_SORTARRIVAL").innerHTML = get_lang("Date");670 Element("message_header_SORTSIZE").innerHTML = get_lang("Size");671 Element("message_header_"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL")).innerHTML = "<B>"+type_name+"</B><img src ='templates/default/images/arrow_"+(sort_box_reverse == 1 ? 'desc' : 'asc')+"endant.gif'>";709 document.getElementById("message_header_SORTFROM_"+numBox).innerHTML = get_lang("Who"); 710 document.getElementById("message_header_SORTSUBJECT_"+numBox).innerHTML = get_lang("Subject"); 711 document.getElementById("message_header_SORTARRIVAL_"+numBox).innerHTML = get_lang("Date"); 712 document.getElementById("message_header_SORTSIZE_"+numBox).innerHTML = get_lang("Size"); 713 document.getElementById("message_header_"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL")+"_"+numBox ).innerHTML = "<B>"+type_name+"</B><img src ='templates/default/images/arrow_"+(sort_box_reverse == 1 ? 'desc' : 'asc')+"endant.gif'>"; 672 714 } 673 715 function draw_message(info_msg, ID){ … … 743 785 } 744 786 787 if (info_msg.DispositionNotificationTo) 788 { 789 td.innerHTML += ' <img style="cursor:pointer" alt="'+ get_lang('Message with read notification') + '" title="'+ get_lang('Message with read notification') + '" src="templates/default/images/notification.gif">'; 790 } 791 745 792 // NORMAL MSG 746 793 if(info_msg.Draft != 'X') … … 852 899 div_other_options.innerHTML += ' | <span class="message_options" onclick="spam(\''+info_msg.msg_folder+'\', '+info_msg.msg_number+',\'null\')";>'+get_lang("Mark as Spam")+'</span>'; 853 900 } 901 854 902 td_other_options.appendChild(div_other_options); 855 903 //td_other_options.innerHTML = option_print + option_reply_to_all + option_source_msg; … … 1321 1369 input_to.rows = 2; 1322 1370 input_to.onkeypress = function (e) 1323 1324 1325 1326 1327 1328 1329 { 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1371 { 1372 if ((e.keyCode) == 120) //F9 1373 { 1374 emQuickSearch(input_to.value, 'to', ID); 1375 } 1376 else 1377 { 1378 if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden')) 1379 { 1380 e.preventDefault(); 1381 search_contacts(e.keyCode,this.id); 1382 } 1383 } 1384 } 1385 input_to.onkeyup = function (e) 1386 { 1387 if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40)) 1388 { 1389 search_contacts(e.keyCode,this.id); 1390 } 1391 } 1344 1392 } 1345 1393 else … … 1347 1395 input_to.rows = 3; 1348 1396 input_to.onkeyup = function (e) 1349 1350 1351 1352 1353 1354 1355 1356 1357 } 1358 1397 { 1398 if ((window.event.keyCode) == 120) //F9 1399 { 1400 emQuickSearch(input_to.value, 'to', ID); 1401 } 1402 else 1403 { 1404 search_contacts(window.event.keyCode,this.id); 1405 } 1406 } 1359 1407 } 1360 1408 td_to.appendChild(input_to); … … 1400 1448 input_cc.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);}; 1401 1449 input_cc.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 1402 if (!is_ie) 1403 { 1404 input_cc.rows = 2; 1405 input_cc.onkeypress = function (e) 1406 { 1407 if ((e.keyCode) == 120) //F9 1408 { 1409 emQuickSearch(input_cc.value, 'cc', ID); 1410 } 1411 else 1412 { 1413 if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden')) 1414 { 1415 e.preventDefault(); 1416 search_contacts(e.keyCode,this.id); 1417 } 1418 } 1419 } 1420 input_cc.onkeyup = function (e) 1421 { 1422 if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40)) 1423 { 1424 search_contacts(e.keyCode,this.id); 1425 } 1426 } 1427 } 1428 else if (is_ie) 1429 { 1430 input_cc.rows = 3; 1431 input_cc.onkeyup = function (e) 1432 { 1433 if ((window.event.keyCode) == 120) //F9 1434 { 1435 emQuickSearch(input_cc.value, 'cc', ID); 1436 } 1437 else 1438 { 1439 search_contacts(window.event.keyCode,this.id); 1440 } 1441 } 1442 } 1450 if (!is_ie) 1451 { 1452 input_cc.rows = 2; 1453 input_cc.onkeypress = function (e) 1454 { 1455 if ((e.keyCode) == 120) //F9 1456 { 1457 emQuickSearch(input_cc.value, 'cc', ID); 1458 } 1459 else 1460 { 1461 if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden')) 1462 { 1463 e.preventDefault(); 1464 search_contacts(e.keyCode,this.id); 1465 } 1466 } 1467 } 1468 input_cc.onkeyup = function (e) 1469 { 1470 if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40)) 1471 { 1472 search_contacts(e.keyCode,this.id); 1473 } 1474 } 1475 } 1476 else if (is_ie) 1477 { 1478 input_cc.rows = 3; 1479 input_cc.onkeyup = function (e) 1480 { 1481 if ((window.event.keyCode) == 120) //F9 1482 { 1483 emQuickSearch(input_cc.value, 'cc', ID); 1484 } 1485 else 1486 { 1487 search_contacts(window.event.keyCode,this.id); 1488 } 1489 } 1490 } 1491 1443 1492 td_cc.appendChild(input_cc); 1444 1493 var img_search = document.createElement("IMG"); … … 1481 1530 input_cco.onfocus = function(){clearTimeout(parseInt(setTimeOutLayer)); search_contacts('onfocus',this.id);}; 1482 1531 input_cco.onblur = function(){setTimeOutLayer=setTimeout('search_contacts("lostfocus","'+this.id+'")',100);}; 1532 1483 1533 if (!is_ie) 1484 { 1485 input_cco.rows = 2; 1486 input_cco.onkeypress = function (e) 1487 { 1488 if ((e.keyCode) == 120) //F9 1489 { 1490 emQuickSearch(input_cco.value, 'cco', ID); 1491 } 1492 else 1493 { 1494 if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden')) 1495 { 1496 e.preventDefault(); 1497 search_contacts(e.keyCode,this.id); 1498 } 1499 } 1500 } 1501 input_cco.onkeyup = function (e) 1502 { 1503 if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40)) 1504 { 1505 search_contacts(e.keyCode,this.id); 1506 } 1507 } 1508 } 1509 else if (is_ie) 1510 { 1511 input_cco.rows = 3; 1512 input_cco.onkeyup = function (e) 1513 { 1514 if ((window.event.keyCode) == 120) //F9 1515 { 1516 emQuickSearch(input_cco.value, 'cco', ID); 1517 } 1518 else 1519 { 1520 search_contacts(window.event.keyCode,this.id); 1521 } 1522 } 1523 } 1534 { 1535 input_cco.rows = 2; 1536 input_cco.onkeypress = function (e) 1537 { 1538 if ((e.keyCode) == 120) //F9 1539 { 1540 emQuickSearch(input_cco.value, 'cco', ID); 1541 } 1542 else 1543 { 1544 if (((e.keyCode == 13) || ((e.keyCode == 38)||(e.keyCode == 40))) && (document.getElementById('tipDiv').style.visibility!='hidden')) 1545 { 1546 e.preventDefault(); 1547 search_contacts(e.keyCode,this.id); 1548 } 1549 } 1550 } 1551 input_cco.onkeyup = function (e) 1552 { 1553 if ((e.keyCode != 13) && (e.keyCode != 38) && (e.keyCode != 40)) 1554 { 1555 search_contacts(e.keyCode,this.id); 1556 } 1557 } 1558 } 1559 else if (is_ie) 1560 { 1561 input_cco.rows = 3; 1562 input_cco.onkeyup = function (e) 1563 { 1564 if ((window.event.keyCode) == 120) //F9 1565 { 1566 emQuickSearch(input_cco.value, 'cco', ID); 1567 } 1568 else 1569 { 1570 search_contacts(window.event.keyCode,this.id); 1571 } 1572 } 1573 } 1574 1524 1575 td_cco.appendChild(input_cco); 1525 1576 var img_search = document.createElement("IMG"); … … 1553 1604 a_cc_link.setAttribute("href","javascript:void(0)"); 1554 1605 a_cc_link.setAttribute("tabIndex","-1"); 1555 a_cc_link.onclick = function () {this.style.display='none';document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cc.focus(); }1606 a_cc_link.onclick = function () {this.style.display='none';document.getElementById('tr_cc_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cc.focus(); return false;} 1556 1607 td2_link.appendChild(a_cc_link); 1557 1608 var space = document.createElement("span"); … … 1564 1615 a_cco_link.setAttribute("href","javascript:void(0)"); 1565 1616 a_cco_link.setAttribute("tabIndex","-1"); 1566 a_cco_link.onclick = function () {this.style.display='none';document.getElementById('tr_cco_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cco.focus(); }1617 a_cco_link.onclick = function () {this.style.display='none';document.getElementById('tr_cco_'+ID).style.display='';document.getElementById('space_link_'+ID).style.display='none';input_cco.focus(); return false;} 1567 1618 td2_link.appendChild(a_cco_link); 1568 1619 tr_link.appendChild(td1_link); … … 1605 1656 var add_files = document.createElement("A"); 1606 1657 add_files.setAttribute("href", "javascript:void(0)"); 1607 add_files.onclick = function () { addFile(ID);};1658 add_files.onclick = function () { addFile(ID); return false;}; 1608 1659 add_files.innerHTML = get_lang("Attachments: add+"); 1609 1660 add_files.setAttribute("tabIndex","-1"); … … 1650 1701 _div.style.height = document.body.clientHeight - _offset - 105; 1651 1702 content.style.height = document.body.clientHeight - _offset - 80; 1703 1652 1704 _div.style.overflow = "auto"; 1653 1705 _div.style.width = defaultWidth; -
trunk/expressoMail1_2/js/globals.js
r248 r320 4 4 var hold_session = false; 5 5 var current_page = 1; 6 var current_folder = ' INBOX';6 var current_folder = ''; 7 7 var id_menu_folders = ''; 8 8 var preferences = ''; -
trunk/expressoMail1_2/js/main.js
r271 r320 1 1 // Tempo do auto refresh (em milisegundos) 2 2 var time_refresh = 300000; 3 var autosave_time = 60000; 3 // tempo do auto save (em milisegundos) 4 // 20000 = 20 segundos 5 var autosave_time = 20000; 4 6 5 7 function init(){ … … 35 37 cyrus_delimiter = Element('cyrus_delimiter').value; 36 38 37 alternate_border(0);38 39 cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); 39 40 cExecute ("$this.functions.get_preferences", save_preferences); 40 41 setTimeout('auto_refresh()', time_refresh); 41 }42 43 var away = false;44 var away_timer;45 function setAway ()46 {47 away_timer = setTimeout("setAway()", 5000);48 away=true;49 }50 51 function auto_save_msg(border_id)52 {53 if (document.getElementById('border_id_'+border_id))54 {55 var keypress_handler = function stop_counting ()56 {57 clearTimeout(away_timer);58 away=false;59 away_timer = setTimeout('setAway()',5000);60 };61 62 var obj = document.getElementById('body_'+border_id).contentWindow.document;63 if ( obj.addEventListener )64 obj.addEventListener('keypress', keypress_handler, false);65 else if ( obj.attachEvent )66 obj.attachEvent('onkeypress', keypress_handler);67 68 if (away)69 {70 var save_link = Element("save_message_options");71 if (save_link.onclick != '')72 save_msg(border_id);73 else74 setTimeout('auto_save_msg('+border_id+')',autosave_time);75 }76 else77 setTimeout('auto_save_msg('+border_id+')',3000);78 }79 42 } 80 43 … … 158 121 159 122 if ((msg_info.DispositionNotificationTo) && ((msg_info.Unseen == 'U') || (msg_info.Recent == 'N'))){ 160 cExecute ("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&subject="+url_encode(msg_info.subject), handler_sendNotification); 123 /* var confNotification = confirm(get_lang("The sender waits your notification of reading. Do you want to confirm this?"), ""); 124 if (confNotification)*/ 125 cExecute ("$this.imap_functions.send_notification¬ificationto="+msg_info.DispositionNotificationTo+"&subject="+url_encode(msg_info.subject), handler_sendNotification); 161 126 } 162 127 } … … 285 250 var main_list = Element("tbody_resultsearch_"+border_id.substr(18)).childNodes; 286 251 for (j = 0; j < main_list.length; j++) { 287 var check_box = Element("check_box_ search_message_"+main_list[j].id);252 var check_box = Element("check_box_message_"+main_list[j].id); 288 253 if(check_box && check_box.checked) { 289 254 selected_messages += main_list[j].id + ','; … … 334 299 function move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name){ 335 300 336 if ( folder == 'null')337 folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); 338 301 if (! folder || folder == 'null') 302 folder = Element("input_folder_"+msgs_number+"_r") ? Element("input_folder_"+msgs_number+"_r").value : get_current_folder(); 303 339 304 var handler_move_msgs = function(data){ 340 341 if(typeof(data) == 'string' && data.match(/^(.*)TRYCREATE(.*)$/)){ 342 var move_to_folder = data.match(/^(.*)Spam(.*)$/) ? "Spam" : "Lixeira"; 343 alert(get_lang('Its %1 folder is not created. It is necessary to create so that it functions correctly.', move_to_folder)); 344 return false; 345 } 305 if(typeof(data) == 'string') 306 if (data.match(/^(.*)TRYCREATE(.*)$/)){ 307 connector.loadScript('TreeS'); 308 var move_to_folder = data.match(/^(.*)Spam(.*)$/) ? "Spam" : trashfolder; 309 alert(get_lang('There is not %1 folder, Expresso is creating it for you... Please, repeat your request later.', move_to_folder)); 310 connector.loadScript('TreeShow'); 311 ttree.FOLDER = 'root'; 312 ttreeBox.new_past(move_to_folder); 313 return false; 314 }else{ 315 alert(data); 316 return false; 317 } 318 346 319 347 320 Element('chk_box_select_all_messages').checked = false; 348 321 mail_msg = Element("tbody_box"); 322 //mail_msg = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 349 323 data.msgs_number = data.msgs_number.split(","); 350 324 325 var msg_to_delete; 326 all_search_msg = msgs_number.split(','); 327 for (var i=0; i <= all_search_msg.length; i++) 328 { 329 msg_to_delete = Element(folder+';'+all_search_msg[i]); 330 if (msg_to_delete) 331 msg_to_delete.parentNode.removeChild(msg_to_delete); 332 } 333 351 334 if ( preferences.use_shortcuts == '1') { 352 335 var all_messages = Element('tbody_box').childNodes; … … 363 346 } 364 347 365 var msg_to_delete;366 348 for (var i=0; i<data.msgs_number.length; i++) 367 349 { … … 370 352 mail_msg.removeChild(msg_to_delete); 371 353 } 354 372 355 373 356 if (data.msgs_number.length == 1) … … 375 358 else 376 359 write_msg(get_lang("The messages were moved to folder ") + lang_folder(data.new_folder_name)); 377 378 if (data.border_ID != '' && data.border_ID != 'null'){ 360 if (data.border_ID.indexOf('r') != -1){ 379 361 if (parseInt(preferences.delete_and_show_previous_message) && folder == get_current_folder()) 380 362 show_msg(data.previous_msg); … … 399 381 else 400 382 write_msg(get_lang('No selected message.')); 383 401 384 } 402 385 403 386 function get_selected_messages(){ 404 387 main = Element("tbody_box"); 405 388 // main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 389 406 390 // Get all TR (messages) in tBody. 407 391 main_list = main.childNodes; 408 392 409 393 var selected_messages = ''; 410 394 var selected_messages_by_shortcuts = ''; … … 412 396 for (j; j<(main_list.length); j++) 413 397 { 398 if (main_list[j].id.indexOf(';') == -1) 399 { 414 400 check_box = Element("check_box_message_"+main_list[j].id); 415 401 if ( (check_box) && (check_box.checked) ) 416 {417 402 selected_messages += main_list[j].id + ','; 418 } 403 } 404 else 405 { // Message from search tab 406 check_box = Element("check_box_message_"+main_list[j].id.substr(main_list[j].id.indexOf(';')+1)); 407 if ( (check_box) && (check_box.checked) ) 408 selected_messages += main_list[j].id.substr(main_list[j].id.indexOf(';')+1) + ','; 409 } 419 410 420 411 if (preferences.use_shortcuts == '1') … … 450 441 451 442 var new_border_ID = draw_new_message(parseInt(border_ID)); 452 if (preferences.auto_save_draft == 1)453 setTimeout('auto_save_msg('+new_border_ID+')', autosave_time);454 443 455 444 // Salva a pasta da mensagem respondida ou encaminhada: … … 466 455 data = []; 467 456 if (Element("from_" + border_ID)){ 468 if (document.getElementById("reply_to_" + border_ID)){469 data.to = document.getElementById("reply_to_values_" + border_ID).value;470 data.to = data.to.replace(/</gi,"<");471 data.to = data.to.replace(/>/gi,">");457 if (document.getElementById("reply_to_" + border_ID)){ 458 data.to = document.getElementById("reply_to_values_" + border_ID).value; 459 data.to = data.to.replace(/</gi,"<"); 460 data.to = data.to.replace(/>/gi,">"); 472 461 } 473 462 else { 474 data.to = document.getElementById("from_values_" + border_ID).value; 475 data.to = data.to.replace(/</gi,"<"); 476 data.to = data.to.replace(/>/gi,">"); 463 if (document.getElementById("from_values_" + border_ID)) 464 { 465 data.to = document.getElementById("from_values_" + border_ID).value; 466 data.to = data.to.replace(/</gi,"<"); 467 data.to = data.to.replace(/>/gi,">"); 468 } 477 469 } 478 470 479 data.to_all = document.getElementById("to_values_" + border_ID).value; 480 data.to_all = data.to_all.replace(/\n/gi," "); 481 data.to_all = data.to_all.replace(/</gi,"<"); 482 data.to_all = data.to_all.replace(/>/gi,">"); 483 // delete user email from to_all array. 484 var _array_to_all = data.to_all.split(","); 485 data.to_all = new Array(); 486 var j = 0; 487 for(i = 0; i < _array_to_all.length; i++) { 488 if(_array_to_all[i].lastIndexOf(Element("user_email").value) == "-1"){ 489 data.to_all[j++] = _array_to_all[i]; 490 } 491 } 492 data.to_all = data.to_all.join(","); 471 if (document.getElementById("to_values_" + border_ID)){ 472 data.to_all = document.getElementById("to_values_" + border_ID).value; 473 data.to_all = data.to_all.replace(/\n/gi," "); 474 data.to_all = data.to_all.replace(/</gi,"<"); 475 data.to_all = data.to_all.replace(/>/gi,">"); 476 var _array_to_all = data.to_all.split(","); 477 } 493 478 } 494 479 … … 561 546 break; 562 547 case "reply_to_all_without_history": 548 // delete user email from to_all array. 549 data.to_all = new Array(); 550 var j = 0; 551 for(i = 0; i < _array_to_all.length; i++) { 552 if(_array_to_all[i].lastIndexOf(Element("user_email").value) == "-1"){ 553 data.to_all[j++] = _array_to_all[i]; 554 } 555 } 556 data.to_all = data.to_all.join(","); 557 563 558 title = "Re: " + data.subject; 564 559 Element("subject_" + new_border_ID).value = "Re: " + data.subject; … … 590 585 break; 591 586 case "reply_to_all_with_history": 587 // delete user email from to_all array. 588 data.to_all = new Array(); 589 var j = 0; 590 for(i = 0; i < _array_to_all.length; i++) { 591 if(_array_to_all[i].lastIndexOf(Element("user_email").value) == "-1"){ 592 data.to_all[j++] = _array_to_all[i]; 593 } 594 } 595 data.to_all = data.to_all.join(","); 592 596 title = "Re: " + data.subject; 593 597 Element("to_" + new_border_ID).value = data.to; … … 680 684 break; 681 685 case "edit": 682 newMessageTab.imapBox[new_border_ID] = folder_message.value 686 newMessageTab.imapBox[new_border_ID] = folder_message.value; 687 newMessageTab.toPreserve[new_border_ID] = true; 683 688 newMessageTab.imapUid[new_border_ID] = parseInt(border_ID.substr(0,border_ID.indexOf("_"))); 684 689 document.getElementById('font_border_id_'+new_border_ID).innerHTML = data.subject; … … 728 733 default: 729 734 } 730 735 736 if (preferences.auto_save_draft == 1) 737 { 738 var time_auto_save = false; 739 var save_link = document.getElementById("save_message_options"); 740 741 function auto_sav() 742 { 743 if ( time_auto_save ) 744 clearTimeout(time_auto_save); 745 746 time_auto_save = setTimeout("save_msg("+new_border_ID+")", autosave_time); 747 } 748 config_events(body.contentWindow.document,'keypress', auto_sav); 749 } 750 731 751 //BEGIN Tab event 732 752 if (preferences.use_shortcuts == '1') … … 792 812 write_msg(get_lang('Your message was sent.')); 793 813 } 814 if ((! newMessageTab.toPreserve[ID]) && (newMessageTab.imapUid[ID] != 0)) 815 cExecute ("$this.imap_functions.delete_msgs&folder="+newMessageTab.imapBox[ID]+"&msgs_number="+newMessageTab.imapUid[ID],function(data){ return }); 794 816 } 795 817 else{ … … 801 823 write_msg(data); 802 824 } 803 if ((! newMessageTab.toPreserve[ID]) && (newMessageTab.imapUid[ID] != 0))804 cExecute ("$this.imap_functions.delete_msgs&folder="+newMessageTab.imapBox[ID]+"&msgs_number="+newMessageTab.imapUid[ID],function(data){ return });805 825 } 806 826 … … 856 876 { 857 877 var handler_delete_msg = function(data){ refresh(preferences.alert_new_msg); }; 858 RichTextEditor.saveFlag = 1; 859 860 if (! data) 861 write_msg('ERROR saving your message.'); 862 else 878 879 if (data.append != true || !data) 863 880 { 881 RichTextEditor.saveFlag = -1; 882 if (! data.append) 883 write_msg('ERROR saving your message.'); 884 else 885 { 886 if (data.append.match(/^(.*)TRYCREATE(.*)$/)) 887 { 888 connector.loadScript('TreeS'); 889 alert(get_lang('There is not %1 folder, Expresso is creating it for you... Please, repeat your request later.',draftsfolder)); 890 connector.loadScript('TreeShow'); 891 ttree.FOLDER = 'root'; 892 ttreeBox.new_past(draftsfolder); 893 setTimeout('save_msg('+border_id+')',3000); 894 } 895 else 896 write_msg(data.append); 897 } 898 } 899 else 900 { 901 RichTextEditor.saveFlag = 1; 864 902 newMessageTab.imapUid[border_id] = data.msg_no; 865 903 newMessageTab.imapBox[border_id] = data.folder_id; … … 876 914 var content_body = mainField.document.getElementsByTagName('body').item(0).innerHTML; 877 915 var body_images = content_body.match(/msg_num=\d*/g); 916 var images_part = content_body.match(/msg_part=\d*/g); 878 917 if (body_images) 879 918 { … … 881 920 content_body = content_body.replace(body_images[i],"msg_num="+newMessageTab.imapUid[border_id]); 882 921 } 922 var allImgs = new Array (images_part.length); 923 var j=-1; 924 for (var i in images_part){ 925 926 if (is_ie) 927 if (i == 0) 928 var image_number = parseInt(images_part[i].substr(9)); 929 else 930 image_number = "null"; 931 else 932 var image_number = parseInt(images_part[i].substr(9)); 933 934 if (! isNaN(image_number)) 935 { 936 if (! allImgs[image_number]) 937 { 938 allImgs[image_number] = true; 939 j--; 940 } 941 content_body = content_body.replace(images_part[i],'msg_part='+j); 942 } 943 } 944 content_body = content_body.replace(/msg_part=-/g,'msg_part='); 945 883 946 mainField.document.getElementsByTagName('body').item(0).innerHTML = content_body; 884 // This is not just stupid, it refresh screen to avoid broken images885 mainField.document.getElementsByTagName('body').item(0).innerHTML = mainField.document.getElementsByTagName('body').item(0).innerHTML;886 947 } 887 948 … … 927 988 cExecute ("$this.imap_functions.delete_msgs&folder="+newMessageTab.imapBox[border_id]+"&msgs_number="+message_id,handler_delete_msg); 928 989 929 if (preferences.auto_save_draft == 1)930 setTimeout('auto_save_msg('+border_id+')', autosave_time);931 932 990 var save_link = Element("save_message_options"); 933 991 save_link.onclick = ''; … … 940 998 941 999 function save_msg(border_id){ 1000 942 1001 if (newMessageTab.imapBox[border_id]) //Gets the imap folder 943 1002 var folder_id = newMessageTab.imapBox[border_id]; … … 956 1015 message_id = newMessageTab.imapUid[border_id]; 957 1016 var handler_save_msg = function(data){ return_save(data,this.tmp_border_id,this.tmp_folder_name,this.tmp_folder_id,this.message_id); } 958 1017 959 1018 var textArea = document.createElement("TEXTAREA"); 960 1019 textArea.style.display='none'; 961 1020 textArea.name = "body"; 962 1021 body = document.getElementById("body_"+border_id); 1022 if (! body) 1023 return; 963 1024 textArea.value += '<body>\r\n'; 964 1025 textArea.value += body.contentWindow.document.body.innerHTML; … … 968 1029 input_folder.name = "folder"; 969 1030 input_folder.value = folder_id; 1031 var input_msgid = document.createElement("INPUT"); 1032 input_msgid.style.display='none'; 1033 input_msgid.name = "msg_id"; 1034 input_msgid.value = message_id; 970 1035 971 1036 if (is_ie){ … … 978 1043 form.appendChild(textArea); 979 1044 form.appendChild(input_folder); 1045 form.appendChild(input_msgid); 980 1046 981 1047 cExecuteForm ("$this.imap_functions.save_msg", form, handler_save_msg,border_id); … … 1091 1157 function print_all(){ 1092 1158 var folder= Element('border_id_0').innerHTML; 1093 var body = Element('divScrollMain ').innerHTML;1159 var body = Element('divScrollMain_'+numBox).innerHTML; 1094 1160 var print_width = screen.width - 200; 1095 1161 var x = ((screen.width - print_width) / 2); … … 1243 1309 } 1244 1310 1245 /*function select_all_messages(select){1246 var main = Element("tbody_box");1247 var main_list = main.childNodes;1248 var len_main_list = main_list.length;1249 1250 var j = 0;1251 if (select){1252 for (j; j<len_main_list; j++){1253 var check_box = Element("check_box_message_"+main_list[j].id);1254 if (check_box){1255 check_box.checked = true;1256 var tr = Element(main_list[j].id);1257 switch(tr.className){1258 case "tr_msg_read":1259 tr.className = 'selected_seen_msg_bg';1260 break;1261 case "tr_msg_unread":1262 tr.className = 'selected_unseen_msg_bg';1263 break;1264 case "important_msg_read":1265 tr.className = 'selected_important_msg_read';1266 break;1267 case "important_msg_unread":1268 tr.className = 'selected_important_msg_unread';1269 break;1270 }1271 }1272 }1273 }1274 else{1275 for (j; j<len_main_list; j++){1276 var check_box = Element("check_box_message_"+main_list[j].id);1277 if (check_box){1278 check_box.checked = false;1279 1280 var tr = Element(main_list[j].id);1281 switch(tr.className){1282 case "selected_seen_msg_bg":1283 tr.className = 'tr_msg_read';1284 break;1285 case "selected_unseen_msg_bg":1286 tr.className = 'tr_msg_unread';1287 break;1288 case "selected_important_msg_read":1289 tr.className = 'important_msg_read';1290 break;1291 case "selected_important_msg_unread":1292 tr.className = 'important_msg_unread';1293 break;1294 }1295 }1296 }1297 }1298 }*/1299 1300 1301 1311 function verify_session(data){ 1302 1312 if(data && data.imap_error) { -
trunk/expressoMail1_2/js/rich_text_editor.js
r279 r320 8 8 function cRichTextEditor(){ 9 9 this.emwindow = new Array; 10 this.editor ;11 this.table ;12 this.id ;10 this.editor = "body_1"; 11 this.table = ""; 12 this.id = "1"; 13 13 this.buildEditor(); 14 14 this.saveFlag = 0; … … 16 16 17 17 cRichTextEditor.prototype.loadEditor = function(ID) { 18 this.id = ID; 18 var _this = this; 19 _this.id = ID; 19 20 parentDiv = document.getElementById("body_position_"+this.id); 20 21 this.editor = "body_"+this.id; 22 23 if(this.table.parentNode) 24 this.table.parentNode.removeChild(this.table); 21 25 22 if(this.table.parentNode) 23 this.table.parentNode.removeChild(this.table); 24 25 if(parentDiv.firstChild){ 26 parentDiv.insertBefore(this.table,parentDiv.firstChild); 26 if( parentDiv.firstChild ) 27 { 28 if (!parentDiv.firstChild.hasChildNodes()) 29 parentDiv.insertBefore(this.table,parentDiv.firstChild); 27 30 } 28 31 else 29 32 parentDiv.appendChild(this.table); 30 33 31 if(!Element(this.editor)){ 34 if(!Element(this.editor)) 35 { 36 this.createElementEditor(this.editor); 37 } 38 else 39 { 40 Element("viewsource_rt_checkbox").checked=false; 41 } 42 43 document.getElementById('fontname').selectedIndex = 1; 44 document.getElementById('fontsize').selectedIndex = 1; 45 } 46 47 cRichTextEditor.prototype.createElementEditor = function(pObj) 48 { 32 49 iframe = document.createElement("IFRAME"); 33 iframe.id = this.editor;34 iframe.name = this.editor;50 iframe.id = pObj; 51 iframe.name = pObj; 35 52 iframe.width = "99%"; 36 53 iframe.height = 300; … … 46 63 parentDiv.appendChild(checkbox); 47 64 parentDiv.appendChild(text); 48 }49 else{50 Element("viewsource_rt_checkbox").checked=false;51 }52 53 document.getElementById('fontname').selectedIndex = 1;54 document.getElementById('fontsize').selectedIndex = 1;55 65 } 56 66 … … 231 241 mainField.document.execCommand(command, false, option); 232 242 //mainField.focus(); 233 } catch (e) { alert(e.description);}243 } catch (e) {/* alert(e);*/ } 234 244 } 235 245 … … 258 268 cRichTextEditor.prototype.addInputFile = function() 259 269 { 270 //Begin: Verify if the image extension is allowed. 271 var imgExtensions = new Array("jpeg", "jpg", "gif", "png", "bmp", "xbm", "tiff", "pcx"); 272 var inputFile = document.getElementById('inputFile_img'); 273 if(!inputFile.value) return false; 274 var fileExtension = inputFile.value.split("."); 275 fileExtension = fileExtension[(fileExtension.length-1)]; 276 var deniedExtension = true; 277 for(var i=0; i<imgExtensions.length; i++) { 278 if(imgExtensions[i].toUpperCase() == fileExtension.toUpperCase()) { 279 deniedExtension = false; 280 break; 281 } 282 } 283 if(deniedExtension) { 284 alert(get_lang('File extension forbidden or invalid file') + '.'); 285 return false; 286 } 287 // End: Verify image extension. 260 288 var id = this.editor.substr(5); // border_id 261 289 divFiles = document.getElementById("divFiles_"+id); 262 290 var countDivFiles = divFiles.childNodes.length + 1; 263 291 264 var inputFile = document.getElementById('inputFile_img');265 292 var divFiles = document.getElementById('divFiles_'+id); 266 293 inputFile.id = 'inputFile_'+id +"_"+countDivFiles; … … 273 300 form_upload.parentNode.removeChild(form_upload); 274 301 win.close(); 275 276 if (! validateFileExtension(inputFile.value, inputFile.id , id))277 return false;278 302 279 303 RichTextEditor.saveFlag = 0; // See if save function finished 304 var save_link = document.getElementById("save_message_options"); 305 //save_link.onclick = function () {}; 280 306 save_msg(id); 281 307 setTimeout("RichTextEditor.insertImgHtml("+id+")",1000); … … 286 312 setTimeout("RichTextEditor.insertImgHtml("+id+")",500); 287 313 else 314 if (RichTextEditor.saveFlag == 1) 288 315 this.editorCommand('Image', './inc/show_embedded_attach.php?msg_folder=INBOX/'+draftsfolder+'&msg_num='+newMessageTab.imapUid[id]+'&msg_part='+(newMessageTab.countFile[id]+1)); 289 316 // this.editorCommand('Image', '.inc/gotodownload.php?msg_folder="+msg_folder+"&msg_number="+msg_number+"&idx_file="+idx_file+"&msg_part="+msg_part+params')); -
trunk/expressoMail1_2/js/search.js
r271 r320 9 9 this.fields = new Array("_ass","_de","_body","_para","_cc","_cco"); 10 10 } 11 var search_tabs = 0; // Count the number of seach tabs12 11 13 12 //Monta os forms dentro da janela; … … 261 260 } 262 261 } 263 search_tabs += 1;264 var border_id = create_border(get_lang("Search Results"), "search_" + search_tabs);262 numBox++; 263 var border_id = create_border(get_lang("Search Results"), "search_" + numBox); 265 264 var table = document.createElement("TABLE"); 266 table.id = "table_resultsearch_" + search_tabs;265 table.id = "table_resultsearch_" + numBox; 267 266 table.width = "100%"; 268 267 table.borderColorDark = "#bbbbbb"; … … 273 272 274 273 var tbody = document.createElement("TBODY"); 275 tbody.id = "tbody_resultsearch_" + search_tabs;274 tbody.id = "tbody_resultsearch_" + numBox; 276 275 if(nw_array.length > 0){ 277 276 write_msg(nw_array.length + " "+ get_lang('results found')); … … 309 308 td.style.width = "1%"; 310 309 var subject_encode = url_encode(aux[2]); 311 var td1 = '<input type="checkbox" id="check_box_ search_message_'+tr.id+'"></input>';310 var td1 = '<input type="checkbox" id="check_box_message_'+tr.id.substr(tr.id.indexOf(';')+1)+'"></input>'; 312 311 } 313 312 if( j == 1){ … … 355 354 subject = tr.firstChild; 356 355 subject = subject.nextSibling.nextSibling.nextSibling.firstChild.firstChild.innerHTML; 357 // _dragArea.makeDragged(tr, msg_number, subject, true); 358 _dragArea.makeDragged(tr, tr.firstChild.firstChild.id.substr(tr.firstChild.firstChild.id.indexOf(';')+1), subject, true); 356 _dragArea.makeDragged(tr, uid_msg, subject, true, mailbox); 359 357 tbody.appendChild(tr); 360 358 } 361 359 table.appendChild(tbody); 362 360 363 var content_search = Element('content_id_ ' + "search_" + search_tabs);361 var content_search = Element('content_id_search_' + numBox); 364 362 // BEGIN MAKE THE SCROLL HEIGHT 365 363 var defaultWidth = document.body.offsetWidth - 31; … … 372 370 offset = bar.offsetHeight ? bar.offsetHeight : bar.clientHeight; 373 371 var div_scroll_result = document.createElement("DIV"); 374 div_scroll_result.id = "div _result_scroll_"+search_tabs;372 div_scroll_result.id = "divScrollMain_"+numBox; 375 373 div_scroll_result.style.background = 'WHITE'; 376 374 div_scroll_result.style.height = document.body.clientHeight - offset - 120; -
trunk/expressoMail1_2/js/shortcut.js
r163 r320 250 250 var selected_shortcut_msgs = ''; 251 251 var current_folder = get_current_folder(); 252 var tbody_box = Element('tbody_box'); 252 253 all_messages = Element('tbody_box').childNodes; 253 254 -
trunk/expressoMail1_2/setup/setup.inc.php
r271 r320 12 12 $setup_info['expressoMail1_2']['name'] = 'expressoMail1_2'; 13 13 $setup_info['expressoMail1_2']['title'] = 'ExpressoMail 1.2'; 14 $setup_info['expressoMail1_2']['version'] = '1.22 11';14 $setup_info['expressoMail1_2']['version'] = '1.222'; 15 15 $setup_info['expressoMail1_2']['app_order'] = 2; 16 16 // $setup_info['expressoMail1_2']['tables'][] = 'phpgw_expressoMail1_2'; -
trunk/expressoMail1_2/templates/default/index.tpl
r139 r320 29 29 <div style="height:4px"></div> 30 30 <div align="center"> 31 <input type="text" id="em_message_search" size="1 8" maxlength="22"/>31 <input type="text" id="em_message_search" size="16" maxlength="22" onfocus="javascript:onFocusQuickSearchEmail(this); return false;"/> 32 32 <a class='' onMouseOut="window.status='';return true;" title='{lang_Open_Search_Window}' onMouseOver="window.status='{lang_Open_Search_Window}';return true;" href="javascript:void(0);" onClick="javascript:search_emails(Element('em_message_search').value)"> 33 33 <img valign="center" align="center" src="templates/default/images/search.gif"> … … 37 37 </a> 38 38 </div> 39 <script type="text/javascript"> 40 41 var element_input = document.getElementById('em_message_search'); 39 42 40 </td> 43 function keyPressQuickSearchEmail(e) 44 { 45 if( e.keyCode == 13 ) 46 search_emails(element_input.value); 47 } 48 49 if ( element_input.addEventListener ) 50 element_input.addEventListener('keypress', keyPressQuickSearchEmail, false); 51 else if ( element_input.attachEvent ) 52 element_input.attachEvent('onkeypress', keyPressQuickSearchEmail); 53 54 function onFocusQuickSearchEmail(pInput) 55 { 56 if ( pInput.createTextRange ) 57 { 58 var FieldRange = pInput.createTextRange(); 59 FieldRange.moveStart('character', pInput.value.length); 60 FieldRange.collapse(); 61 FieldRange.select(); 62 } 63 } 64 65 </script> 66 </td> 41 67 <td width="2px"> </td> 42 68 <td width="*" valign="top" align="left"> -
trunk/expressoMail1_2/templates/default/preferences.tpl
r271 r320 108 108 </tr> 109 109 110 <tr bgcolor="{tr_color1}"> 111 <td> 112 {lang_auto_save_draft} 113 </td> 114 <td align="center"> 115 <input type="checkbox" name="auto_save_draft" value=1 {checked_auto_save_draft}> 116 </td> 117 </tr> 118 110 119 <tr bgcolor="{tr_color2}"> 111 120 <td colspan='2'>
Note: See TracChangeset
for help on using the changeset viewer.