File manager - Edit - /usr/local/cpanel/base/sharedjs/emailstats_summary.js
Back
if (typeof CPANEL == "undefined" || !CPANEL) { /** * The CPANEL global namespace object. If CPANEL is already defined, the * existing CPANEL object will not be overwritten so that defined * namespaces are preserved. * @class CPANEL * @static */ alert("The cjt has not been loaded, and must be loaded before this script: emailstats_summary.js"); } ( function() { window.DEFAULT_ROWS_PER_PAGE = 100; CPANEL.EximStatsSummary = function(oConfigs) { for (var setting in oConfigs) { if (typeof this[setting] != "undefined") { this[setting] = oConfigs[setting]; } } init_start_end_times( this.starttime ); }; CPANEL.EximStatsSummary.mytimezone = YAHOO.util.Date.format(new Date(), { format: "%z" }), CPANEL.EximStatsSummary.oneday = (86400 * 1000); CPANEL.EximStatsSummary.thirtyonedays = (86400 * 1000 * 30); CPANEL.EximStatsSummary.prototype = { unixstarttime: null, initialsort: "SUCCESSCOUNT", group: "user", deliverytype: null, unixendtime: null, timebuffer: (60 * 60 * 4 * 1000), columns: ["USER", "DOMAIN", "SENDCOUNT", "TOTALSIZE"], userstatsuri: "/json-api/emailtrack_user_stats?", useruri: "emailstats_search", 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 = "Failed to fetch data"; } }, loadUnixTimes: function() { var currentint = get_start_end_times(); this.unixstarttime = currentint[0] && (currentint[0].getTime() / 1000); this.unixendtime = currentint[1] && (currentint[1].getTime() / 1000); }, buildDeliveryReport: function() { var EximStatsSumObj = this; this.loadUnixTimes(); var unixtimeToDate = function(sData) { return new Date(parseInt(sData) * 1000); }; var _img_lookup = { 0: CPANEL.icons.success24, 1: CPANEL.icons.error24 }; var lookupImg = function(oData) { return _img_lookup[oData] || _img_lookup[1]; }; var typetoImg = function(elCell, oRecord, tbl, oData) { elCell.innerHTML = lookupImg(oData) + (oData ? " " + oData : ""); }; var format_bytes = function(cell, rec, col, d) { cell.innerHTML = LOCALE.format_bytes(d); }; var format_num = function(cell, rec, col, d) { cell.innerHTML = LOCALE.numf(d); }; var possibleColumns = { "REACHED_MAXEMAILS": { "column": { key: "REACHED_MAXEMAILS", label: LOCALE.maketext("Relay per Hour"), sortable: true, formatter: typetoImg }, "schema": { key: "REACHED_MAXEMAILS", parser: "number" } }, "REACHED_MAXDEFERFAIL": { "column": { key: "REACHED_MAXDEFERFAIL", label: LOCALE.maketext("Defer+Fail Per Hour"), sortable: true, formatter: typetoImg }, "schema": { key: "REACHED_MAXDEFERFAIL", parser: "number" } }, "USER": { "column": { key: "USER", label: LOCALE.maketext("User"), sortable: true, formatter: "text" }, "schema": { key: "USER" } }, "DOMAIN": { "column": { key: "DOMAIN", label: LOCALE.maketext("Domain"), sortable: true, formatter: "text" }, "schema": { key: "DOMAIN" } }, "SUCCESSCOUNT": { "column": { key: "SUCCESSCOUNT", label: LOCALE.maketext("Successful"), formatter: format_num, sortable: true }, "schema": { key: "SUCCESSCOUNT", parser: "number" } }, "FAILCOUNT": { "column": { key: "FAILCOUNT", label: LOCALE.maketext("Failures"), formatter: format_num, sortable: true }, "schema": { key: "FAILCOUNT", parser: "number" } }, "DEFERCOUNT": { "column": { key: "DEFERCOUNT", label: LOCALE.maketext("Deferrals"), formatter: format_num, sortable: true }, "schema": { key: "DEFERCOUNT", parser: "number" } }, "TOTALSIZE": { "column": { key: "TOTALSIZE", label: LOCALE.maketext("Data Sent"), formatter: format_bytes, sortable: true }, "schema": { key: "TOTALSIZE", parser: "number" } }, "SENDCOUNT": { "column": { key: "SENDCOUNT", label: LOCALE.maketext("Total Messages"), formatter: format_num, sortable: true }, "schema": { key: "SENDCOUNT", parser: "number" } }, "DEFERFAILCOUNT": { "column": { key: "DEFERFAILCOUNT", label: LOCALE.maketext("Failed and Deferred"), formatter: format_num, sortable: true }, "schema": { key: "DEFERFAILCOUNT", parser: "number" } } }; // Column definitions var myColumnDefs = []; var fields = []; for (var i = 0; i < this.columns.length; i++) { myColumnDefs.push( possibleColumns[this.columns[i]].column ); fields.push( possibleColumns[this.columns[i]].schema ); } // DataSource instance var myDataSource = new CPANEL.datasource.CPANEL_XHRDataSource( { func: "emailtrack_user_stats", request_data: { user: this.user || null, group: EximStatsSumObj.group } } ); // Summary configuration var myConfigs = { initialLoad: false, generateRequest: function(state, dt) { var api = CPANEL.datatable.get_api_data(state); api.filter = []; if ( /remote/.test(EximStatsSumObj.deliverytype) ) { api.filter.push( ["SUCCESSCOUNT", "gt", 0] ); } var quick = DOM.get("quicksearch").value.trim(); if (quick) { api.filter.push( ["*", "contains", quick] ); } // Don't display all-zero rows for the relayers query. return { api_data: api, data: { deliverytype: EximStatsSumObj.deliverytype || null, starttime: EximStatsSumObj.unixstarttime || null, endtime: EximStatsSumObj.unixendtime || null } }; }, dynamicData: true, // Enables dynamic server-driven data sortedBy: CPANEL.nvdata.initial && CPANEL.nvdata.initial.table_sort || { key: this.initialsort, dir: YAHOO.widget.DataTable.CLASS_DESC }, // Sets UI initial sort arrow paginator: THE_PAGINATOR }; // Summary instance var mySummary = new YAHOO.widget.DataTable("eximstatssummary", myColumnDefs, myDataSource, myConfigs); // Update totalRecords on the fly with value from server mySummary.handleDataReturnPayload = function(oRequest, oResponse, oPayload) { oPayload.totalRecords = parseInt(oResponse.meta.total_records); return oPayload; }; mySummary.getTableEl().title = LOCALE.maketext("Click a row to show a detailed report."); var handleRowClick = function(e) { var targetRow = e.target; var oRecord = this.getRecord(targetRow); var oData = oRecord.getData(); EximStatsSumObj.loadUnixTimes(); // Send "" for empty start/end times since otherwise the page // defaults to something based on the current time. var query_str = CPANEL.util.make_query_string( { user: oData.USER, unixstarttime: EximStatsSumObj.unixstarttime || "", unixendtime: EximStatsSumObj.unixendtime || "", deliverytype: EximStatsSumObj.deliverytype || null, showAll: window.RELAY_ALL_BY_DEFAULT ? "true" : null } ); window.location.href = EximStatsSumObj.useruri + "?" + query_str; }; mySummary.subscribe("rowClickEvent", handleRowClick); return { ds: myDataSource, dt: mySummary }; }, updatedata: function() { if ( !this.deliveryreport ) { this.deliveryreport = this.buildDeliveryReport(); } // Sends a request to the DataSource for more data var oCallback = { success: this.deliveryreport.dt.onDataReturnReplaceRows, failure: window.handle_ajax_error, scope: this.deliveryreport.dt, argument: this.deliveryreport.dt.getState() }; this.loadUnixTimes(); var dt = this.deliveryreport.dt; var req = dt.get("generateRequest")( dt.getState(), dt ); this.deliveryreport.ds.sendRequest(req, oCallback); } }; })();
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.03 |
proxy
|
phpinfo
|
Settings