if(typeof CPANEL=="undefined"||!CPANEL){alert("The cjt has not been loaded, and must be loaded before this script: emailstats_search.js")}(function(){var overflow_warning=LOCALE.maketext("This query produced a result set that exceeds the reportable limit.")+" ";switch(CPANEL.application){case"whostmgr":overflow_warning+=LOCALE.maketext("If you cannot find what you are looking for by paging through these results, please restrict the query further by narrowing your search.");break;default:overflow_warning+=LOCALE.maketext("The results available below may not contain the record or records you are looking for.")}var overlay_manager=new YAHOO.widget.OverlayManager;var typetoImg=function(elCell,oRecord,tbl,oData){elCell.innerHTML=lookupImg(oData)};var unixtimeToDate=function(sData){return new Date(parseInt(sData)*1e3)};var _img_lookup={success:CPANEL.icons.success24,inprogress:CPANEL.icons.unknown24,defer:CPANEL.icons.warning24,filtered:CPANEL.icons.filtered24,archive:CPANEL.icons.archive24,rejected:CPANEL.icons.rejected24,error:CPANEL.icons.error24};var _img_lookup16={success:CPANEL.icons.success,inprogress:CPANEL.icons.unknown,defer:CPANEL.icons.warning,filtered:CPANEL.icons.filtered,archive:CPANEL.icons.archive,rejected:CPANEL.icons.rejected,error:CPANEL.icons.error};var _img_tooltip_lookup={success:LOCALE.maketext("The mail server delivered this message successfully."),inprogress:LOCALE.maketext("The mail server is currently delivering this message."),defer:LOCALE.maketext("This message could not be delivered yet. The mail server will attempt delivery again later."),filtered:LOCALE.maketext("This message was discarded by an email filter or spam detection software."),archive:LOCALE.maketext("This message was saved into an email archive."),rejected:LOCALE.maketext("This message was rejected at SMTP time by an RBL, filter, or other configuration."),failure:LOCALE.maketext("This message could not be delivered.")};var lookupImg=function(oData){var Imghtml=_img_lookup[oData]||_img_lookup.error;return Imghtml.replace(/\>/,' alt="'+oData+'" title="'+(_img_tooltip_lookup[oData]||oData)+'" align="absmiddle">')};var lookupImg16=function(oData){var Imghtml=_img_lookup16[oData]||_img_lookup16.error;return Imghtml.replace(/\>/,' alt="'+oData+'" title="'+(_img_tooltip_lookup[oData]||oData)+'" align="absmiddle">')};var toLocaleDate=function(el,rec,col,dat){var date=new Date(dat);if(date.getTime()){el.innerHTML=date.toCpLocaleString(CPANEL.DateTime.datetime_format_medium)}else{el.innerHTML=LOCALE.maketext("Invalid date.")}};var _actions_html;var _local_actions_html;var makeActionLinks=function(elCell,oRecord,tbl,oData){var rowData=oRecord.getData();elCell.parentNode.className="action-links-column";if(!_local_actions_html){var localaction_template=DOM.get("local_actions_template");_local_actions_html=localaction_template?localaction_template.text:" "}if(rowData.transport&&(rowData["transport"].match("remote_")||rowData["transport"]==="boxtrapper_autowhitelist")||rowData["type"]!=="success"&&rowData["type"]!=="archive"||_local_actions_html===" "){if(!_actions_html){_actions_html=DOM.get("actions_template").text}elCell.innerHTML=_actions_html}else{var address;if(rowData["transport"]==="archiver_outgoing"){address=rowData["sender"]}else if(rowData["transport"]==="local_delivery"||rowData["transport"]==="dovecot_delivery"||rowData["transport"]==="local_delivery_spam"||rowData["transport"]==="dovecot_delivery_spam"||rowData["transport"]==="local_boxtrapper_delivery"){address=rowData["deliveryuser"]}else{address=rowData["recipient"]}elCell.innerHTML=YAHOO.lang.substitute(_local_actions_html,{msgid:encodeURIComponent(rowData["msgid"]),transport:encodeURIComponent(rowData["transport"]),address:encodeURIComponent(address),path:encodeURIComponent(rowData["deliveredto"])})}};var toLocaleBytes=function(elCell,oRecord,tbl,oData){elCell.innerHTML=LOCALE.format_bytes(oData)};var format_sender=function(elCell,oRecord,tbl,oData){var trimmed=String(oData).trim();CPANEL.util.set_text_content(elCell,trimmed||"[System]")};var possibleColumns={type:{column:{key:"type",label:LOCALETEXT.event,sortable:true,formatter:typetoImg}},email:{column:{key:"email",label:LOCALETEXT.email,sortable:true,formatter:format_sender}},sender:{column:{key:"sender",label:LOCALETEXT.sender,sortable:true,formatter:format_sender}},user:{column:{key:"user",label:LOCALETEXT.user,sortable:true,formatter:"text"}},domain:{column:{key:"domain",label:LOCALETEXT.domain,sortable:true,formatter:"text"}},sendunixtime:{column:{key:"sendunixtime",label:LOCALETEXT.sent,sortable:true,formatter:toLocaleDate},schema:{key:"sendunixtime",parser:unixtimeToDate}},senderhost:{column:{key:"senderhost",label:LOCALETEXT.sender_host,sortable:true,formatter:"text"}},recipient:{column:{key:"recipient",label:LOCALETEXT.recipient,sortable:true,formatter:"text"}},deliveredto:{column:{key:"deliveredto",label:LOCALETEXT.delivered_to,sortable:true,formatter:"text"}},deliveryuser:{column:{key:"deliveryuser",label:LOCALETEXT.delivery_user,sortable:true,formatter:"text"}},deliverydomain:{column:{key:"deliverydomain",label:LOCALETEXT.delivery_domain,sortable:true,formatter:"text"}},transport:{column:{key:"transport",label:LOCALETEXT.transport,sortable:true,formatter:"text"}},router:{column:{key:"router",label:LOCALETEXT.router,sortable:true,formatter:"text"}},actionunixtime:{column:{key:"actionunixtime",label:LOCALETEXT.out,sortable:true,formatter:toLocaleDate},schema:{key:"actionunixtime",parser:unixtimeToDate}},msgid:{column:{key:"msgid",label:LOCALETEXT.ID,sortable:true,formatter:"text"}},host:{column:{key:"host",label:LOCALETEXT.delivery_host,sortable:true,formatter:"text"}},ip:{column:{key:"ip",label:LOCALETEXT.delivery_ip,sortable:true,formatter:"text"}},size:{column:{key:"size",label:LOCALETEXT.size,sortable:true,formatter:toLocaleBytes},schema:{key:"size",parser:"number"}},senderip:{column:{key:"senderip",label:LOCALETEXT.sender_ip,sortable:true,formatter:"text"}},senderauth:{column:{key:"senderauth",label:LOCALETEXT.sender_auth,sortable:true,formatter:"text"}},spamscore:{column:{key:"spamscore",label:LOCALETEXT.spam_score,sortable:true,formatter:"number"}},message:{column:{width:200,key:"message",label:LOCALETEXT.result,sortable:true,formatter:"text"}}};CPANEL.EximStatsDataTable=function(oConfigs){for(var setting in oConfigs){if(setting in this){this[setting]=oConfigs[setting]}}this.delayeddisplay=true;init_start_end_times(this.starttime);if(!this.delayeddisplay){this.deliveryreport=this.buildDeliveryReport()}};CPANEL.EximStatsDataTable.oneday=86400*1e3;CPANEL.EximStatsDataTable.thirtyonedays=86400*1e3*30;CPANEL.EximStatsDataTable.prototype={mintime:CPANEL.EximStatsDataTable.thirtyonedays,unixstarttime:null,unixendtime:null,deliveryreport:null,deliverystats:0,timebuffer:60*60*4*1e3,columns:["type","email","sender","sendunixtime","senderhost","senderip","senderauth","spamscore","recipient","user","domain","deliveredto","deliveryuser","deliverydomain","router","transport","actionunixtime","msgid","host","ip","size","message","actions"],user:null,delayeddisplay:0,starttime:"yesterday",buildDeliveryReport:function(){var EximStatsDTObj=this;if(!this.unixstarttime||!this.unixendtime){this.loadUnixTimes()}var myColumnDefs=[];var my_fields=[];for(var i=0;i<this.columns.length;i++){if(this.columns[i]==="actions"){myColumnDefs.push({key:"actions",label:LOCALETEXT.actions,formatter:makeActionLinks})}else{myColumnDefs.push(possibleColumns[this.columns[i]].column);my_fields.push(possibleColumns[this.columns[i]].schema||this.columns[i])}}var myDataSource=new CPANEL.datasource.CPANEL_XHRDataSource({module:window.cp_exim?"EmailTrack":undefined,func:window.cp_exim?"search":"emailtrack_search",fields:my_fields});var myConfigs={initialLoad:false,generateRequest:function(state,dt){var api_data=CPANEL.datatable.get_api_data(state);if(this.user){api_data.filter.push(["user","eq",this.user])}var search_form=CPANEL.dom.get_data_from_form("search-fields");var search_field=search_form.mainkey;if(search_field){var search_term=search_form.freeform;if(search_term){var search_type=search_form.searchmatch;if(search_type){api_data.filter.push([search_field,search_type,search_term])}}}if(EximStatsDTObj.unixstarttime){api_data.filter.push(["sendunixtime","gt",EximStatsDTObj.unixstarttime-1])}if(EximStatsDTObj.unixendtime){api_data.filter.push(["sendunixtime","lt",EximStatsDTObj.unixendtime+1])}var searchall=false;if(DOM.get("quicksearch")){searchall=DOM.get("quicksearch").value.trim()}if(searchall){api_data.filter.push(["*","contains",searchall])}var data=CPANEL.dom.get_data_from_form("advanced-form");data.deliverytype=search_form.deliverytype||undefined;if(!data.max_results_by_type){data.max_results_by_type=EximStatsDTObj._max_results_by_type_value()}return{data:data,api_data:api_data}},dynamicData:true,sortedBy:CPANEL.nvdata.initial&&CPANEL.nvdata.initial.table_sort||{key:"sendunixtime",dir:YAHOO.widget.DataTable.CLASS_DESC},paginator:THE_PAGINATOR};var myDataTable=new YAHOO.widget.DataTable("deliveryreport",myColumnDefs,myDataSource,myConfigs);if(YAHOO.env.ua.ie&&YAHOO.env.ua.ie<=7){if(myDataTable.getTableEl().cellSpacing===""){myDataTable.getTableEl().cellSpacing=0}}myDataTable.handleDataReturnPayload=function(oRequest,oResponse,oPayload){var totalRecords=parseInt(oResponse.meta.total_records);oPayload.totalRecords=totalRecords;return oPayload};var emailreportpanel;var shown_records={};var already_shown_notice;window.show_details=function(link){var targetRow=DOM.getAncestorByTagName(link,"tr");var oRecord=myDataTable.getRecord(targetRow);var oData=oRecord.getData();var shown_key=CPANEL.util.values(oData).join();if(shown_key in shown_records){already_shown_notice=new CPANEL.ajax.Dynamic_Notice({replaces:already_shown_notice,content:LOCALE.maketext("The specified record’s details are already visible. See the corresponding popup window.")});shown_records[shown_key].focus();return}var printkeys=myDataTable.getColumnSet().flat.map((function(c){return[c.key,c.label]}));var emailreportpanel=new CPANEL.ajax.Common_Dialog(null,{modal:false,close:true,zIndex:5,buttons:[{text:LOCALE.maketext("Print"),handler:function(){CPANEL.printthispanel(this.innerElement)}},{text:LOCALE.maketext("Close"),classes:"cancel",handler:function(){this.cancel()}}]});shown_records[shown_key]=emailreportpanel;emailreportpanel.hideEvent.subscribe((function(){delete shown_records[shown_key]}));emailreportpanel.setHeader(CPANEL.widgets.Dialog.applyDialogHeader(LOCALE.maketext("Delivery Event Details")));var txt="<table class='event_details'><tbody>";printkeys.forEach((function(keylabel){var reportkey=keylabel[0];if(reportkey in oData){var label=keylabel[1]||reportkey;var value=oData[reportkey];if(value===null||value===undefined){value=""}else if(value instanceof Date){value=value.toCpLocaleString(CPANEL.DateTime.datetime_format_medium)}else if(reportkey==="size"){value=LOCALE.format_bytes(value)}else{value=String(value).html_encode()}if(reportkey==="type"){value+=" "+lookupImg16(oData.type)}txt+="<tr><td><b>"+label+"</b>:</td><td>"+value+"</td></tr>"}}));txt+="</tbody></table>";emailreportpanel.setBody(txt);overlay_manager.register(emailreportpanel);emailreportpanel.show_from_source(link);emailreportpanel.focus()};return{ds:myDataSource,dt:myDataTable}},_max_results_by_type_value:function(){try{var the_el=DOM.get("max_results_by_type");if(the_el){if(the_el.options){return 1*the_el.options[the_el.selectedIndex].value}else{return 1*the_el.value}}}catch(e){return 250}return 250},loadUnixTimes:function(){var currentint=get_start_end_times();this.unixstarttime=currentint[0]&¤tint[0].getTime()/1e3;this.unixendtime=currentint[1]&¤tint[1].getTime()/1e3},updatedata:function(){var advanced=CPANEL.dom.get_data_from_form("advanced-form");if(!advanced.defer&&!advanced.failure&&!advanced.success&&!advanced.inprogress){alert("You must choose at least one type of event to show.");return 0}if(!this.unixstarttime||!this.unixendtime){this.loadUnixTimes()}if(this.delayeddisplay){this.deliveryreport=this.buildDeliveryReport();this.delayeddisplay=0}var that=this;var success=function(req,resp,results){if(resp.meta.metadata&&String(resp.meta.metadata.overflowed)==="1"){if(!window.OVERFLOW_WARNING){window.OVERFLOW_WARNING=new CPANEL.widgets.Page_Notice({level:"warn",content:overflow_warning})}}else if(window.OVERFLOW_WARNING&&OVERFLOW_WARNING.cfg){OVERFLOW_WARNING.fade_out();delete window.OVERFLOW_WARNING}return that.deliveryreport.dt.onDataReturnReplaceRows.apply(this,arguments)};var oCallback={success:success,failure:window.handle_ajax_error,scope:this.deliveryreport.dt,argument:this.deliveryreport.dt.getState()};var thisRequest=this.deliveryreport.dt.get("generateRequest")(this.deliveryreport.dt.getState(),this.deliveryreport.dt);this.deliveryreport.dt.showTableMessage(LOCALE.maketext("Loading new data …"),YAHOO.widget.DataTable.CLASS_LOADING);this.deliveryreport.ds.sendRequest(thisRequest,oCallback)}}})();(function(){CPANEL.printthispanel=function(panelobj){panelobj=DOM.getAncestorByClassName(panelobj,"yui-panel");var panelbody=DOM.getElementsByClassName("bd","div",panelobj)[0];var panelhead=DOM.getElementsByClassName("hd","div",panelobj)[0];var strPrintFrame="printme-"+(new Date).getTime();var printFrameobj=document.createElement("iframe");printFrameobj.setAttribute("name",strPrintFrame);document.getElementById("printpanel").appendChild(printFrameobj);var printFrameWinobj=printFrameobj.contentWindow||printFrameobj.window;var printFrameDocobj=printFrameWinobj.document;var doctitle=CPANEL.util.get_text_content(panelhead);printFrameDocobj.open();printFrameDocobj.write("<!DOCTYPE html>");printFrameDocobj.write("<html><head><style>.ft, a { display: none; };</style><title>"+doctitle.html_encode()+"</title></head><body>"+"<h1>"+panelhead.innerHTML+"</h1>"+panelbody.innerHTML+"</body></html>");printFrameDocobj.close();printFrameWinobj.focus();printFrameWinobj.print();setTimeout((function(){printFrameobj.parentNode.removeChild(printFrameobj)}),12e4)}})();function restrictAdvanced(restrict){var adv_form=DOM.get("advanced-form");var form=CPANEL.dom.get_data_from_form(adv_form);if(restrict){var LOCALE=window.LOCALE||new CPANEL.Locale;adv_form.defer.disabled=true;adv_form.failure.disabled=true;adv_form.inprogress.disabled=true;adv_form.defer.title=LOCALE.maketext("This can only be selected when [output,class,Delivery Type,code] is [output,class,All,code].");adv_form.failure.title=LOCALE.maketext("This can only be selected when [output,class,Delivery Type,code] is [output,class,All,code].");adv_form.inprogress.title=LOCALE.maketext("This can only be selected when [output,class,Delivery Type,code] is [output,class,All,code].")}else{adv_form.defer.disabled=false;adv_form.failure.disabled=false;adv_form.inprogress.disabled=false;adv_form.defer.title="";adv_form.failure.title="";adv_form.inprogress.title=""}}