芝麻web文件管理V1.00
编辑当前文件:/home/pulsehostuk9/www/portal.pulsehost.co.uk/assets/js/whmcs/http.js
/** * WHMCS HTTP module * * @copyright Copyright (c) WHMCS Limited 2005-2018 * @license http://www.whmcs.com/license/ WHMCS Eula */ (function(module) { if (!WHMCS.hasModule('http')) { WHMCS.loadModule('http', module); } })({ jqClient: function () { _getSettings = function (url, data, success, dataType) { if (typeof url === 'object') { /* Settings may be the only argument */ return url; } if (typeof data === 'function') { /* If 'data' is omitted, 'success' will come in its place */ success = data; data = null; } return { url: url, data: data, success: success, dataType: dataType }; }; /** * @param url * @param data * @param success * @param dataType * @returns {*} */ this.get = function (url, data, success, dataType) { return WHMCS.http.client.request( jQuery.extend( _getSettings(url, data, success, dataType), { type: 'GET' } ) ); }; /** * @param url * @param data * @param success * @param dataType * @returns {*} */ this.post = function (url, data, success, dataType) { return WHMCS.http.client.request( jQuery.extend( _getSettings(url, data, success, dataType), { type: 'POST' } ) ); }; /** * @param options * @returns {*} */ this.jsonGet = function (options) { options = options || {}; this.get(options.url, options.data, function(response) { if (response.warning) { console.log('[WHMCS] Warning: ' + response.warning); if (typeof options.warning === 'function') { options.warning(response.warning); } } else if (response.error) { console.log('[WHMCS] Error: ' + response.error); if (typeof options.error === 'function') { options.error(response.error); } } else { if (typeof options.success === 'function') { options.success(response); } } }, 'json').error(function(xhr, errorMsg){ console.log('[WHMCS] Error: ' + errorMsg); if (typeof options.fail === 'function') { options.fail(errorMsg); } }).always(function() { if (typeof options.always === 'function') { options.always(); } }); }; /** * @param options * @returns {*} */ this.jsonPost = function (options) { options = options || {}; this.post(options.url, options.data, function(response) { if (response.warning) { console.log('[WHMCS] Warning: ' + response.warning); if (typeof options.warning === 'function') { options.warning(response.warning); } } else if (response.error) { console.log('[WHMCS] Error: ' + response.error); if (typeof options.error === 'function') { options.error(response.error); } } else { if (typeof options.success === 'function') { options.success(response); } } }, 'json').fail(function(xhr, errorMsg){ console.log('[WHMCS] Fail: ' + errorMsg); if (typeof options.fail === 'function') { options.fail(errorMsg, xhr); } }).always(function() { if (typeof options.always === 'function') { options.always(); } }); }; return this; }, client: function () { var methods = ['get', 'post', 'put', 'delete']; var client = this; _beforeRequest = function (settings) { /* Enforcing dataType was found to break many invocations expecting HTML back. If/when those are refactored, this may be uncommented to enforce a safer data transit. */ /*if (typeof settings.dataType === 'undefined') { settings.dataType = 'json'; }*/ if (typeof settings.type === 'undefined') { // default request type is GET settings.type = 'GET'; } /* Add other preprocessing here if required */ return settings; }; this.request = function (settings) { settings = _beforeRequest(settings || {}); return jQuery.ajax(settings); }; /* Create shortcut methods for methods[] array above */ jQuery.each(methods, function(index, method) { client[method] = (function(method, client) { return function (settings) { settings = settings || {}; settings.type = method.toUpperCase(); return client.request(settings); } })(method, client); }); return this; } });