Changeset 4782


Ignore:
Timestamp:
07/18/11 11:39:34 (13 years ago)
Author:
rafaelraymundo
Message:

Ticket #2066 - Menu de contexto não funciona corretamente em todos resultados de pesquisa

Location:
branches/2.3/expressoMail1_2
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/2.3/expressoMail1_2/inc/class.imap_functions.inc.php

    r4693 r4782  
    29512951        { 
    29522952                $folder = $params['folder']; 
    2953                 $msgs_to_set = $params['msgs_to_set']; 
     2953                $rowids_to_set = $params['msgs_to_set']; // contains the row ids 
    29542954                $flag = $params['flag']; 
    29552955                $return = array(); 
     2956                $return["rowids_to_set"] = $rowids_to_set; 
     2957                $return["flag"] = $flag; 
     2958 
     2959                $msgs_to_set = ''; 
     2960                foreach (explode(',',$rowids_to_set) as $msg) {//extracting message ids 
     2961                        $pos = strpos($msg,'_'); 
     2962                        if ($pos===false) 
     2963                                $msgs_to_set .= ','.$msg; 
     2964                        else 
     2965                                $msgs_to_set .= ','.substr($msg,0,$pos); 
     2966                } 
     2967                $msgs_to_set = substr($msgs_to_set,1); 
    29562968                $return["msgs_to_set"] = $msgs_to_set; 
    2957                 $return["flag"] = $flag; 
    29582969 
    29592970                if(!$this->mbox && !is_resource($this->mbox)) 
  • branches/2.3/expressoMail1_2/js/abas.js

    r4670 r4782  
    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} 
  • branches/2.3/expressoMail1_2/js/common_functions.js

    r4687 r4782  
    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} 
     
    954957                { 
    955958                        Element("check_box_message_"+main_list[i].id).checked = true; 
    956                         add_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg'); 
     959                        add_className(Element(main_list[i].id), 'selected_msg'); // one by one to add only if does not exist yet 
     960                        add_className(Element(main_list[i].id), 'selected_shortcut_msg'); // one by one to add only if does not exist yet 
    957961                } 
    958962        } 
     
    962966                { 
    963967                        Element("check_box_message_"+main_list[i].id).checked = false; 
    964                         remove_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg'); 
     968                        remove_className(Element(main_list[i].id), 'selected_msg'); // one by one to remove 
     969                        remove_className(Element(main_list[i].id), 'selected_shortcut_msg'); // one by one to remove 
    965970                } 
    966971        } 
  • branches/2.3/expressoMail1_2/js/drag_area.js

    r4673 r4782  
    6363         
    6464                if(_button == 2 || _button == 3) { 
    65  
    66                         var _checkb = Element(getTabPrefix() + "check_box_message_" + msg_number); 
     65                        var _checkb = Element("check_box_message_" + msg_number + getTabSufix()); 
    6766 
    6867                        if(_checkb) { 
     
    9796 
    9897        var msg_number = _dragArea.from_list ? _dragArea.msg_number : _dragArea.msg_number.replace('_r',''); 
    99         var _checkbox_element = Element(getTabPrefix()+"check_box_message_"+msg_number); 
     98        var _checkbox_element = Element("check_box_message_"+msg_number+getTabSufix()); 
    10099        if(_dragArea.from_list) { 
    101100 
     
    179178        var     _target = is_ie ? _event.srcElement : _event.target; 
    180179        var _button = is_ie ? _event.button : _event.which; 
    181         var _tab_prefix = getTabPrefix(); 
    182180        var _msg_id; 
    183181 
     
    194192                                for(var i = 0; id_messages_to_drag && i < id_messages_to_drag.length; i++) {                     
    195193                                        _msg_id = getMessageIdFromRowId(id_messages_to_drag[i]); 
    196                                         Element(_tab_prefix+"check_box_message_"+_msg_id).checked = false; 
     194                                        Element("check_box_message_"+id_messages_to_drag[i]).checked = false; 
    197195                                        changeBgColor(_event ,_msg_id); 
    198196                                } 
     
    246244                                for(var i = 0; id_messages_to_drag && i < id_messages_to_drag.length; i++) {                             
    247245                                        _msg_id = getMessageIdFromRowId(id_messages_to_drag[i]); 
    248                                         Element(_tab_prefix+"check_box_message_"+_msg_id).checked = false; 
     246                                        Element("check_box_message_"+id_messages_to_drag[i]).checked = false; 
    249247                                        changeBgColor(_event ,_msg_id); 
    250248                                } 
  • branches/2.3/expressoMail1_2/js/draw_api.js

    r4736 r4782  
    33373337 
    33383338function changeBgColorToON(all_messages, begin, end){ 
    3339         var _tab_prefix = getTabPrefix(); 
    3340         var _msg_id; 
    33413339        for (begin; begin<=end; begin++) 
    33423340        { 
    3343                 _msg_id = getMessageIdFromRowId(all_messages[begin].id); 
    33443341                add_className(all_messages[begin], 'selected_msg'); 
    3345                 Element(_tab_prefix + "check_box_message_" + _msg_id).checked = true; 
     3342                Element("check_box_message_" + all_messages[begin].id).checked = true; 
    33463343        } 
    33473344} 
     
    33893386        else{ 
    33903387                //if ( exist_className(actual_tr, 'selected_msg') ) 
    3391                 if ( Element(getTabPrefix()+'check_box_message_' + msg_number).checked ) 
     3388                if ( Element('check_box_message_' + _element_id).checked ) 
    33923389                        add_className(actual_tr, 'selected_msg'); 
    33933390                else 
  • branches/2.3/expressoMail1_2/js/local_messages.js

    r4699 r4782  
    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"); 
  • branches/2.3/expressoMail1_2/js/main.js

    r4703 r4782  
    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 
     
    20532090function set_messages_flag(flag, msgs_to_set){ 
    20542091        var handler_set_messages_flag = function (data){ 
     2092                var _tab_sufix = getTabSufix(); 
     2093                var _chk_box; 
     2094                var _fld_box; 
    20552095                if(!verify_session(data)) 
    20562096                        return; 
    2057                 var msgs_to_set = data.msgs_to_set.split(","); 
     2097                var msgs_to_set = data.msgs_to_set.split(","); // messages ids 
     2098                var rowids_to_set = data.rowids_to_set.split(","); // rows ids 
    20582099 
    20592100                if(!data.status) { 
     
    20612102                        Element('chk_box_select_all_messages').checked = false; 
    20622103                        for (var i = 0; i < msgs_to_set.length; i++) { 
    2063                                 Element("check_box_message_" + msgs_to_set[i]).checked = false; 
    2064                                 remove_className(Element(msgs_to_set[i]), 'selected_msg'); 
     2104                                Element("check_box_message_" + rowids_to_set[i]).checked = false; 
     2105                                remove_className(Element(rowids_to_set[i]), 'selected_msg'); 
    20652106                        } 
    20662107                        if(!data.msgs_unflageds) 
     
    20922133                                } 
    20932134                                proxy_mensagens.get_msg(msgs_to_set[i],current_folder, false, setFlag); 
    2094  
    2095  
    2096                         } 
    2097                         if(Element("check_box_message_" + msgs_to_set[i])){ 
     2135                        } 
     2136 
     2137                        _chk_box = Element("check_box_message_" + rowids_to_set[i]); 
     2138                        _fld_box = (_tab_sufix ? Element("check_box_message_" + msgs_to_set[i]) : null); 
     2139                        if(_chk_box){ 
    20982140                                switch(data.flag){ 
    20992141                                        case "unseen": 
    2100                                                 set_msg_as_unread(msgs_to_set[i]); 
    2101                                                 Element("check_box_message_" + msgs_to_set[i]).checked = false; 
     2142                                                set_msg_as_unread(rowids_to_set[i]); 
     2143                                                if (_fld_box) 
     2144                                                    set_msg_as_unread(msgs_to_set[i]); 
     2145                                                _chk_box.checked = false; 
    21022146                                                break; 
    21032147                                        case "seen": 
    2104                                                 set_msg_as_read(msgs_to_set[i], false); 
    2105                                                 Element("check_box_message_" + msgs_to_set[i]).checked = false; 
     2148                                                set_msg_as_read(rowids_to_set[i], false); 
     2149                                                if (_fld_box) 
     2150                                                        set_msg_as_read(msgs_to_set[i]); 
     2151                                                _chk_box.checked = false; 
    21062152                                                break; 
    21072153                                        case "flagged": 
    2108                                                 set_msg_as_flagged(msgs_to_set[i]); 
    2109                                                 document.getElementById("check_box_message_" + msgs_to_set[i]).checked = false; 
     2154                                                set_msg_as_flagged(rowids_to_set[i]); 
     2155                                                if (_fld_box) 
     2156                                                    set_msg_as_flagged(msgs_to_set[i]); 
     2157                                                _chk_box.checked = false; 
    21102158                                                break; 
    21112159                                        case "unflagged": 
    2112                                                 set_msg_as_unflagged(msgs_to_set[i]); 
    2113                                                 Element("check_box_message_" + msgs_to_set[i]).checked = false; 
     2160                                                set_msg_as_unflagged(rowids_to_set[i]); 
     2161                                                if (_fld_box) 
     2162                                                    set_msg_as_unflagged(msgs_to_set[i]); 
     2163                                                _chk_box.checked = false; 
    21142164                                                break; 
    21152165                                } 
     
    21202170 
    21212171        var folder = get_current_folder(); 
    2122         if (msgs_to_set == 'get_selected_messages') 
     2172        if (msgs_to_set == 'get_selected_messages') { 
    21232173                var msgs_to_set = this.get_selected_messages(); 
     2174                if ( (msgs_to_set) && (msgs_to_set.match(/_s/)) ) { 
     2175                        folder = get_selected_messages_folder(); 
     2176                        if (!folder) { 
     2177                                alert(get_lang("You cant manipulate messages from multiple folders on search")); 
     2178                                return; 
     2179                        } 
     2180                } 
     2181        } 
    21242182        else 
    21252183                folder = Element("input_folder_"+msgs_to_set+"_r").value; 
    21262184 
    21272185        if (msgs_to_set) 
     2186                if (folder && proxy_mensagens.is_local_folder(folder)) 
     2187                        expresso_local_messages.set_messages_flag(msgs_to_set, flag); //expresso_local_messages.set_messages_flag(msgs_to_set.replace(/_s[^,]*/g,""), flag); 
     2188                else 
    21282189                cExecute ("$this.imap_functions.set_messages_flag&folder="+folder+"&msgs_to_set="+msgs_to_set+"&flag="+flag, handler_set_messages_flag); 
    21292190        else 
  • branches/2.3/expressoMail1_2/js/search.js

    r4701 r4782  
    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                                { 
  • branches/2.3/expressoMail1_2/setup/phpgw_en.lang

    r4268 r4782  
    449449Send this mail as text plain    expressoMail1_2 en      Send this mail as text plain 
    450450The 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 
  • branches/2.3/expressoMail1_2/setup/phpgw_es-es.lang

    r3854 r4782  
    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. 
  • branches/2.3/expressoMail1_2/setup/phpgw_pt-br.lang

    r4692 r4782  
    663663Error exporting messages, try again latter      expressoMail1_2 pt-br   Não foi possível exportar as mensagens selecionadas. 
    664664Exporting selected messages, this can take some time.   expressoMail1_2 pt-br   Exportando mensagens, isso pode levar algum tempo. 
     665You 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. 
Note: See TracChangeset for help on using the changeset viewer.