[2551] | 1 | |
---|
| 2 | |
---|
| 3 | var lastPage = 1; |
---|
| 4 | var numPages = 5; |
---|
| 5 | var last_folder = 'INBOX'; |
---|
| 6 | |
---|
| 7 | function draw_quota(data){ |
---|
[2734] | 8 | build_quota(data); |
---|
[2551] | 9 | } |
---|
| 10 | |
---|
| 11 | function update_quota(folder_id){ |
---|
[2734] | 12 | cExecute ("expressoMail1_2.imap_functions.get_quota&folder_id="+folder_id,build_quota); |
---|
[2551] | 13 | } |
---|
| 14 | |
---|
| 15 | function draw_search(headers_msgs){ |
---|
[2734] | 16 | Element("border_id_0").innerHTML = " " + get_lang('Search Result') + " "; |
---|
[2551] | 17 | |
---|
[2734] | 18 | var tbody = Element('tbody_box'); |
---|
| 19 | for (var i=0; i<(headers_msgs.length); i++){ |
---|
| 20 | var tr = this.make_tr_message(headers_msgs[i], headers_msgs[i].msg_folder); |
---|
| 21 | if (tr) |
---|
| 22 | tbody.appendChild(tr); |
---|
| 23 | } |
---|
[2551] | 24 | } |
---|
| 25 | |
---|
[2715] | 26 | function draw_header_box(){ |
---|
| 27 | switch(sort_box_type){ |
---|
| 28 | case 'SORTFROM': |
---|
| 29 | type_name = get_lang("Who"); |
---|
| 30 | break; |
---|
| 31 | case 'SORTSUBJECT': |
---|
| 32 | type_name = get_lang("Subject"); |
---|
| 33 | break; |
---|
| 34 | case 'SORTARRIVAL': |
---|
| 35 | type_name = get_lang("Date"); |
---|
| 36 | break; |
---|
| 37 | case 'SORTSIZE': |
---|
| 38 | type_name = get_lang("Size"); |
---|
| 39 | break; |
---|
| 40 | default: |
---|
| 41 | type_name = get_lang("Date"); |
---|
| 42 | break; |
---|
| 43 | } |
---|
[2929] | 44 | document.getElementById("_msgheadSORTFROM_"+numBox).innerHTML = get_lang("Who"); |
---|
| 45 | document.getElementById("_msgheadSORTSUBJECT_"+numBox).innerHTML = get_lang("Subject"); |
---|
| 46 | document.getElementById("_msgheadSORTARRIVAL_"+numBox).innerHTML = get_lang("Date"); |
---|
| 47 | document.getElementById("_msgheadSORTSIZE_"+numBox).innerHTML = get_lang("Size"); |
---|
[2947] | 48 | var elHead = document.getElementById("_msghead"+(sort_box_type.lastIndexOf("SORT") != "-1" ? sort_box_type : "SORTARRIVAL")+"_"+numBox ); |
---|
| 49 | if(elHead != null) |
---|
| 50 | elHead.innerHTML = "<B>"+type_name+'</B><img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/arrow_'+(sort_box_reverse == 1 ? 'desc' : 'asc')+'endant.gif">'; |
---|
[2715] | 51 | } |
---|
| 52 | |
---|
[2551] | 53 | function draw_search_header_box(){ |
---|
[2930] | 54 | var _tbl_msghead_bx = Element("_tbl_msghead_bx"); |
---|
| 55 | _tbl_msghead_bx.parentNode.removeChild(_tbl_msghead_bx); |
---|
[2551] | 56 | |
---|
[2734] | 57 | var content_id_0 = Element("content_id_0"); |
---|
| 58 | var table_element = document.createElement("TABLE"); |
---|
| 59 | var tbody_element = document.createElement("TBODY"); |
---|
[2930] | 60 | table_element.setAttribute("id", "_tbl_msghead_bx"); |
---|
[2734] | 61 | table_element.className = "table_message_header_box"; |
---|
| 62 | tr_element = document.createElement("TR"); |
---|
| 63 | tr_element.className = "message_header"; |
---|
| 64 | td_element1 = document.createElement("TD"); |
---|
| 65 | td_element1.setAttribute("width", "1%"); |
---|
| 66 | chk_box_element = document.createElement("INPUT"); |
---|
[2929] | 67 | chk_box_element.id = "chkbox_sel_allmsg"; |
---|
[2734] | 68 | chk_box_element.setAttribute("type", "checkbox"); |
---|
| 69 | chk_box_element.className = "checkbox"; |
---|
| 70 | chk_box_element.onclick = function(){ |
---|
| 71 | select_all_messages(this.checked); |
---|
[2551] | 72 | }; |
---|
[2734] | 73 | chk_box_element.onmouseover = function () { |
---|
| 74 | this.title=get_lang('Select all messages.') |
---|
| 75 | }; |
---|
| 76 | chk_box_element.onkeydown = function (e){ |
---|
| 77 | if (is_ie) |
---|
| 78 | { |
---|
| 79 | if ((window.event.keyCode) == 46) |
---|
| 80 | { |
---|
| 81 | //delete_all_selected_msgs_imap(); |
---|
| 82 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
| 83 | } |
---|
| 84 | } |
---|
| 85 | else |
---|
| 86 | { |
---|
| 87 | if ((e.keyCode) == 46) |
---|
| 88 | { |
---|
| 89 | //delete_all_selected_msgs_imap(); |
---|
| 90 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
| 91 | } |
---|
| 92 | } |
---|
| 93 | }; |
---|
[2551] | 94 | |
---|
[2734] | 95 | td_element1.appendChild(chk_box_element); |
---|
| 96 | td_element2 = document.createElement("TD"); |
---|
| 97 | td_element2.setAttribute("width", "3%"); |
---|
| 98 | td_element3 = document.createElement("TD"); |
---|
| 99 | td_element3.setAttribute("width", "30%"); |
---|
[2929] | 100 | td_element3.id = "_msgheadSORTFROM"; |
---|
[2734] | 101 | td_element3.align = "left"; |
---|
| 102 | td_element3.innerHTML = get_lang("From"); |
---|
| 103 | td_element4 = document.createElement("TD"); |
---|
| 104 | td_element4.setAttribute("width", "49%"); |
---|
[2929] | 105 | td_element4.id = "_msgheadSORTSUBJECT"; |
---|
[2734] | 106 | td_element4.align = "left"; |
---|
| 107 | td_element4.innerHTML = get_lang("Subject"); |
---|
| 108 | td_element5 = document.createElement("TD"); |
---|
| 109 | td_element5.setAttribute("width", "10%"); |
---|
[2929] | 110 | td_element5.id = "_msgheadSORTARRIVAL"; |
---|
[2734] | 111 | td_element5.align = "center"; |
---|
| 112 | td_element5.innerHTML = "<B>"+get_lang("Date")+"</B>"; |
---|
| 113 | td_element5.innerHTML += '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/arrow_descendant.gif">'; |
---|
| 114 | td_element6 = document.createElement("TD"); |
---|
| 115 | td_element6.setAttribute("width", "10%"); |
---|
[2929] | 116 | td_element6.id = "_msgheadSORTSIZE"; |
---|
[2734] | 117 | td_element6.align = "right"; |
---|
| 118 | td_element6.innerHTML = get_lang("Size"); |
---|
| 119 | tr_element.appendChild(td_element1); |
---|
| 120 | tr_element.appendChild(td_element2); |
---|
| 121 | tr_element.appendChild(td_element3); |
---|
| 122 | tr_element.appendChild(td_element4); |
---|
| 123 | tr_element.appendChild(td_element5); |
---|
| 124 | tr_element.appendChild(td_element6); |
---|
[2551] | 125 | |
---|
[2734] | 126 | tbody_element.appendChild(tr_element); |
---|
| 127 | table_element.appendChild(tbody_element); |
---|
| 128 | content_id_0.appendChild(table_element); |
---|
[2551] | 129 | } |
---|
| 130 | |
---|
| 131 | function draw_search_division(msg){ |
---|
[2734] | 132 | var tbody = Element('tbody_box'); |
---|
| 133 | var tr = document.createElement("TR"); |
---|
| 134 | var td = document.createElement("TD"); |
---|
| 135 | td.colSpan = '7'; |
---|
| 136 | td.width = '100%'; |
---|
[2551] | 137 | |
---|
[2734] | 138 | var action_info_table = document.createElement("TABLE"); |
---|
| 139 | var action_info_tbody = document.createElement("TBODY"); |
---|
[2551] | 140 | |
---|
[2734] | 141 | action_info_table.className = "action_info_table"; |
---|
| 142 | action_info_table.width = "100%"; |
---|
[2551] | 143 | |
---|
[2734] | 144 | var action_info_tr = document.createElement("TR"); |
---|
[2551] | 145 | |
---|
[2734] | 146 | var action_info_th1 = document.createElement("TH"); |
---|
| 147 | action_info_th1.width = "40%"; |
---|
| 148 | action_info_th1.innerHTML = " "; |
---|
[2551] | 149 | |
---|
[2734] | 150 | var action_info_th2 = document.createElement("TH"); |
---|
[2551] | 151 | |
---|
[2734] | 152 | action_info_th2.innerHTML = msg; |
---|
| 153 | action_info_th2.className = "action_info_th"; |
---|
| 154 | action_info_th2.setAttribute("noWrap", "true"); |
---|
[2551] | 155 | |
---|
[2734] | 156 | var action_info_th3 = document.createElement("TH"); |
---|
| 157 | action_info_th3.width = "40%"; |
---|
| 158 | action_info_th3.innerHTML = " "; |
---|
[2551] | 159 | |
---|
[2734] | 160 | action_info_tr.appendChild(action_info_th1); |
---|
| 161 | action_info_tr.appendChild(action_info_th2); |
---|
| 162 | action_info_tr.appendChild(action_info_th3); |
---|
| 163 | action_info_tbody.appendChild(action_info_tr); |
---|
| 164 | action_info_table.appendChild(action_info_tbody); |
---|
[2551] | 165 | |
---|
[2734] | 166 | td.appendChild(action_info_table); |
---|
| 167 | tr.appendChild(td); |
---|
| 168 | tbody.appendChild(tr); |
---|
[2551] | 169 | } |
---|
| 170 | |
---|
| 171 | function draw_search_box(){ |
---|
[2734] | 172 | var content_id_0 = Element("content_id_0"); |
---|
| 173 | var table = document.createElement("TABLE"); |
---|
| 174 | table.id = "table_box"; |
---|
| 175 | table.width = 'auto'; |
---|
| 176 | var tbody = document.createElement("TBODY"); |
---|
| 177 | tbody.id = "tbody_box"; |
---|
[2551] | 178 | |
---|
[2734] | 179 | table.className = "table_box"; |
---|
| 180 | table.setAttribute("frame", "below"); |
---|
| 181 | table.setAttribute("rules", "none"); |
---|
| 182 | table.setAttribute("cellpadding", "0"); |
---|
| 183 | table.onkeydown = function (e){ |
---|
| 184 | if (is_ie) |
---|
| 185 | { |
---|
| 186 | if ((window.event.keyCode) == 46) |
---|
| 187 | { |
---|
| 188 | //delete_all_selected_msgs_imap(); |
---|
| 189 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
| 190 | } |
---|
| 191 | } |
---|
| 192 | else |
---|
| 193 | { |
---|
| 194 | if ((e.keyCode) == 46) |
---|
| 195 | { |
---|
| 196 | //delete_all_selected_msgs_imap(); |
---|
| 197 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
| 198 | } |
---|
| 199 | } |
---|
| 200 | }; |
---|
[2551] | 201 | if (is_ie) |
---|
[2734] | 202 | table.style.cursor = "hand"; |
---|
[2551] | 203 | |
---|
[2734] | 204 | table.appendChild(tbody); |
---|
| 205 | content_id_0.appendChild(table); |
---|
[2551] | 206 | } |
---|
| 207 | |
---|
| 208 | function build_quota(data){ |
---|
[2734] | 209 | id = "content_quota"; |
---|
[2980] | 210 | q_limit = data['quota_limit']*1024; |
---|
[2734] | 211 | var div = document.getElementById(id); |
---|
| 212 | if(!q_limit){ |
---|
| 213 | div.innerHTML = '<span><font size="2" style="color:red"><strong>'+get_lang("Without Quota")+'</strong></font></span>'; |
---|
| 214 | } |
---|
| 215 | else{ |
---|
| 216 | if(div) |
---|
| 217 | { |
---|
| 218 | div.innerHTML = ''; |
---|
| 219 | value = data['quota_percent']; |
---|
[2980] | 220 | q_used = data['quota_used']*1024; |
---|
[2734] | 221 | table = document.getElementById("table_quota"); |
---|
| 222 | if(table) |
---|
| 223 | table.parentNode.removeChild(table); |
---|
| 224 | table = document.createElement("TABLE"); |
---|
| 225 | tbody = document.createElement("TBODY"); |
---|
| 226 | table.appendChild(tbody); |
---|
| 227 | table.id = "table_quota"; |
---|
| 228 | table.width="102"; |
---|
| 229 | table.border="0"; |
---|
| 230 | table.cellSpacing = 0; |
---|
| 231 | table.cellPadding = 0; |
---|
[2551] | 232 | |
---|
[2734] | 233 | //tr1 = document.createElement("TR"); |
---|
| 234 | td11 = document.createElement("TD"); |
---|
| 235 | td11.align="center"; |
---|
| 236 | td11.setAttribute("noWrap","true"); |
---|
[2980] | 237 | |
---|
| 238 | td11.innerHTML += ' <span class="boxHeaderText">' + value+"% ("+borkb(q_used)+"/"+borkb(q_limit)+")</span>"; |
---|
[2734] | 239 | //tr1.appendChild(td11); |
---|
[2551] | 240 | |
---|
[2734] | 241 | tr2 = document.createElement("TR"); |
---|
| 242 | td21 = document.createElement("TD"); |
---|
| 243 | td21.setAttribute("noWrap","true"); |
---|
| 244 | td21.height="15"; |
---|
| 245 | td22 = document.createElement("TD"); |
---|
| 246 | td21.setAttribute("background", URL_SERVER + 'phpgwapi/templates/' + template + '/images/dsunused.gif'); |
---|
| 247 | table221 = document.createElement("TABLE"); |
---|
| 248 | tbody221 = document.createElement("TBODY"); |
---|
| 249 | table221.appendChild(tbody221); |
---|
| 250 | table221.style.width=value+"%"; |
---|
| 251 | td21.width="102"; |
---|
| 252 | table221.border="0"; |
---|
| 253 | table221.cellSpacing = 0; |
---|
| 254 | table221.cellPadding = 0; |
---|
| 255 | tr221 = document.createElement("TR"); |
---|
| 256 | td221 = document.createElement("TD"); |
---|
| 257 | td221.height="15"; |
---|
| 258 | if(value > 90) { |
---|
| 259 | if(value >= 100) |
---|
| 260 | write_msg(get_lang("Your Mailbox is 100% full! You must free more space or will not receive messages.")); |
---|
| 261 | else |
---|
| 262 | write_msg(get_lang("Warning: Your Mailbox is almost full!")); |
---|
| 263 | td221.setAttribute("background","templates/"+template+"/images/dsalert.gif"); |
---|
| 264 | } |
---|
| 265 | else if(value > 80) |
---|
| 266 | td221.setAttribute("background", URL_SERVER + 'expressoMail1_2/templates/' + template + '/images/dswarn.gif'); |
---|
| 267 | else |
---|
| 268 | td221.className = 'dsused'; |
---|
[2551] | 269 | |
---|
[2734] | 270 | tr221.appendChild(td221); |
---|
| 271 | tbody221.appendChild(tr221); |
---|
| 272 | td21.appendChild(table221); |
---|
| 273 | tr2.appendChild(td21); |
---|
| 274 | tr2.appendChild(td11); |
---|
[2551] | 275 | |
---|
[2734] | 276 | //tr2.appendChild(td1); |
---|
[2551] | 277 | |
---|
[2734] | 278 | tbody.appendChild(tr2); //Desenho |
---|
| 279 | //tbody.appendChild(tr1); //Letras |
---|
| 280 | div.appendChild(table); |
---|
| 281 | } |
---|
[2551] | 282 | } |
---|
| 283 | } |
---|
| 284 | |
---|
| 285 | function draw_paging(num_msgs){ |
---|
[2734] | 286 | num_msgs = parseInt(num_msgs); |
---|
| 287 | total_pages = 1; |
---|
[2551] | 288 | |
---|
[2734] | 289 | if(last_folder != current_folder){ |
---|
| 290 | lastPage = 1; |
---|
| 291 | current_page = 1; |
---|
| 292 | last_folder = current_folder; |
---|
| 293 | } |
---|
[2551] | 294 | |
---|
[2734] | 295 | if(num_msgs > parseInt(preferences.max_email_per_page)) { |
---|
| 296 | total_pages = parseInt(num_msgs/preferences.max_email_per_page); |
---|
| 297 | if((num_msgs/preferences.max_email_per_page) > total_pages) |
---|
| 298 | total_pages++; |
---|
| 299 | } |
---|
[2551] | 300 | |
---|
[2734] | 301 | if(total_pages == 1) { |
---|
| 302 | if(span_paging = document.getElementById("span_paging")) { |
---|
| 303 | span_paging.parentNode.removeChild(span_paging); |
---|
| 304 | } |
---|
| 305 | return; |
---|
[2551] | 306 | } |
---|
| 307 | |
---|
[2734] | 308 | span_paging = document.getElementById("span_paging"); |
---|
| 309 | if(!span_paging){ |
---|
| 310 | span_paging = document.createElement("DIV"); |
---|
| 311 | span_paging.id = "span_paging"; |
---|
| 312 | span_paging.className = "boxHeaderText"; |
---|
| 313 | span_paging.align="right"; |
---|
| 314 | var div_menu_c3 = document.getElementById("div_menu_c3"); |
---|
| 315 | if ( div_menu_c3 ) |
---|
| 316 | div_menu_c3.appendChild(span_paging); |
---|
| 317 | } |
---|
| 318 | span_paging.style.width="100%"; |
---|
| 319 | span_paging.innerHTML=""; |
---|
| 320 | msg_range_begin = 1; |
---|
| 321 | msg_range_end = preferences.max_email_per_page; |
---|
| 322 | if(current_page != 1) { |
---|
| 323 | lnk_page = document.createElement("A"); |
---|
[2743] | 324 | lnk_page.setAttribute("href", "javascript:current_page=1;kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box.draw_newBox(data, get_current_folder());});"); |
---|
[2734] | 325 | } |
---|
| 326 | else { |
---|
| 327 | lnk_page = document.createElement("SPAN"); |
---|
| 328 | } |
---|
| 329 | span_paging.appendChild(lnk_page); |
---|
[2551] | 330 | |
---|
[2734] | 331 | lnk_page.innerHTML = "<<"; |
---|
| 332 | lnk_page.title = get_lang("First"); |
---|
| 333 | span_paging.innerHTML += " "; |
---|
[2551] | 334 | |
---|
[2734] | 335 | if(current_page == lastPage + numPages) |
---|
| 336 | lastPage = current_page - 1; |
---|
| 337 | else if((lastPage != 1 && lastPage == current_page) || current_page == total_pages) |
---|
| 338 | lastPage = current_page - (numPages - 1); |
---|
| 339 | else if(current_page == 1) |
---|
| 340 | lastPage = 1; |
---|
[2551] | 341 | |
---|
[2734] | 342 | if(lastPage < 1) |
---|
| 343 | lastPage = 1; |
---|
| 344 | else if(lastPage > 1 && (lastPage > (total_pages -(numPages - 1)))) |
---|
| 345 | lastPage = total_pages -(numPages - 1); |
---|
[2551] | 346 | |
---|
[2734] | 347 | var hasMarked = false; |
---|
[2551] | 348 | |
---|
[2734] | 349 | for(i = lastPage; i <= total_pages; i++) { |
---|
[2551] | 350 | |
---|
[2734] | 351 | if(current_page == i || (i == total_pages && !hasMarked)) { |
---|
| 352 | lnk_page = document.createElement("SPAN"); |
---|
| 353 | span_paging.appendChild(lnk_page); |
---|
| 354 | lnk_page.innerHTML = " <b>"+i+"</b> "; |
---|
| 355 | hasMarked = true; |
---|
| 356 | continue; |
---|
| 357 | } |
---|
| 358 | else{ |
---|
| 359 | lnk_page = document.createElement("A"); |
---|
| 360 | span_paging.appendChild(lnk_page); |
---|
| 361 | msg_range_begin = ((i*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); |
---|
| 362 | msg_range_end = (i*preferences.max_email_per_page); |
---|
[2743] | 363 | lnk_page.setAttribute("href", "javascript:current_page="+i+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box.draw_newBox(data, get_current_folder());});"); |
---|
[2734] | 364 | } |
---|
[2551] | 365 | |
---|
[2734] | 366 | lnk_page.innerHTML = " ... "; |
---|
[2551] | 367 | |
---|
[2734] | 368 | if(i == (lastPage + numPages)) |
---|
| 369 | break; |
---|
| 370 | else if(lastPage == 1 || i != lastPage) |
---|
| 371 | lnk_page.innerHTML = " "+i+" "; |
---|
[2551] | 372 | |
---|
[2734] | 373 | span_paging.innerHTML += " "; |
---|
| 374 | } |
---|
| 375 | |
---|
| 376 | if(current_page != total_pages) { |
---|
| 377 | lnk_page = document.createElement("A"); |
---|
| 378 | msg_range_begin = ((total_pages*preferences.max_email_per_page)-(preferences.max_email_per_page-1)); |
---|
| 379 | msg_range_end = (total_pages*preferences.max_email_per_page); |
---|
[2743] | 380 | lnk_page.setAttribute("href", "javascript:current_page="+total_pages+";kill_current_box(); draw_paging("+num_msgs+"); proxy_mensagens.messages_list(get_current_folder(),"+msg_range_begin+","+msg_range_end+",'"+sort_box_type+"','"+search_box_type+"',"+sort_box_reverse+","+preferences.preview_msg_subject+","+preferences.preview_msg_tip+",function handler(data){draw_box.draw_newBox(data, get_current_folder());});"); |
---|
[2734] | 381 | } |
---|
| 382 | else { |
---|
| 383 | lnk_page = document.createElement("SPAN"); |
---|
| 384 | } |
---|
[2551] | 385 | span_paging.innerHTML += " "; |
---|
[2734] | 386 | span_paging.appendChild(lnk_page); |
---|
[2551] | 387 | |
---|
[2734] | 388 | lnk_page.title = get_lang("Last"); |
---|
| 389 | lnk_page.innerHTML = ">>"; |
---|
[2551] | 390 | } |
---|
| 391 | |
---|
| 392 | |
---|
| 393 | function draw_tree_local_folders() { |
---|
[2734] | 394 | /** |
---|
[2551] | 395 | * Pastas locais |
---|
| 396 | */ |
---|
[2734] | 397 | if(preferences.use_local_messages==1 || expresso_offline) { |
---|
| 398 | var local_folders = expresso_local_messages.list_local_folders(); |
---|
| 399 | var has_changes = false; |
---|
| 400 | for (var i in local_folders) { //Coloca as pastas locais. |
---|
| 401 | if(!isNaN(i)){ |
---|
| 402 | var new_caption = local_folders[i][0]; |
---|
| 403 | if(local_folders[i][0].indexOf("/")!="-1") { |
---|
| 404 | final_pos = local_folders[i][0].lastIndexOf("/"); |
---|
| 405 | new_caption = local_folders[i][0].substr(final_pos+1); |
---|
| 406 | } |
---|
[2551] | 407 | |
---|
[2734] | 408 | var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); |
---|
[2551] | 409 | |
---|
[2734] | 410 | if ((folder_unseen) && (local_folders[i][1] > 0)) |
---|
| 411 | { |
---|
| 412 | folder_unseen.innerHTML = local_folders[i][1]; |
---|
| 413 | has_changes = true; |
---|
| 414 | } |
---|
| 415 | else if (local_folders[i][1] > 0) |
---|
| 416 | { |
---|
| 417 | tree_folders.getNodeById("local_"+local_folders[i][0]).alter({ |
---|
| 418 | caption:lang_folder(new_caption) + '<font style=color:red> (</font><span id="dftree_local_'+local_folders[i][0]+'_unseen" style=color:red>'+local_folders[i][1]+'</span><font style=color:red>)</font>' |
---|
| 419 | }); |
---|
| 420 | tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); |
---|
| 421 | has_changes = true; |
---|
| 422 | } |
---|
| 423 | else if (local_folders[i][1] <= 0) |
---|
| 424 | { |
---|
| 425 | tree_folders.getNodeById("local_"+local_folders[i][0]).alter({ |
---|
| 426 | caption:lang_folder(new_caption) |
---|
| 427 | }); |
---|
| 428 | tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); |
---|
| 429 | has_changes = true; |
---|
| 430 | } |
---|
[2551] | 431 | |
---|
[2747] | 432 | if("local_"+local_folders[i][0] == get_current_folder()){ |
---|
| 433 | var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); |
---|
| 434 | if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ |
---|
| 435 | Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); |
---|
| 436 | } |
---|
| 437 | Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; |
---|
| 438 | draw_paging(Element('tot_m').innerHTML); |
---|
| 439 | has_changes = true; |
---|
| 440 | } |
---|
[2676] | 441 | } |
---|
[2734] | 442 | } |
---|
| 443 | if(has_changes) |
---|
| 444 | tree_folders.getNodeById("local_root").open(); |
---|
[2551] | 445 | |
---|
[2734] | 446 | } |
---|
[2551] | 447 | } |
---|
| 448 | |
---|
[2899] | 449 | function draw_tree_folders( folders ) |
---|
| 450 | { |
---|
[2734] | 451 | // Check if the tree folders alredy exist. |
---|
[2899] | 452 | if ( ! Element( 'dftree_tree_folders' ) ) |
---|
| 453 | { |
---|
| 454 | translatedFolders = new Map( ); |
---|
| 455 | if ( ! expresso_offline ) |
---|
| 456 | { |
---|
| 457 | tree_folders = new dFTree( { |
---|
| 458 | "name" : 'tree_folders' |
---|
| 459 | } ); |
---|
[2551] | 460 | |
---|
[2899] | 461 | var n_root = new dNode( { |
---|
| 462 | "id" : 'root', |
---|
| 463 | "caption" : get_lang( "My Folders" ) |
---|
| 464 | } ); |
---|
[2551] | 465 | |
---|
[2899] | 466 | tree_folders.add( n_root, 'anything' ); //Places the root; second argument can be anything. |
---|
[2551] | 467 | |
---|
[2899] | 468 | var unseen_in_mailbox = 0; |
---|
| 469 | var unseen_in_shared_folders = 0; |
---|
[2551] | 470 | |
---|
[2899] | 471 | for ( var i = 0; i < folders.length; i++ ) |
---|
[2747] | 472 | { |
---|
[2899] | 473 | if ( folders[ i ].folder_unseen > 0 ) |
---|
| 474 | { |
---|
| 475 | unseen_in_mailbox = parseInt( unseen_in_mailbox + folders[ i ].folder_unseen ); |
---|
| 476 | if ( folders[i].folder_id.indexOf( 'INBOX' ) !== 0 ) |
---|
| 477 | unseen_in_shared_folders = parseInt( unseen_in_shared_folders + folders[ i ].folder_unseen ); |
---|
[2551] | 478 | |
---|
[2899] | 479 | var nn = new dNode( { |
---|
| 480 | "id" : folders[i].folder_id, |
---|
| 481 | "caption" : lang_folder( folders[ i ].folder_name ) |
---|
| 482 | + '<font style=color:red> (</font><span id="dftree_' |
---|
| 483 | + folders[ i ].folder_id |
---|
| 484 | + '_unseen" style=color:red>' |
---|
| 485 | + folders[ i ].folder_unseen |
---|
| 486 | + '</span><font style=color:red>)</font>', |
---|
| 487 | "onClick" : "change_folder('" + folders[ i ].folder_id+"','" + folders[ i ].folder_name + "')", |
---|
| 488 | "plusSign" : folders[ i ].folder_hasChildren |
---|
| 489 | } ); |
---|
[2551] | 490 | |
---|
[2899] | 491 | if ( folders[ i ].folder_name.toLowerCase( ) == 'inbox' ) |
---|
| 492 | Element( 'new_m' ).innerHTML = '<font style="color:red">' + folders[ i ].folder_unseen + '</font>'; |
---|
| 493 | } |
---|
| 494 | else |
---|
| 495 | var nn = new dNode( { |
---|
| 496 | "id" : folders[ i ].folder_id, |
---|
| 497 | "caption" : lang_folder( folders[ i ].folder_name ), |
---|
| 498 | "onClick" : "change_folder('" + folders[ i ].folder_id + "','" + folders[ i ].folder_name + "')", |
---|
| 499 | "plusSign" : folders[ i ].folder_hasChildren |
---|
| 500 | }); |
---|
[2551] | 501 | |
---|
[2899] | 502 | if ( folders[ i ].folder_parent == '' ) |
---|
| 503 | folders[ i ].folder_parent = 'root'; |
---|
| 504 | else |
---|
| 505 | { |
---|
| 506 | if ( folders[ i ].folder_parent == 'user' && ( ! tree_folders.getNodeById( 'user' ) ) ) |
---|
[2747] | 507 | { |
---|
[2899] | 508 | tmpFolderId = folders[ i ].folder_id.split( cyrus_delimiter ).pop( ); |
---|
| 509 | if ( tmpFolderId != folders[ i ].folder_name ) |
---|
| 510 | translatedFolders.add( tmpFolderId, folders[ i ].folder_name ); |
---|
| 511 | |
---|
| 512 | var n_root_shared_folders = new dNode( { |
---|
| 513 | "id" : 'user', |
---|
| 514 | "caption" : get_lang( "Shared folders" ), |
---|
| 515 | "plusSign" : true |
---|
| 516 | } ); |
---|
| 517 | tree_folders.add( n_root_shared_folders, 'root' ); |
---|
[2747] | 518 | } |
---|
| 519 | } |
---|
[2899] | 520 | tree_folders.add( nn, folders[ i ].folder_parent ); |
---|
| 521 | } |
---|
[2551] | 522 | } |
---|
[2899] | 523 | |
---|
| 524 | /** |
---|
| 525 | * Pastas locais |
---|
| 526 | */ |
---|
| 527 | if (preferences.use_local_messages==1 || expresso_offline) |
---|
| 528 | { |
---|
| 529 | if (!window.google || !google.gears) { |
---|
| 530 | if (!expresso_local_messages.installGears()) |
---|
| 531 | preferences.use_local_messages=0; |
---|
[2734] | 532 | } |
---|
[2899] | 533 | else{ |
---|
| 534 | if (!window.google || !google.gears) { |
---|
| 535 | temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to be redirected to gears installation page?")); |
---|
| 536 | if (temp) { |
---|
| 537 | location.href = "http://gears.google.com/?action=install&message="+ |
---|
| 538 | "Para utilizar o recurso de mensagens locais, instale o google gears&return=" + |
---|
| 539 | document.location.href; |
---|
| 540 | } |
---|
| 541 | else { |
---|
| 542 | preferences.use_local_messages=0; |
---|
| 543 | } |
---|
| 544 | } |
---|
| 545 | else{ |
---|
| 546 | if (expresso_offline) |
---|
| 547 | tree_folders = new dFTree({ |
---|
| 548 | "name" : 'tree_folders' |
---|
| 549 | }); |
---|
| 550 | var root_local = new dNode({ |
---|
| 551 | "id" : "local_root", |
---|
| 552 | "caption" : get_lang('local folders') |
---|
| 553 | }); |
---|
| 554 | tree_folders.add(root_local, "root"); //coloca root local |
---|
| 555 | var local_folders = expresso_local_messages.list_local_folders(); |
---|
| 556 | for (var i in local_folders) { //Coloca as pastas locais. |
---|
| 557 | if(!isNaN(i)){ |
---|
| 558 | var node_root = "local_root"; |
---|
| 559 | var new_caption = local_folders[i][0]; |
---|
| 560 | if (local_folders[i][0].indexOf("/") != "-1") { |
---|
| 561 | final_pos = local_folders[i][0].lastIndexOf("/"); |
---|
| 562 | node_root = "local_" + local_folders[i][0].substr(0, final_pos); |
---|
| 563 | new_caption = local_folders[i][0].substr(final_pos + 1); |
---|
| 564 | } |
---|
| 565 | if (local_folders[i][1] > 0) |
---|
| 566 | var nodeLocal = new dNode({ |
---|
| 567 | "id": "local_" + local_folders[i][0], |
---|
| 568 | "caption": lang_folder(new_caption) + '<font style=color:red> (</font><span id="local_unseen" style=color:red>' + local_folders[i][1] + '</span><font style=color:red>)</font>', |
---|
| 569 | "onClick": "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", |
---|
| 570 | "plusSign": local_folders[i][2] |
---|
| 571 | }); |
---|
| 572 | else |
---|
| 573 | var nodeLocal = new dNode({ |
---|
| 574 | "id": "local_" + local_folders[i][0], |
---|
| 575 | "caption": lang_folder(new_caption), |
---|
| 576 | "onClick": "change_folder('local_" + local_folders[i][0] + "','" + new_caption + "')", |
---|
| 577 | "plusSign": local_folders[i][2] |
---|
| 578 | }); |
---|
| 579 | tree_folders.add(nodeLocal, node_root); |
---|
| 580 | } |
---|
| 581 | } |
---|
| 582 | } |
---|
[2734] | 583 | } |
---|
[2676] | 584 | } |
---|
[2899] | 585 | |
---|
| 586 | tree_folders.draw( Element( 'content_folders' ) ); |
---|
| 587 | if ( ! expresso_offline ) |
---|
| 588 | { |
---|
| 589 | n_root.changeState( ); |
---|
| 590 | folder_select = ( current_folder ? current_folder : "INBOX" ); |
---|
| 591 | |
---|
[2947] | 592 | if ( typeof( tree_folders.getNodeById( folder_select ) ) != 'function' ) |
---|
[2899] | 593 | return false; |
---|
| 594 | |
---|
| 595 | tree_folders.getNodeById( folder_select )._select( ); |
---|
[2676] | 596 | } |
---|
[2899] | 597 | else |
---|
| 598 | { |
---|
| 599 | root_local.changeState( ); |
---|
| 600 | tree_folders.getNodeById( 'local_Inbox' )._select( ); |
---|
| 601 | } |
---|
[2551] | 602 | |
---|
[2899] | 603 | var trash_span = document.getElementById( 'lINBOX/' + trashfolder + 'tree_folders' ); |
---|
| 604 | var draft_span = document.getElementById( 'lINBOX/' + draftsfolder + 'tree_folders' ); |
---|
| 605 | var sent_span = document.getElementById( 'lINBOX/' + sentfolder + 'tree_folders' ); |
---|
| 606 | var spam_span = document.getElementById( 'lINBOX/' + spamfolder + 'tree_folders' ); |
---|
[2551] | 607 | |
---|
[2931] | 608 | var folder_img = URL_SERVER + "phpgwapi/templates/" +template + "/images/foldertree_"; |
---|
[2551] | 609 | |
---|
[2899] | 610 | if ( trash_span ) |
---|
| 611 | trash_span.style.backgroundImage = "url(" + folder_img + "trash.png)"; |
---|
[2551] | 612 | |
---|
[2899] | 613 | if ( draft_span ) |
---|
| 614 | draft_span.style.backgroundImage = "url(" + folder_img + "draft.png)"; |
---|
[2551] | 615 | |
---|
[2899] | 616 | if ( sent_span ) |
---|
| 617 | sent_span.style.backgroundImage = "url(" + folder_img + "sent.png)"; |
---|
[2551] | 618 | |
---|
[2899] | 619 | if ( spam_span ) |
---|
| 620 | spam_span.style.backgroundImage = "url(" + folder_img + "spam.png)"; |
---|
[2551] | 621 | |
---|
| 622 | |
---|
[2899] | 623 | draw_paging( Element( 'tot_m' ).innerHTML ); |
---|
[2551] | 624 | |
---|
[2899] | 625 | if ( document.getElementById( "nINBOX/" + trashfolder + "tree_folders" ) ) |
---|
| 626 | { |
---|
| 627 | var trash = document.createElement( "SPAN" ); |
---|
| 628 | trash.id = 'empty_trash'; |
---|
| 629 | trash.className = 'clean_folder'; |
---|
| 630 | trash.style.cursor = 'pointer'; |
---|
| 631 | trash.onclick = function( ) |
---|
| 632 | { |
---|
| 633 | empty_trash_imap( ); |
---|
| 634 | }; |
---|
| 635 | trash.innerHTML = "[" + get_lang( "Clean" ) + "]"; |
---|
| 636 | trash.title = get_lang( "Empty trash" ); |
---|
| 637 | trash.onmouseover = function( ) |
---|
| 638 | { |
---|
| 639 | trash.style.color = "red"; |
---|
| 640 | }; |
---|
| 641 | trash.onmouseout= function( ) |
---|
| 642 | { |
---|
| 643 | trash.style.color="#666666"; |
---|
| 644 | }; |
---|
| 645 | document.getElementById( "nINBOX/" + trashfolder + "tree_folders" ).appendChild( trash ); |
---|
| 646 | } |
---|
| 647 | if ( document.getElementById( "nINBOX/" + spamfolder + "tree_folders" ) ) |
---|
| 648 | { |
---|
| 649 | var spam = document.createElement( "SPAN" ); |
---|
| 650 | spam.id = 'empty_spam'; |
---|
| 651 | spam.className = 'clean_folder'; |
---|
| 652 | spam.style.cursor = 'pointer'; |
---|
| 653 | spam.style.padding = '0 0 0 6px'; |
---|
| 654 | spam.onclick = function( ) |
---|
| 655 | { |
---|
| 656 | empty_spam_imap( ); |
---|
| 657 | }; |
---|
| 658 | spam.innerHTML = "[" + get_lang( "Clean" ) + "]"; |
---|
| 659 | spam.title = get_lang( "Empty Spam Folder" ); |
---|
| 660 | spam.onmouseover = function( ) |
---|
| 661 | { |
---|
| 662 | spam.style.color = "red"; |
---|
| 663 | }; |
---|
| 664 | spam.onmouseout = function( ) |
---|
| 665 | { |
---|
| 666 | spam.style.color = "#666666"; |
---|
| 667 | }; |
---|
| 668 | document.getElementById( "nINBOX/" + spamfolder + "tree_folders" ).appendChild( spam ); |
---|
| 669 | } |
---|
[2551] | 670 | |
---|
[2899] | 671 | if ( ! expresso_offline ) |
---|
[2930] | 672 | var _disp_unseen_mb = tree_folders.getNodeById( 'root' ); |
---|
[2899] | 673 | else |
---|
[2930] | 674 | var _disp_unseen_mb = tree_folders.getNodeById( 'local_root' ); |
---|
[2551] | 675 | |
---|
[2930] | 676 | _disp_unseen_mb.alter( { |
---|
[2899] | 677 | "caption" : get_lang( "My Folders" ) |
---|
| 678 | } ); |
---|
[2551] | 679 | |
---|
[2930] | 680 | _disp_unseen_mb._refresh( ); |
---|
[2899] | 681 | |
---|
[2930] | 682 | var _dip_unseen_shardfolder = tree_folders.getNodeById( 'user' ); |
---|
[2899] | 683 | |
---|
[2930] | 684 | if ( _dip_unseen_shardfolder ) |
---|
[2899] | 685 | { |
---|
| 686 | if ( unseen_in_shared_folders ) |
---|
[2930] | 687 | _dip_unseen_shardfolder.alter( { |
---|
[2899] | 688 | "caption" : '<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' |
---|
| 689 | + unseen_in_shared_folders |
---|
| 690 | + '</span><font style=color:red>]</font> ' |
---|
| 691 | + get_lang( "Shared folders" ) |
---|
| 692 | } ); |
---|
| 693 | else |
---|
[2930] | 694 | _dip_unseen_shardfolder.alter( { |
---|
[2899] | 695 | "caption" : get_lang( "Shared folders" ) |
---|
| 696 | } ); |
---|
| 697 | |
---|
[2930] | 698 | _dip_unseen_shardfolder._refresh( ); |
---|
[2899] | 699 | } |
---|
| 700 | } |
---|
| 701 | |
---|
| 702 | if ( ! expresso_offline ) |
---|
| 703 | { |
---|
| 704 | var folder_create = ""; |
---|
| 705 | var nm1 = ""; |
---|
| 706 | if ( tree_folders._folderPr.length > 0 ) |
---|
| 707 | { |
---|
| 708 | var nm_folder = ""; |
---|
| 709 | for ( var i = 0; i < tree_folders._folderPr.length; i++ ) |
---|
| 710 | { |
---|
| 711 | nm_folder = tree_folders._folderPr[ i ].split( cyrus_delimiter ); |
---|
| 712 | if( nm_folder[ 0 ] == "INBOX" ) |
---|
| 713 | { |
---|
| 714 | if ( nm1 == "" ) |
---|
| 715 | { |
---|
| 716 | nm1 = nm_folder[ 1 ]; |
---|
| 717 | folder_create = "INBOX" + cyrus_delimiter + nm_folder[ 1 ] + ";"; |
---|
[2734] | 718 | } |
---|
[2899] | 719 | else |
---|
| 720 | { |
---|
| 721 | if ( nm1 != nm_folder[ 1 ] ) |
---|
| 722 | { |
---|
| 723 | folder_create += "INBOX" + cyrus_delimiter + nm_folder[ 1 ] + ";"; |
---|
| 724 | nm1 = nm_folder[ 1 ]; |
---|
| 725 | } |
---|
| 726 | } |
---|
[2734] | 727 | } |
---|
[2551] | 728 | } |
---|
| 729 | } |
---|
[2899] | 730 | |
---|
| 731 | if ( folder_create != "" ) |
---|
| 732 | { |
---|
| 733 | if ( confirm( get_lang( "There are folders with invalid format. Do you want to fix them?" ) ) ) |
---|
| 734 | { |
---|
| 735 | var handler_correct_folders = function( data ) |
---|
| 736 | { |
---|
| 737 | //Timeout to release HTTPRequest , loadScript and update tree folders. |
---|
| 738 | if ( data ) |
---|
| 739 | setTimeout( "expresso.connector.loadScript('jscode/TreeShow');ttreeBox.update_folder();", 500 ); |
---|
| 740 | }; |
---|
| 741 | cExecute( "expressoMail1_2.imap_functions.create_extra_mailbox", handler_correct_folders, "nw_folders=" + folder_create ); |
---|
| 742 | } |
---|
[2734] | 743 | } |
---|
[2551] | 744 | } |
---|
[2904] | 745 | |
---|
| 746 | Element( 'main_table' ).style.display = ''; |
---|
| 747 | draw_box.prepare_box( false ); |
---|
| 748 | resizeWindow( ); |
---|
[2551] | 749 | } |
---|
| 750 | |
---|
| 751 | |
---|
| 752 | function update_menu(data){ |
---|
[2676] | 753 | /* |
---|
[2551] | 754 | * @AUTHOR Rodrigo Souza dos Santos |
---|
| 755 | * @DATE 2008/09/15 |
---|
| 756 | * @BRIEF When occurs a error in imap server show the message that is in file "error.html". |
---|
| 757 | */ |
---|
[2676] | 758 | if ( data && data.imap_error ) |
---|
| 759 | { |
---|
| 760 | if(preferences.use_local_messages==1 && expresso_local_messages.is_offline_installed){ |
---|
| 761 | conf = confirm(get_lang("The expresso imap server is currently down, expresso noticed you have offline mail module installed, would you like to use it?")); |
---|
| 762 | if(conf) { |
---|
| 763 | window.onresize = function() { |
---|
| 764 | var target = document.getElementById('divAppbox'); |
---|
| 765 | target.style.height= document.body.clientHeight - 83; |
---|
| 766 | }; |
---|
| 767 | var target = document.getElementById('divAppbox'); |
---|
| 768 | document.getElementById("divAppboxHeader").innerHTML=""; |
---|
| 769 | target.style.height= document.body.clientHeight - 83; |
---|
| 770 | expresso_local_messages.set_as_logged(account_id,0,true); |
---|
| 771 | target.innerHTML = "<iframe src='offline.php?inside=1' width='100%' height='100%' frameBorder='0'></iframe>"; |
---|
[2551] | 772 | return false; |
---|
[2676] | 773 | } |
---|
[2551] | 774 | } |
---|
[2676] | 775 | expresso.connector.newRequest('error.html', URL_SERVER + 'expressoMail1_2/templates/'+template+'/error.html', 'GET', |
---|
| 776 | function(data) |
---|
| 777 | { |
---|
| 778 | var target = document.getElementById('divAppbox'); |
---|
| 779 | if ( target ) |
---|
| 780 | target.innerHTML = data; |
---|
| 781 | } |
---|
| 782 | ); |
---|
| 783 | return false; |
---|
| 784 | } |
---|
[2551] | 785 | |
---|
[2676] | 786 | draw_tree_folders(data); |
---|
| 787 | if(data) { |
---|
| 788 | build_quota(data); |
---|
| 789 | var f_unseen = Element('dftree_'+current_folder+'_unseen'); |
---|
| 790 | if(f_unseen && f_unseen.innerHTML) |
---|
| 791 | Element('new_m').innerHTML = '<font face="Verdana" size="1" color="RED">'+f_unseen.innerHTML+'</font>'; |
---|
| 792 | else |
---|
| 793 | { |
---|
| 794 | if( parseInt(Element('new_m').innerHTML) == 0 ) |
---|
| 795 | Element('new_m').innerHTML = 0; |
---|
[2551] | 796 | } |
---|
[2676] | 797 | folders = data; |
---|
| 798 | } |
---|
[2551] | 799 | } |
---|
| 800 | |
---|
| 801 | var handler_draw_box = function(data){ |
---|
[2743] | 802 | draw_box.draw_newBox( expresso.connector.unserialize( data ), 'INBOX', true); |
---|
[2676] | 803 | //alternate_border(0); |
---|
[2551] | 804 | }; |
---|
| 805 | |
---|
| 806 | // Action on change folders. |
---|
[2676] | 807 | function change_folder(folder, folder_name){ |
---|
[2734] | 808 | alternate_border(numBox); |
---|
| 809 | if (openTab.imapBox[numBox] != folder) |
---|
[2676] | 810 | { |
---|
| 811 | current_folder = folder; |
---|
[2743] | 812 | draw_box.prepare_box(true); |
---|
[2745] | 813 | Element("border_id_0").innerHTML = " " + lang_folder(folder_name) + ' <font face="Verdana" size="1" color="#505050">[<span id="new_m">0</span> / <span id="tot_m">0</span>]</font>'; |
---|
[2676] | 814 | var handler_draw_box = function(data) |
---|
| 815 | { |
---|
[2747] | 816 | draw_box.headers_msgs = data; |
---|
| 817 | draw_box.draw_box_messages(data, folder, true); |
---|
| 818 | draw_paging(data.num_msgs); |
---|
| 819 | Element("tot_m").innerHTML = data.num_msgs; |
---|
| 820 | Element("new_m").innerHTML = '<font style="color:'+(data.num_unseen > 0 ? 'red': '')+'">' + data.num_unseen + '</font>'; |
---|
| 821 | folder_unseen = Element('dftree_'+current_folder+'_unseen'); |
---|
| 822 | var num_unseen = data.num_unseen; |
---|
| 823 | if (folder_unseen) |
---|
| 824 | num_unseen -= folder_unseen.innerHTML; |
---|
| 825 | increment_folder_unseen(num_unseen); |
---|
| 826 | update_menu(); |
---|
| 827 | return true; |
---|
[2676] | 828 | }; |
---|
| 829 | proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort_box_type,search_box_type,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); |
---|
| 830 | } |
---|
| 831 | } |
---|
[2551] | 832 | |
---|
| 833 | function open_folder(folder, folder_name){ |
---|
[2676] | 834 | if (current_folder!= folder) { |
---|
| 835 | current_folder = folder; |
---|
| 836 | var handler_draw_box = function(data){ |
---|
| 837 | numBox++; |
---|
| 838 | create_border(folder_name,numBox.toString()); |
---|
[2743] | 839 | draw_box.draw_newBox(data, current_folder); |
---|
[2676] | 840 | alternate_border(numBox); |
---|
| 841 | return true; |
---|
| 842 | }; |
---|
| 843 | cExecute ("expressoMail1_2.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); |
---|
| 844 | } |
---|
| 845 | else |
---|
| 846 | alternate_border(numBox); |
---|
| 847 | return true; |
---|
[2551] | 848 | } |
---|
| 849 | |
---|
| 850 | function sort_box(search, sort){ |
---|
[2676] | 851 | var message_header = Element("message_header_"+search); |
---|
| 852 | var handler_draw_box = function(data){ |
---|
[2796] | 853 | draw_box.headers_msgs = data; |
---|
| 854 | draw_box.draw_box_messages(current_folder); |
---|
| 855 | |
---|
[2676] | 856 | draw_paging(Element('tot_m').innerHTML); |
---|
| 857 | //Mostrar as msgs nao lidas de acordo com o filtro de relevancia |
---|
| 858 | var msgs_unseen = 0; |
---|
| 859 | for(i in data){ |
---|
| 860 | if(data[i].Unseen == 'U') |
---|
| 861 | msgs_unseen++; |
---|
[2551] | 862 | } |
---|
[2676] | 863 | Element("new_m").innerHTML = '<font style="color:'+(msgs_unseen == 0 ? '': 'red')+'">' + msgs_unseen + '</font>'; |
---|
| 864 | }; |
---|
[2551] | 865 | |
---|
[2676] | 866 | if(sort_box_type == sort && search_box_type == search){ |
---|
| 867 | sort_box_reverse = sort_box_reverse ? 0 : 1; |
---|
| 868 | } |
---|
| 869 | else if(sort_box_type != sort){ |
---|
| 870 | if ( (sort == 'SORTFROM') || (sort == 'SORTSUBJECT') ) |
---|
| 871 | sort_box_reverse = 0; |
---|
| 872 | else |
---|
| 873 | sort_box_reverse = 1; |
---|
| 874 | } |
---|
[2551] | 875 | |
---|
[2676] | 876 | // Global variable. |
---|
| 877 | sort_box_type = sort; |
---|
| 878 | search_box_type = search; |
---|
| 879 | |
---|
[2796] | 880 | draw_box.prepare_box(true); |
---|
[2676] | 881 | proxy_mensagens.messages_list(current_folder,1,preferences.max_email_per_page,sort,search,sort_box_reverse,preferences.preview_msg_subject,preferences.preview_msg_tip,handler_draw_box); |
---|
| 882 | current_page = 1; |
---|
| 883 | //Comentado para nao sobrepor o numero de msgs nao lidas ao utilizar os filtros |
---|
| 884 | //update_menu(); |
---|
[2551] | 885 | } |
---|
| 886 | |
---|
[2561] | 887 | function make_tr_message(headers_msgs, msg_folder) |
---|
| 888 | { |
---|
[2734] | 889 | var tr_element = document.createElement('tr'); |
---|
| 890 | tr_element.style.height = preferences.line_height; |
---|
| 891 | tr_element.id = headers_msgs.msg_number; |
---|
[2551] | 892 | |
---|
[2734] | 893 | tr_element.msg_sample = ""; |
---|
| 894 | //if(headers_msgs.msg_sample && headers_msgs.msg_sample.preview_msg_subject != "") |
---|
| 895 | if(headers_msgs.msg_sample && preferences.preview_msg_subject == "1") |
---|
[2676] | 896 | { |
---|
[2734] | 897 | tr_element.msg_sample = headers_msgs.msg_sample.body.substr(0,120) + "..."; //trecho do body que sera exibido com o assunto; |
---|
[2551] | 898 | } |
---|
[2734] | 899 | tr_element.tip = ""; |
---|
| 900 | if(headers_msgs.msg_sample && preferences.preview_msg_tip == "1") |
---|
[2551] | 901 | { |
---|
[2734] | 902 | tr_element.tip = headers_msgs.msg_sample.body.substr(3,300) + "..."; //trecho do body que sera exibido no tool-tip; |
---|
[2676] | 903 | } |
---|
[2551] | 904 | |
---|
[2734] | 905 | if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')){ |
---|
| 906 | if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag))) |
---|
| 907 | add_className(tr_element, 'flagged_msg'); |
---|
| 908 | add_className(tr_element, 'tr_msg_unread'); |
---|
[2551] | 909 | } |
---|
[2676] | 910 | else{ |
---|
[2734] | 911 | if ((headers_msgs.Flagged == 'F') || (headers_msgs.Importance.toLowerCase().indexOf("high")!=-1 && parseInt(preferences.use_important_flag))) |
---|
| 912 | add_className(tr_element,'flagged_msg'); |
---|
[2551] | 913 | } |
---|
| 914 | |
---|
[2734] | 915 | if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) |
---|
| 916 | add_className(tr_element, 'tr_msg_unread'); |
---|
[2551] | 917 | |
---|
[2734] | 918 | if (headers_msgs.Flagged == 'F') |
---|
| 919 | add_className(tr_element,'flagged_msg'); |
---|
[2551] | 920 | |
---|
[2752] | 921 | td_element1 = createAndSet("TD",['class','width'],['td_msg','1%']); |
---|
| 922 | _chkbox = createAndSet("INPUT", ['type','class','id'], ['checkbox','checkbox',"check_box_message_"+headers_msgs.msg_number]); |
---|
| 923 | _chkbox.onclick = function(e){ |
---|
[2734] | 924 | if (is_ie) |
---|
| 925 | changeBgColor(window.event,headers_msgs.msg_number); |
---|
| 926 | else |
---|
| 927 | changeBgColor(e,headers_msgs.msg_number); |
---|
| 928 | }; |
---|
[2752] | 929 | td_element1.appendChild(_chkbox); |
---|
[2551] | 930 | |
---|
[2734] | 931 | td_element2 = document.createElement("TD"); |
---|
| 932 | td_element2.className = "td_msg"; |
---|
| 933 | td_element2.setAttribute("width", "2%"); |
---|
| 934 | if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) |
---|
[3081] | 935 | td_element2.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/clip.png" title="' + url_decode(headers_msgs.attachment.names) + '">'; |
---|
[2551] | 936 | |
---|
[2734] | 937 | td_element21 = document.createElement("TD"); |
---|
| 938 | td_element21.className = "td_msg"; |
---|
| 939 | td_element21.setAttribute("width", "1%"); |
---|
| 940 | td_element21.id = "td_message_answered_"+headers_msgs.msg_number; |
---|
[2676] | 941 | |
---|
[2734] | 942 | if (headers_msgs.attachment && headers_msgs.attachment.number_attachments > 0) { |
---|
| 943 | attach_name = headers_msgs.attachment.names.split(", "); |
---|
[2752] | 944 | for(var item=0; item < attach_name.length; item++) |
---|
[2734] | 945 | { |
---|
| 946 | if (url_decode(attach_name[item]) != 'smime.p7s' && url_decode(attach_name[item]) != 'smime.p7m'){ |
---|
[3081] | 947 | td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/clip.png" title="' + url_decode(attach_name[item]) + '">'; |
---|
[2734] | 948 | break; |
---|
| 949 | } |
---|
| 950 | } |
---|
| 951 | } |
---|
[2676] | 952 | |
---|
[2734] | 953 | if ((headers_msgs.Forwarded == 'F') || (headers_msgs.Draft == 'X' && headers_msgs.Answered == 'A')){ |
---|
| 954 | td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/forwarded.gif" title="'+get_lang('Forwarded')+'">'; |
---|
| 955 | headers_msgs.Draft = ''; |
---|
| 956 | headers_msgs.Answered = ''; |
---|
| 957 | } |
---|
| 958 | else if (headers_msgs.Draft == 'X') |
---|
| 959 | td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/draft.gif" title="'+get_lang('Draft')+'">'; |
---|
| 960 | else if (headers_msgs.Answered == 'A') |
---|
| 961 | td_element21.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/answered.gif" title="'+get_lang('Answered')+'">'; |
---|
| 962 | else |
---|
| 963 | td_element21.innerHTML = " "; |
---|
[2551] | 964 | |
---|
[2734] | 965 | td_element22 = document.createElement("TD"); |
---|
| 966 | td_element22.className = "td_msg"; |
---|
| 967 | td_element22.setAttribute("width", "1%"); |
---|
| 968 | td_element22.id = "td_message_signed_"+headers_msgs.msg_number; |
---|
[2561] | 969 | |
---|
[2734] | 970 | switch(headers_msgs.ContentType) |
---|
| 971 | { |
---|
| 972 | case "signature": |
---|
| 973 | { |
---|
| 974 | td_element22.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/signed_msg.gif" title="' + get_lang('Signed message') + '">'; |
---|
| 975 | break; |
---|
| 976 | } |
---|
| 977 | case "cipher": |
---|
| 978 | { |
---|
| 979 | td_element22.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/lock.gif" title="' + get_lang('Crypted message') + '">'; |
---|
| 980 | break; |
---|
| 981 | } |
---|
| 982 | default: |
---|
| 983 | { |
---|
| 984 | break; |
---|
| 985 | } |
---|
| 986 | }; |
---|
[2551] | 987 | |
---|
[2734] | 988 | td_element23 = document.createElement("TD"); |
---|
| 989 | td_element23.className = "td_msg"; |
---|
| 990 | td_element23.setAttribute("width", "1%"); |
---|
| 991 | td_element23.id = "td_message_important_"+headers_msgs.msg_number; |
---|
[2551] | 992 | |
---|
[2752] | 993 | if (headers_msgs.Flagged == 'F' || (parseInt(preferences.use_important_flag) && headers_msgs.Importance.toLowerCase().indexOf("high") != -1)) |
---|
[2734] | 994 | { |
---|
| 995 | td_element23.innerHTML = '<img src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/important.gif" title="'+get_lang('Important')+'">'; |
---|
| 996 | } |
---|
| 997 | else |
---|
| 998 | td_element23.innerHTML = " "; |
---|
[2551] | 999 | |
---|
[2734] | 1000 | td_element24 = document.createElement("TD"); |
---|
| 1001 | td_element24.className = "td_msg"; |
---|
| 1002 | td_element24.setAttribute("width", "1%"); |
---|
| 1003 | td_element24.id = "td_message_sent_"+headers_msgs.msg_number; |
---|
| 1004 | td_element24.innerHTML = " "; |
---|
| 1005 | // preload images |
---|
| 1006 | var _img_sent = new Image(); |
---|
| 1007 | _img_sent.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/sent.gif'; |
---|
| 1008 | var _img_unseen = new Image(); |
---|
| 1009 | _img_unseen.src = URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/unseen.gif'; |
---|
[2551] | 1010 | |
---|
[2734] | 1011 | var td_element25 = document.createElement("TD"); |
---|
| 1012 | td_element25.className = "td_msg"; |
---|
| 1013 | td_element25.setAttribute("width", "1%"); |
---|
| 1014 | td_element25.id = "td_message_unseen_"+headers_msgs.msg_number; |
---|
| 1015 | if ((headers_msgs.Unseen == 'U') || (headers_msgs.Recent == 'N')) |
---|
| 1016 | td_element25.innerHTML = "<img src ='"+_img_unseen.src+"' title='"+get_lang('Unseen')+"'>"; |
---|
| 1017 | else |
---|
| 1018 | td_element25.innerHTML = "<img src ='"+URL_SERVER +"expressoMail1_2/templates/"+template+"/images/seen.gif' title='"+get_lang('Seen')+"'>"; |
---|
[2551] | 1019 | |
---|
[2676] | 1020 | td_element3 = document.createElement("TD"); |
---|
[2734] | 1021 | td_element3.className = "td_msg"; |
---|
| 1022 | td_element3.id = "td_who_"+ headers_msgs.msg_number; |
---|
| 1023 | td_element3.setAttribute("width", "20%"); |
---|
| 1024 | var _onclick = function(){ |
---|
[3095] | 1025 | try { |
---|
| 1026 | InfoContact.hide(); |
---|
| 1027 | }catch(e){ |
---|
| 1028 | if(e.toString().match("InfoContact is null")){ |
---|
| 1029 | return false; |
---|
| 1030 | } |
---|
| 1031 | }; |
---|
| 1032 | proxy_mensagens.get_msg(headers_msgs, msg_folder,true, show_msg); |
---|
[2676] | 1033 | }; |
---|
[2734] | 1034 | td_element3.onclick = _onclick; |
---|
| 1035 | td_element3.innerHTML = ' '; |
---|
[2551] | 1036 | |
---|
[2734] | 1037 | if (typeof(headers_msgs.from) == 'undefined') |
---|
| 1038 | return false; |
---|
[2927] | 1039 | if( headers_msgs.from.email && headers_msgs.from.email.toLowerCase() == Element("user_email").value ) |
---|
[2734] | 1040 | { |
---|
| 1041 | td_element3.onmouseover = function () { |
---|
| 1042 | this.title=headers_msgs.to.email; |
---|
| 1043 | }; |
---|
| 1044 | if (headers_msgs.Draft == 'X') |
---|
| 1045 | td_element3.innerHTML += "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; |
---|
| 1046 | else{ |
---|
| 1047 | if(headers_msgs.to.email != null && headers_msgs.to.email.toLowerCase() != Element("user_email").value) |
---|
| 1048 | td_element24.innerHTML = '<img valign="center" src ="' + URL_SERVER + 'expressoMail1_2/templates/'+template+'/images/sent.gif" title="'+get_lang('Sent')+'">'; |
---|
| 1049 | |
---|
| 1050 | if ((headers_msgs.to)&&(headers_msgs.to.name != null)) |
---|
| 1051 | td_element3.innerHTML += headers_msgs.to.name; |
---|
| 1052 | else if (headers_msgs.to){ |
---|
| 1053 | td_element3.innerHTML += headers_msgs.to.email; |
---|
| 1054 | } |
---|
| 1055 | } |
---|
| 1056 | } |
---|
| 1057 | else{ |
---|
| 1058 | if (headers_msgs.Draft == 'X'){ |
---|
| 1059 | td_element3.innerHTML = "<span style=\"color:red\">("+get_lang("Draft")+") </span>"; |
---|
| 1060 | } |
---|
| 1061 | else{ |
---|
| 1062 | var spanSender = document.createElement("SPAN"); |
---|
| 1063 | spanSender.onmouseover = function (event) { |
---|
| 1064 | this.style.textDecoration = "underline";try { |
---|
| 1065 | InfoContact.begin(this,headers_msgs.from.email) |
---|
| 1066 | } catch(e){}; |
---|
| 1067 | }; |
---|
| 1068 | spanSender.onmouseout = function (){ |
---|
| 1069 | try { |
---|
| 1070 | this.style.textDecoration = "none"; clearTimeout(InfoContact.timeout); |
---|
| 1071 | } catch(e){} |
---|
| 1072 | }; |
---|
| 1073 | spanSender.innerHTML = headers_msgs.from.name != null ? headers_msgs.from.name : headers_msgs.from.email; |
---|
| 1074 | if (spanSender.innerHTML.indexOf(" ") == '-1' && spanSender.innerHTML.length > 25){ |
---|
| 1075 | spanSender.innerHTML = spanSender.innerHTML.substring(0,25) + "..."; |
---|
| 1076 | } |
---|
| 1077 | else if (spanSender.innerHTML.length > 40 ){ |
---|
| 1078 | spanSender.innerHTML = spanSender.innerHTML.substring(0,40) + "..."; |
---|
| 1079 | } |
---|
| 1080 | td_element3.appendChild(spanSender); |
---|
| 1081 | } |
---|
| 1082 | } |
---|
[2676] | 1083 | td_element4 = document.createElement("TD"); |
---|
[2734] | 1084 | td_element4.className = "td_msg"; |
---|
| 1085 | td_element4.setAttribute("width", "50%"); |
---|
| 1086 | td_element4.onclick = _onclick; |
---|
| 1087 | // td_element4.setAttribute("style","white-space:nowrap;"); |
---|
| 1088 | td_element4.innerHTML = !is_ie ? "<a nowrap id='a_message_"+tr_element.id+"'> " : " "; |
---|
[2551] | 1089 | |
---|
[2734] | 1090 | if ((headers_msgs.subject)&&(headers_msgs.subject.length > 50)) |
---|
| 1091 | { |
---|
| 1092 | // if( (headers_msgs.subject.length+tr_element.msg_sample.length)> |
---|
| 1093 | td_element4.innerHTML += headers_msgs.subject.substring(0,50) + "..." + "<span style=\"color:#b3b3b3;\"> " + tr_element.msg_sample +"</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; |
---|
| 1094 | } |
---|
| 1095 | else |
---|
| 1096 | { |
---|
| 1097 | td_element4.innerHTML += headers_msgs.subject + "<span style=\"color:#b3b3b3;\"> " + tr_element.msg_sample + "</span>";//modificacao feita para exibir o trecho do body ao lado do assunto da mensagem; |
---|
| 1098 | } |
---|
| 1099 | |
---|
| 1100 | td_element4.title=tr_element.tip; |
---|
| 1101 | if(!is_ie){ |
---|
| 1102 | td_element4.innerHTML += "</a>"; |
---|
| 1103 | } |
---|
| 1104 | |
---|
| 1105 | |
---|
[2676] | 1106 | td_element5 = document.createElement("TD"); |
---|
[2734] | 1107 | td_element5.className = "td_msg"; |
---|
[2676] | 1108 | td_element5.setAttribute("width", "14%"); |
---|
[2734] | 1109 | td_element5.onclick = _onclick; |
---|
| 1110 | td_element5.setAttribute("align", "center"); |
---|
[3058] | 1111 | var date_msg = new Date(headers_msgs.udate*1000); |
---|
[3111] | 1112 | td_element5.innerHTML = strDateShow(headers_msgs.udate); |
---|
[3058] | 1113 | td_element5.title = norm(date_msg.getDate()) + '/' + norm(date_msg.getMonth()+1) + '/' +date_msg.getFullYear(); |
---|
| 1114 | td_element5.alt = td_element5.title; |
---|
[2734] | 1115 | |
---|
[2676] | 1116 | td_element6 = document.createElement("TD"); |
---|
[2734] | 1117 | td_element6.className = "td_msg"; |
---|
[2676] | 1118 | td_element6.setAttribute("width", "14%"); |
---|
[2734] | 1119 | td_element6.setAttribute("noWrap","true"); |
---|
| 1120 | td_element6.setAttribute("align", "center"); |
---|
[2752] | 1121 | td_element6.onclick = _onclick; |
---|
[2551] | 1122 | |
---|
[2734] | 1123 | td_element6.innerHTML = borkb(headers_msgs.Size); |
---|
| 1124 | |
---|
[2752] | 1125 | return appendChilds(tr_element,td_element1,td_element2,td_element21,td_element22,td_element23,td_element24,td_element25,td_element3,td_element4,td_element5,td_element6); |
---|
[2734] | 1126 | } |
---|
[2743] | 1127 | function draw_folder(){ |
---|
| 1128 | } |
---|
[2551] | 1129 | |
---|
[2743] | 1130 | draw_folder.prototype.draw_newBox = function(headers_msgs,msg_folder,alternate){ |
---|
| 1131 | this.headers_msgs = headers_msgs; |
---|
[2904] | 1132 | this.prepare_box( alternate ); |
---|
[2743] | 1133 | this.draw_box_messages(headers_msgs,msg_folder); |
---|
[2931] | 1134 | }; |
---|
[2743] | 1135 | |
---|
| 1136 | draw_folder.prototype.prepare_box = function(alternate){ |
---|
[2734] | 1137 | if (alternate) |
---|
| 1138 | kill_current_box(); |
---|
| 1139 | |
---|
| 1140 | if(is_ie) |
---|
| 1141 | document.getElementById("border_table").width = "99.5%"; |
---|
| 1142 | |
---|
| 1143 | openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); |
---|
| 1144 | openTab.type[numBox] = 0; |
---|
[2930] | 1145 | _tbl_msghead_bx = Element("_tbl_msghead_bx_"+numBox); |
---|
| 1146 | if (_tbl_msghead_bx == null){ |
---|
[2734] | 1147 | var table_element = document.createElement("TABLE"); |
---|
[2930] | 1148 | table_element.setAttribute("id", "_tbl_msghead_bx_"+numBox); |
---|
[2734] | 1149 | table_element.setAttribute('class', "table_message_header_box"); |
---|
| 1150 | |
---|
| 1151 | var tbody_element = document.createElement("TBODY"); |
---|
| 1152 | |
---|
| 1153 | tr_element = createAndSet("TR",['class'],['message_header']); |
---|
| 1154 | td_element1 = createAndSet("TD",['width'],['1%']); |
---|
[2929] | 1155 | _chkbox_element = createAndSet("INPUT",['id','type','class'],["chkbox_sel_allmsg","checkbox","checkbox"]); |
---|
[2752] | 1156 | _chkbox_element.onclick = function(){ |
---|
[2734] | 1157 | select_all_messages(this.checked); |
---|
| 1158 | }; |
---|
[2752] | 1159 | _chkbox_element.onmouseover = function () { |
---|
[2734] | 1160 | this.title=get_lang('Select all messages.'); |
---|
| 1161 | }; |
---|
[2752] | 1162 | _chkbox_element.onkeydown = function (e){ |
---|
[2734] | 1163 | if (is_ie) |
---|
| 1164 | { |
---|
| 1165 | if ((window.event.keyCode) == 46) |
---|
| 1166 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
| 1167 | } |
---|
| 1168 | else |
---|
| 1169 | { |
---|
| 1170 | if ((e.keyCode) == 46) |
---|
| 1171 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
| 1172 | } |
---|
| 1173 | }; |
---|
| 1174 | |
---|
[2752] | 1175 | td_element1.appendChild(_chkbox_element); |
---|
[2734] | 1176 | |
---|
| 1177 | td_element2 = document.createElement("TD"); |
---|
| 1178 | td_element2.setAttribute("width", "7%"); |
---|
[2929] | 1179 | td_element3 = createAndSet("TD",['width','id','align'],['29%',"_msgheadSORTFROM_"+numBox,'left'],get_lang("Who")); |
---|
[2734] | 1180 | td_element3.onclick = function () { |
---|
| 1181 | sort_box(search_box_type,'SORTFROM'); |
---|
| 1182 | }; |
---|
[2929] | 1183 | td_element4 = createAndSet("TD",['width','id','align'],['38%',"_msgheadSORTSUBJECT_"+numBox,"left"],get_lang("Subject")); |
---|
[2734] | 1184 | td_element4.onclick = function () { |
---|
| 1185 | sort_box(search_box_type,'SORTSUBJECT'); |
---|
| 1186 | }; |
---|
[2929] | 1187 | td_element5 = createAndSet("TD",['width','id','align'],["14%","_msgheadSORTARRIVAL_"+numBox,"center"],get_lang("Date")); |
---|
[2734] | 1188 | td_element5.onclick = function () { |
---|
| 1189 | sort_box(search_box_type,'SORTARRIVAL'); |
---|
| 1190 | }; |
---|
[2929] | 1191 | td_element6 = createAndSet("TD",['width','id','align'],["14%","_msgheadSORTSIZE_"+numBox,"left"],get_lang("Size")); |
---|
[2734] | 1192 | td_element6.onclick = function () { |
---|
| 1193 | sort_box(search_box_type,'SORTSIZE'); |
---|
| 1194 | }; |
---|
| 1195 | appendChilds(tr_element,td_element1,td_element2); |
---|
| 1196 | var td_element21 = document.createElement("TD"); |
---|
| 1197 | td_element21.innerHTML = " "; |
---|
| 1198 | var td_element22 = document.createElement("TD"); |
---|
| 1199 | td_element22.innerHTML = " "; |
---|
| 1200 | var td_element23 = document.createElement("TD"); |
---|
| 1201 | td_element23.innerHTML = " "; |
---|
| 1202 | |
---|
| 1203 | tbody_element.appendChild(appendChilds(tr_element,td_element21,td_element22,td_element23,td_element3,td_element4,td_element5,td_element6)); |
---|
| 1204 | table_element.appendChild(tbody_element); |
---|
| 1205 | openTab.content_id[numBox].appendChild(table_element); |
---|
[2676] | 1206 | } |
---|
[2734] | 1207 | draw_header_box(); |
---|
| 1208 | var _divScroll = document.getElementById("divScrollMain_"+numBox); |
---|
| 1209 | if(!_divScroll){ |
---|
| 1210 | _divScroll = document.createElement("DIV"); |
---|
| 1211 | _divScroll.id = "divScrollMain_"+numBox; |
---|
[2676] | 1212 | } |
---|
[2551] | 1213 | |
---|
[2734] | 1214 | _divScroll.style.overflowY = "auto"; |
---|
| 1215 | _divScroll.style.overflowX = "hidden"; |
---|
| 1216 | _divScroll.style.width ="100%"; |
---|
[2551] | 1217 | |
---|
[2735] | 1218 | var _t_element = createAndSet("TABLE",['id','class','borderColorDark','frame','rules','cellPadding','cellSpacing'],["table_box","table_box","#bbbbbb","void","rows","0","0"]); |
---|
| 1219 | _t_element.onkeydown = function (e){ |
---|
[2734] | 1220 | if (is_ie) |
---|
| 1221 | { |
---|
| 1222 | if ((window.event.keyCode) == 46) |
---|
| 1223 | { |
---|
| 1224 | //delete_all_selected_msgs_imap(); |
---|
| 1225 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
| 1226 | } |
---|
| 1227 | } |
---|
| 1228 | else |
---|
| 1229 | { |
---|
| 1230 | if ((e.keyCode) == 46) |
---|
| 1231 | { |
---|
| 1232 | //delete_all_selected_msgs_imap(); |
---|
| 1233 | proxy_mensagens.delete_msgs(get_current_folder(),'selected','null'); |
---|
| 1234 | } |
---|
| 1235 | } |
---|
| 1236 | }; |
---|
| 1237 | if (is_ie) |
---|
[2735] | 1238 | _t_element.style.cursor = "hand"; |
---|
[2551] | 1239 | |
---|
[2735] | 1240 | var _tbody_element = document.createElement("TBODY"); |
---|
| 1241 | _tbody_element.setAttribute("id", "tbody_box"); |
---|
| 1242 | _t_element.appendChild(_tbody_element); |
---|
[2551] | 1243 | |
---|
[2735] | 1244 | _divScroll.appendChild(_t_element); |
---|
[2551] | 1245 | |
---|
[2735] | 1246 | openTab.content_id[numBox].appendChild(_divScroll); |
---|
[2913] | 1247 | if (alternate) |
---|
| 1248 | _divScroll.appendChild(loading_img); |
---|
[2743] | 1249 | }; |
---|
[2735] | 1250 | |
---|
[2743] | 1251 | draw_folder.prototype.draw_box_messages = function(msg_folder){ |
---|
[2735] | 1252 | openTab.content_id[numBox] = document.getElementById("content_id_"+numBox); |
---|
| 1253 | var _divScroll = document.getElementById("divScrollMain_"+numBox); |
---|
[2913] | 1254 | try{ |
---|
| 1255 | loading_img = _divScroll.removeChild( loading_img ); |
---|
| 1256 | } |
---|
| 1257 | catch(e){ } |
---|
[2735] | 1258 | var tbody_element = _divScroll.firstChild.firstChild; |
---|
| 1259 | |
---|
[2734] | 1260 | var f_unseen = 0; |
---|
| 1261 | openTab.imapBox[numBox] = msg_folder; |
---|
[2743] | 1262 | if (this.headers_msgs.num_msgs == 0){ |
---|
[2734] | 1263 | var tr_info = document.createElement("TR"); |
---|
[2745] | 1264 | var td_info = createAndSet("TD",['colspan','background','align','style'], |
---|
| 1265 | ['10','#FFF','center','padding-top: 25px;font-weight:bold;font-size:11pt;'],get_lang("This mail box is empty")); |
---|
[2734] | 1266 | tr_info.setAttribute("id", "msg_info"); |
---|
| 1267 | tr_info.appendChild(td_info); |
---|
| 1268 | tbody_element.appendChild(tr_info); |
---|
| 1269 | } |
---|
[2551] | 1270 | |
---|
| 1271 | |
---|
[2743] | 1272 | for (var i=0; i < this.headers_msgs.length; i++){ |
---|
| 1273 | if ((this.headers_msgs[i].Unseen == 'U') || (this.headers_msgs[i].Recent == 'N')) |
---|
[2734] | 1274 | f_unseen++; |
---|
[2743] | 1275 | tr_element = make_tr_message(this.headers_msgs[i], msg_folder); |
---|
[2734] | 1276 | if (tr_element){ |
---|
| 1277 | tbody_element.appendChild(tr_element); |
---|
| 1278 | add_className(tr_element, i%2 != 0 ? 'tr_msg_read2' : 'tr_msg_read'); |
---|
| 1279 | } |
---|
| 1280 | if ( _dragArea == null ) |
---|
| 1281 | _dragArea = new DragArea( ); |
---|
[2743] | 1282 | _dragArea.makeDragged(tr_element, this.headers_msgs[i].msg_number, this.headers_msgs[i].subject, true); |
---|
[2676] | 1283 | } |
---|
[2551] | 1284 | |
---|
[2743] | 1285 | if ((preferences.use_shortcuts == '1') && (this.headers_msgs[0])) |
---|
| 1286 | select_msg(this.headers_msgs[0].msg_number, 'null', true); |
---|
[2551] | 1287 | |
---|
[2734] | 1288 | var tdFolders = Element("folderscol"); |
---|
| 1289 | tdFolders.style.display = preferences.hide_folders == '1' ? "none" : ""; |
---|
[2743] | 1290 | draw_footer_box(this.headers_msgs.num_msgs); |
---|
[2734] | 1291 | Element('main_table').style.display = ''; |
---|
[3073] | 1292 | resizeWindow(); |
---|
[2734] | 1293 | if(debug) { |
---|
| 1294 | var _eTime = new Date(); |
---|
| 1295 | _eTime = _eTime.getTime(); |
---|
| 1296 | alert("Carregou em "+(_eTime - _bTime)+" ms"); |
---|
| 1297 | } |
---|
| 1298 | var msg_folder = Element('msg_folder').value; |
---|
| 1299 | var msg_number = Element('msg_number').value; |
---|
| 1300 | if(!msg_folder && msg_number) { |
---|
| 1301 | new_message('new','null'); |
---|
| 1302 | } |
---|
| 1303 | else if(msg_folder && msg_number){ |
---|
[2743] | 1304 | proxy_mensagens.get_msg(this.headers_msgs, url_encode(msg_folder),true, show_msg); |
---|
[2734] | 1305 | Element('msg_folder').value = ''; |
---|
| 1306 | Element('msg_number').value = ''; |
---|
| 1307 | } |
---|
[2551] | 1308 | |
---|
| 1309 | |
---|
[3095] | 1310 | var scripts = new Array("jscode/messages_controller", |
---|
| 1311 | "jscode/InfoContact", |
---|
[3073] | 1312 | "jscode/local_messages", |
---|
| 1313 | "jscode/draw_api_messages", |
---|
| 1314 | "jscode/draw_messages"); |
---|
| 1315 | expresso.connector.loadAllScripts(scripts); |
---|
| 1316 | |
---|
[2734] | 1317 | // Loading Quota View Folder Component (if exists...) |
---|
| 1318 | if(Element("table_quota")) |
---|
| 1319 | expresso.connector.loadScript("jscode/InfoQuota"); |
---|
[2743] | 1320 | alternate_border(numBox); |
---|
[2676] | 1321 | }; |
---|
[2551] | 1322 | |
---|
[3073] | 1323 | function draw_footer_box(num_msgs){ |
---|
| 1324 | folder = get_current_folder(); |
---|
| 1325 | var span_R = Element("table_message"); |
---|
| 1326 | var span_options = Element("span_options"); |
---|
| 1327 | if(!span_options) { |
---|
| 1328 | span_options = document.createElement("TD"); |
---|
| 1329 | span_options.style.fontSize = "12"; |
---|
| 1330 | span_options.id = "span_options"; |
---|
| 1331 | span_R.appendChild(span_options); |
---|
| 1332 | } |
---|
| 1333 | |
---|
| 1334 | var change_font_color = 'onmouseover="var last_class = this.className;'+ |
---|
| 1335 | 'if (this.className != \'message_options_over\')'+ |
---|
| 1336 | 'this.className=\'message_options_active\'; '+ |
---|
| 1337 | 'this.onmouseout=function(){this.className=last_class;}"'; |
---|
| 1338 | |
---|
| 1339 | span_options.innerHTML = |
---|
| 1340 | '<span class="message_options_trash"><span ' + change_font_color + ' title="'+get_lang("Delete")+'" class="message_options" onclick=proxy_mensagens.delete_msgs(\'null\',\'selected\',\'null\')>'+get_lang("Delete")+'</span></span>'+ |
---|
| 1341 | '<span class="message_options_move"><span ' + change_font_color + ' title="'+get_lang("Move")+'" class="message_options" onclick=wfolders.makeWindow(\"\",\"move_to\")>'+get_lang("Move")+'</span></span>'+ |
---|
| 1342 | ((expresso_offline)?" ":'<span class="message_options_print"><span ' + change_font_color + ' title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span></span>')+ |
---|
| 1343 | // '<span class="message_options_print"><span ' + change_font_color + ' title="'+get_lang("Print")+'" class="message_options" onclick=print_all()>'+get_lang("Print")+'</span></span>'+ |
---|
| 1344 | ((expresso_offline)?" ":'<span class="message_options_export"><span ' + change_font_color + ' title="'+get_lang("Export")+'" class="message_options" onclick="proxy_mensagens.export_all_messages()">'+get_lang("Export")+'</span></span>') + |
---|
| 1345 | ((expresso_offline)?" ":'<span class="message_options_import"><span ' + change_font_color + ' title="'+get_lang("Import")+'" class="message_options" onclick="import_window()">'+get_lang("Import")+'</span></span>'); |
---|
| 1346 | if(preferences.use_local_messages==1 && !expresso_offline) |
---|
| 1347 | if(proxy_mensagens.is_local_folder(current_folder)) |
---|
| 1348 | span_options.innerHTML += ' <span title="'+get_lang("Unarchive")+'" class="message_options" onclick="expresso_local_messages.unarchive_msgs(\''+folder+'\',null)">'+get_lang("Unarchive")+'</span>'; |
---|
| 1349 | else |
---|
| 1350 | span_options.innerHTML += ' <span title="'+get_lang("Archive")+'" class="message_options" onclick="archive_msgs(\''+folder+'\',null)">'+get_lang("Archive")+'</span>'; |
---|
| 1351 | if (use_spam_filter) { |
---|
| 1352 | if ( current_folder == 'INBOX'+cyrus_delimiter+'Spam' ) { |
---|
| 1353 | span_options.innerHTML += ' | <span ' + change_font_color + ' title="'+get_lang("Not Spam")+'" class="message_options" onclick="nospam(\'selected\',\'null\',\'null\')">'+get_lang("Not Spam")+'</span>'; |
---|
| 1354 | } |
---|
| 1355 | else { |
---|
| 1356 | span_options.innerHTML += ' | <span ' + change_font_color + ' title="'+get_lang("Mark as Spam")+'" class="message_options" onclick="spam(\'null\', \'selected\',\'null\')">'+get_lang("Mark as Spam")+'</span>'; |
---|
| 1357 | } |
---|
| 1358 | } |
---|
| 1359 | var span_D = Element("span_D"); |
---|
| 1360 | if(!span_D){ |
---|
| 1361 | span_D = document.createElement("TD"); |
---|
| 1362 | span_D.align = "right"; |
---|
| 1363 | span_D.style.fontSize = "12"; |
---|
| 1364 | span_D.id = "span_D"; |
---|
| 1365 | span_R.appendChild(span_D); |
---|
| 1366 | } |
---|
| 1367 | span_D.innerHTML = |
---|
| 1368 | get_lang("List")+': '+ |
---|
| 1369 | '<span ' + change_font_color + ' id="span_flag_SORTARRIVAL" class="'+(search_box_type == 'ALL' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("All")+'" onclick="if(\'ALL\' == \''+search_box_type+'\') return false;sort_box(\'ALL\',\''+sort_box_type+'\')">'+get_lang("All")+'</span>, '+ |
---|
| 1370 | '<span ' + change_font_color + ' id="span_flag_UNSEEN" class="'+(search_box_type == 'UNSEEN' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_unseen")+'" onclick="if(\'UNSEEN\' == \''+search_box_type+'\') return false;sort_box(\'UNSEEN\',\''+sort_box_type+'\')">'+get_lang("l_unseen")+'</span>, '+ |
---|
| 1371 | '<span ' + change_font_color + ' id="span_flag_SEEN" class="'+(search_box_type == 'SEEN' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_seen")+'" onclick="if(\'SEEN\' == \''+search_box_type+'\') return false;sort_box(\'SEEN\',\''+sort_box_type+'\')">'+get_lang("l_seen")+'</span>, '+ |
---|
| 1372 | '<span ' + change_font_color + ' id="span_flag_ANSWERED" class="'+(search_box_type == 'ANSWERED' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_answered")+'" onclick="if(\'ANSWERED\' == \''+search_box_type+'\') return false;sort_box(\'ANSWERED\',\''+sort_box_type+'\')">'+get_lang("l_answered")+'</span>, '+ |
---|
| 1373 | '<span ' + change_font_color + ' id="span_flag_FLAGGED" class="'+(search_box_type == 'FLAGGED' ? 'message_options_over' : 'message_options')+'" title="'+get_lang("l_important")+'" onclick="if(\'FLAGGED\' == \''+search_box_type+'\') return false;sort_box(\'FLAGGED\',\''+sort_box_type+'\')">'+get_lang("l_important")+'</span> '; |
---|
| 1374 | draw_paging(num_msgs); |
---|
| 1375 | Element("tot_m").innerHTML = num_msgs; |
---|
| 1376 | }; |
---|
| 1377 | |
---|
| 1378 | // Objeto Map, talvez o ideal fosse adicionar este objeto à Api do egroupware, e carregá-lo |
---|
| 1379 | // aqui no expressoMail. |
---|
| 1380 | function Map() |
---|
| 1381 | { |
---|
| 1382 | this.keys = new Array(); |
---|
| 1383 | this.values = new Array(); |
---|
| 1384 | } |
---|
| 1385 | |
---|
| 1386 | Map.prototype.add = function(key, value) |
---|
| 1387 | { |
---|
| 1388 | this.keys.push(key); |
---|
| 1389 | this.values.push(value); |
---|
| 1390 | }; |
---|
| 1391 | |
---|
| 1392 | Map.prototype.get = function(key) |
---|
| 1393 | { |
---|
| 1394 | result = new Array(); |
---|
| 1395 | for (i = 0; i < this.keys.length; i++) |
---|
| 1396 | { |
---|
| 1397 | if (this.keys[i] == key) |
---|
| 1398 | { |
---|
| 1399 | result.push(this.values[i]); |
---|
| 1400 | } |
---|
| 1401 | } |
---|
| 1402 | |
---|
| 1403 | if (result.length == 0) |
---|
| 1404 | { |
---|
| 1405 | return null; |
---|
| 1406 | } |
---|
| 1407 | |
---|
| 1408 | return result; |
---|
| 1409 | }; |
---|
| 1410 | |
---|
| 1411 | var translatedFolders = new Map(); |
---|
| 1412 | |
---|
| 1413 | |
---|
[2743] | 1414 | draw_box = new draw_folder(); |
---|