/home/suroeste/public_html/wp-content/plugins/akeebabackupwp/app/media/js/solo
Edit: /home/suroeste/public_html/wp-content/plugins/akeebabackupwp/app/media/js/solo/system.min.js.map (81766B)
{"version":3,"file":"system.min.js","names":["akeeba","System","documentReady","params","AjaxURL","errorCallback","password","errorDialogId","errorDialogMessageId","notification","modalDialog","array_merge","k","args","Array","prototype","slice","call","arguments","retObj","j","i","retArr","length","concat","ct","hasOwnProperty","parseInt","array_diff","arr1","argl","k1","arr","arr1keys","getOptions","key","defaultValue","optionsStorage","loadOptions","options","str","element","option","elements","document","querySelectorAll","counter","l","text","textContent","JSON","parse","removeClass","addClass","p","defaultErrorHandler","error","alert","modalErrorHandler","dialogId","errorMessageId","dialogElement","getElementById","errorContent","errorElement","innerHTML","Modal","open","content","width","extractResponse","msg","ret","isValid","data","delimiters","'#\"\\\\#\\\\\"#'","\"#"\\\\#\\\\"#\"","\"#"\\\\#\\\\"#\"","\"###\"","token_string","needsHtmlDecode","valid_pos","indexOf","message","substr","lastIndexOf","dummyTextbox","createElement","innerText","err","doAjax","successCallback","useCaching","timeout","now","Date","getTime","s","_cacheBustingJunk","Math","round","url","ajaxURL","structure","type","cache","success","extracted","sanitizeErrorMessage","Request","textStatus","responseText","status","statusText","readyState","Ajax","enqueue","ajax","b","DOMParser","parseFromString","e","askPermission","window","Notification","permission","requestPermission","notify","title","bodyContent","body","n","icon","setTimeout","close","lastId","store","set","property","value","dataset","id","myCustomDataTag","dataAttributeName","split","join","toLowerCase","setAttribute","removeAttribute","get","addEventListener","eventName","listener","listenHandler","apply","stopPropagation","preventDefault","returnValue","attachHandler","event","cancelBubble","_typeof","Element","attachEvent","removeEventListener","detachEvent","triggerEvent","click","console","log","jQuery","trigger","fireEvent","Event","createEvent","initEvent","dispatchEvent","funcName","baseObj","ready","readyFired","readyList","fn","ctx","readyStateChange","readyEventHandlersInstalled","callback","context","push","newClasses","className","currentClasses","trim","oldClasses","hasClass","aClass","toggleClass","checkAll","checkbox","stub","form","c","checked","boxchecked","isChecked","isItChecked","tableOrdering","order","dir","task","filter_order","filter_order_Dir","submitForm","validate","noValidate","hasAttribute","button","style","display","appendChild","removeChild","orderTable","table","direction","selectedIndex","iterateNodes","el","assignDefaultErrorHandler","Text","strings","_","def","newStrings","load","dummyObject","toUpperCase","object","doEncryptedAjax","oldToken","json","stringify","post_data","modal","rel","modalWrapper","modalContent","modalHeader","headerCloseButton","modalHeaderTitle","CancelHandler","modalBody","href","inheritedElement","querySelector","childNodes","iFrame","src","height","frameborder","allowtransparency","iFrameHeight","iFrameWidth","showButtons","modalFooter","okLabel","cancelLabel","OkLabel","CancelLabel","cancelButton","okButton","OkHandler","inherit","a","forEach"],"sources":["system.js"],"sourcesContent":["/**\n * @package solo\n * @copyright Copyright (c)2014-2024 Nicholas K. Dionysopoulos / Akeeba Ltd\n * @license GNU General Public License version 3, or later\n */\n\nif (typeof akeeba === \"undefined\")\n{\n var akeeba = {};\n}\n\nif (typeof akeeba.System === \"undefined\")\n{\n akeeba.System = {\n documentReady: function (callback, context)\n {\n },\n params: {\n AjaxURL: \"\",\n errorCallback: null,\n password: \"\",\n errorDialogId: \"errorDialog\",\n errorDialogMessageId: \"errorDialogPre\"\n },\n notification: {},\n modalDialog: null\n };\n}\n\nakeeba.System.array_merge = function ()\n{\n // Merges elements from passed arrays into one array\n //\n // version: 1103.1210\n // discuss at: http://phpjs.org/functions/array_merge\n // + original by: Brett Zamir (http://brett-zamir.me)\n // + bugfixed by: Nate\n // + input by: josh\n // + bugfixed by: Brett Zamir (http://brett-zamir.me)\n // * example 1: arr1 = {\"color\": \"red\", 0: 2, 1: 4}\n // * example 1: arr2 = {0: \"a\", 1: \"b\", \"color\": \"green\", \"shape\": \"trapezoid\", 2: 4}\n // * example 1: array_merge(arr1, arr2)\n // * returns 1: {\"color\": \"green\", 0: 2, 1: 4, 2: \"a\", 3: \"b\", \"shape\": \"trapezoid\", 4: 4}\n // * example 2: arr1 = []\n // * example 2: arr2 = {1: \"data\"}\n // * example 2: array_merge(arr1, arr2)\n // * returns 2: {0: \"data\"}\n var args = Array.prototype.slice.call(arguments),\n retObj = {},\n k, j = 0,\n i = 0,\n retArr = true;\n\n for (i = 0; i < args.length; i++)\n {\n if (!(args[i] instanceof Array))\n {\n retArr = false;\n break;\n }\n }\n\n if (retArr)\n {\n retArr = [];\n for (i = 0; i < args.length; i++)\n {\n retArr = retArr.concat(args[i]);\n }\n return retArr;\n }\n var ct = 0;\n\n for (i = 0, ct = 0; i < args.length; i++)\n {\n if (args[i] instanceof Array)\n {\n for (j = 0; j < args[i].length; j++)\n {\n retObj[ct++] = args[i][j];\n }\n }\n else\n {\n for (k in args[i])\n {\n if (args[i].hasOwnProperty(k))\n {\n if (parseInt(k, 10) + \"\" === k)\n {\n retObj[ct++] = args[i][k];\n }\n else\n {\n retObj[k] = args[i][k];\n }\n }\n }\n }\n }\n return retObj;\n};\n\n// eslint-disable-line camelcase\n// discuss at: http://locutus.io/php/array_diff/\n// original by: Kevin van Zonneveld (http://kvz.io)\n// improved by: Sanjoy Roy\n// revised by: Brett Zamir (http://brett-zamir.me)\n// example 1: array_diff(['Kevin', 'van', 'Zonneveld'], ['van', 'Zonneveld'])\n// returns 1: {0:'Kevin'}\nakeeba.System.array_diff = function (arr1)\n{\n var retArr = {};\n var argl = arguments.length;\n var k1 = \"\";\n var i = 1;\n var k = \"\";\n var arr = {};\n\n arr1keys: for (k1 in arr1)\n {\n for (i = 1; i < argl; i++)\n {\n arr = arguments[i];\n for (k in arr)\n {\n if (arr[k] === arr1[k1])\n {\n // If it reaches here, it was found in at least one array, so try next value\n continue arr1keys;\n }\n }\n retArr[k1] = arr1[k1];\n }\n }\n\n return retArr\n};\n\n/**\n * Get a script parameter passed from the backend to the frontend\n *\n * @param {String} key - The name of the parameter to retrieve\n * @param {*} [defaultValue=null] - Default value of the parameter is not yet defined\n *\n * @returns {*}\n */\nakeeba.System.getOptions = function (key, defaultValue)\n{\n if (typeof defaultValue == \"undefined\")\n {\n defaultValue = null;\n }\n\n // Load options if they not exists\n if (!akeeba.System.optionsStorage)\n {\n akeeba.System.loadOptions();\n }\n\n if (akeeba.System.optionsStorage[key] !== undefined)\n {\n return akeeba.System.optionsStorage[key];\n }\n\n return defaultValue;\n};\n\n/**\n * Load new options from a given options object or from an element\n *\n * If options is not specified it will loop all element with the CSS classed \"akeeba-script-options\" and \"new\". The\n * text content of each of these elements is assumed to be a JSON document to be merged with the script options.\n *\n * @param {Object} [options] The options object to load. Eg {\"foobar\" : {\"option1\": 1, \"option2\": 2}}\n */\nakeeba.System.loadOptions = function (options)\n{\n // Load form a container element\n if (!options)\n {\n var elements = document.querySelectorAll(\".akeeba-script-options.new\");\n var str;\n var element;\n var option;\n var counter = 0;\n\n for (var i = 0, l = elements.length; i < l; i++)\n {\n element = elements[i];\n str = element.text || element.textContent;\n option = JSON.parse(str);\n\n if (option)\n {\n akeeba.System.loadOptions(option);\n counter++;\n }\n\n akeeba.System.removeClass(element, \"new\");\n akeeba.System.addClass(element, \"loaded\");\n }\n\n if (counter)\n {\n return;\n }\n }\n\n // Initial loading\n if (!akeeba.System.optionsStorage)\n {\n akeeba.System.optionsStorage = options || {};\n\n return;\n }\n\n // Obviously, we have nothing to load.\n if (!options)\n {\n return;\n }\n\n // Merge with existing\n for (var p in options)\n {\n if (options.hasOwnProperty(p))\n {\n akeeba.System.optionsStorage[p] = options[p];\n }\n }\n};\n\n/**\n * An extremely simple error handler, dumping error messages to screen\n *\n * @param {String} error - The error message string\n */\nakeeba.System.defaultErrorHandler = function (error)\n{\n if ((error == null) || (typeof error == \"undefined\"))\n {\n return;\n }\n\n alert(\"An error has occurred\\n\" + error);\n};\n\n/**\n * An error handler displayed in a Modal dialog. It requires you to set up a modal dialog div with id \"errorDialog\"\n *\n * @param {String} error - The error message string\n */\nakeeba.System.modalErrorHandler = function (error)\n{\n var dialogId = akeeba.System.getOptions(\n \"akeeba.System.params.errorDialogId\", akeeba.System.params.errorDialogId);\n var errorMessageId = akeeba.System.getOptions(\n \"akeeba.System.params.errorDialogMessageId\", akeeba.System.params.errorDialogMessageId);\n\n var dialogElement = document.getElementById(dialogId);\n var errorContent = \"error\";\n\n if (dialogElement != null)\n {\n var errorElement = document.getElementById(errorMessageId);\n errorElement.innerHTML = error;\n errorContent = dialogElement.innerHTML;\n }\n\n akeeba.Modal.open({\n content: errorContent,\n width: \"80%\"\n });\n};\n\nakeeba.System.extractResponse = function(msg)\n{\n var ret = {\n isValid: false,\n data: null\n };\n\n // Format: delimiter => needsHtmlDecode\n var delimiters = {\n '#\"\\\\#\\\\\"#': false,\n '#"\\\\#\\\\"#': true,\n '#"\\\\#\\\\"#': true,\n '###': false\n }\n\n for (var token_string in delimiters)\n {\n var needsHtmlDecode = delimiters[token_string];\n var valid_pos = msg.indexOf(token_string);\n var junk = '';\n var message = '';\n\n // If this delimiter is not found move over to the next one\n if (valid_pos === -1)\n {\n continue;\n }\n\n // Remove the junk BEFORE the delimiter in front of the response.\n message = valid_pos !== 0 ? msg.substr(valid_pos) : msg;\n // Remove the delimiter in front of the response\n message = message.substr(token_string.length);\n // Get of rid of any junk after the data\n valid_pos = message.lastIndexOf(token_string);\n\n // If the delimiter is not found at the end of the data move over to the next delimiter\n if (valid_pos === -1)\n {\n continue;\n }\n\n // Remove the delimiter at the end of the data and anything after it.\n message = message.substr(0, valid_pos);\n\n // Do I need to HTML decode the JSON–encoded message?\n if (needsHtmlDecode)\n {\n var dummyTextbox = document.createElement(\"textarea\");\n\n dummyTextbox.innerHTML = message;\n message = dummyTextbox.innerText;\n }\n\n // Let's try to decode the message\n try\n {\n var data = JSON.parse(message);\n }\n catch (err)\n {\n continue;\n }\n\n ret.isValid = true;\n ret.data = data;\n\n return ret;\n }\n\n return ret;\n}\n\n/**\n * Performs an AJAX request and returns the parsed JSON output.\n * akeeba.System.params.AjaxURL is used as the AJAX proxy URL.\n * If there is no errorCallback, the global akeeba.System.params.errorCallback is used.\n *\n * @param {Object} data - An object with the query data, e.g. a serialized form\n * @param {String} [data.ajaxURL] - The endpoint URL of the AJAX request, default akeeba.System.params.AjaxURL\n * @param {function} successCallback - A function accepting a single object parameter, called on success\n * @param {function} [errorCallback] - A function accepting a single string parameter, called on failure\n * @param {Boolean} [useCaching=true] - Should we use the cache?\n * @param {Number} [timeout=60000] - Timeout before cancelling the request in milliseconds\n * @param {Boolean} [oldToken=false] - Ignored\n */\nakeeba.System.doAjax = function (data, successCallback, errorCallback, useCaching, timeout, oldToken)\n{\n if (useCaching == null)\n {\n useCaching = true;\n }\n\n // We always want to burst the cache\n var now = new Date().getTime() / 1000;\n var s = parseInt(now, 10);\n data._cacheBustingJunk = Math.round((now - s) * 1000) / 1000;\n\n if (timeout == null)\n {\n timeout = 600000;\n }\n\n var url = akeeba.System.getOptions(\"akeeba.System.params.AjaxURL\", akeeba.System.params.AjaxURL);\n\n if (data.hasOwnProperty(\"ajaxURL\"))\n {\n url = data.ajaxURL;\n\n delete data.url;\n }\n\n var structure =\n {\n type: \"POST\",\n url: url,\n cache: false,\n data: data,\n timeout: timeout,\n success: function (msg)\n {\n var extracted = akeeba.System.extractResponse(msg);\n\n if (!extracted.isValid)\n {\n // Valid data not found in the response\n msg = akeeba.System.sanitizeErrorMessage(msg);\n msg = \"Invalid AJAX data: \" + msg;\n\n if (errorCallback == null)\n {\n if (akeeba.System.params.errorCallback != null)\n {\n akeeba.System.params.errorCallback(msg);\n }\n }\n else\n {\n errorCallback(msg);\n }\n\n return;\n }\n\n // Call the callback function\n successCallback(extracted.data);\n },\n error: function (Request, textStatus, errorThrown)\n {\n var text = Request.responseText ? Request.responseText : \"\";\n var message = \"
AJAX Loading ErrorHTTP Status: \" + Request.status +\n \" (\" + Request.statusText + \")
\";\n\n message = message + \"Internal status: \" + textStatus + \"
\";\n message = message + \"XHR ReadyState: \" + Request.readyState + \"
\";\n message = message + \"Raw server response:
\" + akeeba.System.sanitizeErrorMessage(text);\n\n if (errorCallback == null)\n {\n if (akeeba.System.params.errorCallback != null)\n {\n akeeba.System.params.errorCallback(message);\n }\n }\n else\n {\n errorCallback(message);\n }\n }\n };\n\n if (useCaching)\n {\n akeeba.Ajax.enqueue(structure);\n }\n else\n {\n akeeba.Ajax.ajax(structure);\n }\n};\n\n/**\n * Sanitize a message before displaying it in an error dialog. Some servers return an HTML page with DOM modifying\n * JavaScript when they block the backup script for any reason (usually with a 5xx HTTP error code). Displaying the\n * raw response in the error dialog has the side-effect of killing our backup resumption JavaScript or even completely\n * destroy the page, making backup restart impossible.\n *\n * @param {String} msg - The message to sanitize\n *\n * @returns {String}\n */\nakeeba.System.sanitizeErrorMessage = function (msg)\n{\n if (msg.indexOf(\"