Changeset 1938
- Timestamp:
- 01/19/10 17:02:39 (14 years ago)
- Location:
- trunk/expressoMail1_2/js
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/js/draw_api.js
r1912 r1938 117 117 cExecute ("$this.imap_functions.get_folders_list&folder="+current_folder, update_tree_folders); 118 118 } 119 120 /** 121 * Pastas locais 122 */ 123 if(preferences.use_local_messages==1 || expresso_offline) { 124 var local_folders = expresso_local_messages.list_local_folders(); 125 var has_changes = false; 126 for (var i in local_folders) { //Coloca as pastas locais. 127 128 var new_caption = local_folders[i][0]; 129 if(local_folders[i][0].indexOf("/")!="-1") { 130 final_pos = local_folders[i][0].lastIndexOf("/"); 131 new_caption = local_folders[i][0].substr(final_pos+1); 132 } 133 134 var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); 135 136 if ((folder_unseen) && (local_folders[i][1] > 0)) 137 { 138 folder_unseen.innerHTML = local_folders[i][1]; 139 has_changes = true; 140 } 141 else if (local_folders[i][1] > 0) 142 { 143 tree_folders.getNodeById("local_"+local_folders[i][0]).alter({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>'}); 144 tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 145 has_changes = true; 146 } 147 else if (local_folders[i][1] <= 0) 148 { 149 tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(new_caption)}); 150 tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 151 has_changes = true; 152 } 153 154 if("local_"+local_folders[i][0] == get_current_folder()){ 155 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 156 if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ 157 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); 158 } 159 Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; 160 draw_paging(Element('tot_m').innerHTML); 161 has_changes = true; 162 } 163 } 164 if(has_changes) 165 tree_folders.getNodeById("local_root").open(); 166 167 } 168 119 169 120 return; 170 121 } … … 372 323 } 373 324 } 325 } 326 327 function draw_tree_local_folders() { 328 /** 329 * Pastas locais 330 */ 331 if(preferences.use_local_messages==1 || expresso_offline) { 332 var local_folders = expresso_local_messages.list_local_folders(); 333 var has_changes = false; 334 for (var i in local_folders) { //Coloca as pastas locais. 335 336 var new_caption = local_folders[i][0]; 337 if(local_folders[i][0].indexOf("/")!="-1") { 338 final_pos = local_folders[i][0].lastIndexOf("/"); 339 new_caption = local_folders[i][0].substr(final_pos+1); 340 } 341 342 var folder_unseen = Element('dftree_local_'+local_folders[i][0]+'_unseen'); 343 344 if ((folder_unseen) && (local_folders[i][1] > 0)) 345 { 346 folder_unseen.innerHTML = local_folders[i][1]; 347 has_changes = true; 348 } 349 else if (local_folders[i][1] > 0) 350 { 351 tree_folders.getNodeById("local_"+local_folders[i][0]).alter({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>'}); 352 tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 353 has_changes = true; 354 } 355 else if (local_folders[i][1] <= 0) 356 { 357 tree_folders.getNodeById("local_"+local_folders[i][0]).alter({caption:lang_folder(new_caption)}); 358 tree_folders.getNodeById("local_"+local_folders[i][0])._refresh(); 359 has_changes = true; 360 } 361 362 if("local_"+local_folders[i][0] == get_current_folder()){ 363 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 364 if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ 365 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); 366 } 367 Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; 368 draw_paging(Element('tot_m').innerHTML); 369 has_changes = true; 370 } 371 } 372 if(has_changes) 373 tree_folders.getNodeById("local_root").open(); 374 375 } 374 376 } 375 377 -
trunk/expressoMail1_2/js/local_messages.js
r1806 r1938 161 161 ' (id_folder text,folder_name text,uid_usuario int)'); 162 162 this.dbGears.execute('create table if not exists msgs_to_remove (id_msg int,folder text,uid_usuario int)'); 163 this.dbGears.execute('create index if not exists idx_user3 on mail (id_folder,uid_usuario,timestamp)'); 163 164 164 165 //some people that used old version of local messages could not have the size column. If it's the first version … … 415 416 filter = "and header like '%\"Answered\";s:1:\"A%' "; 416 417 } 417 sql = 'select rowid,header,size,timestamp,unseen,body from ('; 418 sql += 'select mail.rowid as rowid,mail.header as header,mail.size as size,mail.timestamp as timestamp,mail.unseen as unseen,mail.body as body,ltrim(ltrim(substr(UPPER(ffrom),21,length(ffrom)),\':\'),\'"\') as order_from,mail.subject from mail inner join folder on mail.id_folder=folder.rowid where mail.uid_usuario=? and folder.folder=? and lower(mail.ffrom) not like lower(?) '; 419 sql += filter; 420 sql += 'union '; 421 sql += 'select mail.rowid as rowid,mail.header as header,mail.size as size,mail.timestamp as timestamp,mail.unseen as unseen,mail.body as body,ltrim(ltrim(substr(UPPER(fto),7,length(fto)),\':\'),\'"\') as order_from,mail.subject from mail inner join folder on mail.id_folder=folder.rowid where mail.uid_usuario=? and folder.folder=? and lower(mail.ffrom) like lower(?) '; 422 sql += filter; 423 sql += ') order by ' 418 419 sql = 'select mail.rowid as rowid,mail.header as header,mail.size as size,mail.timestamp as timestamp,mail.unseen as unseen,mail.body as body,case when lower(mail.ffrom) like ? then ltrim(ltrim(substr(UPPER(ffrom),21,length(ffrom)),\':\'),\'"\') else ltrim(ltrim(substr(UPPER(fto),7,length(fto)),\':\'),\'"\') end as order_from,mail.subject from mail inner join folder on mail.id_folder=folder.rowid where mail.uid_usuario=? and folder.folder=? order by ' 424 420 425 421 if(sort == 'SORTFROM') { … … 441 437 442 438 443 var rs = this.dbGears.execute(sql,[ account_id,folder,'%'+Element("user_email").value+'%',account_id,folder,'%'+Element("user_email").value+'%',msg_range_begin,emails_per_page]);439 var rs = this.dbGears.execute(sql,['%'+Element("user_email").value+'%',account_id,folder,msg_range_begin,emails_per_page]); 444 440 var cont = 0; 445 441 … … 662 658 this.init_local_messages(); 663 659 var retorno = new Array(); 664 rs = this.dbGears.execute("select folder.folder,sum(mail.unseen) from folder left join mail on "+ 665 "folder.rowid=mail.id_folder where folder.uid_usuario=? group by folder.folder",[account_id]); 660 rs = this.dbGears.execute("select folder,rowid from folder where uid_usuario=?",[account_id]); 666 661 while(rs.isValidRow()) { 667 662 var temp = new Array(); 668 663 temp[0] = rs.field(0); 669 temp[1] = rs.field(1); 670 var rs2 = this.dbGears.execute("select * from folder where folder like ?",["%"+temp[0]+"/%"]); 671 if(rs2.isValidRow()) 664 665 var rs2 = this.dbGears.execute("select count(*) from mail where id_folder=? and unseen=1",[rs.field(1)]); 666 temp[1] = rs2.field(0); 667 668 var rs3 = this.dbGears.execute("select * from folder where folder like ? limit 1",[temp[0]+"/%"]); 669 if(rs3.isValidRow()) 672 670 temp[2] = 1; 673 671 else -
trunk/expressoMail1_2/js/messages_proxy.js
r1752 r1938 14 14 var msgs = expresso_local_messages.get_local_range_msgs(real_folder,msg_range_begin,preferences.max_email_per_page,sort_box_type,sort_box_reverse,search_box_type,preferences.preview_msg_subject,preferences.preview_msg_tip); 15 15 eval('call_back(msgs)'); 16 draw_tree_local_folders(); 16 17 }else { 17 18 cExecute ("$this.imap_functions.get_range_msgs2&folder="+folder+"&msg_range_begin="+msg_range_begin+"&msg_range_end="+emails_per_page+"&sort_box_type="+sort_box_type+ "&search_box_type="+ search_box_type +"&sort_box_reverse="+sort_box_reverse+"", call_back); … … 39 40 if (!this.is_local_folder(folder)) 40 41 delete_msgs(folder, msgs_number, border_ID); 41 else 42 expresso_local_messages.delete_msgs(msgs_number,border_ID); 42 else { 43 expresso_local_messages.delete_msgs(msgs_number, border_ID); 44 draw_tree_local_folders(); 45 } 43 46 } 44 47 … … 133 136 if (!temp) 134 137 alert(get_lang("cannot create folder. try other folder name")); 135 ttreeBox.update_folder();138 draw_tree_local_folders(); 136 139 } 137 140 else … … 166 169 expresso_local_messages.remove_folder(ttree.FOLDER.substr(6)); 167 170 alert(get_lang("The folder %1 was successfully removed", new_caption)); 168 ttreeBox.update_folder();171 draw_tree_local_folders(); 169 172 } 170 173 } … … 189 192 expresso_local_messages.move_messages(new_folder.substr(6), msgs_number); 190 193 this.aux_interface_remove_mails(msgs_number, new_folder_name, border_ID); 194 draw_tree_local_folders(); 191 195 } 192 196 else … … 202 206 else 203 207 archive_msgs(folder,new_folder,msgs_number); 208 draw_tree_local_folders(); 204 209 } 205 210 else {
Note: See TracChangeset
for help on using the changeset viewer.