Changeset 4843


Ignore:
Timestamp:
07/21/11 11:17:23 (13 years ago)
Author:
roberto.santosjunior
Message:

Ticket #1820 - Menu de contexto não funciona corretamente em todos resultados de pesquisa.r4782

Location:
trunk/expressoMail1_2
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r4832 r4843  
    30913091        { 
    30923092                $folder = $params['folder']; 
    3093                 $msgs_to_set = $params['msgs_to_set']; 
     3093                $rowids_to_set = $params['msgs_to_set']; // contains the row ids 
    30943094                $flag = $params['flag']; 
    30953095                $return = array(); 
     3096                $return["rowids_to_set"] = $rowids_to_set; 
     3097                $return["flag"] = $flag; 
     3098 
     3099                $msgs_to_set = ''; 
     3100                foreach (explode(',',$rowids_to_set) as $msg) {//extracting message ids 
     3101                        $pos = strpos($msg,'_'); 
     3102                        if ($pos===false) 
     3103                                $msgs_to_set .= ','.$msg; 
     3104                        else 
     3105                                $msgs_to_set .= ','.substr($msg,0,$pos); 
     3106                } 
     3107                $msgs_to_set = substr($msgs_to_set,1); 
    30963108                $return["msgs_to_set"] = $msgs_to_set; 
    3097                 $return["flag"] = $flag; 
    30983109 
    30993110                if(!$this->mbox && !is_resource($this->mbox)) 
  • trunk/expressoMail1_2/js/abas.js

    r4807 r4843  
    383383} 
    384384 
    385 function getTabPrefix() { // define o prefixo para os checkboxes das mensagens 
    386         if (typeof(currentTab)!='number') 
    387                 return currentTab+"_"; 
    388         else 
    389                 return ""; 
    390 } 
    391  
    392385function getMessageIdFromRowId(row_id) { // extrai o id da mensagem do id da linha 
    393386        var p = row_id.search("_s"); 
     
    407400        } 
    408401} 
     402 
     403function getTabSufix() { 
     404        if (typeof(currentTab)=='number') 
     405                return ''; 
     406        else 
     407                return '_s' + numBox.toString(); 
     408} 
  • trunk/expressoMail1_2/js/common_functions.js

    r4822 r4843  
    144144        remove_className(tr_message, 'selected_msg'); 
    145145        add_className(tr_message, 'tr_msg_unread'); 
     146        if( document.getElementById("td_message_unseen_"+msg_number) != null ) 
    146147        Element("td_message_unseen_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/unseen.gif' title='"+get_lang('Unseen')+"'>"; 
    147148} 
     
    151152        remove_className(msg, 'selected_msg'); 
    152153        add_className(msg, 'flagged_msg'); 
     154        if( document.getElementById("td_message_important_"+msg_number) != null ) 
    153155        Element("td_message_important_"+msg_number).innerHTML = "<img src ='templates/"+template+"/images/important.gif' title='"+get_lang('Important')+"'>"; 
    154156} 
     
    158160        remove_className(msg, 'selected_msg'); 
    159161        remove_className(msg, 'flagged_msg'); 
     162        if( document.getElementById("td_message_important_"+msg_number) != null ) 
    160163        Element("td_message_important_"+msg_number).innerHTML = "&nbsp;&nbsp;&nbsp;"; 
    161164} 
     
    960963                { 
    961964                        Element("check_box_message_"+main_list[i].id).checked = true; 
    962                         add_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg'); 
     965                        add_className(Element(main_list[i].id), 'selected_msg'); // one by one to add only if does not exist yet 
     966                        add_className(Element(main_list[i].id), 'selected_shortcut_msg'); // one by one to add only if does not exist yet 
    963967                } 
    964968        } 
     
    968972                { 
    969973                        Element("check_box_message_"+main_list[i].id).checked = false; 
    970                         remove_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg'); 
     974                        remove_className(Element(main_list[i].id), 'selected_msg'); // one by one to remove 
     975                        remove_className(Element(main_list[i].id), 'selected_shortcut_msg'); // one by one to remove 
    971976                } 
    972977        } 
  • trunk/expressoMail1_2/js/drag_area.js

    r4810 r4843  
    6363         
    6464                if(_button == 2 || _button == 3) { 
    65                         var _checkb = Element("check_box_message_"+ msg_number); 
    66  
    67                         var _checkb = Element(getTabPrefix() + "check_box_message_" + msg_number); 
     65                        var _checkb = Element("check_box_message_" + msg_number + getTabSufix()); 
    6866 
    6967                        if(_checkb) { 
     
    9896 
    9997        var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r',''); 
    100         var _checkbox_element = Element(getTabPrefix()+"check_box_message_"+msg_number); 
     98        var _checkbox_element = Element("check_box_message_"+msg_number+getTabSufix()); 
    10199        if(_dragArea.from_list) { 
    102100 
     
    180178        var     _target = is_ie ? _event.srcElement : _event.target; 
    181179        var _button = is_ie ? _event.button : _event.which; 
    182         var _tab_prefix = getTabPrefix(); 
    183180        var _msg_id; 
    184181 
     
    195192                                for(var i = 0; id_messages_to_drag && i < id_messages_to_drag.length; i++) {                     
    196193                                        _msg_id = getMessageIdFromRowId(id_messages_to_drag[i]); 
    197                                         Element(_tab_prefix+"check_box_message_"+_msg_id).checked = false; 
     194                                        Element("check_box_message_"+id_messages_to_drag[i]).checked = false; 
    198195                                        changeBgColor(_event ,_msg_id); 
    199196                                } 
     
    247244                                for(var i = 0; id_messages_to_drag && i < id_messages_to_drag.length; i++) {                             
    248245                                        _msg_id = getMessageIdFromRowId(id_messages_to_drag[i]); 
    249                                         Element(_tab_prefix+"check_box_message_"+_msg_id).checked = false; 
     246                                        Element("check_box_message_"+id_messages_to_drag[i]).checked = false; 
    250247                                        changeBgColor(_event ,_msg_id); 
    251248                                } 
  • trunk/expressoMail1_2/js/draw_api.js

    r4839 r4843  
    34313431 
    34323432function changeBgColorToON(all_messages, begin, end){ 
    3433         var _tab_prefix = getTabPrefix(); 
    3434         var _msg_id; 
    34353433        for (begin; begin<=end; begin++) 
    34363434        { 
    3437                 _msg_id = getMessageIdFromRowId(all_messages[begin].id); 
    34383435                add_className(all_messages[begin], 'selected_msg'); 
    3439                 Element(_tab_prefix + "check_box_message_" + _msg_id).checked = true; 
     3436                Element("check_box_message_" + all_messages[begin].id).checked = true; 
    34403437        } 
    34413438} 
     
    34843481        else{ 
    34853482                //if ( exist_className(actual_tr, 'selected_msg') ) 
    3486                 if ( Element(getTabPrefix()+'check_box_message_' + msg_number).checked ) 
     3483                if ( Element('check_box_message_' + _element_id).checked ) 
    34873484                        add_className(actual_tr, 'selected_msg'); 
    34883485                else 
  • trunk/expressoMail1_2/js/local_messages.js

    r4827 r4843  
    634634    this.init_local_messages(); 
    635635        var no_errors = true; 
    636     var msgs_to_set; 
     636        var rowids_to_set; // rows ids 
     637    var msgs_to_set; // messages ids 
    637638        var one_message = false; 
    638639    if (msgs_number == 'get_selected_messages') { 
    639                 var msgs_to_set = get_selected_messages(); 
    640                 msgs_to_set= msgs_to_set.split(","); 
    641     } 
    642     else { //Just one message 
     640                msgs_to_set = get_selected_messages(); 
     641                rowids_to_set = msgs_to_set.split(","); 
     642                msgs_to_set = msgs_to_set.replace(/_s[^,]*/g,"").split(","); 
     643    } 
     644    else { 
     645                //message(s) sent to function 
     646                rowids_to_set = msgs_number.split(","); 
     647                msgs_to_set = msgs_number.replace(/_s[^,]*/g,"").split(","); 
     648                if (msgs_to_set.length==1) { 
     649                        //Just one message 
    643650            one_message = true; 
    644                 msgs_to_set = new Array(); 
    645                 msgs_to_set[0] = msgs_number; 
     651        } 
    646652    } 
    647653    for (var i in msgs_to_set) { 
    648654                         
    649655        var matches = '';//Messages comming from other tabs. 
    650         if(matches = this.parse_id_mail(msgs_to_set[i])) { 
     656        if(matches === this.parse_id_mail(msgs_to_set[i])) { 
    651657            msgs_to_set[i] = matches[1]; 
    652658        } 
     
    660666        switch(flag) { 
    661667            case "unseen": 
    662                         set_msg_as_unread(msgs_to_set[i]); 
     668                        set_msg_as_unread(rowids_to_set[i]); 
    663669                        header["Unseen"] = "U"; 
    664670                        mail["Unseen"] = "U"; 
     
    667673                        break; 
    668674            case "flagged": 
    669                         set_msg_as_flagged(msgs_to_set[i]); 
     675                        set_msg_as_flagged(rowids_to_set[i]); 
    670676                        header["Flagged"] = "F"; 
    671677                        mail["Flagged"] = "F"; 
     
    677683                                no_errors = false; 
    678684                        else { 
    679                             set_msg_as_unflagged(msgs_to_set[i]); 
     685                            set_msg_as_unflagged(rowids_to_set[i]); 
    680686                            header["Flagged"] = "N"; 
    681687                                mail["Flagged"] = "N"; 
     
    688694                        mail["Unseen"] = "N"; 
    689695                        mail["header"]["Unseen"] = "N"; 
    690                         set_msg_as_read(msgs_to_set[i],true); 
     696                        set_msg_as_read(rowids_to_set[i],true); 
    691697                        unseen = 0; 
    692698                        break; 
     
    715721        rs.close(); 
    716722                         
    717         if(Element("check_box_message_" + msgs_to_set[i])) 
    718             Element("check_box_message_" + msgs_to_set[i]).checked = false; 
     723        if(Element("check_box_message_" + rowids_to_set[i])) 
     724            Element("check_box_message_" + rowids_to_set[i]).checked = false; 
    719725        var smail=connector.serialize(mail); 
    720726        smail =smail.replace(/([^'])'([^'])('?)/g,"$1''$2$3$3"); 
  • trunk/expressoMail1_2/js/main.js

    r4840 r4843  
    855855        var main_list = main.childNodes; 
    856856 
    857         var _tab_prefix = getTabPrefix(); 
     857        var _check_box; 
    858858        var selected_messages = ''; 
    859859        var selected_messages_by_shortcuts = ''; 
     
    861861        for (j; j<(main_list.length); j++) 
    862862        { 
    863  
    864         check_box = Element(_tab_prefix + "check_box_message_" + getMessageIdFromRowId(main_list[j].id)); 
    865          
    866         if ( (check_box) && (check_box.checked) ) 
    867                 selected_messages += main_list[j].id + ','; 
     863                _check_box = Element("check_box_message_" + main_list[j].id); 
     864 
     865                if ( (_check_box) && (_check_box.checked) ) 
     866                    selected_messages += main_list[j].id + ','; 
    868867 
    869868                if (preferences.use_shortcuts == '1') 
     
    894893        else 
    895894                return selected_messages; 
     895} 
     896 
     897function get_selected_messages_folder(){ 
     898        var _main; 
     899        var _main_list; 
     900        try{ 
     901                _main = document.getElementById("divScrollMain_"+numBox).firstChild.firstChild; 
     902        }catch(e){ 
     903        }; 
     904 
     905        if (! _main) 
     906                _main = Element("tbody_box_"+numBox); 
     907 
     908        if (! _main) 
     909                _main = Element("tbody_box"); 
     910 
     911        // Get all TR (messages) in tBody. 
     912        _main_list = _main.childNodes; 
     913 
     914        var _check_box; 
     915        var selected_messages_folder; 
     916//      var selected_messages_by_shortcuts = ''; 
     917        var j = 0; 
     918        for (j; j<(_main_list.length); j++) 
     919        { 
     920 
     921                _check_box = Element("check_box_message_" + _main_list[j].id); 
     922 
     923                if ( (_check_box) && (_check_box.checked) && (_main_list[j].name) ) { 
     924                        if (!selected_messages_folder) 
     925                                selected_messages_folder = _main_list[j].name; 
     926                        else { 
     927                                if (selected_messages_folder!=_main_list[j].name) 
     928                                        return false; 
     929                        } 
     930                } 
     931        } 
     932        return selected_messages_folder; 
    896933} 
    897934 
     
    20552092function set_messages_flag(flag, msgs_to_set){ 
    20562093        var handler_set_messages_flag = function (data){ 
     2094                var _tab_sufix = getTabSufix(); 
     2095                var _chk_box; 
     2096                var _fld_box; 
    20572097                if(!verify_session(data)) 
    20582098                        return; 
    2059                 var msgs_to_set = data.msgs_to_set.split(","); 
     2099                var msgs_to_set = data.msgs_to_set.split(","); // messages ids 
     2100                var rowids_to_set = data.rowids_to_set.split(","); // rows ids 
    20602101 
    20612102                if(!data.status) { 
     
    20632104                        Element('chk_box_select_all_messages').checked = false; 
    20642105                        for (var i = 0; i < msgs_to_set.length; i++) { 
    2065                                 Element("check_box_message_" + msgs_to_set[i]).checked = false; 
    2066                                 remove_className(Element(msgs_to_set[i]), 'selected_msg'); 
     2106                                Element("check_box_message_" + rowids_to_set[i]).checked = false; 
     2107                                remove_className(Element(rowids_to_set[i]), 'selected_msg'); 
    20672108                        } 
    20682109                        if(!data.msgs_unflageds) 
     
    20942135                                } 
    20952136                                proxy_mensagens.get_msg(msgs_to_set[i],current_folder, false, setFlag); 
    2096  
    2097  
    2098                         } 
    2099                         if(Element("check_box_message_" + msgs_to_set[i])){ 
     2137                        } 
     2138 
     2139                        _chk_box = Element("check_box_message_" + rowids_to_set[i]); 
     2140                        _fld_box = (_tab_sufix ? Element("check_box_message_" + msgs_to_set[i]) : null); 
     2141                        if(_chk_box){ 
    21002142                                switch(data.flag){ 
    21012143                                        case "unseen": 
    2102                                                 set_msg_as_unread(msgs_to_set[i]); 
    2103                                                 Element("check_box_message_" + msgs_to_set[i]).checked = false; 
     2144                                                set_msg_as_unread(rowids_to_set[i]); 
     2145                                                if (_fld_box) 
     2146                                                    set_msg_as_unread(msgs_to_set[i]); 
     2147                                                _chk_box.checked = false; 
    21042148                                                break; 
    21052149                                        case "seen": 
    2106                                                 set_msg_as_read(msgs_to_set[i], false); 
    2107                                                 Element("check_box_message_" + msgs_to_set[i]).checked = false; 
     2150                                                set_msg_as_read(rowids_to_set[i], false); 
     2151                                                if (_fld_box) 
     2152                                                        set_msg_as_read(msgs_to_set[i]); 
     2153                                                _chk_box.checked = false; 
    21082154                                                break; 
    21092155                                        case "flagged": 
    2110                                                 set_msg_as_flagged(msgs_to_set[i]); 
    2111                                                 document.getElementById("check_box_message_" + msgs_to_set[i]).checked = false; 
     2156                                                set_msg_as_flagged(rowids_to_set[i]); 
     2157                                                if (_fld_box) 
     2158                                                    set_msg_as_flagged(msgs_to_set[i]); 
     2159                                                _chk_box.checked = false; 
    21122160                                                break; 
    21132161                                        case "unflagged": 
    2114                                                 set_msg_as_unflagged(msgs_to_set[i]); 
    2115                                                 Element("check_box_message_" + msgs_to_set[i]).checked = false; 
     2162                                                set_msg_as_unflagged(rowids_to_set[i]); 
     2163                                                if (_fld_box) 
     2164                                                    set_msg_as_unflagged(msgs_to_set[i]); 
     2165                                                _chk_box.checked = false; 
    21162166                                                break; 
    21172167                                } 
     
    21222172 
    21232173        var folder = get_current_folder(); 
    2124         if (msgs_to_set == 'get_selected_messages') 
     2174        if (msgs_to_set == 'get_selected_messages') { 
    21252175                var msgs_to_set = this.get_selected_messages(); 
     2176                if ( (msgs_to_set) && (msgs_to_set.match(/_s/)) ) { 
     2177                        folder = get_selected_messages_folder(); 
     2178                        if (!folder) { 
     2179                                alert(get_lang("You cant manipulate messages from multiple folders on search")); 
     2180                                return; 
     2181                        } 
     2182                } 
     2183        } 
    21262184        else 
    21272185                folder = Element("input_folder_"+msgs_to_set+"_r").value; 
    21282186 
    21292187        if (msgs_to_set) 
     2188                if (folder && proxy_mensagens.is_local_folder(folder)) 
     2189                        expresso_local_messages.set_messages_flag(msgs_to_set, flag); //expresso_local_messages.set_messages_flag(msgs_to_set.replace(/_s[^,]*/g,""), flag); 
     2190                else 
    21302191                cExecute ("$this.imap_functions.set_messages_flag&folder="+folder+"&msgs_to_set="+msgs_to_set+"&flag="+flag, handler_set_messages_flag); 
    21312192        else 
  • trunk/expressoMail1_2/js/search.js

    r4834 r4843  
    475475                                else 
    476476                                        chk_onclick = "changeBgColor(event,"+uid_msg+");"; 
    477                                 var td1 = '<input type="checkbox" onclick="' + chk_onclick + '" id="' + border_id + '_check_box_message_'+uid_msg+'"></input>'; 
     477                                var td1 = '<input type="checkbox" onclick="' + chk_onclick + '" id="check_box_message_'+tr.id+'"></input>'; 
    478478 
    479479                        } 
     
    504504                        { 
    505505                                td.setAttribute("width", colSizes[1][3]); 
    506                                 td.id = "td_message_important_"+uid_msg; 
     506                                td.id = "td_message_important_"+tr.id; 
    507507                                if (aux.flag.match("F")) 
    508508                                { 
  • trunk/expressoMail1_2/setup/phpgw_en.lang

    r4302 r4843  
    447447Valid Until     expressoMail1_2 en      Valid Until 
    448448Serial Number   expressoMail1_2 en      Serial Number 
    449 Send this mail as text plain    expressoMail1_2 en      Send this mail as text plain  
    450 The text format will be lost    expressoMail1_2 en      The text format will be lost  
     449Send this mail as text plain    expressoMail1_2 en      Send this mail as text plain 
     450The text format will be lost    expressoMail1_2 en      The text format will be lost 
     451You cant manipulate messages from multiple folders on search    expressoMail1_2 en      You cant manipulate messages from multiple folders on search 
  • trunk/expressoMail1_2/setup/phpgw_es-es.lang

    r4830 r4843  
    596596zip mails to import     expressoMail1_2 es-es   Archivo .zip o .eml: 
    597597Show TO: in place of FROM: only in Automatic SEND folder        expressoMail1_2 es-es   Cambiar remitente por destinatário en la columna QIUEM solamente en la carpeta Enviado 
     598You cant manipulate messages from multiple folders on search    expressoMail1_2 es-es   Imposible manipular mensajes de varias carpetas a partir de una busqueda. 
    598599View the user name in the header of the messages printed?       expressoMail1_2 es-es   Ver el nombre de usuario en el encabezado de los mensajes impresos?      
    599600Displays the user name in the header print email        expressoMail1_2 es-es   Muestra el nombre de usuario en el correo electrónico imprimir el encabezado     
  • trunk/expressoMail1_2/setup/phpgw_pt-br.lang

    r4832 r4843  
    669669Error exporting messages, try again latter      expressoMail1_2 pt-br   Não foi possível exportar as mensagens selecionadas. 
    670670Exporting selected messages, this can take some time.   expressoMail1_2 pt-br   Exportando mensagens, isso pode levar algum tempo. 
     671You cant manipulate messages from multiple folders on search    expressoMail1_2 pt-br   Impossível manipular mensagens de múltiplas pastas a partir de uma busca. 
    671672Report error    expressoMail1_2 pt-br   Reportar erro  
    672673Describe the problem to report to technical support (optional)  expressoMail1_2 pt-br   Descreva o problema para reportar para a equipe de suporte técnico (opcional)  
Note: See TracChangeset for help on using the changeset viewer.