Changeset 1622 for trunk/expressoMail1_2
- Timestamp:
- 11/11/09 17:13:52 (15 years ago)
- Location:
- trunk/expressoMail1_2
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.imap_functions.inc.php
r1614 r1622 2955 2955 } 2956 2956 2957 function make_search_date($date){ 2958 2959 $months = array( 2960 1 => 'jan', 2961 2 => 'feb', 2962 3 => 'mar', 2963 4 => 'apr', 2964 5 => 'may', 2965 6 => 'jun', 2966 7 => 'jul', 2967 8 => 'aug', 2968 9 => 'sep', 2969 10 => 'oct', 2970 11 => 'nov', 2971 12 => 'dec' 2972 ); 2973 2974 //TODO: Adaptar a data de acordo com o locale do sistema. 2975 list($day,$month,$year) = explode("/", $date); 2976 $search_date = $day."-".$months[intval($month)]."-".$year; 2977 return $search_date; 2978 2979 } 2980 2957 2981 function search_msg($params = ''){ 2958 2982 $retorno = ""; … … 2980 3004 $filter_array = explode("<=>",rawurldecode($criteria)); 2981 3005 $filter .= " ".$filter_array[0]; 2982 $filter .= '"'.$filter_array[1].'"'; 3006 if (strlen($filter_array[1]) != 0){ 3007 if (trim($filter_array[0]) != 'BEFORE' && 3008 trim($filter_array[0]) != 'SINCE' && 3009 trim($filter_array[0]) != 'ON') 3010 { 3011 $filter .= '"'.$filter_array[1].'"'; 3012 } 3013 else 3014 { 3015 $filter .= '"'.$this->make_search_date($filter_array[1]).'"'; 3016 } 3017 } 2983 3018 } 2984 3019 } -
trunk/expressoMail1_2/index.php
r1615 r1622 18 18 echo "<script src='js/globals.js?".$update_version."' type='text/javascript'></script>"; 19 19 echo "<script src='js/sniff_browser.js?".$update_version."' type='text/javascript'></script>"; 20 echo "<style type='text/css'>@import url(/phpgwapi/js/jscalendar/calendar-win2k-1.css);</style>"; 21 echo "<script src='/phpgwapi/js/jscalendar/calendar.js?".$update_version."' type='text/javascript'></script>"; 22 echo "<script src='/phpgwapi/js/jscalendar/calendar-setup.js?".$update_version."' type='text/javascript'></script>"; 23 echo "<script src='/phpgwapi/js/jscalendar/lang/calendar-br.js?".$update_version."' type='text/javascript'></script>"; 20 24 echo '<script type="text/javascript" src="../phpgwapi/js/wz_dragdrop/wz_dragdrop.js?'.$update_version.'"></script> 21 25 <script type="text/javascript" src="../phpgwapi/js/dJSWin/dJSWin.js?'.$update_version.'"></script>'; -
trunk/expressoMail1_2/js/common_functions.js
r1610 r1622 862 862 } 863 863 } 864 865 function validate_date(date){ 866 if (date.match(/^[0-3][0-9]\/[0-1][0-9]\/\d{4,4}$/)) 867 { 868 tmp = date.split('/'); 869 870 day = new Number(tmp[0]); 871 month = new Number(tmp[1]); 872 year = new Number(tmp[2]); 873 if (month >= 1 && month <= 12 && day >= 1 && day <= 31) 874 { 875 if (month == 02 && day <= 29) 876 { 877 return true; 878 } 879 return true; 880 } 881 else 882 { 883 return false; 884 } 885 } 886 else 887 { 888 return false; 889 } 890 } -
trunk/expressoMail1_2/js/local_messages.js
r1595 r1622 9 9 this.fileSubmitter = null; 10 10 } 11 12 function HeaderFlags() 13 { 14 this.Answered = 0; 15 //this.Draft = 0; 16 this.Flagged = 0; 17 this.Recent = 0; 18 } 19 20 HeaderFlags.prototype.getAnswered = function() 21 { 22 return this.Answered; 23 } 24 25 HeaderFlags.prototype.setAnswered = function(answered) 26 { 27 this.Answered = answered; 28 } 29 30 //HeaderFlags.prototype.getDraft = function() 31 //{ 32 // return this.Draft; 33 //} 34 35 HeaderFlags.prototype.setDraft = function(draft) 36 { 37 this.Draft = draft; 38 } 39 40 HeaderFlags.prototype.getFlagged = function() 41 { 42 return this.Flagged; 43 } 44 45 HeaderFlags.prototype.setFlagged = function(flagged) 46 { 47 this.Flagged = flagged; 48 } 49 50 HeaderFlags.prototype.getRecent = function() 51 { 52 return this.Recent; 53 } 54 55 HeaderFlags.prototype.setRecent = function(recent) 56 { 57 this.Recent = recent; 58 } 59 60 function FlagsParser(headerObj) 61 { 62 this.Header = headerObj; 63 } 64 65 FlagsParser.prototype.parse = function() 66 { 67 var tmp = null; 68 if (typeof this.Header == 'string') 69 { 70 tmp = connector.unserialize(this.Header); 71 } 72 else 73 { 74 tmp = this.Header; 75 } 76 77 flags = new HeaderFlags(); 78 79 if (tmp.Answered && tmp.Answered.match(/^A$/)) 80 { 81 flags.setAnswered(1); 82 //if (tmp.Draft && tmp.Draft.match(/^X$/)) 83 //{ 84 // flags.setDraft(1); 85 //} 86 } 87 88 if (tmp.Flagged && tmp.Flagged.match(/^F$/)){ 89 flags.setFlagged(1); 90 } 91 92 if (tmp.Forwarded && tmp.Forwarded.match(/^F$/)){ 93 flags.setAnswered(1); 94 //flags.setDraft(1); 95 } 96 97 if (tmp.Recent && tmp.Recent.match(/^R$/)){ 98 flags.setRecent(1); 99 } 100 101 return flags; 102 103 } 104 11 105 local_messages.prototype.installGears = function (){ 12 106 temp = confirm(get_lang("To use local messages you have to install google gears. Would you like to install it now?")); … … 83 177 } 84 178 //end of temporary code 179 180 try { 181 this.dbGears.execute('begin transaction'); 182 this.dbGears.execute('alter table mail add column answered int'); 183 //this.dbGears.execute('alter table mail add column draft int'); 184 this.dbGears.execute('alter table mail add column flagged int'); 185 this.dbGears.execute('alter table mail add column recent int'); 186 //this.dbGears.execute('commit transaction'); 187 //transaction_ended = true; 188 //if (transaction_ended){ 189 rs = null; 190 rs = this.dbGears.execute('select rowid,header from mail'); 191 192 // Popular os valores das novas colunas. 193 var tmp = null; 194 //this.dbGears.execute('begin transaction'); 195 while(rs.isValidRow()) { 196 //tmp = connector.unserialize(rs.field(1)); 197 parser = new FlagsParser(rs.field(1)); 198 flags = parser.parse(); 199 200 this.dbGears.execute('update mail set answered='+flags.getAnswered()+ 201 ',flagged='+flags.getFlagged()+',recent='+flags.getRecent()+ 202 //',draft='+flags.getDraft()+' where rowid='+rs.field(0)); 203 ' where rowid='+rs.field(0)); 204 205 rs.next(); 206 } 207 this.dbGears.execute('commit transaction'); 208 209 //tmp = null; 210 211 }catch(Exception) { 212 this.dbGears.execute('rollback transaction'); 213 } 214 85 215 } 86 216 … … 156 286 if(msg_info.Unseen=="U") 157 287 unseen = 1; 158 this.dbGears.execute("insert into mail (mail,original_id,original_folder,header,timestamp,uid_usuario,unseen,id_folder,ffrom,subject,fto,cc,body,size) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)",[mail,original_id,original_folder,header,timestamp,login,unseen,id_folder,from,subject,to,cc,body,size]); 288 289 //parse header 290 parser = new FlagsParser(msg_header); 291 flags = parser.parse(); 292 293 //insere o e-mail 294 //this.dbGears.execute("insert into mail (mail,original_id,original_folder,header,timestamp,uid_usuario,unseen,id_folder,ffrom,subject,fto,cc,body,size) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)",[mail,original_id,original_folder,header,timestamp,login,unseen,id_folder,from,subject,to,cc,body,size]); 295 this.dbGears.execute("insert into mail (mail,original_id,original_folder,header,timestamp,uid_usuario,unseen,id_folder,ffrom,subject,fto,cc,body,size,answered,flagged,recent) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)",[mail,original_id,original_folder,header,timestamp,login,unseen,id_folder,from,subject,to,cc,body,size,flags.getAnswered(),flags.getFlagged(),flags.getRecent()]); 159 296 var call_back = function() { 160 297 } … … 571 708 } 572 709 573 local_messages.prototype.search = function(folders,filter) { 574 this.init_local_messages(); 575 var filters = filter.replace(/##/g," "); 576 filters = filters.replace(/^ +| +$/g,""); 577 filters = filters.split("<=>"); 710 local_messages.prototype.search = function(folders,sFilter) { 711 this.init_local_messages(); 712 var filters = sFilter.replace(/^##|##$/g,"").split('##'); 578 713 var friendly_filters = new Array(); 579 if (filters[0].indexOf('ALL') != -1) { //all filters... 580 friendly_filters.push("SUBJECT"); 581 friendly_filters.push(filters[1]); 582 friendly_filters.push("BODY"); 583 friendly_filters.push(filters[1]); 584 friendly_filters.push("FROM"); 585 friendly_filters.push(filters[1]); 586 friendly_filters.push("TO"); 587 friendly_filters.push(filters[1]); 588 friendly_filters.push("CC"); 589 friendly_filters.push(filters[1]); 714 715 if (sFilter.indexOf('ALL') != -1) { //all filters... 716 filters[0] = sFilter.replace(/##/g,""); 717 tmp = filters[0].split("<=>"); 718 719 searchKey = new Array(); 720 searchKey.push("SUBJECT"); 721 searchKey.push(tmp[1]); 722 friendly_filters.push(searchKey); 723 724 searchKey = new Array(); 725 searchKey.push("BODY"); 726 searchKey.push(tmp[1]); 727 friendly_filters.push(searchKey); 728 729 searchKey = new Array(); 730 searchKey.push("FROM"); 731 searchKey.push(tmp[1]); 732 friendly_filters.push(searchKey); 733 734 searchKey = new Array(); 735 searchKey.push("TO"); 736 searchKey.push(tmp[1]); 737 friendly_filters.push(searchKey); 738 739 searchKey = new Array(); 740 searchKey.push("CC"); 741 searchKey.push(tmp[1]); 742 friendly_filters.push(searchKey); 590 743 } 591 744 else { 592 friendly_filters[0] = filters[0]; 593 for (var i in filters){594 if (i != 0){595 var temp = filters[i].split("");596 friendly_filters.push(temp[0]);597 friendly_filters.push(temp[1]);598 599 745 for (var i=0; i<filters.length; i++) 746 { 747 if (filters[i] != ""){ 748 //tmp[0] = tmp[0].replace(/^\s+|\s+$/g,""); 749 //tmp[1] = tmp[1].replace(/^\s+|\s+$/g,""); 750 friendly_filters.push(filters[i].split("<=>")); 751 } 752 } 600 753 } 601 754 var sql = "select mail.header,folder.folder,mail.rowid,size from mail inner join folder on mail.id_folder=folder.rowid where mail.uid_usuario="+account_id + " and folder.folder in ("; … … 607 760 sql += ") and ("; 608 761 for (var z=0;z<friendly_filters.length-1;z++) { 609 if(z%2==0) { 610 if (z != 0) { 611 if (filters[0].indexOf('ALL') != -1) 612 sql += " or"; 613 else 614 sql += " and"; 615 } 616 sql+=" mail."+this.aux_convert_filter_field(friendly_filters[z])+" like '%"+url_decode(friendly_filters[z+1])+"%'"; 617 } 762 if (z != 0) { 763 if (sFilter.indexOf('ALL') != -1) 764 sql += " or"; 765 else 766 sql += " and"; 767 } 768 var cond = friendly_filters[z][0].replace(/^\s+|\s+$/g,""); 769 if (cond == "SINCE" || cond == "BEFORE" | cond == "ON"){ 770 771 tmpDate = url_decode(friendly_filters[z][1]).split('/'); 772 773 // Date = url_decode(friendly_filters[z][1]); 774 sql+=" mail.timestamp " + this.aux_convert_filter_field(friendly_filters[z][0], tmpDate); 775 } 776 else if (!friendly_filters[z][1]) 777 { 778 sql+=" mail."+this.aux_convert_filter_field(friendly_filters[z][0]); 779 } 780 else 781 { 782 sql+=" mail."+this.aux_convert_filter_field(friendly_filters[z][0])+" like '%"+url_decode(friendly_filters[z][1])+"%'"; 783 } 618 784 } 619 785 sql += ")"; … … 621 787 var retorno = ""; 622 788 while(rs.isValidRow()) { 623 624 retorno+="##"+"local_"+rs.field(1)+"--"+header["from"]["name"]+"--"+header["subject"]+"--"+header["udate"]+"--"+this.aux_convert_size(rs.field(3))+"--"+header["Unseen"]+header["Recent"]+header["Flagged"]+header["Draft"]+"--"+rs.field(2)+"##";625 789 var header = connector.unserialize(rs.field(0)); 790 retorno+="##"+"local_"+rs.field(1)+"--"+"local_"+rs.field(1)+"--"+header["from"]["name"]+"--"+header["subject"]+"--"+header["udate"]+"--"+this.aux_convert_size(rs.field(3))+"--"+header["Unseen"]+header["Recent"]+header["Flagged"]+header["Draft"]+"--"+rs.field(2)+"##"; 791 rs.next(); 626 792 } 627 793 … … 641 807 } 642 808 643 local_messages.prototype.aux_convert_filter_field = function(filter) { 809 local_messages.prototype.aux_convert_filter_field = function(filter,date) { 810 if (typeof date != 'undefined'){ 811 var dateObj=new Date(); 812 dateObj.setFullYear(date[2],date[1]-1,date[0]); 813 } 814 644 815 if((filter=="SUBJECT ") || (filter=="SUBJECT")) 645 816 return "subject"; … … 652 823 else if((filter=="CC ") || (filter=="CC")) 653 824 return "cc"; 825 else if (filter.replace(/^\s+|\s+$/g,"") == "SINCE"){ 826 dateObj.setHours(0, 0, 0, 0); 827 return ">= " + dateObj.getTime().toString(10).substr(0, 10); 828 } 829 else if (filter.replace(/^\s+|\s+$/g,"") == "BEFORE"){ 830 dateObj.setHours(23, 59, 59, 999); 831 return "<= " + dateObj.getTime().toString(10).substr(0, 10); 832 } 833 else if (filter.replace(/^\s+|\s+$/g,"") == "ON"){ 834 dateObj.setHours(0, 0, 0, 0); 835 var ts1 = dateObj.getTime().toString(10).substr(0, 10); 836 dateObj.setHours(23, 59, 59, 999); 837 var ts2 = dateObj.getTime().toString(10).substr(0, 10); 838 return ">= " + ts1 + ") and (timestamp <= " + ts2; 839 } 840 else if (filter.replace(/^\s+|\s+$/g,"") == "FLAGGED") 841 return "flagged = 1"; 842 else if (filter.replace(/^\s+|\s+$/g,"") == "UNFLAGGED") 843 return "flagged = 0"; 844 else if (filter.replace(/^\s+|\s+$/g,"") == "UNSEEN") 845 return "unseen = 1"; 846 else if (filter.replace(/^\s+|\s+$/g,"") == "SEEN") 847 return "unseen = 0"; 848 else if (filter.replace(/^\s+|\s+$/g,"") == "ANSWERED") 849 return "answered = 1"; 850 else if (filter.replace(/^\s+|\s+$/g,"") == "UNANSWERED") 851 return "answered = 0"; 852 else if (filter.replace(/^\s+|\s+$/g,"") == "RECENT") 853 return "recent = 1"; 854 else if (filter.replace(/^\s+|\s+$/g,"") == "OLD") 855 return "recent = 0"; 856 654 857 } 655 858 -
trunk/expressoMail1_2/js/manifest
r1564 r1622 46 46 { "url": "TreeShow.js?1.222" }, 47 47 { "url": "offline_access.js?1.222" }, 48 48 49 { "url": "../../phpgwapi/js/jscalendar/calendar-win2k-1.css?1.222" }, 50 { "url": "../../phpgwapi/js/jscalendar/calendar.js?1.222" }, 51 { "url": "../../phpgwapi/js/jscalendar/calendar-setup.js?1.222" }, 52 { "url": "../../phpgwapi/js/jscalendar/lang/calendar-br.js?1.222" }, 49 53 50 54 { "url": "../../phpgwapi/templates/celepar/js/cookieManager.js" }, -
trunk/expressoMail1_2/js/search.js
r1614 r1622 8 8 this.all_boxes = new Array; 9 9 this.type = ""; 10 this.fields = new Array("_ass","_de","_body","_para","_cc","_cco"); 10 this.txtfields = new Array("txt_ass","txt_de","txt_body","txt_para","txt_cc","txt_cco", 11 "since_date", "before_date", "on_date"); 12 this.selectFields = new Array("flagged", "seen", "answered", "recent"); 11 13 } 12 14 … … 30 32 div_form_search.style.left = "10px"; 31 33 div_form_search.style.top = "10px"; 32 div_form_search.style.width = "7 70px";33 div_form_search.style.height = " 300px";34 div_form_search.style.width = "784px"; 35 div_form_search.style.height = "418px"; 34 36 div_form_search.style.overflow = "hidden"; 35 37 div_form_search.innerHTML = ""; … … 37 39 div_form_search.appendChild(call_form_search); 38 40 form_search.appendChild(div_form_search); 41 42 Calendar._TT['WEEKEND'] = '0,6'; // hack 43 Calendar._TT['DAY_FIRST'] = 'Mostrar %s primeiro'; 44 Calendar.setup({ 45 inputField : 'since_date', 46 button : 'since_date-trigger', 47 ifFormat : '%d/%m/%Y', 48 daFormat : '%d/%m/%Y' 49 }); 50 51 Calendar.setup({ 52 inputField : 'before_date', 53 button : 'before_date-trigger', 54 ifFormat : '%d/%m/%Y', 55 daFormat : '%d/%m/%Y' 56 }); 57 58 Calendar.setup({ 59 inputField : 'on_date', 60 button : 'on_date-trigger', 61 ifFormat : '%d/%m/%Y', 62 daFormat : '%d/%m/%Y' 63 }); 39 64 40 65 } … … 44 69 div_button_search.id = "div_button_search"; 45 70 div_button_search.style.position = "absolute"; 46 div_button_search.style. left = "10px";71 div_button_search.style.marginLeft = "430px"; 47 72 div_button_search.style.top = "223px"; 48 div_button_search.style.width = " 615px";73 div_button_search.style.width = "350px"; 49 74 div_button_search.style.height = "25px"; 50 div_button_search.innerHTML = "<table border='0' width='50%' cellpadding='0' cellspacing='0' align='right'>"+75 div_button_search.innerHTML = "<table style='width: 100%;' border='0' cellpadding='0' cellspacing='0' align='center'>"+ 51 76 "<tr>"+ 52 "<td ><input type='button' value=" + get_lang('Search') + " onclick='EsearchE.func_search()'></td>"+53 "<td ><input type='button' value=" + get_lang('Clean') + " onclick='EsearchE.func_clean()'></td>"+54 "<td ><input type='button' value=" + get_lang('Close') + " onclick='EsearchE.func_close(\"hidden\")'></td>"+77 "<td width='33%' align='center'><input type='button' value=" + get_lang('Search') + " onclick='EsearchE.func_search()'></td>"+ 78 "<td width='33%' align='center'><input type='button' value=" + get_lang('Clean') + " onclick='EsearchE.func_clean()'></td>"+ 79 "<td width='33%' align='center'><input type='button' value=" + get_lang('Close') + " onclick='EsearchE.func_close(\"hidden\")'></td>"+ 55 80 "</tr>"+ 56 81 "</table>"; … … 81 106 form_sch.id = "form_sch"; 82 107 83 form_sch.innerHTML = '<fieldset style="width: 266px; text-align:right; padding: 5px; position:absolute;">'108 form_sch.innerHTML = '<fieldset style="width:400px; text-align:right; padding: 5px; position:absolute;">' 84 109 + ' <legend>'+get_lang('Inform your search in the text fields')+'</legend>' 85 110 + ' <label>'+get_lang("From")+':</label>' 86 + ' <input type="text" id="txt_de" size="19">'111 + ' <input style="margin-left: 6px;" type="text" id="txt_de" size="39">' 87 112 + ' <br style="margin-bottom:15px"/>' 88 113 + ' <label>'+get_lang('To')+':</label>' 89 + ' <input type="text" id="txt_para" size="19">'114 + ' <input style="margin-left: 6px;" type="text" id="txt_para" size="39">' 90 115 + ' <br style="margin-bottom:15px"/>' 91 116 + ' <label>'+get_lang('Cc')+':</label>' 92 + ' <input type="text" id="txt_cc" size="19">'117 + ' <input style="margin-left: 6px;" type="text" id="txt_cc" size="39">' 93 118 + ' <br style="margin-bottom:15px"/>' 94 119 + ' <label>'+get_lang('Subject')+':</label>' 95 + ' <input type="text" id="txt_ass" size="19">'120 + ' <input style="margin-left: 6px;" type="text" id="txt_ass" size="39">' 96 121 + ' <br style="margin-bottom:15px"/>' 97 122 + ' <label>'+get_lang('Message body')+':</label>' 98 + ' <input type="text" id="txt_body" size="19">' 123 + ' <input style="margin-left: 6px;" type="text" id="txt_body" size="39">' 124 125 + ' <br style="margin-bottom:30px"/>' 126 + ' <label>'+get_lang("Since Date")+':</label>' 127 + ' <input style="margin-left: 6px;" type="text" id="since_date" size="8">' 128 + ' <img id="since_date-trigger" src="/phpgwapi/templates/default/images/datepopup.gif" title="'+get_lang("Select Date")+'" style="cursor:pointer; cursor:hand;"/>' 129 + ' <label style="margin-left: 20px;">'+get_lang('Before Date')+':</label>' 130 + ' <input style="margin-left: 6px;" type="text" id="before_date" size="8">' 131 + ' <img id="before_date-trigger" src="/phpgwapi/templates/default/images/datepopup.gif" title="'+get_lang("Select Date")+'" style="cursor:pointer; cursor:hand;"/>' 132 + ' <br style="margin-bottom:15px"/>' 133 134 + ' <label>'+get_lang('On Date')+':</label>' 135 + ' <input style="margin-left: 6px;" type="text" id="on_date" size="8">' 136 + ' <img style="margin-right: -8px" id="on_date-trigger" src="/phpgwapi/templates/default/images/datepopup.gif" title="'+get_lang("Select Date")+'" style="cursor:pointer; cursor:hand;"/> </spam>' 137 + ' <br style="margin-bottom:30px"/>' 138 139 + ' <label>'+get_lang('Flags')+':</label>' 140 + ' <select style="width:15em; margin-left: 6px" name="flagged" id="flagged">' 141 + ' <option value=""/>' 142 + ' <option value="FLAGGED">'+ get_lang("Flagged") +'</option>' 143 + ' <option value="UNFLAGGED">'+ get_lang("Unflagged") +'</option>' 144 + ' </select>' 145 + ' <br style="margin-bottom:15px"/>' 146 + ' <select style="width:15em;" name="seen" id="seen">' 147 + ' <option value=""/>' 148 + ' <option value="SEEN">'+ get_lang("Seen") +'</option>' 149 + ' <option value="UNSEEN">'+ get_lang("Unseen") +'</option>' 150 + ' </select>' 151 + ' <br style="margin-bottom:15px"/>' 152 + ' <select style="width:15em;" name="answered" id="answered">' 153 + ' <option value=""/>' 154 + ' <option value="ANSWERED">'+ get_lang('Answered/Forwarded') +'</option>' 155 + ' <option value="UNANSWERED">'+ get_lang('Unanswered/Unforwarded') +'</option>' 156 + ' </select>' 157 + ' <br style="margin-bottom:15px"/>' 158 + ' <select style="width:15em;" name="recent" id="recent">' 159 + ' <option value=""/>' 160 + ' <option value="RECENT">'+ get_lang('Recent') +'</option>' 161 + ' <option value="OLD">'+ get_lang('Old') +'</option>' 162 + ' </select>' 163 99 164 + ' <br style="margin-bottom:60px"/>' 100 165 + '</fieldset>' 101 + '<fieldset style="width:350px; padding: 5px; position:absolute; margin-left: 280px">'166 + '<fieldset style="width:350px; padding: 5px; position:absolute; margin-left: 414px">' 102 167 + ' <legend>'+get_lang('Search the messages in these folders')+'</legend>' 103 168 + ' <div id="folders" style="width:160px; height:150px;float:left;margin-bottom:10px;"></div>' … … 308 373 } 309 374 currentTab = border_id; 375 openTab.content_id[currentTab] = Element('content_id_search_' + numBox); 310 376 openTab.type[currentTab] = 1; 311 377 var table = document.createElement("TABLE"); … … 742 808 fields += "CC " + "<=>" + url_encode(Element("txt_cc").value) + "##"; 743 809 } 810 if (trim(Element("since_date").value) != ""){ 811 if (validate_date(Element("since_date").value)) 812 { 813 fields += "SINCE " + "<=>" + url_encode(Element("since_date").value) + "##"; 814 } 815 else 816 { 817 alert(get_lang('Invalid date on field %1'), get_lang('Since Date')); 818 return false; 819 } 820 } 821 if (trim(Element("before_date").value) != ""){ 822 if (validate_date(Element("before_date").value)) 823 { 824 fields += "BEFORE " + "<=>" + url_encode(Element("before_date").value) + "##"; 825 } 826 else 827 { 828 alert(get_lang('Invalid date on field %1'), get_lang('Before Date')); 829 return false; 830 } 831 } 832 if(trim(Element("on_date").value) != ""){ 833 if (validate_date(Element("on_date").value)) 834 { 835 fields += "ON " + "<=>" + url_encode(Element("on_date").value) + "##"; 836 } 837 else 838 { 839 alert(get_lang('Invalid date on field %1'), get_lang('On Date')); 840 return false; 841 } 842 843 } 844 if(trim(Element("flagged").options[Element("flagged").selectedIndex].value) != ""){ 845 if (Element("flagged").options[Element("flagged").selectedIndex].value == "FLAGGED"){ 846 fields += "FLAGGED##"; 847 } 848 else { 849 fields += "UNFLAGGED##"; 850 } 851 } 852 if(trim(Element("seen").options[Element("seen").selectedIndex].value) != ""){ 853 if (Element("seen").options[Element("seen").selectedIndex].value == "SEEN"){ 854 fields += "SEEN##"; 855 } 856 else { 857 fields += "UNSEEN##"; 858 } 859 } 860 if(trim(Element("answered").options[Element("answered").selectedIndex].value) != ""){ 861 if (Element("answered").options[Element("answered").selectedIndex].value == "ANSWERED"){ 862 fields += "ANSWERED##"; 863 } 864 else { 865 fields += "UNANSWERED##"; 866 } 867 } 868 if(trim(Element("recent").options[Element("recent").selectedIndex].value) != ""){ 869 if (Element("answered").options[Element("answered").selectedIndex].value == "RECENT"){ 870 fields += "RECENT##"; 871 } 872 else { 873 fields += "OLD##"; 874 } 875 } 744 876 if(value) { 745 877 fields = "##ALL " + "<=>" +url_encode(value) + "##"; … … 830 962 searchE.prototype.func_clean = function(){ 831 963 // Limpa os campos; 832 for(var i=0; i < this.fields.length; i++){ 833 if(Element("txt" + this.fields[i]) != null){Element("txt" + this.fields[i]).value = "";} 834 } 964 for(var i=0; i < this.txtfields.length; i++){ 965 if(Element(this.txtfields[i]) != null){Element(this.txtfields[i]).value = "";} 966 } 967 968 for(i = 0; i < this.selectFields.length; i++) 969 { 970 if (Element(this.selectFields[i])) 971 { 972 Element(this.selectFields[i]).selectedIndex = 0; 973 } 974 } 835 975 if(Element("check_all_msg") != null){Element("check_all_msg").checked = false;} 836 976 … … 850 990 searchE.prototype.showWindow = function(div){ 851 991 if(!this.searchW[div.id]) { 852 div.style.width = " 660px";853 div.style.height = " 255px";992 div.style.width = "804px"; 993 div.style.height = "440px"; 854 994 div.style.visibility = "hidden"; 855 995 div.style.position = "absolute"; -
trunk/expressoMail1_2/setup/phpgw_en.lang
r1610 r1622 19 19 and save in expressoMail1_2 en and save in 20 20 Answered expressoMail1_2 en Answered 21 Answered/Forwarded expressoMail1_2 en Answered/Forwarded 21 22 l_answered expressoMail1_2 en Answered 22 23 <b>Answer messages from:</b> %1 - <b>Status:</b><font color='red'> %2</font> - <b>message:</b> %3</a> expressoMail1_2 en <b>Answer messages from:</b> %1 - <b>Status:</b><font color='red'> %2</font> - <b>message:</b> %3</a> … … 27 28 Back expressoMail1_2 en Back 28 29 BCC expressoMail1_2 en BCC 30 Before Date expressoMail1_2 en Before Date 29 31 Big expressoMail1_2 en Big 30 32 Bold expressoMail1_2 en Bold … … 123 125 First expressoMail1_2 en First 124 126 First Name expressoMail1_2 en First Name 127 Flagged expressoMail1_2 en Flagged 128 Flags expressoMail1_2 en Flags 125 129 Folder expressoMail1_2 en Folder 126 130 Folder Management expressoMail1_2 en Folder Management … … 195 199 Mark as expressoMail1_2 en Mark as 196 200 Mark as Spam expressoMail1_2 en Mark as Spam 197 What is the maximum number of messages per page? expressoMail1_2 en What is the maximum number of messages per page?198 What is the maximum number of results in an e-mail search? expressoMail1_2 en What is the maximum number of results in an e-mail search?199 What is the minimum number of characters in searching contacts? expressoMail1_2 en What is the minimum number of characters in searching contacts?200 201 Max size expressoMail1_2 en Max size 201 202 Medium expressoMail1_2 en Medium … … 240 241 No Subject expressoMail1_2 en No Subject 241 242 Not Spam expressoMail1_2 en Not Spam 243 Old expressoMail1_2 en Old 244 On Date expressoMail1_2 en On Date 242 245 Open chat window expressoMail1_2 en Open chat window 243 246 Open in New Window expressoMail1_2 en Open in New Window … … 258 261 Public Lists expressoMail1_2 en Public Lists 259 262 Read expressoMail1_2 en Read 263 Recent expressoMail1_2 en Recent 260 264 Redo expressoMail1_2 en Redo 261 265 Refresh expressoMail1_2 en Refresh … … 325 329 Signed message expressoMail1_2 en Signed message 326 330 Simple Text expressoMail1_2 en Simple Text 331 Since Date expressoMail1_2 en Since Date 327 332 Size expressoMail1_2 en Size 328 333 Small expressoMail1_2 en Small … … 362 367 Trash Folder name admin en Trash Folder name 363 368 Type without spaces, dots or special characters! expressoMail1_2 en Type without spaces, dots or special characters! 369 Unanswered/Unforwarded expressoMail1_2 en Unanswered/Unforwarded 364 370 underlined expressoMail1_2 en underlined 365 371 underline expressoMail1_2 en underline 366 372 Undo expressoMail1_2 en Undo 373 Unflagged expressoMail1_2 en Unflagged 367 374 Unseen expressoMail1_2 en Unseen 368 375 l_unseen expressoMail1_2 en Unseen … … 383 390 was succefully removed expressoMail1_2 en was succefully removed 384 391 What is the height of the lines in the list of messages? expressoMail1_2 en What is the height of the lines in the list of messages? 392 What is the maximum number of messages per page? expressoMail1_2 en What is the maximum number of messages per page? 393 What is the maximum number of results in an e-mail search? expressoMail1_2 en What is the maximum number of results in an e-mail search? 394 What is the minimum number of characters in searching contacts? expressoMail1_2 en What is the minimum number of characters in searching contacts? 385 395 Who expressoMail1_2 en Who 386 396 With all expressoMail1_2 en With all … … 403 413 Your message was sent and save. expressoMail1_2 en Your message was sent and save. 404 414 Your message was sent. expressoMail1_2 en Your message was sent. 405 Your search argument must be longer than 4 characters. expressoMail1_2 en Your search argument must be longer than 4characters.415 Your search argument must be longer than %1 characters. expressoMail1_2 en Your search argument must be longer than %1 characters. 406 416 your session could not be verified. expressoMail1_2 en your session could not be verified. 407 417 Your Trash folder was empty. expressoMail1_2 en Your Trash folder was empty.
Note: See TracChangeset
for help on using the changeset viewer.