- Timestamp:
- 08/03/12 15:32:43 (12 years ago)
- Location:
- trunk
- Files:
-
- 3 deleted
- 21 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r6922 r6930 128 128 $result = true; 129 129 if(!imap_renamemailbox($mbox, '{'.$this->imap_server.":".$this->imap_port.$this->imap_options.'}'.$old_folder, '{'.$this->imap_server.":".$this->imap_port.$this->imap_options.'}'.$to_folder.$this->imap_delimiter.$new_folder[count($new_folder)-1])){ 130 $result = false; 131 } 130 $result = imap_last_error(); 131 } 132 132 133 imap_close($mbox); 133 134 return $result; … … 2395 2396 $decifrada = mb_convert_encoding('INBOX'.$this->imap_delimiter.'decifradas','UTF7-IMAP','ISO-8859-1'); //Ignorar esta pasta decifrada 2396 2397 $parent = ($nameCount > 1 && $nameArray[($nameCount - 2)] !== 'INBOX') ? implode($this->imap_delimiter, array_slice($nameArray, 0, ($nameCount - 1))): ''; //Pega folder pai 2397 if($nameArray[0] === 'user') 2398 $folders[$prefixShared.$this->imap_delimiter.$nameArray[1]][] = array('id' => $folderId , 'stream' => $v->name , 'attributes' => $v->attributes , 'name' => $nameArray[($nameCount-1)] , 'user' => $nameArray[1] ,'parent' => $parent); 2399 else if( $folderId !== $decifrada) //Escapa pasta decifrada 2400 $folders['INBOX'][strtolower($folderId)] = array('id' => $folderId , 'stream' => $v->name , 'attributes' => $v->attributes ,'name' => $nameArray[($nameCount-1)] , 'parent' => $parent); 2401 } 2398 2399 if($nameArray[0] === 'user'){ 2400 2401 //variaveis utilizadas para definição das permissões das pastas compartilhadas 2402 $acl_share_create = 0; 2403 $acl_share_rename = 0; 2404 $acl_share_delete = 0; 2405 2406 //recuperando as permissões (ACLs) aplicadas na pasta 2407 $imap_getacl = imap_getacl($mboxStream, $folderId); 2408 2409 //Se existe ACLs aplicadas a respectiva pasta (para o usuario corrente) 2410 if(isset($imap_getacl[ $this->username ])){ 2411 $aclImap = $imap_getacl[ $this->username ]; 2412 2413 //A partir dos atributos da ACL definir permissões para cada ação (create, delete e rename): 2414 //http://www.ietf.org/rfc/rfc4314.txt 2415 $acl_share_create = (stripos($aclImap,'w') !== false && stripos($aclImap,'i') !== false && stripos($aclImap,'k') !== false) ? 1 : 0; 2416 $acl_share_delete = (stripos($aclImap,'x') !== false && stripos($aclImap,'t') !== false && stripos($aclImap,'e') !== false) ? 1 : 0; 2417 2418 $acl_share_rename = ($acl_share_create && $acl_share_delete) ? 1 : 0; 2419 } 2420 2421 $folders[$prefixShared.$this->imap_delimiter.$nameArray[1]][] = array( 2422 'id' => $folderId , 2423 'stream' => $v->name , 2424 'attributes' => $v->attributes , 2425 'name' => $nameArray[($nameCount-1)] , 2426 'user' => $nameArray[1] , 2427 'parent' => $parent , 2428 2429 //Acrescentando ACLs configuradas a cada pasta compartilhada 2430 'acl_share' => array( 2431 'create' => $acl_share_create, 2432 'rename' => $acl_share_rename, 2433 'delete' => $acl_share_delete 2434 ) 2435 ); 2436 2437 } 2438 else if( $folderId !== $decifrada){ //Escapa pasta decifrada 2439 $folders['INBOX'][strtolower($folderId)] = array( 2440 'id' => $folderId , 2441 'stream' => $v->name , 2442 'attributes' => $v->attributes , 2443 'name' => $nameArray[($nameCount-1)] , 2444 'parent' => $parent 2445 ); 2446 } 2447 } 2448 2402 2449 unset($folders_list); //destroy array de objetos desnecessarios 2403 2450 … … 2417 2464 $append['folder_hasChildren'] = (($vv['attributes'] == 32) && ($vv['name'] != 'INBOX')) ? 1 : 0; 2418 2465 $append['folder_parent'] = $vv['parent']; 2466 2467 //Preparando o array de retorno para conter as ACLs configuradas para cada pasta 2468 if(isset($vv['acl_share'])){ 2469 $append['acl_share'] = $vv['acl_share']; 2470 } 2419 2471 $return[] = $append; 2420 2472 } … … 2423 2475 $quotaInfo = (!isset($params['noQuotaInfo'])) ? $this->get_quota( array('folder_id' => $currentFolder)) : false; //VERIFICA SE O USUARIO TEM COTA 2424 2476 2425 return ( ( is_array($quotaInfo) ) ? array_merge($return, $quotaInfo) : $return ); 2477 return ( ( is_array($quotaInfo) ) ? array_merge($return, $quotaInfo) : $return ); 2426 2478 } 2427 2479 … … 2443 2495 if(!imap_createmailbox($mbox_stream,"{".$imap_server."}".$namebox)) 2444 2496 { 2445 $result = im plode("<br />\n", imap_errors());2497 $result = imap_last_error(); 2446 2498 } 2447 2499 }else{ … … 2454 2506 if(!imap_createmailbox($mbox_stream,"{".$imap_server."}$namebox")) 2455 2507 { 2456 $result = im plode("<br />\n", imap_errors());2508 $result = imap_last_error(); 2457 2509 } 2458 2510 $child .=$this->imap_delimiter; … … 2496 2548 if(!imap_deletemailbox($mbox_stream,"{".$imap_server."}$namebox")) 2497 2549 { 2498 $result = im plode("<br />\n", imap_errors());2550 $result = imap_last_error(); 2499 2551 } 2500 2552 /* … … 2519 2571 if(!imap_renamemailbox($mbox_stream,"{".$imap_server."}$namebox","{".$imap_server."}$new_box")) 2520 2572 { 2521 $result = imap_ errors();2573 $result = imap_last_error(); 2522 2574 } 2523 2575 if($mbox_stream) … … 3706 3758 $this->mbox = $this->open_mbox($folder); 3707 3759 3760 if($offsetEnd == 0 && $offsetBegin == 0){ 3761 $offsetEnd = imap_num_msg($this->mbox); 3762 $offsetBegin = 1; 3763 } 3708 3764 return $this->messages_sort($sort_box_type,$sort_box_reverse, $search_box_type,$offsetBegin,$offsetEnd,$folder); 3709 3765 } … … 3853 3909 function empty_folder($params) 3854 3910 { 3855 $folder = 'INBOX'. $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server'][$params['clean_folder']];3911 $folder = (isset($params['shared']) ? $params['shared'] : 'INBOX') . $this->imap_delimiter . $_SESSION['phpgw_info']['expressomail']['email_server'][$params['clean_folder']]; 3856 3912 $mbox_stream = $this->open_mbox($folder); 3857 3913 $return = imap_delete($mbox_stream,'1:*'); 3914 $return = imap_errors(); 3858 3915 if($mbox_stream) 3859 3916 imap_close($mbox_stream, CL_EXPUNGE); -
trunk/expressoMail1_2/js/TreeS.js
r6910 r6930 4 4 5 5 function foldersExpresso(){ } 6 7 function load()8 {9 var div = document.createElement("div");10 11 var args =12 {13 "delete_folder" : get_lang('Delete folder'),14 "export_messages" : get_lang('Export messages'),15 "new_folder" : get_lang('New folder'),16 "rename_folder" : get_lang('Rename folder')17 };18 19 $(div).html(DataLayer.render("./templates/default/folderExpresso.ejs", args ));20 21 $(div).dialog(22 {23 resizable : false,24 title : get_lang("Manager your folders and export messages"),25 position : 'center',26 width : 600,27 height : 300,28 modal : false,29 buttons : [30 {31 text: get_lang("Close"),32 click: function()33 {34 $(this).dialog("close").dialog("destroy");35 div.removeChild( div.firstChild );36 },37 style: "margin-top: -2.1em"38 }39 ],40 beforeClose : function()41 {42 if(typeof(shortcut) != 'undefined') shortcut.disabled = false;43 $(this).dialog("destroy");44 div.removeChild( div.firstChild );45 },46 open : function()47 {48 if( folders.length == 0 )49 {50 write_msg( "ERRO : Sem dados" );51 $(div).dialog("destroy");52 div.removeChild(div.firstChild);53 return false;54 }55 else56 {57 if( Element('dftree_treeFolders') != null )58 {59 $(div).dialog("destroy");60 div.removeChild( div.firstChild );61 return;62 }63 else64 {65 make_tree(div.firstChild);66 }67 }68 if(typeof(shortcut) != 'undefined') shortcut.disabled = true;69 }70 });71 }72 73 6 74 7 function make_tree() … … 187 120 FOLDER = arguments[0]; 188 121 } 189 190 foldersExpresso.prototype.load = load; 122 191 123 foldersExpresso.prototype.getFolder = getFolder; 192 124 foldersExpresso.prototype.setFolder = setFolder; -
trunk/expressoMail1_2/js/abas.js
r6892 r6930 146 146 document.getElementById('to_'+ID).focus(); 147 147 } 148 if (ID == 0){ 149 updateSelectedMsgs(); 150 } 148 151 RichTextEditor.setEditable(ID); 149 152 resizeWindow(); … … 153 156 function create_border(borderTitle, id_value, search) 154 157 { 155 156 158 borderTitle = ( ( borderTitle && borderTitle.constructor == String && borderTitle.length > 0 ) ? borderTitle : ' ' ); 157 159 borderTitle = html_entities(borderTitle); -
trunk/expressoMail1_2/js/common_functions.js
r6910 r6930 628 628 } 629 629 630 function folderbox()631 {632 connector.loadScript("TreeS");633 634 if( typeof(window.ttree) == 'undefined')635 setTimeout(function(){ folderbox(); }, 200 );636 else637 ttree.load();638 }639 640 630 function filterbox(){ 641 631 connector.loadScript("filter"); … … 685 675 closeOnEscape:true, 686 676 close:function(event, ui) { 687 select_all_search_messages(false, 'content_id_'+currentTab);677 //select_all_search_messages(false, 'content_id_'+currentTab); 688 678 event.stopPropagation(); 689 679 if(typeof(shortcut) != 'undefined') shortcut.disabled = false; … … 743 733 closeOnEscape:true, 744 734 close:function(event, ui) { 745 select_all_search_messages(false, 'content_id_'+currentTab);735 //select_all_search_messages(false, 'content_id_'+currentTab); 746 736 event.stopPropagation(); 747 737 if(typeof(shortcut) != 'undefined') shortcut.disabled = false; … … 1130 1120 var main_list = main.childNodes; 1131 1121 var len_main_list = main_list.length; 1132 1122 var folder = $('#content_folders .folder.selected').attr('title'); 1123 folder = folder ? folder : get_lang('INBOX'); 1124 folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; 1125 var filterFlag = search_box_type != "ALL" ? '"'+get_lang(search_box_type) + "s" +'"': ""; 1126 var div = $('.select-all-messages'); 1133 1127 if (select) 1134 1128 { … … 1139 1133 if(!$("#"+main_list[i].id).hasClass("selected_shortcut_msg")){ 1140 1134 //add_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg current_selected'); 1141 add_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg');1135 add_className(Element(main_list[i].id), 'selected_msg'); 1142 1136 } else { 1143 1137 $("#"+main_list[i].id).addClass("selected_msg"); 1144 $("#"+main_list[i].id).addClass("selected_shortcut_msg"); 1145 $("#"+main_list[i].id).addClass("current_selected"); 1146 } 1138 //$("#"+main_list[i].id).addClass("selected_shortcut_msg"); 1139 //$("#"+main_list[i].id).addClass("current_selected"); 1140 } 1141 selectedPagingMsgs[main_list[i].id] = true; 1142 } 1143 if (totalSelected() == totalFolderMsgs && totalSelected() > 0){ 1144 allMsgsSelected = true; 1145 if (total_pages > 1){ 1146 var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 1147 var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 1148 div.html("<span>"+info+"<span>"); 1149 div.show(); 1150 $('.select-link').bind('click',function(){ 1151 selectAllFolderMsgs(); 1152 //$('.select-link').unbind('click'); 1153 }); 1154 } 1155 } 1156 else if (!allMsgsSelected && total_pages > 1){ 1157 var link = "<a class='select-link' href='#'>Selecionar todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+"?</a>"; 1158 var info = "Todas as <b>"+$('#table_box tr').length+"</b> mensagens desta página foram selecionadas. "+link; 1159 div.html("<span>"+info+"<span>"); 1160 div.show(); 1161 $('.select-link').bind('click',function(){ 1162 selectAllFolderMsgs(true); 1163 //$('.select-link').unbind('click'); 1164 }); 1147 1165 } 1148 1166 } … … 1155 1173 $("#"+main_list[i].id).removeClass("selected_msg"); 1156 1174 $("#"+main_list[i].id).removeClass("current_selected"); 1157 } 1158 } 1159 1175 selectedPagingMsgs[main_list[i].id] = false; 1176 } 1177 if (allMsgsSelected){ 1178 allMsgsSelected = false; 1179 updateSelectedMsgs(); 1180 } 1181 else if (totalSelected() > 0 && total_pages > 1){ 1182 var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 1183 var info = "Foram selecionadas <b>"+totalSelected()+"</b> mensagens "+filterFlag+" em "+folder+". "+link; 1184 div.html("<span>"+info+"<span>"); 1185 div.show(); 1186 $('.select-link').bind('click',function(){ 1187 selectAllFolderMsgs(false); 1188 //$('.select-link').unbind('click'); 1189 }); 1190 } 1191 else div.hide(); 1192 1193 } 1194 resizeWindow(); 1160 1195 } 1161 1196 -
trunk/expressoMail1_2/js/doiMenuData.js
r6541 r6930 97 97 98 98 /** 99 * Carrega o menu de op ção de uma mensagem99 * Carrega o menu de opção de uma mensagem 100 100 */ 101 101 function loadMenu(){ … … 140 140 "i02": {"name": get_lang("Search"), "icon": "search-mail", callback: function(key, opt){ search_emails(""); }}, 141 141 "103": {"name": get_lang("Edit filters"), "icon": "filter", callback: filterbox2 }, 142 "i04": {"name": get_lang("Edit folders"), "icon": "edit-folder", callback: folderbox },143 142 "i05": {"name": get_lang("Share mailbox"), "icon": "share-mailbox", callback: sharebox }, 144 143 "i06": {"name": get_lang("Labels"), "icon": "tag", callback: configureLabels }, … … 153 152 } else { 154 153 var menuToolsItems = { 155 "i01": {"name": get_lang("Search"), "icon": "search-mail", callback: function(key, opt){ search_emails(""); }}, 156 "i02": {"name": get_lang("Edit folders"), "icon": "edit-folder", callback: folderbox } 154 "i01": {"name": get_lang("Search"), "icon": "search-mail", callback: function(key, opt){ search_emails(""); }} 157 155 } 158 156 } … … 210 208 function updateLabelsColumn(messageInfo) { 211 209 var msg_number = messageInfo.msg_number; 212 //uid é o numero da mensagem quando os dados são carregados na busca rapida.210 //uid é o numero da mensagem quando os dados são carregados na busca rapida. 213 211 if(messageInfo.uid != '' && messageInfo.uid != 'undefined' && messageInfo.uid != null){ 214 212 msg_number = messageInfo.uid; … … 268 266 .appendTo(this); 269 267 $(this).find('span.removeLabeled').click(function(){ 270 //TODO Mudar quando API abstrair atualiza ções no cache268 //TODO Mudar quando API abstrair atualizações no cache 271 269 DataLayer.remove('labeled', false); 272 270 DataLayer.get('labeled'); -
trunk/expressoMail1_2/js/draw_api.js
r6927 r6930 12 12 canMakeBox = true; 13 13 fastSearch = false; 14 selectedPagingMsgs = {}; 15 allMsgsSelected = false; 16 totalFolderMsgs = 0; 17 var jqXHR = new Array(); 18 var idattachbycontent = 0; 14 19 15 20 onceOpenedHeadersMessages = {}; … … 514 519 if (openTab.imapBox[0] != folder) 515 520 { 521 selectAllFolderMsgs(false); 516 522 current_folder = folder; 517 523 var handler_draw_box = function(data) 518 524 { 525 519 526 if(!verify_session(data)) 520 527 return; … … 531 538 return true; 532 539 } 540 $.ajax({ 541 url: "controller.php?" + $.param( {action: "$this.imap_functions.get_range_msgs3", 542 folder: folder, 543 msg_range_begin: "0", 544 msg_range_end: "0", 545 sort_box_type: "SORTARRIVAL", 546 search_box_type: search_box_type, 547 sort_box_reverse: "1" 548 }), 549 success: function(data){ 550 data = connector.unserialize(data); 551 if(data){ 552 var _data = {}; 553 $.each(data,function(index,value){ 554 if (data[index] && data[index].msg_number){ 555 _data[data[index].msg_number] = data[index].msg_number; 556 } 557 }); 558 populateSelectedMsgs(_data); 559 _data = {}; 560 561 } 562 }, 563 beforeSend: function( jqXHR, settings ){ 564 connector.showProgressBar(); 565 }, 566 complete: function( jqXHR, settings ){ 567 connector.hideProgressBar(); 568 } 569 }); 533 570 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); 534 571 } … … 896 933 var _mouse_out; 897 934 var _cell; 898 var colGroupMain = document.getElementById("colgroup_main_"+numBox);899 var colGroupHead = document.getElementById("colgroup_head_"+numBox);900 935 for (var r=0;r<trM.length;r++) { 901 936 for (var c=0;c<trM[r].cells.length;c++) { … … 904 939 if (is_mozilla && !is_webkit) { 905 940 if (!emptyBody) { 906 colGroupMain.childNodes[c].setAttribute("width",colSizes[tbl][c]);941 document.getElementById("colgroup_main_"+numBox).childNodes[c].setAttribute("width",colSizes[tbl][c]); 907 942 } 908 colGroupHead.childNodes[c].setAttribute("width",colSizes[tbl][c]);943 document.getElementById("colgroup_head_"+numBox).childNodes[c].setAttribute("width",colSizes[tbl][c]); 909 944 if (tbH.rows[0].cells[c].className=="th_resizable") { 910 945 // lots of stupid fixes for FF to redraw cell content … … 921 956 } 922 957 } 923 /*924 958 else { 925 959 tbH.rows[0].cells[c].setAttribute("width",_cell.offsetWidth); 926 } */960 } 927 961 } 928 962 } … … 1043 1077 } 1044 1078 1079 1080 /*Cria a div que permite a seleção de todas as mensagens*/ 1081 function drawSelectMsgsTable(){ 1082 var div = $('<div>'); 1083 div.attr('class','select-all-messages'); 1084 $('#content_id_'+currentTab).first().prepend(div); 1085 div.css('display','none'); 1086 } 1087 1088 function totalSelected(){ 1089 var total = 0; 1090 for(var obj in selectedPagingMsgs) 1091 if (selectedPagingMsgs[obj] == true) 1092 total++; 1093 return total; 1094 }; 1095 1096 /*Atualiza o array de mensagens selecionadas*/ 1097 function updateSelectedMsgs(selected,msg_number){ 1098 var folder = $('#content_folders .folder.selected').attr('title'); 1099 folder = folder ? folder : get_lang('INBOX'); 1100 folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; 1101 var div = $('.select-all-messages'); 1102 var filterFlag = search_box_type != "ALL" ? '"' + get_lang(search_box_type) + "s" + '"': ""; 1103 /*Seleciona as mensagens ao navegar pelas páginas*/ 1104 if (allMsgsSelected && msg_number == undefined){ 1105 $('.checkbox').each(function(){ 1106 $(this).attr('checked', true); 1107 $(this).parent().parent().addClass('selected_msg'); 1108 }); 1109 } 1110 else if (msg_number == undefined){ 1111 for(var obj in selectedPagingMsgs){ 1112 if (selectedPagingMsgs[obj] == true){ 1113 $('#check_box_message_'+obj).attr('checked', true); 1114 $('#check_box_message_'+obj).parent().parent().addClass('selected_msg'); 1115 } 1116 } 1117 } 1118 if (selected && msg_number != undefined){ 1119 selectedPagingMsgs[msg_number] = true; 1120 $(this).parent().parent().addClass('selected_msg'); 1121 } 1122 else if(!selected && msg_number != undefined){ 1123 selectedPagingMsgs[msg_number] = false; 1124 $(this).parent().parent().removeClass('selected_msg'); 1125 allMsgsSelected = false; 1126 $('#chk_box_select_all_messages').attr('checked',false); 1127 } 1128 var tSelected = totalSelected(); 1129 /*Todas as mensagens selecionadas uma a uma*/ 1130 if (tSelected > 0 && tSelected == totalFolderMsgs){ 1131 allMsgsSelected = true; 1132 $('#chk_box_select_all_messages').attr('checked',true); 1133 if (total_pages > 1){ 1134 var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 1135 var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 1136 div.html("<span>"+info+"<span>"); 1137 div.show(); 1138 $('.select-link').bind('click',function(){selectAllFolderMsgs();$('.select-link').unbind('click');}); 1139 } 1140 } 1141 /*Se foram selecionadas algumas mensagens*/ 1142 else if (tSelected > 0 && !allMsgsSelected && total_pages > 1){ 1143 $('#chk_box_select_all_messages').attr('checked',false); 1144 var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 1145 if (tSelected == 1){ 1146 var info = "Foi selecionada <b>"+tSelected+"</b> mensagem "+filterFlag+" em "+folder+". "+link; 1147 } 1148 else{ 1149 var info = "Foram selecionadas <b>"+tSelected+"</b> mensagens "+filterFlag+" em "+folder+". "+link; 1150 } 1151 div.html("<span>"+info+"<span>"); 1152 div.show(); 1153 $('.select-link').bind('click',function(){ 1154 selectAllFolderMsgs(); 1155 $('.select-link').unbind('click'); 1156 }); 1157 } 1158 else if (allMsgsSelected && total_pages > 1){ 1159 var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 1160 var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 1161 div.html("<span>"+info+"<span>"); 1162 div.show(); 1163 $('.select-link').bind('click',function(){ 1164 selectAllFolderMsgs(); 1165 $('.select-link').unbind('click'); 1166 }); 1167 } 1168 else{ 1169 div.hide(); 1170 } 1171 resizeWindow(); 1172 } 1173 1174 /*Seleciona ou desseleciona todas as mensagens da pasta*/ 1175 function selectAllFolderMsgs(select){ 1176 var folder = $('#content_folders .folder.selected').attr('title'); 1177 folder = folder ? folder : get_lang('INBOX'); 1178 folder = folder.length > 70 ? '"'+folder.substr(0,70) + "..." +'"': '"'+folder+'"' ; 1179 var filterFlag = search_box_type != "ALL" ? get_lang(search_box_type) + "s": ""; 1180 var div = $('.select-all-messages'); 1181 if (select){ 1182 allMsgsSelected = true; 1183 var link = "<a class='select-link' href='#'>Limpar seleção?</a>"; 1184 var info = "Todas as <b>"+totalFolderMsgs+"</b> mensagens "+filterFlag+" em "+folder+" foram selecionadas. "+link; 1185 div.html("<span>"+info+"<span>"); 1186 div.show(); 1187 $('.select-link').bind('click',function(){ 1188 selectAllFolderMsgs(); 1189 $('.select-link').unbind('click'); 1190 }); 1191 for(var obj in selectedPagingMsgs){ 1192 selectedPagingMsgs[obj] = true; 1193 } 1194 1195 }else{ 1196 allMsgsSelected = false; 1197 for(var obj in selectedPagingMsgs){ 1198 $("#content_id_0").find('input[type="checkbox"]').removeAttr("checked"); 1199 selectedPagingMsgs[obj] = false; 1200 $('#check_box_message_'+obj).parent().parent().removeClass('selected_msg selected_shortcut_msg'); 1201 } 1202 div.hide(); 1203 } 1204 resizeWindow(); 1205 } 1206 1207 /*Carrega o array de mensagens da pasta*/ 1208 function populateSelectedMsgs(data){ 1209 this.selectedPagingMsgs = {}; 1210 this.totalFolderMsgs = 0; 1211 var total = 0; 1212 $.each(data, function(index, value){ 1213 if(value != undefined){ 1214 selectedPagingMsgs[value] = false; 1215 total++; 1216 } 1217 }); 1218 delete selectedPagingMsgs[undefined]; 1219 allMsgsSelected = false; 1220 this.totalFolderMsgs = total; 1221 } 1222 1045 1223 // Draw the inbox and another folders 1046 1224 function draw_box(headers_msgs, msg_folder, alternate){ … … 1124 1302 chk_box_element.className = "checkbox"; 1125 1303 chk_box_element.onclick = function(){select_all_messages(this.checked);}; 1126 chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages from this page.') };1304 chk_box_element.onmouseover = function () {this.title=get_lang('Select all messages from this page.'); }; 1127 1305 chk_box_element.onkeydown = function (e){ 1128 1306 if (is_ie) … … 1279 1457 _divScroll.appendChild(table_element); 1280 1458 openTab.content_id[numBox].appendChild(_divScroll); 1281 1459 1282 1460 var f_unseen = 0; 1283 1461 1284 1462 document.getElementById("table_message_header_box_"+numBox).emptyBody = false; 1285 1463 1286 1464 if (headers_msgs.num_msgs == 0) 1287 1465 showEmptyBoxMsg(tbody_element); … … 1344 1522 //helper: 'clone', 1345 1523 helper: function(event){ 1346 $(this).find("input:checkbox").attr("checked", true); 1524 $(this).addClass("selected_msg").find("input:checkbox").attr("checked", true); 1525 updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 1347 1526 if ( $("#tbody_box .selected_shortcut_msg").length > 1) { 1348 $("#tbody_box .selected_shortcut_msg").find('.checkbox').attr('checked',true); 1527 $("#tbody_box .selected_shortcut_msg").addClass("selected_msg").find('.checkbox').attr('checked',true); 1528 $.each( $(".selected_shortcut_msg"), function(index, value){ 1529 updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 1530 }); 1349 1531 } 1350 if($("#table_box").find("tr input:checked").length > 1 ) 1351 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($("#table_box").find("tr input:checked")).length+" mensagens selecionadas"), type: "messages"})+"</td></tr>"); 1532 1533 if(totalSelected() > 1 ) 1534 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (totalSelected()+" mensagens selecionadas"), type: "messages"})+"</td></tr>"); 1352 1535 if( $(this).find(".td_msg_subject").text().length > 18 ) 1353 1536 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text().substring(0,18) + "...", type: "messages"})+"</td></tr>"); … … 1361 1544 containment: "#divAppbox" 1362 1545 }).bind('contextmenu',function(event){ 1363 if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ 1364 if($(this).find("input:checkbox").attr("checked") != "checked"){ 1365 $(this).find("input:checkbox").trigger('click'); 1366 $(this).addClass("selected_msg"); 1367 } 1546 if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ 1547 if($(this).find("input:checkbox").attr("checked") != "checked"){ 1548 $(this).find("input:checkbox").trigger('click'); 1549 $(this).addClass("selected_msg"); 1368 1550 } 1551 updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 1552 } 1369 1553 }); 1370 1554 } … … 1373 1557 select_msg(headers_msgs[0].msg_number, 'null', true); 1374 1558 1375 1559 1376 1560 var tdFolders = Element("folderscol"); 1377 1561 tdFolders.style.display = preferences.hide_folders == '1' ? "none" : ""; … … 1418 1602 Element('msg_number').value = ''; 1419 1603 } 1420 var scripts = new Array("InfoContact", 1421 "TreeShow"); 1422 connector.loadAllScripts(scripts); 1604 connector.loadScript("InfoContact"); 1423 1605 // Loading Quota View Folder Component (if exists...) 1424 1606 if(Element("table_quota")) … … 1434 1616 document.getElementById("exmail_main_body").appendChild(ruler_element); 1435 1617 } 1436 1618 drawSelectMsgsTable(); 1619 updateSelectedMsgs(); 1620 resizeWindow(); 1437 1621 } 1438 1622 … … 1510 1694 1511 1695 $(chk_box_element).click(function(e){ 1512 changeBgColor(e,headers_msgs.msg_number); 1696 updateSelectedMsgs($(this).is(':checked'),headers_msgs.msg_number); 1697 $(".selected_shortcut_msg").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); 1698 $(".current_selected_shortcut_msg").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); 1699 if(preferences.use_shortcuts == '1') 1700 $(this).parents("tr:first").addClass("current_selected_shortcut_msg selected_shortcut_msg"); 1701 changeBgColor(e,headers_msgs.msg_number); 1702 $(this).blur(); 1513 1703 }); 1514 1704 … … 1896 2086 1897 2087 function sort_box(search, sort){ 2088 selectAllFolderMsgs(false); 1898 2089 if (cellResized) 1899 2090 return; … … 1921 2112 sort_box_type = sort; 1922 2113 search_box_type = search; 1923 2114 $.ajax({ 2115 url: "controller.php?" + $.param( {action: "$this.imap_functions.get_range_msgs3", 2116 folder: get_current_folder(), 2117 msg_range_begin: "0", 2118 msg_range_end: "0", 2119 sort_box_type: "SORTARRIVAL", 2120 search_box_type: search_box_type, 2121 sort_box_reverse: "1" 2122 }), 2123 success: function(data){ 2124 data = connector.unserialize(data); 2125 if(data){ 2126 var _data = {}; 2127 $.each(data,function(index,value){ 2128 if (data[index] && data[index].msg_number){ 2129 _data[data[index].msg_number] = data[index].msg_number; 2130 } 2131 }); 2132 populateSelectedMsgs(_data); 2133 _data = {}; 2134 2135 } 2136 }, 2137 beforeSend: function( jqXHR, settings ){ 2138 connector.showProgressBar(); 2139 }, 2140 complete: function( jqXHR, settings ){ 2141 connector.hideProgressBar(); 2142 } 2143 }); 1924 2144 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); 1925 2145 current_page = 1; … … 4403 4623 var maxAttachmentSize = (preferences.max_attachment_size !== "" && preferences.max_attachment_size != 0) ? (parseInt(preferences.max_attachment_size.replace('M', '')) * 1048576 ) : false; 4404 4624 4625 content.find(".new-msg-head-data").scroll(function(){ 4626 $.each(fileUploadMSG.find(".attachments-list .att-box"), function(index, value){ 4627 $(this).qtip("api").updatePosition(); 4628 $(this).qtip("api").updateWidth(); 4629 }); 4630 }); 4631 $("#fileupload_msg"+ID+"_droopzone").click(function(){ 4632 $(this).removeClass('in hover'); 4633 $(this).hide(); 4634 $(this).prev().show(); 4635 }); 4405 4636 fileUploadMSG.find(".button").button().filter(".fileinput-button").find(".ui-button-text").css("margin-top", "2px").find("input:file").fileupload({ 4406 //singleFileUploads : true, 4637 //singleFileUploads : true,fileUploadMSG 4407 4638 sequentialUploads: true, 4408 4639 type: 'post', … … 4410 4641 url: "../prototype/post.php", 4411 4642 forceIframeTransport: false, 4412 dropZone : fileUploadMSG,4643 dropZone : $("#fileupload_msg"+ID+"_droopzone"), 4413 4644 formData: function(form) { 4414 4645 return [ … … 4428 4659 }, 4429 4660 add: function (e, data) { 4661 var iterator = idattachbycontent; 4430 4662 if(!maxAttachmentSize || data.files[0].size < maxAttachmentSize || is_ie) { 4431 4663 setTimeout(function() { 4432 4664 $('#attDisposition'+ID).val('attachment'); 4433 data.submit(); 4434 }, 3000); 4435 } 4665 jqXHR[iterator] = data.submit(); 4666 }, 100); 4667 } 4668 fileUploadMSG.find(' .attachments-list').show(); 4436 4669 $.each(data.files, function (index, file) { 4437 4670 var attach = {}; 4438 4671 attach.fullFileName = file.name; 4439 4672 attach.fileName = file.name; 4440 if(file.name.length > 50)4441 attach.fileName = file.name.substr(0, 32) + " ... " + file.name.substr(file.name.length-9, file.name.length);4673 if(file.name.length > 20) 4674 attach.fileName = file.name.substr(0, 17) + " ... " + file.name.substr(file.name.length-6, file.name.length); 4442 4675 attach.fileSize = formatBytes(file.size); 4443 4676 if(maxAttachmentSize && file.size > maxAttachmentSize) 4444 attach.error = 'Tamanho de arquivo nao permitido!!' 4445 4446 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 4447 upload.find('.button.close').button({ 4448 icons: { 4449 primary: "ui-icon-close" 4450 }, 4451 text: false 4452 }).click(function(){ 4677 attach.error = 'Tamanho de arquivo nao permitido' 4678 else 4679 attach.error = true; 4680 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 4681 upload.find('.att-box-delete').click(function(){ 4453 4682 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 4454 4683 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]').remove(); 4455 delAttachment(ID, idAttach) 4684 delAttachment(ID, idAttach); 4685 $(this).parent().qtip("destroy"); 4456 4686 $(this).parent().remove(); 4687 if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 4688 fileUploadMSG.find(' .attachments-list').hide(); 4689 } 4690 if(jqXHR){ 4691 jqXHR[iterator].abort(); 4692 } 4457 4693 }); 4458 4459 fileUploadMSG.find('.attachments-list').append(upload); 4694 4695 fileUploadMSG.find('.attachments-list').append(upload); 4696 4697 fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 4698 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 4699 position: { 4700 corner: { 4701 tooltip: 'bottomMiddle', 4702 target: 'topMiddle' 4703 }, 4704 adjust: { 4705 resize: true, 4706 scroll: true, 4707 screen: true 4708 } 4709 }, 4710 show: { 4711 when: 'mouseover', // Don't specify a show event 4712 ready: false // Show the tooltip when ready 4713 }, 4714 hide: 'mouseout', // Don't specify a hide event 4715 style: { 4716 border: { 4717 width: 1, 4718 radius: 5 4719 }, 4720 width: { 4721 min: 75, 4722 max : 1000 4723 }, 4724 padding: 3, 4725 textAlign: 'left', 4726 tip: true, // Give it a speech bubble tip with automatic corner detection 4727 name: (typeof(attach.error) == 'boolean' ? 'light' : 'red') // Style it according to the preset 'cream' style 4728 } 4729 })/*.progressbar({ 4730 value : 1 4731 })*/; 4732 4733 fileUploadMSG.find('.attachments-list .att-box:last').css('width', fileUploadMSG.find('.attachments-list .att-box:last div:first').css('width')); 4460 4734 4461 4735 if(!maxAttachmentSize || file.size < maxAttachmentSize){ … … 4466 4740 }else 4467 4741 fileUploadMSG.find(' .fileinput-button.new').removeClass('new'); 4742 4743 idattachbycontent++ 4468 4744 }); 4745 4469 4746 }, 4470 4747 done: function(e, data){ 4748 var attach_box = fileUploadMSG.find('.att-box-loading:first').parents('.att-box'); 4749 var attach = { 4750 fullFileName : attach_box.find(".att-box-fullfilename").text(), 4751 fileSize : attach_box.find(".att-box-filesize").text(), 4752 error : false 4753 }; 4471 4754 if(!!data.result && data.result != "[]" ){ 4472 4755 var newAttach = data.result; 4473 if(!newAttach.mailAttachment.error){ 4474 if(newAttach.rollback !== false) 4475 { 4476 fileUploadMSG.find('.in-progress:first').parents('p').append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>').find('.status-upload').addClass('ui-icon ui-icon-check'); 4477 addAttachment(ID,newAttach['mailAttachment'][0][0].id); 4478 } 4479 else 4480 fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error'); 4481 }else{ 4482 fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append(newAttach.mailAttachment.error).addClass('message-attach-error'); 4483 } 4484 4756 if(!newAttach.mailAttachment.error || newAttach.rollback !== false){ 4757 attach_box.append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>'); 4758 addAttachment(ID,newAttach['mailAttachment'][0][0].id); 4759 }else { 4760 attach_box.addClass('invalid-email-box'); 4761 attach.error = newAttach.mailAttachment.error ? newAttach.mailAttachment.error : 'Erro ao anexar...';//.append(newAttach.mailAttachment.error).addClass('message-attach-error'); 4762 } 4485 4763 }else { 4486 fileUploadMSG.find(' .progress.on-complete:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error'); 4487 } 4488 fileUploadMSG.find(' .in-progress:first').remove(); 4489 } 4764 attach_box.addClass('invalid-email-box');//.qtip("api").updateContent("oi", true); 4765 attach.error = 'Erro ao anexar...'; 4766 } 4767 attach_box.qtip("destroy").qtip({ 4768 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 4769 position: { 4770 corner: { 4771 tooltip: 'bottomMiddle', 4772 target: 'topMiddle' 4773 }, 4774 adjust: { 4775 resize: true, 4776 scroll: true, 4777 screen: true 4778 } 4779 }, 4780 show: { 4781 when: 'mouseover', // Don't specify a show event 4782 ready: false // Show the tooltip when ready 4783 }, 4784 hide: 'mouseout', // Don't specify a hide event 4785 style: { 4786 border: { 4787 width: 1, 4788 radius: 5 4789 }, 4790 width: { 4791 min: 75, 4792 max : 1000 4793 }, 4794 padding: 3, 4795 textAlign: 'left', 4796 tip: true, // Give it a speech bubble tip with automatic corner detection 4797 name: (attach.error == false ? 'blue' : 'red')// Style it according to the preset 'cream' style 4798 } 4799 });/* 4800 fileUploadMSG.find(".att-box-loading:first").parents(".att-box").removeAttr("style").progressbar("destroy").find("div:first").removeAttr("style"); 4801 */ 4802 fileUploadMSG.find('.att-box-loading:first').remove(); 4803 }/*, 4804 progress : function(e, data){ 4805 var progress = parseInt(data.loaded / data.total * 100, 10); 4806 fileUploadMSG.find('.att-box-loading:first').parents(".att-box:first").progressbar({ 4807 value : progress 4808 }); 4809 }*/ 4490 4810 }).css({ 4491 4811 "height" : "20px", … … 4513 4833 }, 4514 4834 autoOpen:false 4835 }); 4836 jQuery.getScript("../prototype/modules/attach_message/attach_message.js", function(){ 4837 jQuery('#message-attach-dialog').dialog('open'); 4838 jQuery('#message-attach-attach-btn').unbind('click'); 4839 jQuery('#message-attach-attach-btn').click(function(event){ 4840 jQuery.each(selectedMessages, function(folder_name, messages) { 4841 jQuery.each(selectedMessages[folder_name], function(message_number, message) { 4842 if (message) { 4843 fileUploadMSG.find(' .attachments-list').show(); 4844 var att = new Object(); 4845 att.folder = folder_name; 4846 att.uid = message_number; 4847 att.type = 'imapMSG'; 4848 att.name = Base64.encode(onceOpenedMessages[folder_name][message_number].subject + '.eml'); 4849 var idATT = JSON.stringify(att); 4850 addAttachment( ID , idATT); 4851 var attach = {}; 4852 attach.fileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 4853 attach.fullFileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 4854 if(attach.fileName.length > 20) 4855 attach.fileName = attach.fileName.substr(0, 17) + "... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 4856 4857 attach.error = false; 4858 attach.OK = true; 4859 attach.fileSize = formatBytes(onceOpenedMessages[folder_name][message_number].size); 4860 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 4861 upload.find('.att-box-loading').remove(); 4862 upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 4863 4864 upload.find('.att-box-delete').click(function(){ 4865 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 4866 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]').remove(); 4867 delAttachment(ID,idAttach); 4868 $(this).parent().qtip("destroy"); 4869 $(this).parent().remove(); 4870 if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 4871 fileUploadMSG.find(' .attachments-list').hide(); 4872 } 4873 }); 4874 4875 fileUploadMSG.find('.attachments-list').append(upload); 4876 4877 upload.find('.att-box-loading').remove(); 4878 4879 fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 4880 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 4881 position: { 4882 corner: { 4883 tooltip: 'bottomMiddle', 4884 target: 'topMiddle' 4885 }, 4886 adjust: { 4887 resize: true, 4888 scroll: true 4889 } 4890 }, 4891 show: { 4892 when: 'mouseover', // Don't specify a show event 4893 ready: false // Show the tooltip when ready 4894 }, 4895 hide: 'mouseout', // Don't specify a hide event 4896 style: { 4897 border: { 4898 width: 1, 4899 radius: 5 4900 }, 4901 width: { 4902 min: 75, 4903 max : 1000 4904 }, 4905 padding: 5, 4906 textAlign: 'center', 4907 tip: true, // Give it a speech bubble tip with automatic corner detection 4908 name: 'blue' // Style it according to the preset 'cream' style 4909 } 4910 }); 4911 } 4912 }); 4913 }); 4914 jQuery('#message-attach-dialog').dialog('close'); 4515 4915 }); 4516 4517 4518 jQuery.getScript("../prototype/modules/attach_message/attach_message.js", function(){ 4519 jQuery('#message-attach-dialog').dialog('open'); 4520 jQuery('#message-attach-attach-btn').unbind('click'); 4521 jQuery('#message-attach-attach-btn').click(function(event){ 4522 jQuery.each(selectedMessages, function(folder_name, messages) { 4523 jQuery.each(selectedMessages[folder_name], function(message_number, message) { 4524 if (message) { 4525 var att = new Object(); 4526 att.folder = folder_name; 4527 att.uid = message_number; 4528 att.type = 'imapMSG'; 4529 att.name = Base64.encode(onceOpenedMessages[folder_name][message_number].subject + '.eml'); 4530 var idATT = JSON.stringify(att); 4531 addAttachment( ID , idATT); 4532 var attach = {}; 4533 attach.fileName = onceOpenedMessages[folder_name][message_number].subject + '.eml'; 4534 if(attach.fileName.length > 45) 4535 attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 4536 4537 attach.fileSize = formatBytes(onceOpenedMessages[folder_name][message_number].size); 4538 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 4539 upload.find('.status-upload').addClass('ui-icon ui-icon-check'); 4540 upload.find('.in-progress').remove(); 4541 upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 4542 4543 upload.find('.button.close').button({ 4544 icons: { 4545 primary: "ui-icon-close" 4546 }, 4547 text: false 4548 }).click(function(){ 4549 var idAttach = $(this).parents("li:first").find('input[name="fileId[]"]').val(); 4550 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 4551 delAttachment(ID,idAttach); 4552 $(this).parent().remove(); 4553 }); 4554 4555 fileUploadMSG.find('.attachments-list').append(upload); 4556 } 4557 }); 4916 jQuery('#message-attach-cancel-btn').click(function(event){ 4917 jQuery('#message-attach-dialog').dialog('close'); 4918 }); 4919 }); 4920 }); 4921 $(document).bind('drop dragover', function (e) { 4922 e.preventDefault(); 4923 }); 4924 //DRAG and DROP DE ARQUIVOS NÃO FUNCIONA NO IE 4925 if(!is_ie){ 4926 $("body").bind('dragenter', function (e) { 4927 var dropZone = $("#fileupload_msg"+ID+"_droopzone"); 4928 var timeout = window.dropZoneTimeout; 4929 dropZone.show(); 4930 dropZone.prev().hide(); 4931 if (!timeout) { 4932 dropZone.addClass('in'); 4933 } else { 4934 clearTimeout(timeout); 4935 } 4936 if (e.target === dropZone[0]) { 4937 dropZone.addClass('hover'); 4938 } else { 4939 dropZone.removeClass('hover'); 4940 } 4941 $(window).unbind('dragleave'); 4942 window.dropZoneTimeout = setTimeout(function () { 4943 $(window).bind('dragleave', function (e) { 4944 window.dropZoneTimeout = null; 4945 dropZone.removeClass('in hover'); 4946 dropZone.hide(); 4947 dropZone.prev().show(); 4558 4948 }); 4559 4560 jQuery('#message-attach-dialog').dialog('close'); 4561 4562 }); 4563 jQuery('#message-attach-cancel-btn').click(function(event){ 4564 jQuery('#message-attach-dialog').dialog('close'); 4565 }); 4949 }, 1); 4950 }).bind('dragleave', function (e) { 4951 var dropZone = $("#fileupload_msg"+ID+"_droopzone"); 4952 window.dropZoneTimeout = setTimeout(function () { 4953 $(window).bind('dragleave', function (e) { 4954 window.dropZoneTimeout = null; 4955 dropZone.removeClass('in hover'); 4956 dropZone.hide(); 4957 dropZone.prev().show(); 4958 }); 4959 }, 1); 4960 }).bind('drop', function(e){ 4961 var dropZone = $("#fileupload_msg"+ID+"_droopzone"); 4962 window.dropZoneTimeout = null; 4963 dropZone.removeClass('in hover'); 4964 dropZone.hide(); 4965 dropZone.prev().show(); 4566 4966 }); 4567 } );4967 } 4568 4968 return ID; 4569 4969 } … … 4672 5072 add_className(all_messages[begin], 'selected_msg'); 4673 5073 Element(_tab_prefix + "check_box_message_" + _msg_id).checked = true; 5074 updateSelectedMsgs(true,_msg_id); 4674 5075 } 4675 5076 } -
trunk/expressoMail1_2/js/mail_sync.js
r5134 r6930 49 49 50 50 mail_sync.prototype.start_sync = function() { 51 if (is_ie)52 connector.loadScript('TreeShow');53 51 if(this.working) { 54 52 //Já está sincronizando... … … 145 143 if((!preferences.hide_folders) || (preferences.hide_folders=="0")) { 146 144 if (expresso_mail_sync.update_folder) { 147 ttreeBox.update_folder();145 //ttreeBox.update_folder(); 148 146 expresso_mail_sync.update_folder = false; 149 147 } -
trunk/expressoMail1_2/js/main.js
r6910 r6930 20 20 } 21 21 } 22 23 24 22 25 23 function mount_url_folder(folders){ … … 102 100 if (preferences.use_local_messages==1) { //O I.E 7 estava se atrapalhando caso esses loads fossem feitos após as chamadas ajax. Antes não apresentou problemas... 103 101 connector.loadScript('mail_sync'); 104 if (is_ie)105 connector.loadScript('TreeShow');106 102 setTimeout('auto_archiving()', 30000); 107 103 108 104 } 105 /*Carrega a lista de mensagens*/ 106 var handler_populateSelectedMsgs = function(data){ 107 populateSelectedMsgs(data); 108 } 109 cExecute ("$this.imap_functions.get_msgs&folder=INBOX&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1&msg_range_begin=1", handler_populateSelectedMsgs); 109 110 //Substituido por padrão Jquery 110 111 cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1", handler_draw_box); … … 639 640 if (!existent) 640 641 { 642 selectedPagingMsgs[data[i].msg_number] = false; 643 totalFolderMsgs++; 644 updateSelectedMsgs(false,data[i].msg_number); 641 645 var new_msg = this.make_tr_message(data[i], current_folder, data.offsetToGMT); 642 646 $(new_msg).draggable({ … … 687 691 }, 688 692 helper: function(event){ 689 if($(this).find("input:checkbox").attr("checked") != "checked"){ 690 $(this).find("input:checkbox").trigger('click'); 691 $(this).addClass("selected_msg"); 692 } 693 if($("#table_box").find("tr input:checked").length > 1) 694 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (($("#table_box").find("tr input:checked")).length+" mensagens selecionadas"), type: "messages"})+"</td></tr>"); 695 if( $(this).find(".td_msg_subject").text().length > 18 ) 696 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text().substring(0,18) + "...", type: "messages"})+"</td></tr>"); 697 else 698 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text(), type: "messages"})+"</td></tr>"); 693 $(this).addClass("selected_msg").find("input:checkbox").attr("checked", true); 694 updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 695 if ( $("#tbody_box .selected_shortcut_msg").length > 1) { 696 $("#tbody_box .selected_shortcut_msg").addClass("selected_msg").find('.checkbox').attr('checked',true); 697 $.each( $(".selected_shortcut_msg"), function(index, value){ 698 updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 699 }); 700 } 701 if(totalSelected() > 1) 702 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : (totalSelected()+" mensagens selecionadas"), type: "messages"})+"</td></tr>"); 703 if( $(this).find(".td_msg_subject").text().length > 18 ) 704 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text().substring(0,18) + "...", type: "messages"})+"</td></tr>"); 705 else 706 return $("<tr><td>"+DataLayer.render('../prototype/modules/mail/templates/draggin_box.ejs', {texto : $(this).find(".td_msg_subject").text(), type: "messages"})+"</td></tr>"); 699 707 }, 700 708 iframeFix: true, … … 704 712 containment: "#divAppbox" 705 713 }).bind("contextmenu", function(){ 706 if($(this).find("input:checkbox").attr("checked") != "checked"){ 707 $(this).find("input:checkbox").trigger('click'); 708 $(this).addClass("selected_msg"); 714 if (!(($(event.target).find('img').length > 0) && ($(event.target).hasClass('td-label')))){ 715 if($(this).find("input:checkbox").attr("checked") != "checked"){ 716 $(this).find("input:checkbox").trigger('click'); 717 $(this).addClass("selected_msg"); 718 } 719 updateSelectedMsgs($(this).find("input:checkbox").is(':checked'),$(this).attr("id")); 709 720 } 710 721 }); … … 829 840 830 841 if (!archive && (parseInt(preferences.save_deleted_msg)) && (folder != userTrashFolder)){ 831 move_msgs2(folder, msgs_number, border_ID, userTrashFolder,special_folders['Trash'],show_success_msg ); 842 if(currentTab == 0) 843 msgs_number = get_selected_messages(); 844 move_msgs2(folder, ""+msgs_number, border_ID, userTrashFolder,special_folders['Trash'],show_success_msg ); 832 845 return; 833 846 } … … 899 912 refresh(); 900 913 } 901 902 if (msgs_number == 'selected') 914 if(currentTab == 0 ) 903 915 msgs_number = get_selected_messages(); 916 904 917 if (msgs_number.length > 0 || parseInt(msgs_number) > 0) 905 918 cExecute ("$this.imap_functions.delete_msgs&folder="+folder+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&search_box_type="+search_box_type+"&sort_box_reverse="+sort_box_reverse, handler_delete_msgs); … … 1064 1077 params += "&new_folder="+url_encode(new_folder); 1065 1078 params += "&new_folder_name="+url_encode(new_folder_name); 1066 cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params);1067 }1079 cExecute ("$this.imap_functions.move_search_messages", handler_move_search_msgs, params); 1080 } 1068 1081 } 1069 1082 else … … 1090 1103 var move_to_folder = data.match(/^(.*)Spam(.*)$/) ? "Spam" : special_folders['Trash']; 1091 1104 alert(get_lang('There is not %1 folder, Expresso is creating it for you... Please, repeat your request later.', folder_error)); 1092 connector.loadScript('TreeShow');1093 1105 ttree.FOLDER = 'root'; 1094 ttreeBox.new_past(move_to_folder);1106 create_new_folder(move_to_folder,"INBOX"); 1095 1107 return false; 1096 1108 }else{ … … 1236 1248 } catch (e) {} 1237 1249 1238 if (msgs_number == 'selected'){1250 if(currentTab == 0) 1239 1251 msgs_number = get_selected_messages(); 1240 }1241 1252 1242 1253 if(openTab.type[currentTab] == 1){ … … 1260 1271 url: 'controller.php?' + $.param( {action: '$this.imap_functions.move_messages', 1261 1272 folder: folder, 1262 msgs_number: msgs_number,1273 msgs_number: ""+msgs_number, 1263 1274 border_ID: border_ID, 1264 1275 sort_box_type: sort_box_type, … … 1273 1284 success: function( data ){ 1274 1285 data = connector.unserialize( data ); 1275 1286 $.each(msgs_number, function(index, value){ 1287 delete selectedPagingMsgs[value]; 1288 }); 1289 totalFolderMsgs -= totalSelected(); 1290 1291 //TESTE 1292 selectAllFolderMsgs(); 1293 $('.select-link').unbind('click'); 1294 1276 1295 if( data ) 1277 1296 handler_move_msgs( data ); … … 1621 1640 } 1622 1641 1623 function get_selected_messages(){1642 /*function get_selected_messages(){ 1624 1643 var main; 1625 1644 try{ … … 1665 1684 1666 1685 1667 /* Verifica se está na tela de pesquisa. */ 1686 /* Verifica se está na tela de pesquisa. */ /* 1668 1687 if(selected_messages.indexOf("_") != -1) 1669 1688 { 1670 1689 results_search_messages = selected_messages; 1671 /* Retira a informação da aba */ 1690 /* Retira a informação da aba */ /* 1672 1691 selected_messages = selected_messages.substring(0,selected_messages.indexOf("_")); 1673 1692 } … … 1685 1704 return selected_messages_by_shortcuts; 1686 1705 }*/ 1687 /*Se houver mais de uma mensagem selecionada por atalho*/ 1706 /*Se houver mais de uma mensagem selecionada por atalho*//* 1688 1707 if (array_selected_messages_by_shortcuts.length > 1){ 1689 1708 if (selected_messages == "") … … 1697 1716 else 1698 1717 return selected_messages; 1718 }*/ 1719 function get_selected_messages(){ 1720 var selected = new Array(); 1721 $.each(selectedPagingMsgs, function(index, value){ 1722 if(value) 1723 selected.push(index); 1724 }); 1725 return ""+selected; 1699 1726 } 1700 1727 … … 2176 2203 var attach = {}; 2177 2204 attach.fileName = attachments[i].text.substring(0, attachments[i].text.lastIndexOf('(')); 2178 2179 if(attach.fileName.length > 45)2180 attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length);2205 attach.fullFileName = attach.fileName; 2206 if(attach.fileName.length > 20) 2207 attach.fileName = attach.fileName.substr(0, 17) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 2181 2208 2182 2209 attach.fileSize = attachments[i].text.substring(( attachments[i].text.lastIndexOf('(')+1), attachments[i].text.lastIndexOf(')')); 2183 2210 2211 attach.error = false; 2212 fileUploadMSG.find(' .attachments-list').show(); 2184 2213 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 2185 upload.find('.status-upload').remove();2186 upload.find('.in-progress').remove();2187 2214 upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 2188 upload.find('.button.close').button({ 2189 icons: { 2190 primary: "ui-icon-close" 2191 }, 2192 text: false 2193 2194 }).click(function(){ 2215 upload.find(".att-box-loading").remove(); 2216 upload.find('.att-box-delete').click(function(){ 2195 2217 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 2196 2218 var content_body = RichTextEditor.getData('body_'+new_border_ID); … … 2208 2230 fileUploadMSG.find('.attachments-list').find('input[value="'+idAttach+'"]'); 2209 2231 delAttachment(new_border_ID,idAttach); 2210 $(this).parent().remove(); 2232 $(this).parent().qtip("destroy"); 2233 $(this).parent().remove(); 2234 if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 2235 fileUploadMSG.find(' .attachments-list').hide(); 2236 } 2211 2237 }); 2212 2238 2213 2239 fileUploadMSG.find('.attachments-list').append(upload); 2240 fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 2241 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 2242 position: { 2243 corner: { 2244 tooltip: 'bottomMiddle', 2245 target: 'topMiddle' 2246 }, 2247 adjust: { 2248 resize: true, 2249 scroll: true, 2250 screen: show 2251 } 2252 }, 2253 show: { 2254 when: 'mouseover', // Don't specify a show event 2255 ready: false // Show the tooltip when ready 2256 }, 2257 hide: 'mouseout', // Don't specify a hide event 2258 style: { 2259 border: { 2260 width: 1, 2261 radius: 5 2262 }, 2263 width: { 2264 min: 75, 2265 max : 1000 2266 }, 2267 padding: 3, 2268 textAlign: 'left', 2269 tip: true, // Give it a speech bubble tip with automatic corner detection 2270 name: 'blue' // Style it according to the preset 'cream' style 2271 } 2272 }); 2214 2273 } 2215 2274 else … … 2234 2293 var attach = {}; 2235 2294 attach.fileName = arrayAttachmentsA[i].text.substring(0, arrayAttachmentsA[i].text.lastIndexOf('(')); 2236 2237 if(attach.fileName.length > 45)2238 attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length);2295 attach.fullFileName = attach.fileName; 2296 if(attach.fileName.length > 20) 2297 attach.fileName = attach.fileName.substr(0, 17) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 2239 2298 2240 2299 attach.fileSize = arrayAttachmentsA[i].text.substring(( arrayAttachmentsA[i].text.lastIndexOf('(')+1), arrayAttachmentsA[i].text.lastIndexOf(')')); 2241 2300 attach.error = false; 2301 fileUploadMSG.find(' .attachments-list').show(); 2242 2302 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 2243 upload.find('.status-upload').remove(); 2244 upload.find('.in-progress').remove(); 2303 upload.find('.att-box-loading').remove(); 2245 2304 upload.append('<input type="hidden" name="fileId[]" value=\''+arrayAttachments[i]+'\'/>'); 2246 upload.find('.button.close').button({ 2247 icons: { 2248 primary: "ui-icon-close" 2249 }, 2250 text: false 2251 2252 }).click(function(){ 2253 var idAttach = $(this).parent().parent().find('input[name="fileId[]"]').val(); 2305 upload.find('.att-box-delete').click(function(){ 2306 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 2254 2307 var content_body = RichTextEditor.getData('body_'+new_border_ID); 2255 2308 var imagens = content_body.match(/<img[^>]*>/g); … … 2266 2319 fileUploadMSG.find('.attachments-list').find('input[value="'+idAttach+'"]'); 2267 2320 delAttachment(new_border_ID,idAttach); 2268 $(this).parent().remove(); 2321 $(this).parent().qtip("destroy"); 2322 $(this).parent().remove(); 2323 if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 2324 fileUploadMSG.find(' .attachments-list').hide(); 2325 } 2269 2326 }); 2270 2327 2271 2328 fileUploadMSG.find('.attachments-list').append(upload); 2272 2329 fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 2330 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 2331 position: { 2332 corner: { 2333 tooltip: 'bottomMiddle', 2334 target: 'topMiddle' 2335 }, 2336 adjust: { 2337 resize: true, 2338 scroll: true, 2339 screen: show 2340 } 2341 }, 2342 show: { 2343 when: 'mouseover', // Don't specify a show event 2344 ready: false // Show the tooltip when ready 2345 }, 2346 hide: 'mouseout', // Don't specify a hide event 2347 style: { 2348 border: { 2349 width: 1, 2350 radius: 5 2351 }, 2352 width: { 2353 min: 75, 2354 max : 1000 2355 }, 2356 padding: 3, 2357 textAlign: 'left', 2358 tip: true, // Give it a speech bubble tip with automatic corner detection 2359 name: 'blue' // Style it according to the preset 'cream' style 2360 } 2361 }); 2273 2362 } 2274 2363 … … 2288 2377 if((attachments[i].tagName=="SPAN") || (attachments[i].tagName=="IMG") || ((attachments[i].href.indexOf("javascript:download_local_attachment")==-1)&&(attachments[i].href.indexOf("javascript:download_attachments")==-1))) 2289 2378 continue; 2290 2379 fileUploadMSG.find(' .attachments-list').show(); 2291 2380 var arrayAtt = attachments[i].href.replace("javascript:download_attachments(", "").replace(")", "").split(','); 2292 2381 var att = new Object(); … … 2300 2389 2301 2390 var attach = {}; 2391 2302 2392 attach.fileName = attachments[i].text.substring(0, attachments[i].text.lastIndexOf('(')); 2303 2304 if(attach.fileName.length > 45) 2305 attach.fileName = attach.fileName.substr(0, 32) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 2393 attach.fullFileName = attach.fileName; 2394 2395 if(attach.fileName.length > 20) 2396 attach.fileName = attach.fileName.substr(0, 17) + " ... " + attach.fileName.substr(attach.fileName.length-9, attach.fileName.length); 2306 2397 2307 2398 attach.fileSize = attachments[i].text.substring(( attachments[i].text.lastIndexOf('(')+1), attachments[i].text.lastIndexOf(')')); 2399 attach.error = false; 2308 2400 2309 2401 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 2310 upload.find('.status-upload').remove(); 2311 upload.find('.in-progress').remove(); 2312 upload.find('.button.close').button({ 2313 icons: { 2314 primary: "ui-icon-close" 2402 upload.find('.att-box-loading').remove(); 2403 upload.find('.att-box-delete').click(function(){ 2404 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 2405 var content_body = RichTextEditor.getData('body_'+new_border_ID); 2406 var imagens = content_body.match(/<img[^>]*>/g); 2407 var att = JSON.parse(idAttach); 2408 if(imagens != null) 2409 { 2410 for (var x = 0; x < imagens.length; x++) 2411 if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part) !== -1) 2412 content_body = content_body.replace(imagens[x],''); 2413 2414 RichTextEditor.setData('body_'+new_border_ID,content_body); 2415 } 2416 2417 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 2418 delAttachment(new_border_ID,idAttach); 2419 $(this).parent().qtip("destroy"); 2420 $(this).parent().remove(); 2421 if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 2422 fileUploadMSG.find(' .attachments-list').hide(); 2423 } 2424 }); 2425 2426 2427 upload.append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 2428 fileUploadMSG.find('.attachments-list').append(upload); 2429 fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 2430 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 2431 position: { 2432 corner: { 2433 tooltip: 'bottomMiddle', 2434 target: 'topMiddle' 2315 2435 }, 2316 text: false 2317 }).click(function(){ 2318 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 2319 var content_body = RichTextEditor.getData('body_'+new_border_ID); 2320 var imagens = content_body.match(/<img[^>]*>/g); 2321 var att = JSON.parse(idAttach); 2322 if(imagens != null) 2323 { 2324 for (var x = 0; x < imagens.length; x++) 2325 if(imagens[x].indexOf('src="./inc/get_archive.php?msgFolder='+att.folder+'&msgNumber='+att.uid+'&indexPart='+att.part) !== -1) 2326 content_body = content_body.replace(imagens[x],''); 2327 2328 RichTextEditor.setData('body_'+new_border_ID,content_body); 2329 } 2330 2331 fileUploadMSG.find(' .attachments-list').find('input[value="'+idAttach+'"]'); 2332 delAttachment(new_border_ID,idAttach); 2333 $(this).parent().remove(); 2334 }); 2335 2336 2337 upload.find("p").append('<input type="hidden" name="fileId[]" value=\''+idATT+'\'/>'); 2338 fileUploadMSG.find('.attachments-list').append(upload); 2436 adjust: { 2437 resize: true, 2438 scroll: true, 2439 screen: show 2440 } 2441 }, 2442 show: { 2443 when: 'mouseover', // Don't specify a show event 2444 ready: false // Show the tooltip when ready 2445 }, 2446 hide: 'mouseout', // Don't specify a hide event 2447 style: { 2448 border: { 2449 width: 1, 2450 radius: 5 2451 }, 2452 width: { 2453 min: 75, 2454 max : 1000 2455 }, 2456 padding: 3, 2457 textAlign: 'left', 2458 tip: true, // Give it a speech bubble tip with automatic corner detection 2459 name: 'blue' // Style it according to the preset 'cream' style 2460 } 2461 }); 2339 2462 2340 2463 } … … 2582 2705 2583 2706 function send_message(ID, folder, folder_name){ 2584 if(!zebraDiscardEventDialog && $('#fileupload_msg'+ID).find('.in-progress').length )2585 2586 2587 2588 $.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serão perdidos.', {2589 2590 2591 2592 2593 2594 if(clicked == 'Descartar anexos e enviar' )2595 send_valided_message(ID, folder, folder_name);2596 2597 window.setTimeout(function() {2598 zebraDiscardEventDialog = false;2599 }, 500);2707 if(!zebraDiscardEventDialog && $('#fileupload_msg'+ID).find('.att-box-loading').length ) 2708 { 2709 zebraDiscardEventDialog = true; 2710 window.setTimeout(function() { 2711 $.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serão perdidos.', { 2712 'type': 'question', 2713 'overlay_opacity': '0.5', 2714 'buttons': ['Descartar anexos e enviar', 'Continuar editando e esperar anexos'], 2715 'width' : 500, 2716 'onClose': function(clicked) { 2717 if(clicked == 'Descartar anexos e enviar' ){ 2718 $.each($('#fileupload_msg'+ID).find('.att-box'), function(index, value){ 2719 if($(value).find(".att-box-loading").length) 2720 $(value).find('.att-box-delete').trigger("click"); 2721 }); 2722 send_valided_message(ID, folder, folder_name); 2600 2723 } 2601 }) 2602 }, 300); 2603 2604 } 2605 else 2606 send_valided_message(ID, folder, folder_name); 2724 window.setTimeout(function() { 2725 zebraDiscardEventDialog = false; 2726 }, 500); 2727 } 2728 }) 2729 }, 300); 2730 }else 2731 send_valided_message(ID, folder, folder_name); 2607 2732 } 2608 2733 … … 3106 3231 success: function( data ){ 3107 3232 data = connector.unserialize( data ); 3108 3233 3234 selectAllFolderMsgs(); 3235 $('.select-link').unbind('click'); 3236 3109 3237 if( data ) 3110 3238 handler_set_messages_flag( data ); … … 3421 3549 } 3422 3550 3423 function empty_trash_imap(){ 3551 function empty_trash_imap(shared, button){ 3552 if(shared){ 3553 var folder_part = $(button).parents("li:first").attr("id").split(cyrus_delimiter); 3554 var folder = folder_part[0]+cyrus_delimiter+folder_part[1]; 3555 } 3556 3424 3557 var handler_empty_trash = function(data){ 3425 3558 Element('chk_box_select_all_messages').checked = false; … … 3432 3565 draw_tree_labels(); 3433 3566 if (data){ 3567 if(typeof(data) == "object"){ 3568 if(data[1] == "Permission denied"){ 3569 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 3570 return write_msg(get_lang("Permission denied")); 3571 } 3572 } 3434 3573 write_msg(get_lang('Your Trash folder was empty.')); 3435 3574 if (get_current_folder() == mount_url_folder(["INBOX",special_folders["Trash"]])){ … … 3451 3590 'onClose': function(caption) { 3452 3591 if(caption == get_lang("Yes")){ 3453 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder" , handler_empty_trash);3592 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultTrashFolder"+(shared ? "&shared="+folder : ""), handler_empty_trash); 3454 3593 } 3455 3594 } … … 3457 3596 } 3458 3597 3459 function empty_spam_imap(){ 3598 function empty_spam_imap(shared, button){ 3599 if(shared){ 3600 var folder_part = $(button).parents("li:first").attr("id").split(cyrus_delimiter); 3601 var folder = folder_part[0]+cyrus_delimiter+folder_part[1]; 3602 } 3460 3603 var handler_empty_spam = function(data){ 3461 3604 Element('chk_box_select_all_messages').checked = false; … … 3471 3614 draw_tree_labels(); 3472 3615 update_quota(get_current_folder()); 3473 if (data) 3474 write_msg(get_lang('Your Spam folder was empty.')); 3616 if (data){ 3617 if(typeof(data) == "object"){ 3618 if(data[1] == "Permission denied"){ 3619 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 3620 return write_msg(get_lang("Permission denied")); 3621 }else{ 3622 write_msg(get_lang('Your Spam folder was empty.')); 3623 } 3624 }else{ 3625 write_msg(get_lang('Your Spam folder was empty.')); 3626 } 3627 } 3475 3628 else 3476 3629 write_msg(get_lang('ERROR emptying your Spam folder.')); … … 3484 3637 'onClose': function(caption) { 3485 3638 if(caption == get_lang("Yes")){ 3486 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultSpamFolder" , handler_empty_spam);3639 cExecute ("$this.imap_functions.empty_folder&clean_folder="+"imapDefaultSpamFolder"+(shared ? "&shared="+folder : ""), handler_empty_spam); 3487 3640 } 3488 3641 } … … 3620 3773 msgs_number = get_selected_messages(); 3621 3774 3775 //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 3776 if(currentTab == 0) 3777 msgs_number = get_selected_messages(); 3778 3622 3779 if (parseInt(msgs_number) > 0 || msgs_number.length > 0) 3623 3780 cExecute ("$this.imap_functions.spam&folder="+folder+"&spam=false"+"&msgs_number="+msgs_number+"&border_ID="+border_ID+"&sort_box_type="+sort_box_type+"&sort_box_reverse="+sort_box_reverse+"&reuse_border="+border_ID+"&new_folder="+new_folder+"&new_folder_name="+new_folder_name+"&get_previous_msg="+0+"&cyrus_delimiter="+cyrus_delimiter, handler_move_msgs); … … 3657 3814 return; 3658 3815 }else if(msgs_number == 'selected') 3816 msgs_number = get_selected_messages(); 3817 3818 //TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação 3819 if(currentTab == 0) 3659 3820 msgs_number = get_selected_messages(); 3660 3821 … … 4188 4349 4189 4350 function create_new_folder(name_folder, base_path){ 4351 //Limit reached folders 4352 if(preferences.imap_max_folders){ 4353 if(cp_tree1.length == parseInt(preferences.imap_max_folders)){ 4354 $(".folders-loading").removeClass("folders-loading"); 4355 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 4356 return write_msg(get_lang("Limit reached folders")); 4357 } 4358 } 4359 4190 4360 $.ajax({ 4191 4361 url : "controller.php?action=$this.imap_functions.create_mailbox", … … 4197 4367 if(data == "Mailbox already exists"){ 4198 4368 write_msg(get_lang("Mailbox already exists")); 4369 }else if(data.substring(data.indexOf("Permission"), data.length) == "Permission denied"){ 4370 $(".folders-loading").removeClass("folders-loading"); 4371 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 4372 return write_msg(get_lang("Permission denied")); 4199 4373 } 4200 4374 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); -
trunk/expressoMail1_2/js/manifest
r4342 r6930 44 44 { "url": "sniff_browser.js?1.222" }, 45 45 { "url": "TreeS.js?1.222" }, 46 { "url": "TreeShow.js?1.222" },47 46 { "url": "offline_access.js?1.222" }, 48 47 { "url": "lert/lert.js" }, -
trunk/expressoMail1_2/js/messages_controller.js
r6487 r6930 38 38 39 39 if( data ) 40 call_back( data );40 call_back( data ); 41 41 }, 42 42 beforeSend: function( jqXHR, settings ){ … … 170 170 } 171 171 172 172 /* 173 173 messages_proxy.prototype.proxy_rename_folder = function(){ 174 174 var specialFolders = special_folders[ttree.getFolder().split(cyrus_delimiter)[ttree.getFolder().split(cyrus_delimiter).length-1]]; … … 206 206 207 207 } 208 208 */ 209 /* 209 210 messages_proxy.prototype.proxy_create_folder = function() { 210 211 if (folders.length == preferences.imap_max_folders){ … … 244 245 alert(get_lang("It's not possible create inside: ") + lang_folder(ttree.FOLDER.substr(6))+"."); 245 246 } 246 247 */ 248 /* 247 249 messages_proxy.prototype.proxy_remove_folder = function() { 248 250 if (this.is_local_folder(ttree.FOLDER)) { … … 283 285 else 284 286 ttreeBox.del(); 285 } 287 }*/ 286 288 287 289 messages_proxy.prototype.proxy_move_messages = function (folder, msgs_number, border_ID, new_folder, new_folder_name) { … … 475 477 } 476 478 } 477 479 /* 478 480 messages_proxy.prototype.proxy_export_all_msg=function(){ 479 481 … … 493 495 } 494 496 } 495 497 */ 496 498 var proxy_mensagens; 497 499 proxy_mensagens = new messages_proxy(); -
trunk/expressoMail1_2/js/preferences.js
r1308 r6930 20 20 cExecute(args,handler_preferences,params); 21 21 } 22 23 Preferences.prototype.delete_dynamic_contacts = function(){24 var handler = function(data){}25 var args = "$this.dynamic_contacts.delete_dynamic_contacts";26 var params = "";27 cExecute(args,handler,params);28 }29 22 // Cria o objeto 30 23 var prefe; -
trunk/expressoMail1_2/js/shortcut.js
r6910 r6930 331 331 //********************** 332 332 shortcut.add('up', function(e) 333 { 334 if(currentTab == 0){ 335 $(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 336 if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length) 337 $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 338 $(".current_selected_shortcut_msg").addClass("selected_shortcut_msg").focus(); 339 } 340 },{'disable_in_input':true}); 341 342 343 shortcut.add('down', function(e) 344 { 345 if(currentTab == 0){ 346 $(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 347 if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length) 348 $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 349 $(".current_selected_shortcut_msg").addClass("selected_shortcut_msg").focus(); 350 } 351 },{'disable_in_input':true}); 352 353 shortcut.add('space', function(e) 354 { 355 if(currentTab == 0){ 356 var allchecked = true; 357 $.each( $(".selected_shortcut_msg"), function(index, value){ 358 if($(value).find(":checkbox").attr("checked") == undefined){ 359 allchecked = false; 360 } 361 }); 362 if(allchecked){ 363 $(".selected_shortcut_msg").removeClass("selected_msg").find('input[type="checkbox"]').removeAttr("checked"); 364 }else{ 365 //$(".current_selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true); 366 $(".selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true); 367 } 368 $.each( $(".selected_shortcut_msg"), function(index, value){ 369 updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 370 }); 371 $(".current_selected_shortcut_msg").focus(); 372 } 373 },{'disable_in_input':true}); 374 375 //**************** 376 377 shortcut.add("Shift+down",function() 378 { 379 if(currentTab == 0){ 380 //$(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 381 if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length) 382 if($(".current_selected_shortcut_msg").next().hasClass("selected_shortcut_msg")) 383 $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 384 else 385 $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 386 $(".current_selected_shortcut_msg").focus(); 387 } 388 },{'disable_in_input':true, 'propagate':false}); 389 390 shortcut.add("Shift+up",function(){ 391 if(currentTab == 0){ 392 //$(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 393 if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length) 394 if($(".current_selected_shortcut_msg").prev().hasClass("selected_shortcut_msg")) 395 $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 396 else 397 $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 398 $(".current_selected_shortcut_msg").focus(); 399 } 400 },{'disable_in_input':true, 'propagate':false}); 401 } 402 else 403 { 404 shortcut.add("Up",function(){ 405 $(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 406 if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length) 407 $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 408 $(".current_selected_shortcut_msg").focus(); 409 },{'disable_in_input':true}); 410 411 shortcut.add("Down",function(){ 412 $(".selected_shortcut_msg").removeClass("selected_shortcut_msg"); 413 if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length) 414 $(".current_selected_shortcut_msg").blur().removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 415 $(".current_selected_shortcut_msg").focus(); 416 },{'disable_in_input':true}); 417 418 shortcut.add("Shift+down",function(){ 419 if(currentTab == 0){ 420 if($(".current_selected_shortcut_msg").next().parents("#tbody_box").length) 421 if($(".current_selected_shortcut_msg").next().hasClass("selected_shortcut_msg")) 422 $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 423 else 424 $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").next().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 425 $(".current_selected_shortcut_msg").focus(); 426 } 427 },{'type':'keypress','disable_in_input':true, 'propagate':false}); 428 429 shortcut.add("Shift+up",function(){ 430 if(currentTab == 0){ 431 if($(".current_selected_shortcut_msg").prev().parents("#tbody_box").length) 432 if($(".current_selected_shortcut_msg").prev().hasClass("selected_shortcut_msg")) 433 $(".current_selected_shortcut_msg").blur().removeClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 434 else 435 $(".current_selected_shortcut_msg").blur().addClass("selected_shortcut_msg").removeClass("current_selected_shortcut_msg").prev().addClass("current_selected_shortcut_msg selected_shortcut_msg"); 436 $(".current_selected_shortcut_msg").focus(); 437 } 438 },{'type':'keypress', 'disable_in_input':true, 'propagate':false}); 439 shortcut.add('Space', function(e) 440 { 441 if(currentTab == 0){ 442 var allchecked = true; 443 $.each( $(".selected_shortcut_msg"), function(index, value){ 444 if($(value).find(":checkbox").attr("checked") == undefined){ 445 allchecked = false; 446 } 447 }); 448 if(allchecked){ 449 450 $(".selected_shortcut_msg").removeClass("selected_msg").find('input[type="checkbox"]').removeAttr("checked"); 451 }else{ 452 //$(".current_selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true); 453 $(".selected_shortcut_msg").addClass("selected_msg").find('input[type="checkbox"]').attr("checked", true); 454 } 455 456 $.each( $(".selected_shortcut_msg"), function(index, value){ 457 updateSelectedMsgs($(value).find(":checkbox").is(':checked'),$(value).attr("id")); 458 }); 459 } 460 },{'disable_in_input':true}); 461 } 462 463 shortcut.add("return",function(){ 464 if ( Element('border_id_0').className==='menu-sel' ) 465 { 466 all_messages = Element('tbody_box').childNodes; 467 for (var i=0; i < all_messages.length; i++) 333 468 { 334 335 var search_in_focus = false; 336 var search_win = document.getElementById( 'window_QuickCatalogSearch' ); 337 if ( search_win && search_win.style.visibility == 'visible' ) 338 search_in_focus = true; 339 340 if ( !search_in_focus && currentTab == 0 ) 341 select_msg('null', 'up'); 342 // Ao usuario pressionar o 'up' em uma outra aba, não pode ser removido o 'up'. 343 else{} 344 // shortcut.remove('up'); 345 e.stopPropagation(); 346 e.preventDefault(); 347 },{'disable_in_input':false}); 348 349 350 shortcut.add('down', function(e) 469 if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 470 { 471 Element("td_from_" + all_messages[i].id).onclick(); 472 return; 473 } 474 } 475 } 476 },{'disable_in_input':true}); 477 478 shortcut.add("f9",function(){ 479 Element("em_refresh_button").onclick(); 480 return; 481 },{'disable_in_input':false}); 482 483 function exec_msg_action(action) 484 { 485 var msg_id = get_msg_id(); 486 if (msg_id) 487 { 488 var msg_id = 'msg_opt_' + action + '_' + msg_id; 489 try {Element(msg_id).onclick();} 490 catch(e){/*alert(e);*/} 491 } 492 return; 493 } 494 495 function show_head_option() 496 { 497 var msg_id = get_msg_id(); 498 if (msg_id) { 499 var msg_id = 'option_hide_more_' + msg_id; 500 try {Element(msg_id).onclick();} 501 catch(e){/*alert(e);*/} 502 } 503 return; 504 } 505 506 function show_address_full() 507 { 508 var toaddress = Element('div_toaddress_' + get_msg_id()); 509 var ccaddress = Element('div_ccaddress_' + get_msg_id()); 510 511 if(toaddress && '' == toaddress.style.display) { 512 show_div_address_full(get_msg_id(),'to'); 513 } 514 else { 515 if(toaddress) 516 toaddress.style.display = ''; 517 var toaddress_full = Element('div_toaddress_full_' + get_msg_id()); 518 if(toaddress_full) 519 toaddress_full.style.display = 'none'; 520 } 521 if(ccaddress && '' == ccaddress.style.display) { 522 show_div_address_full(get_msg_id(),'cc'); 523 } 524 else { 525 if(ccaddress) 526 ccaddress.style.display = ''; 527 var ccaddress_full = Element('div_ccaddress_full_' + get_msg_id()); 528 if(ccaddress_full) 529 ccaddress_full.style.display = 'none'; 530 } 531 return; 532 } 533 534 function get_msg_id() 535 { 536 children = Element('border_tr').childNodes; 537 538 for (var i=0; i<children.length; i++) 539 { 540 if ( (children[i].nodeName==='TD') && (children[i].className==='menu-sel') && children[i].id != 'border_id_0') 351 541 { 352 var search_in_focus = false; 353 var search_win = document.getElementById( 'window_QuickCatalogSearch' ); 354 if ( search_win && search_win.style.visibility == 'visible' ) 355 search_in_focus = true; 356 357 if ( !search_in_focus && currentTab == 0 ) 358 select_msg('null', 'down'); 359 // Ao usuario pressionar o 'down' em uma outra aba, não pode ser removido o 'down'. 360 else{} 361 // shortcut.remove('down'); 362 e.stopPropagation(); 363 e.preventDefault(); 364 },{'disable_in_input':false}); 365 366 //**************** 367 368 shortcut.add("Shift+down",function(){ 369 if ( Element('border_id_0').className==='menu-sel' ) 370 { 371 if (shift_up_count > 0) 372 unselect_top_msg(); 373 else 374 select_bottom_msg(); 375 } 376 },{'disable_in_input':true, 'propagate':false}); 377 378 shortcut.add("Shift+up",function(){ 379 if ( Element('border_id_0').className==='menu-sel' ) 380 { 381 if (shift_down_count > 0) 382 unselect_bottom_msg(); 383 else 384 select_top_msg(); 385 } 386 },{'disable_in_input':true, 'propagate':false}); 387 } 388 else 389 { 390 shortcut.add("Up",function(){ 391 if (currentTab == 0) 392 select_msg('null', 'up'); 393 },{'disable_in_input':false}); 394 395 shortcut.add("Down",function(){ 396 397 if (currentTab == 0) 398 select_msg('null', 'down'); 399 400 },{'disable_in_input':false}); 401 402 shortcut.add("Shift+down",function(){ 403 if ( Element('border_id_0').className==='menu-sel' ) 404 { 405 if (shift_up_count > 0) 406 unselect_top_msg(); 407 else 408 select_bottom_msg(); 409 } 410 },{'type':'keypress','disable_in_input':true, 'propagate':false}); 411 412 shortcut.add("Shift+up",function(){ 413 if ( Element('border_id_0').className==='menu-sel' ) 414 { 415 if (shift_down_count > 0) 416 unselect_bottom_msg(); 417 else 418 select_top_msg(); 419 } 420 },{'type':'keypress', 'disable_in_input':true, 'propagate':false}); 421 } 422 423 shortcut.add("return",function(){ 424 if ( Element('border_id_0').className==='menu-sel' ) 425 { 426 all_messages = Element('tbody_box').childNodes; 427 for (var i=0; i < all_messages.length; i++) 428 { 429 if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 430 { 431 Element("td_from_" + all_messages[i].id).onclick(); 432 return; 433 } 434 } 435 } 436 },{'disable_in_input':true}); 437 438 shortcut.add("f9",function(){ 439 Element("em_refresh_button").onclick(); 440 return; 441 },{'disable_in_input':true}); 442 443 function exec_msg_action(action) 444 { 445 var msg_id = get_msg_id(); 446 if (msg_id) 447 { 448 var msg_id = 'msg_opt_' + action + '_' + msg_id; 449 try {Element(msg_id).onclick();} 450 catch(e){/*alert(e);*/} 451 } 452 return; 453 } 454 455 function show_head_option() 456 { 457 var msg_id = get_msg_id(); 458 if (msg_id) { 459 var msg_id = 'option_hide_more_' + msg_id; 460 try {Element(msg_id).onclick();} 461 catch(e){/*alert(e);*/} 462 } 463 return; 464 } 465 466 function show_address_full() 467 { 468 var toaddress = Element('div_toaddress_' + get_msg_id()); 469 var ccaddress = Element('div_ccaddress_' + get_msg_id()); 470 471 if(toaddress && '' == toaddress.style.display) { 472 show_div_address_full(get_msg_id(),'to'); 473 } 474 else { 475 if(toaddress) 476 toaddress.style.display = ''; 477 var toaddress_full = Element('div_toaddress_full_' + get_msg_id()); 478 if(toaddress_full) 479 toaddress_full.style.display = 'none'; 480 } 481 if(ccaddress && '' == ccaddress.style.display) { 482 show_div_address_full(get_msg_id(),'cc'); 483 } 484 else { 485 if(ccaddress) 486 ccaddress.style.display = ''; 487 var ccaddress_full = Element('div_ccaddress_full_' + get_msg_id()); 488 if(ccaddress_full) 489 ccaddress_full.style.display = 'none'; 490 } 491 return; 492 } 493 494 function get_msg_id() 495 { 496 children = Element('border_tr').childNodes; 497 498 for (var i=0; i<children.length; i++) 499 { 500 if ( (children[i].nodeName==='TD') && (children[i].className==='menu-sel') && children[i].id != 'border_id_0') 501 { 502 var border_selected = children[i]; 503 var msg_id = border_selected.id.replace("border_id_",""); 504 return msg_id; 505 } 506 } 507 return false; 542 var border_selected = children[i]; 543 var msg_id = border_selected.id.replace("border_id_",""); 544 return msg_id; 545 } 546 } 547 return false; 508 548 } 509 549 510 550 function select_msg(msg_number, keyboard_action, force_msg_selection) 511 551 { 512 /* 513 ** Se caso for limpado toda a caixa de email, 514 ** é adicionado um novo atalho de seleção. 515 ** main.js on function refrash and line 629. 516 */ 517 518 if(keyboard_action == "reload_msg"){ 519 if( $("#tbody_box .selected_shortcut_msg").length == 0 ) 520 $("#tbody_box tr:first").addClass("selected_shortcut_msg"); 521 } 522 523 shift_up_count = 0; 524 shift_down_count = 0; 525 526 if (msg_number != 'null') { 527 528 if(Element(msg_number)){ 529 unselect_all_msgs(); 530 add_className(Element(msg_number), 'selected_shortcut_msg'); 531 } 532 533 } else { 534 var scrollMain = Element('divScrollMain_0'); 535 var selection_size = parseInt(preferences.line_height) + 10; 536 537 if( keyboard_action == 'down') { 538 539 if(!Element("chk_box_select_all_messages").checked){ 540 541 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 542 543 if($(this).hasClass("selected_shortcut_msg") && $(this).next().length){ 544 $(this).next().addClass("selected_shortcut_msg"); 545 $(this).removeClass("selected_shortcut_msg"); 546 return false; 547 } 548 549 }); 550 551 } else { 552 553 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 554 555 if($(this).hasClass("current_selected") && $(this).next().length){ 556 $(this).removeClass("current_selected"); 557 $(this).removeClass("selected_shortcut_msg"); 558 $(this).next().addClass("current_selected"); 559 $(this).next().addClass("selected_shortcut_msg"); 560 return false; 561 } 562 563 }); 564 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 565 if(!$(this).hasClass("current_selected")) 566 $(this).removeClass("selected_shortcut_msg"); 567 }); 568 } 569 570 } else if( keyboard_action == 'up') { 571 572 if(!Element("chk_box_select_all_messages").checked){ 573 574 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 575 576 if($(this).hasClass("selected_shortcut_msg") && $(this).prev().length){ 577 $(this).prev().addClass("selected_shortcut_msg"); 578 $(this).removeClass("selected_shortcut_msg"); 579 return false; 580 } 581 582 }); 583 584 } else { 585 586 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 587 588 if($(this).hasClass("current_selected") && $(this).prev().length){ 589 $(this).removeClass("current_selected"); 590 $(this).removeClass("selected_shortcut_msg"); 591 $(this).prev().addClass("current_selected"); 592 $(this).prev().addClass("selected_shortcut_msg"); 593 return false; 594 } 595 596 }); 597 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 598 if(!$(this).hasClass("current_selected")) 599 $(this).removeClass("selected_shortcut_msg"); 600 }); 601 602 } 603 604 } 605 return true; 606 } 552 /* 553 ** Se caso for limpado toda a caixa de email, 554 ** e adicionado um novo atalho de selecao. 555 ** main.js on function refrash and line 629. 556 */ 557 $("#table_box").find("tr").attr("tabindex", -1); 558 559 if(keyboard_action == "reload_msg"){ 560 if( $("#tbody_box .current_selected_shortcut_msg").length == 0 ){ 561 $("#tbody_box tr:first").addClass("current_selected_shortcut_msg selected_shortcut_msg"); 562 } 563 } 564 565 shift_up_count = 0; 566 shift_down_count = 0; 567 568 if (msg_number != 'null') { 569 570 if(Element(msg_number)){ 571 unselect_all_msgs(); 572 $("#tbody_box tr").removeClass("current_selected_shortcut_msg selected_shortcut_msg"); 573 $("#"+msg_number).addClass('current_selected_shortcut_msg selected_shortcut_msg'); 574 } 575 576 } else { 577 var scrollMain = Element('divScrollMain_0'); 578 var selection_size = parseInt(preferences.line_height) + 10; 579 580 if( keyboard_action == 'down') { 581 582 if(!Element("chk_box_select_all_messages").checked){ 583 584 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 585 586 if($(this).hasClass("selected_shortcut_msg") && $(this).next().length){ 587 $(this).next().addClass("selected_shortcut_msg"); 588 $(this).removeClass("selected_shortcut_msg"); 589 return false; 590 } 591 592 }); 593 594 } else { 595 596 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 597 598 if($(this).hasClass("current_selected") && $(this).next().length){ 599 $(this).removeClass("current_selected"); 600 $(this).removeClass("selected_shortcut_msg"); 601 $(this).next().addClass("current_selected"); 602 $(this).next().addClass("selected_shortcut_msg"); 603 return false; 604 } 605 606 }); 607 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 608 if(!$(this).hasClass("current_selected")) 609 $(this).removeClass("selected_shortcut_msg"); 610 }); 611 } 612 613 } else if( keyboard_action == 'up') { 614 615 if(!Element("chk_box_select_all_messages").checked){ 616 617 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 618 619 if($(this).hasClass("selected_shortcut_msg") && $(this).prev().length){ 620 $(this).prev().addClass("selected_shortcut_msg"); 621 $(this).removeClass("selected_shortcut_msg"); 622 return false; 623 } 624 625 }); 626 627 } else { 628 629 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 630 631 if($(this).hasClass("current_selected") && $(this).prev().length){ 632 $(this).removeClass("current_selected"); 633 $(this).removeClass("selected_shortcut_msg"); 634 $(this).prev().addClass("current_selected"); 635 $(this).prev().addClass("selected_shortcut_msg"); 636 return false; 637 } 638 639 }); 640 $("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){ 641 if(!$(this).hasClass("current_selected")) 642 $(this).removeClass("selected_shortcut_msg"); 643 }); 644 645 } 646 647 } 648 return true; 649 } 607 650 } 608 651 609 652 function select_bottom_msg() 610 653 { 611 612 613 614 615 616 617 618 619 620 621 add_className(all_messages[i+1], 'selected_shortcut_msg');622 623 624 654 all_messages = Element('tbody_box').childNodes; 655 656 if ( exist_className(all_messages[all_messages.length-1], 'selected_shortcut_msg') ) 657 return; 658 659 for (var i=all_messages.length-1; i >=0; i--) 660 { 661 if ( (exist_className(all_messages[i], 'selected_shortcut_msg')) && (i+1 <= all_messages.length-1) ) 662 { 663 shift_down_count++; 664 add_className(all_messages[i+1], 'selected_msg'); 665 break; 666 } 667 } 625 668 } 626 669 627 670 function select_top_msg() 628 671 { 629 630 631 632 633 634 635 636 637 638 639 add_className(all_messages[i-1], 'selected_shortcut_msg');640 641 642 672 all_messages = Element('tbody_box').childNodes; 673 674 if ( exist_className(all_messages[0], 'selected_shortcut_msg') ) 675 return; 676 677 for (var i=0; i <=all_messages.length-1; i++) 678 { 679 if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 680 { 681 shift_up_count++; 682 add_className(all_messages[i-1], 'selected_msg'); 683 break; 684 } 685 } 643 686 } 644 687 645 688 function unselect_bottom_msg() 646 689 { 647 648 649 650 651 652 653 remove_className(all_messages[i], 'selected_shortcut_msg');654 655 656 690 all_messages = Element('tbody_box').childNodes; 691 for (var i=all_messages.length-1; i >=0; i--) 692 { 693 if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 694 { 695 shift_down_count--; 696 remove_className(all_messages[i], 'selected_msg'); 697 break; 698 } 699 } 657 700 } 658 701 659 702 function unselect_top_msg() 660 703 { 661 662 663 664 665 666 667 remove_className(all_messages[i], 'selected_shortcut_msg');668 669 670 704 all_messages = Element('tbody_box').childNodes; 705 for (var i=0; i <=all_messages.length-1; i++) 706 { 707 if ( exist_className(all_messages[i], 'selected_shortcut_msg') ) 708 { 709 shift_up_count--; 710 remove_className(all_messages[i], 'selected_msg'); 711 break; 712 } 713 } 671 714 } 672 715 673 716 function unselect_all_msgs() 674 717 { 675 676 677 678 remove_className(all_messages[i], 'selected_shortcut_msg');679 680 } 718 all_messages = Element('tbody_box').childNodes; 719 for (var i=0; i <=all_messages.length-1; i++) 720 { 721 remove_className(all_messages[i], 'selected_msg'); 722 } 723 } -
trunk/expressoMail1_2/setup/phpgw_pt-br.lang
r6858 r6930 924 924 Impossible editing this contact, but it's possible to remove it expressoMail1_2 pt-br Impossível editar este contato, mas é possível removê-lo 925 925 The contact was moved from recent contacts to personal contacts successful. expressoMail1_2 pt-br O Contato foi movido dos contatos recentes para os contatos pessoais com sucesso. 926 Permission denied expressoMail1_2 pt-br Permissão negada 927 Success expressoMail1_2 pt-br Concluído -
trunk/expressoMail1_2/templates/default/main.css
r6926 r6930 144 144 form.fileupload .files-list { margin-left: 5px; margin-top: -14px; padding: 0.2em 0.7em; } 145 145 form.fileupload .files-list .delete-upload { top: 7px} 146 ul.attachments-list { padding: 0; } 146 147 div.attachments-list { 148 max-height: 130px; 149 overflow-y: auto; 150 padding-top: 5px; 151 } 147 152 148 153 .button-files-upload { float:left; } … … 230 235 .expressomail-qs-container .menu-control { float:right; margin-left:400px; position: absolute; z-index: 100; padding-top:5px;} 231 236 .expressomail-qs-container .acc-list { width:444px;height:250px;float:left;border:1px solid #DDD;background-color:#EEE;border-radius:3px;margin-left:1px; margin: 10px 5px 5px 1px;} 232 .expressomail-qs-container .details-container { width: 295px;height:246px; float:right; margin: 5px 5px;}237 .expressomail-qs-container .details-container { width:300px;height:246px; float:right; margin: 5px 0;} 233 238 234 239 .expressomail-qs-container .acc-list .demo {width:100%;margin-top:20px;} … … 236 241 .dialog-modal.expressomail-qs-container { height: 416px; padding:5px; } 237 242 238 .ui-dialog .ui-dialog-buttonpane { padding: 0; border:none; margin: 0; padding-right: 0.3px !important;}243 .ui-dialog .ui-dialog-buttonpane { padding: 0; border:none; margin: 0;} 239 244 .expressomail-qs-container .menu-control .ui-button-text-only .ui-button-text { padding: 0.1em 0.6em; } 240 245 … … 404 409 color: red; 405 410 } 406 .selected_shortcut_msg{ 407 color: white; 408 background-color: #5194d2; 409 } 411 410 412 .show_img_link{ 411 413 width : 100%; … … 1012 1014 } 1013 1015 1014 .qtip.qtip-blue.qtip-active ul {1015 padding: 0;1016 }1017 1018 .qtip.qtip-blue.qtip-active li {1019 width: 160px;1020 list-style: none;1021 }1022 1023 1016 .new-event-win.active .fc-event-skin { 1024 1017 border-color: #36C !important; … … 1355 1348 } 1356 1349 1357 1358 .box-selected{1359 background-color : #BBBBBB;1360 }1361 1362 1350 .hidden { 1363 1351 display : none; … … 1392 1380 } 1393 1381 1382 div.conteudo div.new-msg-head-data div.att-box{ 1383 background-color: #DFEFFC; 1384 border-radius: 5px; 1385 -moz-border-radius: 5px; 1386 border: 1px solid #ADD9ED; 1387 display: inline-block; 1388 cursor : pointer; 1389 margin-top : 3px; 1390 margin-right: 3px; 1391 outline : none; 1392 padding : 1px; 1393 } 1394 1395 1396 div.conteudo div.new-msg-head-data div.att-box span.att-box-value{ 1397 font-family: Verdana, Arial, Helvetica, sans-serif; 1398 font-size: 11px; 1399 color : #201b41; 1400 outline : none; 1401 } 1402 1403 div.conteudo div.new-msg-head-data div.att-box span.att-box-loading{ 1404 background : url("../../../prototype/modules/mail/img/loading.gif") no-repeat !important; 1405 display: inline-block; 1406 background-size: 15px auto !important; 1407 } 1408 1409 div.conteudo div.new-msg-head-data div.att-box.invalid-email-box{ 1410 background-color: #ea9aa0; 1411 border : 1px solid #540303 !important; 1412 } 1413 1394 1414 div.new-msg-head-data div.email-area .invalid-email-box{ 1395 1415 color: #540303; … … 1401 1421 background-color : #BBBBBB; 1402 1422 } 1423 1424 .fileupload_msg_tooltip{ 1425 width: 99.7%; 1426 text-align: center; 1427 background: #DFEFFC; 1428 font-weight: bold; 1429 border-radius: 5px; 1430 height: 115px; 1431 line-height: 115px; 1432 font-size: larger; 1433 } 1434 1435 .fileupload_msg_tooltip.hover { 1436 background: #ADD9ED; 1437 } 1438 1439 .select-all-messages{ 1440 min-height: 20px; 1441 font-size: 13px; 1442 font-family: Arial; 1443 white-space: nowrap; 1444 text-align: center; 1445 } 1446 .select-all-messages .select-link{ 1447 text-decoration: underline !important; 1448 } 1449 1450 .selected_shortcut_msg{ 1451 color: white; 1452 background-color: #95A7FC; 1453 } 1454 1455 .current_selected_shortcut_msg{ 1456 color: white; 1457 background-color: #5194d2; 1458 } -
trunk/library/ckeditor/plugins/expresso/plugin.js
r6410 r6930 125 125 }, 126 126 add: function (e, data) { 127 127 var iterator = idattachbycontent; 128 128 if(!maxAttachmentSize || data.files[0].size < maxAttachmentSize || is_ie) { 129 129 setTimeout(function() { 130 130 $('#attDisposition'+ID).val('embedded'); 131 data.submit();132 }, 5000);131 jqXHR[iterator] = data.submit(); 132 }, 100); 133 133 } 134 134 fileUploadMSG.find(' .attachments-list').show(); 135 135 $.each(data.files, function (index, file) { 136 136 var attach = {}; 137 137 attach.fullFileName = file.name; 138 138 attach.fileName = file.name; 139 if(file.name.length > 10)140 attach.fileName = file.name.substr(0, 1 8) + "..." + file.name.substr(file.name.length-9, file.name.length);139 if(file.name.length > 20) 140 attach.fileName = file.name.substr(0, 17) + "..." + file.name.substr(file.name.length-9, file.name.length); 141 141 attach.fileSize = formatBytes(file.size); 142 142 if(maxAttachmentSize && file.size > maxAttachmentSize) 143 143 attach.error = 'Tamanho de arquivo nao permitido!!' 144 144 else 145 attach.error = true; 145 146 var upload = $(DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist.ejs", {file : attach})); 146 147 147 upload.find('.button.close').button({ 148 icons: { 149 primary: "ui-icon-close" 150 }, 151 text: false 152 }).click(function(){ 148 upload.find('.att-box-delete').click(function(){ 153 149 var idAttach = $(this).parent().find('input[name="fileId[]"]').val(); 154 150 … … 165 161 $('.attachments-list').find('input[value="'+idAttach+'"]').remove(); 166 162 delAttachment(ID, idAttach); 167 $(this).parent().remove(); 163 $(this).parent().qtip("destroy"); 164 $(this).parent().remove(); 165 if(!fileUploadMSG.find(' .attachments-list').find(".att-box").length){ 166 fileUploadMSG.find(' .attachments-list').hide(); 167 } 168 if(jqXHR){ 169 jqXHR[iterator].abort(); 170 } 168 171 }); 169 172 170 fileUploadMSG.find('.attachments-list').append(upload); 171 172 if(!maxAttachmentSize || file.size < maxAttachmentSize){ 173 if(data.fileInput){ 174 fileUploadMSG.find('.fileinput-button.new').append(data.fileInput[0]).removeClass('new'); 175 fileUploadMSG.find('.attachments-list').find('[type=file]').addClass('hidden'); 176 } 177 }else 178 fileUploadMSG.find(' .fileinput-button.new').removeClass('new'); 179 173 fileUploadMSG.find('.attachments-list').append(upload); 174 fileUploadMSG.find('.attachments-list .att-box:last').qtip({ 175 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 176 position: { 177 corner: { 178 tooltip: 'bottomMiddle', 179 target: 'topMiddle' 180 }, 181 adjust: { 182 resize: true, 183 scroll: true, 184 screen: show 185 } 186 }, 187 show: { 188 when: 'mouseover', // Don't specify a show event 189 ready: false // Show the tooltip when ready 190 }, 191 hide: 'mouseout', // Don't specify a hide event 192 style: { 193 border: { 194 width: 1, 195 radius: 5 196 }, 197 width: { 198 min: 75, 199 max : 1000 200 }, 201 padding: 3, 202 textAlign: 'left', 203 tip: true, // Give it a speech bubble tip with automatic corner detection 204 name: (typeof(attach.error) == 'boolean' ? 'light' : 'red') // Style it according to the preset 'cream' style 205 } 206 }); 207 if(!maxAttachmentSize || file.size < maxAttachmentSize){ 208 if(data.fileInput){ 209 fileUploadMSG.find('.fileinput-button.new').append(data.fileInput[0]).removeClass('new'); 210 fileUploadMSG.find('.attachments-list').find('[type=file]').addClass('hidden'); 211 } 212 }else{ 213 fileUploadMSG.find(' .fileinput-button.new').removeClass('new'); 214 } 180 215 CKEDITOR.instances['body_'+ID].insertHtml('<img src=""/>'); 181 216 idattachbycontent++; 182 217 }); 183 218 184 219 CKEDITOR.dialog.getCurrent().hide(); 185 220 186 221 }, 187 222 done: function(e, data){ 188 if(!!data.result && data.result != "[]"){ 189 var newAttach = data.result; 190 if(!newAttach.mailAttachment.error){ 191 if(newAttach.rollback !== false) 192 { 193 fileUploadMSG.find('.in-progress:first').parents('p').append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>').find('.status-upload').addClass('ui-icon ui-icon-check'); 194 addAttachment(ID,newAttach['mailAttachment'][0][0].id); 195 var content_body = RichTextEditor.getData('body_'+ID); 196 var rex = new RegExp('<img src="" [^\/>]*\/>', 'i'); 197 var newImg = '<img src="../prototype/getArchive.php?mailAttachment='+newAttach['mailAttachment'][0][0].id+'" />'; 198 content_body = content_body.replace(rex,newImg); 199 RichTextEditor.setData('body_'+ID,content_body); 200 } 201 else 202 fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error'); 223 var attach_box = fileUploadMSG.find('.att-box-loading:first').parents('.att-box'); 224 var attach = { 225 fullFileName : attach_box.find(".att-box-fullfilename").text(), 226 fileSize : attach_box.find(".att-box-filesize").text(), 227 OK : true, 228 error : false 229 }; 230 if(!!data.result && data.result != "[]" ){ 231 var newAttach = data.result; 232 if(!newAttach.mailAttachment.error || newAttach.rollback !== false){ 233 attach_box.append('<input type="hidden" name="fileId[]" value="'+newAttach['mailAttachment'][0][0].id+'"/>'); 234 addAttachment(ID,newAttach['mailAttachment'][0][0].id); 235 var content_body = RichTextEditor.getData('body_'+ID); 236 var rex = new RegExp('<img src="" [^\/>]*\/>', 'i'); 237 var newImg = '<img src="../prototype/getArchive.php?mailAttachment='+newAttach['mailAttachment'][0][0].id+'" />'; 238 content_body = content_body.replace(rex,newImg); 239 RichTextEditor.setData('body_'+ID,content_body); 203 240 }else{ 204 fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append(newAttach.mailAttachment.error).addClass('message-attach-error'); 205 } 206 }else 207 { 208 fileUploadMSG.find('.in-progress:first').parents('p').find('.status-upload').append('Erro ao fazer upload!').addClass('message-attach-error'); 209 } 210 fileUploadMSG.find('.in-progress:first').remove(); 211 241 attach_box.addClass('invalid-email-box'); 242 attach.error = newAttach.mailAttachment.error ? newAttach.mailAttachment.error : 'Erro ao anexar...'; 243 } 244 }else { 245 attach_box.addClass('invalid-email-box'); 246 attach.error = 'Erro ao anexar...'; 247 } 248 attach_box.qtip("destroy").qtip({ 249 content: DataLayer.render("../prototype/modules/mail/templates/attachment_add_itemlist_tooltip.ejs", {attach : attach}), 250 position: { 251 corner: { 252 tooltip: 'bottomMiddle', 253 target: 'topMiddle' 254 }, 255 adjust: { 256 resize: true, 257 scroll: true, 258 screen: show 259 } 260 }, 261 show: { 262 when: 'mouseover', // Don't specify a show event 263 ready: false // Show the tooltip when ready 264 }, 265 hide: 'mouseout', // Don't specify a hide event 266 style: { 267 border: { 268 width: 1, 269 radius: 5 270 }, 271 width: { 272 min: 75, 273 max : 1000 274 }, 275 padding: 3, 276 textAlign: 'left', 277 tip: true, // Give it a speech bubble tip with automatic corner detection 278 name: (attach.error == false ? 'blue' : 'red')// Style it according to the preset 'cream' style 279 } 280 }); 281 fileUploadMSG.find(' .att-box-loading:first').remove(); 212 282 } 213 283 }); -
trunk/prototype/modules/mail/js/foldertree.js
r6574 r6930 116 116 cp_tree1 = tree1; 117 117 cp_tree2 = tree2; 118 var shared_acls = {}; 119 120 $.each(cp_tree2, function(index, value){ 121 shared_acls[value.id] = value.acl_share; 122 }); 123 118 124 $("#content_folders").removeClass("menu-degrade").parent().removeClass("image-menu"); 119 125 var html = DataLayer.render('../prototype/modules/mail/templates/detailedfoldertree.ejs', {folders: [tree1, tree2, tree3]}); … … 166 172 }).end().end(); 167 173 168 folders_html.find('[id="'+selected+'"]').children().addClass("selected").end().end().find("li:first").find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 174 folders_html.find('[id="'+selected+'"]').children().addClass("selected"); 175 $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").not(".head_folder,.inbox,.drafts,.sent,.spam,.trash").draggable({ 169 176 // DRAG DE PASTAS 170 177 start : function(){ … … 280 287 url : "controller.php?"+ $.param( { action: "$this.imap_functions.move_folder", folder_to_move: folder_to_move, folder_to: folder_to } ), 281 288 success : function(data){ 289 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 282 290 data = connector.unserialize(data); 283 if(data){ 284 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 291 if(data == "Permission denied"){ 292 write_msg(get_lang("Permission denied")); 293 }else if(data){ 285 294 write_msg(get_lang("The folder was successfully moved")); 286 295 } … … 292 301 } 293 302 } 294 }).hover( 303 }); 304 $(".folder").not(".head_folder").not(".shared-folders").parent().find(".folder").hover( 295 305 function(){ 296 306 //CASO A LI NÃO TENHA UM eventNU FLUTUANTE AINDA, O eventNU É ADICIONADO! … … 298 308 var folder_ = $(this); 299 309 var folder_name; 310 var shared = { 311 head : false, 312 valid : false 313 }; 300 314 if(folder_.parent().attr('id')){ 301 315 folder_name = folder_.parent().attr('id').split(cyrus_delimiter); 302 316 folder_name = folder_name[folder_name.length -1]; 317 shared.valid = folder_.parent().attr('id').search("user/") == 0 ? true : false; 303 318 }else 304 319 folder_name = "Root"; 305 html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name}); 320 321 if(shared.valid){ 322 shared.head = folder_.parent().attr('id').split(cyrus_delimiter).length == 2 ? true : false; 323 var folder_name_parts = folder_.parent().attr('id').split(cyrus_delimiter); 324 var acls = shared_acls[folder_name_parts[0]+cyrus_delimiter+folder_name_parts[1]]; 325 326 } 327 328 html = DataLayer.render("../prototype/modules/mail/templates/float_folder_menu.ejs", {name_folder : folder_name, flag : shared, acl : acls}); 306 329 //FUNÇÃO DO eventNU FLUTUANTE EDITAR < BEGIN 307 330 var esc = false; … … 334 357 type : "POST", 335 358 data : "current="+folder_id+"&rename="+new_name, 336 success : function(){ 359 success : function(data){ 360 data = connector.unserialize(data); 361 if(data == "Permission denied"){ 362 $(".folders-loading").removeClass("folders-loading"); 363 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 364 return write_msg(get_lang("Permission denied")); 365 } 337 366 write_msg(get_lang("The folder was successfully rename")); 338 367 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); … … 383 412 $(".folders-loading").removeClass("folders-loading"); 384 413 return write_msg(get_lang("Mailbox does not exist")); 414 }else if(data == "Permission denied"){ 415 $(".folders-loading").removeClass("folders-loading"); 416 cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu); 417 return write_msg(get_lang("Permission denied")); 385 418 } 386 419 write_msg(get_lang("The folder %1 was successfully removed", folder_name)); … … 447 480 draw_new_tree_folder(); 448 481 }); 482 }).end().find(".float-menu-export").click(function(){ 483 //proxy_mensagens.export_all_messages($(this).parents("li:first").attr("id")) 484 485 var name_box = $(this).parents("li:first").attr("id"); 486 var name_folder = name_box.split(cyrus_delimiter)[name_box.split(cyrus_delimiter).length-1]; 487 488 var hand_export = function(data){ 489 if(!data){ 490 write_msg(get_lang('Error compressing messages (ZIP). Contact the administrator.')) 491 }else if(data["empty_folder"]){ 492 write_msg(get_lang("The selected folder is empty.")); 493 }else 494 download_attachments(null, null, data, null,null, name_folder +'.zip'); 495 } 496 cExecute("$this.exporteml.export_all",hand_export,"folder="+name_box); 497 write_msg(get_lang('You must wait while the messages will be exported...')); 449 498 }); 450 499 //FUNÇÃO DO eventNU FLUTUANTE NOVA PASTA < END -
trunk/prototype/modules/mail/templates/attachment.ejs
r6214 r6930 1 <div id="fileupload_msg<%=data.ID%>" class="fileupload" style="margin : 15px 0px -15px -10px; ">1 <div id="fileupload_msg<%=data.ID%>" class="fileupload" style="margin : 15px 0px -15px -10px; padding-bottom : 5px;"> 2 2 <div class="row fileupload-buttonbar"> 3 3 <div class="button-files-upload"> … … 13 13 <br /> 14 14 <div class="files-list" style="margin: 5px; padding: 5px;"> 15 < ul class="attachments-list"></ul>15 <div class="attachments-list ui-corner-all" style="display:none;"></div> 16 16 </div> 17 17 </div> 18 <div id="fileupload_msg<%=data.ID%>_droopzone" style="display:none;" class="fileupload_msg_tooltip"> 19 Solte aqui seus anexos 20 </div> -
trunk/prototype/modules/mail/templates/attachment_add_itemlist.ejs
r6124 r6930 1 <li style="list-style : none;"> 2 <p class="input-group archive-info" style="margin: 0px 0 !important; height: 17px"> 3 <span title="<%=data.file.fullFileName%>" class="archive-attach name"><%=data.file.fileName%></span> 4 <span class="archive-attach size"><%=data.file.fileSize%></span> 5 <button type="button" style="margin-bottom: -4px; <%= is_webkit || is_ie ? '' : 'top : 7px;'%>" class="button close tiny upload delete-upload" title="Deletar">Deletar</button> 6 <span class="status-upload"></span> 7 <%if(data.file.error){%> 8 <span class="archive-error error"><%=data.file.error%></span> 9 <%}if(!data.file.error){%> 10 <span style="width: 110px; height: 14px; overflow:hidden"> 11 <span class="in-progress"> <img src="../prototype/modules/mail/img/loader.gif" /></span> 12 </span> 13 <%}%> 14 <label class="fileinput-button new"></label> 15 </p> 16 </li> 1 <div class="att-box ui-corner-all <%= (typeof(data.file.error) != 'boolean' ? 'invalid-email-box' : '') %>"> 2 <!--<div style="position:absolute; text-align: center; line-height: 1.9em;">--> 3 <span class="att-box-value"><%=data.file.fileName%> <b>(<%=data.file.fileSize%>)</b></span> 4 <span class="att-box-fullfilename" style="display:none;"><%=data.file.fullFileName%></span> 5 <span class="att-box-filesize" style="display:none;"><%=data.file.fileSize%></span> 6 <% if(typeof(data.file.error) == 'boolean'){ %> 7 <span class="att-box-loading"> </span> 8 <% } %> 9 <span class="att-box-delete ui-icon-close ui-icon" style="display: inline-block;"> </span> 10 <!--</div>--> 11 </div> -
trunk/prototype/modules/mail/templates/float_folder_menu.ejs
r5948 r6930 12 12 13 13 <span class="float-menu"> 14 <span class="ui-icon ui-icon-document float-menu-new floating-default" title="Nova Pasta"></span> 15 <%if(!specialFolders[data.name_folder]){ %> 16 <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="Editar Pasta"></span> 17 <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="Excluir Pasta"></span> 18 <%} 19 else if(data.name_folder == trashfolder){%> 20 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap();" title="Limpar Pasta"></span> 21 <%} 22 else if(data.name_folder == spamfolder){%> 23 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap();" title="Limpar Pasta"></span> 14 <%if(!data.flag.valid){ %> 15 <span class="ui-icon ui-icon-document float-menu-new floating-default" title="Nova Pasta"></span> 16 <%if(!specialFolders[data.name_folder]){ %> 17 <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="Editar Pasta"></span> 18 <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="Excluir Pasta"></span> 19 <%} 20 else if(data.name_folder == trashfolder){%> 21 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap();" title="Limpar Pasta"></span> 22 <%} 23 else if(data.name_folder == spamfolder){%> 24 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap();" title="Limpar Pasta"></span> 25 26 <%}%> 27 28 <%}else{ %> 29 <% if(parseInt(data.acl.create)){%> 30 <span class="ui-icon ui-icon-document float-menu-new floating-default" title="Nova Pasta"></span> 31 <% if(parseInt(data.acl.delete) && parseInt(data.acl.rename) && !specialFolders[data.name_folder] && !data.flag.head){ %> 32 <span class="ui-icon ui-icon-pencil float-menu-edit floating-default" title="Editar Pasta"></span> 33 <% } %> 34 35 <% } %> 36 <% if(parseInt(data.acl.delete) && !specialFolders[data.name_folder] && !data.flag.head){ %> 37 <span class="ui-icon ui-icon-close float-menu-remove floating-default" title="Excluir Pasta"></span> 38 <%}%> 39 <%if(data.name_folder == trashfolder && parseInt(data.acl.delete)){%> 40 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_trash_imap(true, $(this));" title="Limpar Pasta"></span> 41 <%}else if(data.name_folder == spamfolder && parseInt(data.acl.delete)){%> 42 <span class="ui-icon ui-icon-trash float-menu-clean floating-default" onclick="empty_spam_imap(true, $(this));" title="Limpar Pasta"></span> 43 <%}%> 24 44 <%}%> 25 45 46 <span class="ui-icon ui-icon-arrowthickstop-1-n float-menu-export floating-default" title="Exportar Mensagens da Pasta"></span> 26 47 </span> -
trunk/prototype/modules/mail/templates/new_message.ejs
r6882 r6930 137 137 <tr class="attachment"> 138 138 <td class="field"> 139 <%=get_lang("Attachments: ")%> 139 140 <input style="display:none;" name="attDisposition<%= data.id %>" id="attDisposition<%= data.id%>" value="attachment"/> 140 141 </td> -
trunk/prototype/services/ImapServiceAdapter.php
r6882 r6930 78 78 foreach ($result as $res) { 79 79 80 $response[] = array( 80 //monta o array padrao 81 $array = array( 81 82 'id' => mb_convert_encoding( $res['folder_id'], 'UTF-8', 'UTF7-IMAP' ), 82 83 'commonName' => mb_convert_encoding( $res['folder_name'], 'UTF-8' , 'UTF7-IMAP' ), 83 84 'parentFolder' => mb_convert_encoding( $res['folder_parent'], 'UTF-8' , 'UTF7-IMAP' ), 84 85 'messageCount' => array('unseen' => isset($res['folder_unseen']) ? $res['folder_unseen'] : null, 'total' => null) 85 ); 86 } 87 86 ); 87 88 //se existir compartilhamento para pasta compartilhada 89 //adicionar array de permissoes 90 if(isset($res['acl_share'])){ 91 $array['acl_share'] = $res['acl_share']; 92 } 93 $response[] = $array; 94 } 88 95 return $response; 89 96 }
Note: See TracChangeset
for help on using the changeset viewer.