/
home
/
suroeste
/
public_html
/
wp-content
/
plugins
/
akeebabackupwp
/
app
/
media
/
js
/
solo
/
/home/suroeste/public_html/wp-content/plugins/akeebabackupwp/app/media/js/solo
mkdir
upload
Name
Size
Mode
Actions
ajax.js
9696
0644
edit
dl
rm
ajax.min.js
3438
0644
edit
dl
rm
ajax.min.js.map
17483
0644
edit
dl
rm
backup.min.js
10466
0644
edit
dl
rm
backup.min.js.map
36399
0644
edit
dl
rm
browser.js
852
0644
edit
dl
rm
browser.min.js
547
0644
edit
dl
rm
browser.min.js.map
1952
0644
edit
dl
rm
configuration.min.js
36980
0644
edit
dl
rm
configuration.min.js.map
137014
0644
edit
dl
rm
dbfilters.min.js
7751
0644
edit
dl
rm
dbfilters.min.js.map
28768
0644
edit
dl
rm
discover.js
717
0644
edit
dl
rm
discover.min.js
442
0644
edit
dl
rm
discover.min.js.map
1581
0644
edit
dl
rm
extradirs.min.js.map
23454
0644
edit
dl
rm
fsfilters.min.js
15091
0644
edit
dl
rm
fsfilters.min.js.map
60366
0644
edit
dl
rm
gui-helpers.min.js
7604
0644
edit
dl
rm
gui-helpers.min.js.map
40838
0644
edit
dl
rm
log.js
872
0644
edit
dl
rm
log.min.js
568
0644
edit
dl
rm
log.min.js.map
1967
0644
edit
dl
rm
main.js
6469
0644
edit
dl
rm
main.min.js
3734
0644
edit
dl
rm
main.min.js.map
12115
0644
edit
dl
rm
manage.js
5914
0644
edit
dl
rm
manage.min.js
3541
0644
edit
dl
rm
manage.min.js.map
11993
0644
edit
dl
rm
modal.js
11029
0644
edit
dl
rm
modal.min.js
4882
0644
edit
dl
rm
modal.min.js.map
22351
0644
edit
dl
rm
multidb.min.js.map
31604
0644
edit
dl
rm
regexdbfilters.min.js.map
21450
0644
edit
dl
rm
regexfsfilters.min.js.map
21737
0644
edit
dl
rm
remotefiles.js
1700
0644
edit
dl
rm
remotefiles.min.js
790
0644
edit
dl
rm
remotefiles.min.js.map
2917
0644
edit
dl
rm
restore.min.js.map
26410
0644
edit
dl
rm
s3import.js
2806
0644
edit
dl
rm
s3import.min.js
1621
0644
edit
dl
rm
s3import.min.js.map
5608
0644
edit
dl
rm
setup.min.js.map
40294
0644
edit
dl
rm
showon.js
7583
0644
edit
dl
rm
showon.min.js
4206
0644
edit
dl
rm
showon.min.js.map
15553
0644
edit
dl
rm
system.min.js
14806
0644
edit
dl
rm
system.min.js.map
81766
0644
edit
dl
rm
tooltip.js
8070
0644
edit
dl
rm
tooltip.min.js
3726
0644
edit
dl
rm
tooltip.min.js.map
15163
0644
edit
dl
rm
transfer.js
18711
0644
edit
dl
rm
transfer.min.js.map
35219
0644
edit
dl
rm
update.min.js
5583
0644
edit
dl
rm
update.min.js.map
20544
0644
edit
dl
rm
upload.js
1051
0644
edit
dl
rm
upload.min.js
496
0644
edit
dl
rm
upload.min.js.map
2108
0644
edit
dl
rm
users.js
913
0644
edit
dl
rm
users.min.js.map
2118
0644
edit
dl
rm
wizard.min.js
10656
0644
edit
dl
rm
wizard.min.js.map
32501
0644
edit
dl
rm
Edit:
/home/suroeste/public_html/wp-content/plugins/akeebabackupwp/app/media/js/solo/restore.min.js.map
(26410B)
{"version":3,"file":"restore.min.js","names":["akeeba","Restore","lastResponseSeconds","timer","errorCallback","statistics","inbytes","outbytes","files","factory","errorCallbackDefault","msg","document","getElementById","style","display","innerHTML","doAjax","data","successCallback","json","JSON","stringify","post_data","restorationPassword","System","getOptions","length","password","now","Date","getTime","s","parseInt","_cacheBustingJunk","Math","round","structure","type","url","cache","timeout","success","junk","message","valid_pos","indexOf","substr","lastIndexOf","parse","err","errorMessage","error","Request","textStatus","text","responseText","status","statusText","readyState","sanitizeErrorMessage","Ajax","ajax","startTimeoutBar","resetTimeoutBar","setInterval","lastText","Text","_","replace","toFixed","querySelector","textContent","e","clearInterval","timerText","pingRestoration","task","start","step","done","bytesIn","bytesOut","post","finalize","preventDefault","finished","window","location","runInstaller","siteURL","open","className","restoreDefaultOptions","jpskey","value","onProcEngineChange","elProcEngine","options","selectedIndex","documentReady","addEventListener","adminForm","submit","Configuration","FtpBrowser","initialise","FtpTest","testConnection","setTimeout"],"sources":["restore.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.Restore == \"undefined\")\n{\n akeeba.Restore = {\n lastResponseSeconds: 0,\n timer: 0,\n errorCallback: null,\n statistics: {\n inbytes: 0,\n outbytes: 0,\n files: 0\n },\n factory: null\n };\n}\n\n/**\n * Callback script for AJAX errors\n * @param msg\n * @return\n */\nakeeba.Restore.errorCallbackDefault = function (msg)\n{\n document.getElementById(\"restoration-progress\").style.display = \"none\";\n document.getElementById(\"restoration-error\").style.display = \"block\";\n document.getElementById(\"backup-error-message\").innerHTML = msg;\n};\n\n/**\n * Performs an AJAX request to the restoration script (restore.php)\n *\n * @param data\n * @param successCallback\n * @param errorCallback\n *\n * @return\n */\nakeeba.Restore.doAjax = function (data, successCallback, errorCallback)\n{\n json = JSON.stringify(data);\n\n var post_data = {\n json: json\n };\n\n // Authentication method for Akeeba Restore 5.4.0 or later: send the password\n var restorationPassword = akeeba.System.getOptions(\"akeeba.Restore.password\", \"\");\n\n if (restorationPassword.length > 0)\n {\n post_data.password = restorationPassword;\n }\n\n // Make the request skip the cache appending the microsecond timestamp an extra, ignored query string parameter.\n var now = new Date().getTime() / 1000;\n var s = parseInt(now, 10);\n post_data._cacheBustingJunk = Math.round((now - s) * 1000);\n\n var structure =\n {\n type: \"POST\",\n url: akeeba.System.getOptions(\"akeeba.Restore.ajaxURL\", \"\"),\n cache: false,\n data: post_data,\n timeout: 600000,\n success: function (msg)\n {\n // Initialize\n var junk = null;\n var message = \"\";\n\n /**\n * Get rid of junk before the data\n *\n * DO NOT CHANGE TO '#\"\\\\#\\\\\"#'. We are communicating with restore.php which always\n * uses ###. This is NOT a problem as this runs OUTSIDE WordPress and we don't have\n * interference by site names containing ###.\n */\n var valid_pos = msg.indexOf('###');\n\n if (valid_pos == -1)\n {\n // Valid data not found in the response\n msg = \"Invalid AJAX data: \" + msg;\n\n if (errorCallback == null)\n {\n if (akeeba.Restore.errorCallback != null)\n {\n akeeba.Restore.errorCallback(msg);\n }\n else\n {\n akeeba.Restore.errorCallbackDefault(msg);\n }\n }\n else\n {\n errorCallback(msg);\n }\n\n return;\n }\n else if (valid_pos != 0)\n {\n // Data is prefixed with junk\n junk = msg.substr(0, valid_pos);\n message = msg.substr(valid_pos);\n }\n else\n {\n message = msg;\n }\n\n message = message.substr(3); // Remove starting token\n\n /**\n * Get rid of junk after the data\n *\n * DO NOT CHANGE TO '#\"\\\\#\\\\\"#'. We are communicating with restore.php which always\n * uses ###. This is NOT a problem as this runs OUTSIDE WordPress and we don't have\n * interference by site names containing ###.\n */\n valid_pos = message.lastIndexOf('###');\n message = message.substr(0, valid_pos); // Remove ending token\n\n\n try\n {\n var data = JSON.parse(message);\n }\n catch (err)\n {\n errorMessage = err.message + \"\\n<br/>\\n<pre>\\n\" + message + \"\\n</pre>\";\n if (errorCallback == null)\n {\n if (akeeba.Restore.errorCallback != null)\n {\n akeeba.Restore.errorCallback(errorMessage);\n }\n else\n {\n akeeba.Restore.errorCallbackDefault(errorMessage);\n }\n }\n else\n {\n errorCallback(errorMessage);\n }\n return;\n }\n\n // Call the callback function\n successCallback(data);\n },\n error: function (Request, textStatus, errorThrown)\n {\n var text = Request.responseText ? Request.responseText : \"\";\n var message = \"<strong>AJAX Loading Error</strong><br/>HTTP Status: \" + Request.status + \" (\" +\n Request.statusText + \")<br/>\";\n\n message = message + \"Internal status: \" + textStatus + \"<br/>\";\n message = message + \"XHR ReadyState: \" + Request.readyState + \"<br/>\";\n message = message + \"Raw server response:<br/>\" + akeeba.System.sanitizeErrorMessage(text);\n\n\n if (errorCallback == null)\n {\n if (akeeba.Restore.errorCallback != null)\n {\n akeeba.Restore.errorCallback(message);\n }\n else\n {\n akeeba.Restore.errorCallbackDefault(message);\n }\n }\n else\n {\n errorCallback(message);\n }\n }\n };\n\n akeeba.Ajax.ajax(structure);\n};\n\n/**\n * Starts the timer for the last response timer\n *\n * @param max_allowance Maximum time allowance in seconds\n * @param bias Runtime bias in %\n */\nakeeba.Restore.startTimeoutBar = function (max_allowance, bias)\n{\n akeeba.Restore.resetTimeoutBar();\n\n akeeba.Restore.timer = setInterval(function ()\n {\n akeeba.Restore.lastResponseSeconds++;\n var lastText = akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_LASTRESPONSE\")\n .replace(\"%s\", akeeba.Restore.lastResponseSeconds.toFixed(0));\n\n try\n {\n document.getElementById(\"response-timer\").querySelector(\"div.text\").textContent = lastText;\n }\n catch (e)\n {\n }\n }, 1000);\n};\n\n/**\n * Resets the last response timer bar\n */\nakeeba.Restore.resetTimeoutBar = function ()\n{\n akeeba.Restore.lastResponseSeconds = 0;\n\n if (akeeba.Restore.timer == 0)\n {\n return;\n }\n\n clearInterval(akeeba.Restore.timer);\n akeeba.Restore.timer = 0;\n\n var timerText = document.getElementById(\"response-timer\").querySelector(\"div.text\");\n var lastText = akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_LASTRESPONSE\").replace(\"%s\", \"0\");\n\n try\n {\n timerText.textContent = lastText;\n }\n catch (e)\n {\n }\n};\n\n/**\n * Pings the restoration script (making sure its executable!!)\n * @return\n */\nakeeba.Restore.pingRestoration = function ()\n{\n // Reset variables\n akeeba.Restore.statistics.inbytes = 0;\n akeeba.Restore.statistics.outbytes = 0;\n akeeba.Restore.statistics.files = 0;\n\n // Do AJAX post\n var post = {task: \"ping\"};\n akeeba.Restore.startTimeoutBar(5000, 80);\n akeeba.Restore.doAjax(post, function (data)\n {\n akeeba.Restore.start(data);\n });\n};\n\n/**\n * Starts the restoration\n * @return\n */\nakeeba.Restore.start = function ()\n{\n // Reset variables\n akeeba.Restore.statistics.inbytes = 0;\n akeeba.Restore.statistics.outbytes = 0;\n akeeba.Restore.statistics.files = 0;\n\n // Do AJAX post\n var post = {task: \"startRestore\"};\n akeeba.Restore.startTimeoutBar(5000, 80);\n akeeba.Restore.doAjax(post, function (data)\n {\n akeeba.Restore.step(data);\n });\n};\n\n/**\n * Steps through the restoration\n * @param data\n * @return\n */\nakeeba.Restore.step = function (data)\n{\n akeeba.Restore.resetTimeoutBar();\n\n if (data.status == false)\n {\n // handle failure\n akeeba.Restore.errorCallbackDefault(data.message);\n }\n else\n {\n if (data.done)\n {\n akeeba.Restore.factory = data.factory;\n // handle finish\n document.getElementById(\"restoration-progress\").style.display = \"none\";\n document.getElementById(\"restoration-extract-ok\").style.display = \"block\";\n }\n else\n {\n // Add data to variables\n akeeba.Restore.statistics.inbytes += data.bytesIn;\n akeeba.Restore.statistics.outbytes += data.bytesOut;\n akeeba.Restore.statistics.files += data.files;\n\n // Display data\n try\n {\n document.getElementById(\"extbytesin\").textContent = akeeba.Restore.statistics.inbytes;\n document.getElementById(\"extbytesout\").textContent = akeeba.Restore.statistics.outbytes;\n document.getElementById(\"extfiles\").textContent = akeeba.Restore.statistics.files;\n }\n catch (e)\n {\n }\n\n // Do AJAX post\n post = {\n task: \"stepRestore\",\n factory: data.factory\n };\n akeeba.Restore.startTimeoutBar(5000, 80);\n akeeba.Restore.doAjax(post, function (data)\n {\n akeeba.Restore.step(data);\n });\n }\n }\n};\n\n/**\n * Finalizes the restoration.\n *\n * @param {Event} e\n *\n * @returns {boolean} Returns false to cancel the button click\n */\nakeeba.Restore.finalize = function (e)\n{\n e.preventDefault();\n\n // Do AJAX post\n var post = {task: \"finalizeRestore\", factory: akeeba.Restore.factory};\n\n akeeba.Restore.startTimeoutBar(5000, 80);\n akeeba.Restore.doAjax(post, function (data)\n {\n akeeba.Restore.finished(data);\n });\n\n return false;\n};\n\nakeeba.Restore.finished = function ()\n{\n // We're just finished - return to the back-end Control Panel\n window.location = akeeba.System.getOptions(\"akeeba.Restore.mainURL\", window.location);\n};\n\n/**\n * Opens a new window / tab with the restoration script\n *\n * @param {Event} e\n *\n * @returns {boolean} Returns false to cancel the button click event\n */\nakeeba.Restore.runInstaller = function (e)\n{\n e.preventDefault();\n\n var siteURL = akeeba.System.getOptions(\"akeeba.Restore.mainURL\", '');\n window.open(siteURL + \"/installation/index.php\", \"abiinstaller\");\n\n var runInstaller = document.getElementById(\"restoration-runinstaller\");\n var finalize = document.getElementById(\"restoration-finalize\");\n\n runInstaller.className = \"akeeba-btn--grey--small\";\n finalize.style.display = \"block\";\n\n return false;\n};\n\nakeeba.Restore.restoreDefaultOptions = function ()\n{\n var jpskey = document.getElementById(\"jps_key\");\n\n if (jpskey)\n {\n jpskey.value = \"ChromeIsDumb\";\n jpskey.value = \"\";\n }\n};\n\nakeeba.Restore.onProcEngineChange = function (e)\n{\n var elProcEngine = document.getElementById(\"procengine\");\n\n if (elProcEngine.options[elProcEngine.selectedIndex].value === \"direct\")\n {\n document.getElementById(\"ftpOptions\").style.display = \"none\";\n document.getElementById(\"testftp\").style.display = \"none\";\n }\n else\n {\n document.getElementById(\"ftpOptions\").style.display = \"block\";\n document.getElementById(\"testftp\").style.display = \"inline-block\";\n }\n};\n\nakeeba.System.documentReady(function ()\n{\n if (akeeba.System.getOptions(\"akeeba.Restore.inMainRestoration\", false))\n {\n // Actual restoration page – hook the buttons and start extracting the archive\n\n akeeba.System.addEventListener(\n document.getElementById(\"restoration-runinstaller\"), \"click\", akeeba.Restore.runInstaller);\n akeeba.System.addEventListener(\n document.getElementById(\"restoration-finalize\"), \"click\", akeeba.Restore.finalize);\n\n akeeba.Restore.pingRestoration();\n }\n else\n {\n // Restoration setup page – Hook the buttons and dropdowns\n\n akeeba.System.addEventListener(\"backup-start\", \"click\", function (e)\n {\n e.preventDefault();\n\n document.adminForm.submit();\n\n return false;\n });\n\n akeeba.System.addEventListener(\"ftp-browse\", \"click\", function (e)\n {\n e.preventDefault();\n\n akeeba.Configuration.FtpBrowser.initialise(\"ftp.initial_directory\", \"ftp\");\n\n return false;\n });\n\n akeeba.System.addEventListener(\"testftp\", \"click\", function (e)\n {\n e.preventDefault();\n\n akeeba.Configuration.FtpTest.testConnection(\"testftp\", \"ftp\");\n\n return false;\n });\n\n akeeba.System.addEventListener(\"procengine\", \"change\", akeeba.Restore.onProcEngineChange);\n\n akeeba.Restore.onProcEngineChange();\n\n // Work around Safari which ignores autocomplete=off\n setTimeout(akeeba.Restore.restoreDefaultOptions, 500);\n }\n});\n"],"mappings":"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"}
Save
cmd:
run