Viewing File: /usr/local/cpanel/base/sharedjs/fetch_mail_queue_optimized.js

if(typeof CPANEL=="undefined"||!CPANEL){alert("The cjt has not been loaded, and must be loaded before this script: fetch_mail_queue.js")}(function(){var unixtimeToDate=function(sData){return new Date(1e3*sData)};var formatRecps=function(elCell,oRecord,col,oData){elCell.innerHTML=oData.map(String.prototype.html_encode.call,String.prototype.html_encode).join(" , <br /> ")};var _queued_row;var _frozen_row;var makeActionLinks=function(elCell,oRecord,tbl,oData){var rowData=oRecord.getData();if(rowData.frozen){var currentint=get_start_end_times();var opts={unixstarttime:currentint[0]&&currentint[0].getTime()/1e3};YAHOO.lang.augmentObject(opts,rowData);if(!_frozen_row){_frozen_row=DOM.get("frozen_row_template").text}elCell.innerHTML=YAHOO.lang.substitute(_frozen_row,opts)}else{if(!_queued_row){_queued_row=DOM.get("queued_row_template").text}elCell.innerHTML=YAHOO.lang.substitute(_queued_row,rowData)}};var toLocaleDate=function(el,rec,col,dat){var date=new Date(dat);if(/invalid date/i.test(date)){el.innerHTML=LOCALE.maketext("Invalid Date")}else{el.innerHTML=date.toCpLocaleString()}};var format_sender=function(elCell,oRecord,tbl,oData){var trimmed=String(oData).trim();CPANEL.util.set_text_content(elCell,trimmed||"["+LOCALE.maketext("System")+"]")};var format_frozen=function(cell,rec,col,d){CPANEL.util.set_text_content(cell,d?LOCALE.maketext("Frozen"):LOCALE.maketext("Queued"))};var format_size=function(cell,rec,col,d){cell.innerHTML=LOCALE.format_bytes(d)};var myColumnDefs=[{key:"check",label:"",width:"30",formatter:YAHOO.widget.DataTable.formatCheckbox},{key:"time",label:LOCALE.maketext("Time Received"),sortable:true,formatter:toLocaleDate},{key:"sender",label:LOCALE.maketext("Sender"),sortable:true,formatter:format_sender},{key:"msgid",label:LOCALE.maketext("Message ID"),sortable:true,formatter:"text"},{key:"recipients",formatter:formatRecps,label:LOCALE.maketext("Recipient(s)")},{key:"size",formatter:format_size,sortable:true,label:LOCALE.maketext("Size")},{key:"frozen",label:LOCALE.maketext("Status"),sortable:true,formatter:format_frozen},{key:"actions",label:LOCALE.maketext("Actions"),formatter:makeActionLinks}];CPANEL.MailQueue=function(oConfigs){for(var setting in oConfigs){if(typeof this[setting]!="undefined"){this[setting]=oConfigs[setting]}}init_start_end_times(this.starttime)};CPANEL.MailQueue.prototype={unixstarttime:null,unixendtime:null,starttime:"yesterday",statsfail:function(o){for(var i=0;i<o.argument.statlist.length;i++){var statname=o.argument.statlist[i];document.getElementById("deliverystats_"+statname).innerHTML=LOCALE.maketext("The fetch returned no data.")}},loadUnixTimes:function(){var currentint=get_start_end_times();this.unixstarttime=currentint[0]&&currentint[0].getTime()/1e3;this.unixendtime=currentint[1]&&currentint[1].getTime()/1e3},buildDeliveryReport:function(){var MailQueueObj=this;this.loadUnixTimes();var myDataSource=new CPANEL.datasource.CPANEL_XHRDataSource({func:"fetch_mail_queue",fields:[{key:"frozen",parser:"number"},{key:"time",parser:unixtimeToDate},"sender","msgid",{key:"size",parser:"number"},"recipients"]});var myConfigs={initialLoad:false,generateRequest:function(state,dt){var req=CPANEL.datatable.get_api_data(state);if(req.sort){if(/^!?(?:size|time)$/.test(req.sort[0])){req.sort[0]=[req.sort[0],"numeric"]}}if(MailQueueObj.unixstarttime){req.filter.push(["time","gt",MailQueueObj.unixstarttime-1])}if(MailQueueObj.unixendtime){req.filter.push(["time","lt",MailQueueObj.unixendtime+1])}var search=CPANEL.dom.get_data_from_form("search-fields");if(search.freeform&&search.mainkey&&search.searchmatch){req.filter.push([search.mainkey,search.searchmatch,search.freeform])}var quick=DOM.get("quicksearch").value.trim();if(quick){req.filter.push(["*","contains",quick])}return{api_data:req}},dynamicData:true,sortedBy:CPANEL.nvdata.initial&&CPANEL.nvdata.initial.table_sort||{key:"time",dir:YAHOO.widget.DataTable.CLASS_DESC},paginator:THE_PAGINATOR};var mySummary=new YAHOO.widget.DataTable("mailqueuetbl",myColumnDefs,myDataSource,myConfigs);mySummary.subscribe("checkboxClickEvent",(function(oArgs){var elCheckbox=oArgs.target;var oRecord=this.getRecord(elCheckbox);oRecord.setData("check",elCheckbox.checked)}));mySummary.handleDataReturnPayload=function(oRequest,oResponse,oPayload){var totalRecords=parseInt(oResponse.meta.total_records);oPayload.totalRecords=totalRecords;return oPayload};return{ds:myDataSource,dt:mySummary}},updatedata:function(){if(!this.deliveryreport){this.deliveryreport=this.buildDeliveryReport()}var oCallback={success:this.deliveryreport.dt.onDataReturnReplaceRows,failure:window.handle_ajax_error,scope:this.deliveryreport.dt,argument:this.deliveryreport.dt.getState()};this.deliveryreport.dt._oRecordSet.reset();this.deliveryreport.dt.render();this.loadUnixTimes();var request=this.deliveryreport.dt.get("generateRequest")(this.deliveryreport.dt.getState(),this.deliveryreport.dt);this.deliveryreport.ds.sendRequest(request,oCallback)},deliverSelected:function(){this.multiAction("../scripts11/deliver_messages_mail_queue",1)},deleteSelected:function(){this.multiAction("../scripts11/remove_messages_mail_queue",1)},deleteAll:function(){if(confirm(LOCALE.maketext("Are you sure you wish to purge the entire mail queue?"))){this.multiAction("../scripts11/purge_mail_queue",0)}},deliverAll:function(){if(confirm(LOCALE.maketext("Are you sure you wish to attempt to deliver the entire mail queue?"))){this.multiAction("../scripts11/deliver_mail_queue",0)}},multiAction:function(multiAction,need_msg_ids){var records=this.deliveryreport.dt.getRecordSet().getRecords();var msgids=[];if(need_msg_ids){for(i=0;i<records.length;i++){if(!records[i]){continue}var oData=records[i].getData();if(oData.check){msgids.push(oData.msgid)}}document.getElementById("msgids").value=msgids.join(",");if(msgids.length==0){alert(LOCALE.maketext("You must first select at least one message in the queue."));return false}}else{document.getElementById("msgids").value=msgids.join(",")}document.getElementById("multiactionform").action=multiAction;document.getElementById("multiactionform").submit()},selectAll:function(unsel){var records=this.deliveryreport.dt.getRecordSet().getRecords();for(i=0;i<records.length;i++){this.deliveryreport.dt.getRecordSet().updateKey(records[i],"check",unsel?"":"true")}this.deliveryreport.dt.render()},unselectAll:function(){this.selectAll(1)}}})();
Back to Directory File Manager