Changeset 2747
- Timestamp:
- 05/10/10 10:52:29 (14 years ago)
- Location:
- trunk/expressoMail1_2
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r2739 r2747 117 117 $return = array(); 118 118 $i = 0; 119 $num_msgs = imap_num_msg($this->mbox); 119 $status = imap_status($this->mbox, 120 "{".$this->email_server['imapServer'].":".$this->email_server['imapPort'].$this->imap_options."}".$folder, 121 SA_MESSAGES + SA_UNSEEN); 120 122 if(is_array($sort_array_msg)){ 121 123 foreach($sort_array_msg as $msg_number => $value) … … 132 134 } 133 135 } 134 $return['num_msgs'] = $num_msgs; 136 $return['num_msgs'] = $status->messages; 137 $return['num_unseen'] = $status->unseen; 135 138 136 139 return $return; … … 2321 2324 } 2322 2325 2323 function messages_sort($sort_box_type, $sort_box_reverse, $search_box_type,$offsetBegin,$offsetEnd)2326 function messages_sort($sort_box_type, $sort_box_reverse, $search_box_type, $offsetBegin, $offsetEnd) 2324 2327 { 2325 2328 if ($sort_box_type != "SORTFROM" && $search_box_type!= "FLAGGED"){ -
trunk/expressoMail1_2/index.php
r2648 r2747 154 154 $GLOBALS[ 'phpgw' ] -> js -> validate_file( 'jscode', 'drag_area', 'expressoMail1_2' ); 155 155 $GLOBALS[ 'phpgw' ] -> js -> validate_file( 'jscode', 'draw_api_messages', 'expressoMail1_2' ); 156 $GLOBALS[ 'phpgw' ] -> js -> validate_file( 'jscode', 'messages', 'expressoMail1_2' ); 156 157 $GLOBALS[ 'phpgw' ] -> js -> validate_file( 'jscode', 'draw_api_folders', 'expressoMail1_2' ); 157 158 $GLOBALS[ 'phpgw' ] -> js -> validate_file( 'jscode', 'DropDownContacts', 'expressoMail1_2' ); -
trunk/expressoMail1_2/js/jscode/common_functions.js
r2692 r2747 76 76 tr_message = Element(msg_number); 77 77 if (exist_className(tr_message, 'tr_msg_unread')) 78 decrement_folder_unseen( );78 decrement_folder_unseen(1); 79 79 remove_className(tr_message, 'tr_msg_unread'); 80 80 remove_className(tr_message, 'selected_msg'); … … 92 92 tr_message = Element(msg_number); 93 93 if ((exist_className(tr_message, 'tr_msg_read') || exist_className(tr_message, 'tr_msg_read2')) && (!exist_className(tr_message, 'tr_msg_unread'))) 94 increment_folder_unseen( );94 increment_folder_unseen(1); 95 95 remove_className(tr_message, 'selected_msg'); 96 96 add_className(tr_message, 'tr_msg_unread'); … … 525 525 }; 526 526 527 function increment_folder_unseen(){ 527 function increment_folder_unseen(num){ 528 if (num < 0) 529 return decrement_folder_unseen(num*-1); 530 else if(num == 0) 531 return; 528 532 var folder_id = get_current_folder(); 529 533 530 534 var folder_unseen = Element('dftree_'+folder_id+'_unseen'); 531 535 var abas_unseen = Element('new_m').innerHTML; 532 abas_unseen = abas_unseen.match( 536 abas_unseen = abas_unseen.match(/[0-9]+/); 533 537 534 538 if (folder_unseen) 535 539 { 536 folder_unseen.innerHTML = (parseInt(folder_unseen.innerHTML) + 1);540 folder_unseen.innerHTML = (parseInt(folder_unseen.innerHTML) + num); 537 541 } 538 542 else 539 543 { 540 tree_folders.getNodeById(folder_id).alter({caption: tree_folders.getNodeById(current_folder).caption + '<font style=color:red> (</font><span id="dftree_'+current_folder+'_unseen" style=color:red> 1</span><font style=color:red>)</font>'});544 tree_folders.getNodeById(folder_id).alter({caption: tree_folders.getNodeById(current_folder).caption + '<font style=color:red> (</font><span id="dftree_'+current_folder+'_unseen" style=color:red>'+num+'</span><font style=color:red>)</font>'}); 541 545 tree_folders.getNodeById(folder_id)._refresh(); 542 546 } 543 547 if (abas_unseen) 544 548 { 545 abas_unseen = parseInt(abas_unseen) + 1;549 abas_unseen = parseInt(abas_unseen) + num; 546 550 Element('new_m').innerHTML = '<font style="color:red">' + abas_unseen + '</font>'; 547 551 } … … 549 553 abas_unseen = Element('new_m').innerHTML; 550 554 abas_unseen = abas_unseen.match( /[0-9]+/); 551 abas_unseen = parseInt(abas_unseen) + 1;555 abas_unseen = parseInt(abas_unseen) + num; 552 556 Element('new_m').innerHTML = '<font style="color:red">' + abas_unseen + '</font>'; 553 557 } … … 556 560 var display_unseen_in_shared_folders = Element('dftree_user_unseen'); 557 561 if ( display_unseen_in_shared_folders ) 558 tree_folders.getNodeById( 'user' ).alter({caption:'<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' + ( parseInt( display_unseen_in_shared_folders.innerHTML) + 1) + '</span><font style=color:red>]</font>' + get_lang("Shared folders")});562 tree_folders.getNodeById( 'user' ).alter({caption:'<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' + ( parseInt( display_unseen_in_shared_folders.innerHTML) + num ) + '</span><font style=color:red>]</font>' + get_lang("Shared folders")}); 559 563 else 560 564 tree_folders.getNodeById( 'user' ).alter({caption:'<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">1</span><font style=color:red>]</font>' + get_lang("Shared folders")}); … … 568 572 tree_folders.getNodeById( node_to_refresh )._refresh(); 569 573 } 570 function decrement_folder_unseen( ){574 function decrement_folder_unseen(num){ 571 575 var folder_id = get_current_folder(); 572 576 … … 578 582 return; 579 583 580 if ((folder_unseen) && (parseInt(folder_unseen.innerHTML) > 1))581 { 582 folder_unseen.innerHTML = (parseInt(folder_unseen.innerHTML) - 1);583 } 584 else if (parseInt(folder_unseen.innerHTML) <= 1)584 if ((folder_unseen) && (parseInt(folder_unseen.innerHTML) > num)) 585 { 586 folder_unseen.innerHTML = (parseInt(folder_unseen.innerHTML) - num); 587 } 588 else if (parseInt(folder_unseen.innerHTML) <= num) 585 589 { 586 590 var tmp_folder_name = tree_folders.getNodeById(folder_id).caption.split('<'); … … 589 593 tree_folders.getNodeById(folder_id)._refresh(); 590 594 } 591 if ((abas_unseen) && (parseInt(abas_unseen) > 1))595 if ((abas_unseen) && (parseInt(abas_unseen) > num)) 592 596 { 593 abas_unseen = (parseInt(abas_unseen) - 1);597 abas_unseen = (parseInt(abas_unseen) - num); 594 598 Element('new_m').innerHTML = '<font style="color:red">' + abas_unseen + '</font>'; 595 599 } -
trunk/expressoMail1_2/js/jscode/draw_api_folders.js
r2745 r2747 427 427 } 428 428 429 if("local_"+local_folders[i][0] == get_current_folder()){430 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML);431 if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){432 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m);433 }434 Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0;435 draw_paging(Element('tot_m').innerHTML);436 has_changes = true;437 }438 }429 if("local_"+local_folders[i][0] == get_current_folder()){ 430 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 431 if(!isNaN(old_new_m) && old_new_m < local_folders[i][1]){ 432 Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(local_folders[i][1])-old_new_m); 433 } 434 Element('new_m').innerHTML = local_folders[i][1] ? '<font color="RED">'+local_folders[i][1]+'</font>' : 0; 435 draw_paging(Element('tot_m').innerHTML); 436 has_changes = true; 437 } 438 } 439 439 } 440 440 if(has_changes) … … 472 472 caption:lang_folder(data[i].folder_name) + '<font style=color:red> (</font><span id="dftree_'+data[i].folder_id+'_unseen" style=color:red>'+data[i].folder_unseen+'</span><font style=color:red>)</font>' 473 473 }); 474 tree_folders.getNodeById(data[i].folder_id)._refresh(); 475 } 476 else if (data[i].folder_unseen <= 0) 477 { 478 tree_folders.getNodeById(data[i].folder_id).alter({ 479 caption:lang_folder(data[i].folder_name) 480 }); 481 tree_folders.getNodeById(data[i].folder_id)._refresh(); 482 } 483 484 if(data[i].folder_id == current_folder){ 485 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 474 tree_folders.getNodeById(data[i].folder_id)._refresh(); 475 } 476 else if (data[i].folder_unseen <= 0) 477 { 478 tree_folders.getNodeById(data[i].folder_id).alter({ 479 caption:lang_folder(data[i].folder_name) 480 }); 481 tree_folders.getNodeById(data[i].folder_id)._refresh(); 482 } 483 if(data[i].folder_id == current_folder){ 484 var old_new_m = isNaN(parseInt(Element('new_m').innerHTML)) ? parseInt(Element('new_m').firstChild.innerHTML) : parseInt(Element('new_m').innerHTML); 486 485 // if(!isNaN(old_new_m) && old_new_m < data[i].folder_unseen){ 487 486 // Element('tot_m').innerHTML = parseInt(Element('tot_m').innerHTML) + (parseInt(data[i].folder_unseen)-old_new_m); 488 487 // } 489 Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 490 draw_paging(Element('tot_m').innerHTML); 491 } 492 } 493 494 var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 495 //if ( unseen_in_mailbox ) 496 // display_unseen_in_mailbox.alter({caption:'<font style=color:red>[</font><span id="dftree_root_unseen" style="color:red">' + unseen_in_mailbox +'</span><font style=color:red>]</font> ' + get_lang("My Folders")}); 497 //else 498 display_unseen_in_mailbox.alter({ 499 caption:get_lang("My Folders") 500 }); 501 display_unseen_in_mailbox._refresh(); 502 503 var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 504 if ( display_unseen_in_shared_folders ) 505 { 506 if ( unseen_in_shared_folders ) 507 display_unseen_in_shared_folders.alter({ 508 caption:'<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' + unseen_in_shared_folders +'</span><font style=color:red>]</font> ' + get_lang("Shared folders") 509 }); 510 else 511 display_unseen_in_shared_folders.alter({ 512 caption:get_lang("Shared folders") 513 }); 514 display_unseen_in_shared_folders._refresh(); 515 } 516 }; 517 expresso.connector.cacheNextRequest(1); 518 cExecute ("expressoMail1_2.imap_functions.get_folders_list&folder=INBOX", update_tree_folders); 519 } 520 521 return; 522 } 523 else{ 524 if (!expresso_offline) { 525 tree_folders = new dFTree({ 526 name: 'tree_folders' 527 }); 528 529 var n_root = new dNode({ 530 id:'root', 531 caption: get_lang("My Folders") 532 }); 533 tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 534 535 var unseen_in_mailbox = 0; 536 var unseen_in_shared_folders = 0; 488 Element('new_m').innerHTML = data[i].folder_unseen ? '<font color="RED">'+data[i].folder_unseen+'</font>' : 0; 489 draw_paging(Element('tot_m').innerHTML); 490 } 491 } 492 493 var display_unseen_in_mailbox = tree_folders.getNodeById( 'root' ); 494 //if ( unseen_in_mailbox ) 495 // display_unseen_in_mailbox.alter({caption:'<font style=color:red>[</font><span id="dftree_root_unseen" style="color:red">' + unseen_in_mailbox +'</span><font style=color:red>]</font> ' + get_lang("My Folders")}); 496 //else 497 display_unseen_in_mailbox.alter({ 498 caption:get_lang("My Folders") 499 }); 500 display_unseen_in_mailbox._refresh(); 501 502 var display_unseen_in_shared_folders = tree_folders.getNodeById( 'user' ); 503 if ( display_unseen_in_shared_folders ) 504 { 505 if ( unseen_in_shared_folders ) 506 display_unseen_in_shared_folders.alter({ 507 caption:'<font style=color:red>[</font><span id="dftree_user_unseen" style="color:red">' + unseen_in_shared_folders +'</span><font style=color:red>]</font> ' + get_lang("Shared folders") 508 }); 509 else 510 display_unseen_in_shared_folders.alter({ 511 caption:get_lang("Shared folders") 512 }); 513 display_unseen_in_shared_folders._refresh(); } }; 514 } 515 return; 516 } 517 else{ 518 if (!expresso_offline) { 519 tree_folders = new dFTree({ 520 name: 'tree_folders' 521 }); 522 var n_root = new dNode({ 523 id:'root', 524 caption: get_lang("My Folders") 525 }); 526 tree_folders.add(n_root,'anything'); //Places the root; second argument can be anything. 527 528 var unseen_in_mailbox = 0; 529 var unseen_in_shared_folders = 0; 537 530 for (var i=0; i<folders.length; i++){ 538 531 if (folders[i].folder_unseen > 0) … … 543 536 544 537 var nn = new dNode({ 545 id:folders[i].folder_id,546 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>',547 onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')",548 plusSign:folders[i].folder_hasChildren549 });550 551 if( folders[i].folder_name.toLowerCase() == 'inbox' )552 Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>';553 }554 else555 var nn = new dNode({556 id:folders[i].folder_id,557 caption:lang_folder(folders[i].folder_name),558 onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')",559 plusSign:folders[i].folder_hasChildren560 });561 562 if (folders[i].folder_parent == '')563 folders[i].folder_parent = 'root';564 else if (folders[i].folder_parent == 'user'){565 566 if (!tree_folders.getNodeById('user')){567 tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop();568 if (tmpFolderId != folders[i].folder_name)569 {570 translatedFolders.add(tmpFolderId, folders[i].folder_name);571 }572 var n_root_shared_folders = new dNode({573 id:'user',574 caption:get_lang("Shared folders"),575 plusSign:true576 });577 tree_folders.add(n_root_shared_folders,'root');578 }579 }580 tree_folders.add(nn,folders[i].folder_parent);581 }538 id:folders[i].folder_id, 539 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>', 540 onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", 541 plusSign:folders[i].folder_hasChildren 542 }); 543 544 if( folders[i].folder_name.toLowerCase() == 'inbox' ) 545 Element('new_m').innerHTML = '<font style="color:red">' + folders[i].folder_unseen + '</font>'; 546 } 547 else 548 var nn = new dNode({ 549 id:folders[i].folder_id, 550 caption:lang_folder(folders[i].folder_name), 551 onClick:"change_folder('"+folders[i].folder_id+"','"+folders[i].folder_name+"')", 552 plusSign:folders[i].folder_hasChildren 553 }); 554 555 if (folders[i].folder_parent == '') 556 folders[i].folder_parent = 'root'; 557 else if (folders[i].folder_parent == 'user'){ 558 559 if (!tree_folders.getNodeById('user')){ 560 tmpFolderId = folders[i].folder_id.split(cyrus_delimiter).pop(); 561 if (tmpFolderId != folders[i].folder_name) 562 { 563 translatedFolders.add(tmpFolderId, folders[i].folder_name); 564 } 565 var n_root_shared_folders = new dNode({ 566 id:'user', 567 caption:get_lang("Shared folders"), 568 plusSign:true 569 }); 570 tree_folders.add(n_root_shared_folders,'root'); 571 } 572 } 573 tree_folders.add(nn,folders[i].folder_parent); 574 } 582 575 } 583 576 //tree_local_folders = new dFTree({name: 'tree_local_folders'}); … … 847 840 var handler_draw_box = function(data) 848 841 { 849 draw_box.headers_msgs = data; 850 draw_box.draw_box_messages(data, folder, true); 851 draw_paging(data.num_msgs); 852 Element("tot_m").innerHTML = data.num_msgs; 853 update_menu(); 854 return true; 842 draw_box.headers_msgs = data; 843 draw_box.draw_box_messages(data, folder, true); 844 draw_paging(data.num_msgs); 845 Element("tot_m").innerHTML = data.num_msgs; 846 Element("new_m").innerHTML = '<font style="color:'+(data.num_unseen > 0 ? 'red': '')+'">' + data.num_unseen + '</font>'; 847 folder_unseen = Element('dftree_'+current_folder+'_unseen'); 848 var num_unseen = data.num_unseen; 849 if (folder_unseen) 850 num_unseen -= folder_unseen.innerHTML; 851 increment_folder_unseen(num_unseen); 852 update_menu(); 853 return true; 855 854 }; 856 855 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);
Note: See TracChangeset
for help on using the changeset viewer.