PATH:
home
/
vcomplcotr
/
www
/
wp-content
/
plugins
/
akeebabackupwp
/
app
/
media
/
js
/
solo
{"version":3,"file":"backup.min.js","names":["akeeba","Backup","URLs","tag","backupid","currentDomain","domains","srpInfo","returnUrl","returnForm","timeoutTimer","resumeTimer","resume","retry","showWarnings","timer","waitTime","setTimeout","timerTick","console","log","e","maxExecutionTime","System","getOptions","runtimeBias","resetTimeoutBar","startTimeoutBar","doAjax","ajax","onStep","onError","lastResponseSeconds","setInterval","responseTimer","document","querySelector","textContent","Text","_","replace","toFixed","clearInterval","startRetryTimeoutBar","remainingSeconds","getElementById","resumeBackup","resetRetryTimeoutBar","resumeTimeout","renderBackupSteps","active_step","normal_class","innerHTML","counter","length","element","step","createElement","className","data","set","appendChild","this_class","start","window","AVGRUN","warn","r","confirm","commentEditorSave","err","value","style","display","hasAngieKey","rightNow","Date","notification","notify","toLocaleString","ajax_request","description","comment","array_merge","Domain","width","Progress","Step","Substep","Warnings","barClass","indexOf","warning","i","newDiv","error_message","Error","error","HasRun","onDone","empty","hasOwnProperty","sleepTime","cancelResume","errorMessage","endWithError","message","maxRetries","resumeNotificationMessage","resumeNotificationMessageReplaced","alice_autorun","logURL","aliceURL","viewLogUrl","aliceUrl","encodeURIComponent","setAttribute","location","submit","restoreDefaultOptions","flipProfile","forms","profileForm","documentReady","addEventListener","preventDefault","askPermission"],"sources":["backup.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.Backup === \"undefined\")\n{\n akeeba.Backup = {\n URLs: {},\n tag: \"\",\n backupid: null,\n currentDomain: null,\n domains: {},\n srpInfo: {},\n returnUrl: \"\",\n returnForm: \"\",\n timeoutTimer: null,\n resumeTimer: null,\n resume: {\n retry: 0,\n showWarnings: 0\n }\n };\n}\n\n/**\n * Start the timer which launches the next backup step. This allows us to prevent deep nesting of AJAX calls which could\n * lead to performance issues on long backups.\n *\n * @param waitTime How much time to wait before starting a backup step, in msec (default: 10)\n */\nakeeba.Backup.timer = function (waitTime)\n{\n if (waitTime <= 0)\n {\n waitTime = 10;\n }\n\n setTimeout(akeeba.Backup.timerTick, waitTime);\n};\n\n/**\n * This is used by the timer() method to run the next backup step\n */\nakeeba.Backup.timerTick = function ()\n{\n try\n {\n console.log(\"Timer tick\");\n }\n catch (e)\n {\n }\n\n // Reset the timer\n var maxExecutionTime = akeeba.System.getOptions(\"akeeba.Backup.maxExecutionTime\", 14);\n var runtimeBias = akeeba.System.getOptions(\"akeeba.Backup.runtimeBias\", 75);\n\n akeeba.Backup.resetTimeoutBar();\n akeeba.Backup.startTimeoutBar(maxExecutionTime, runtimeBias);\n\n // Run the step\n akeeba.System.doAjax({\n ajax: \"step\", tag: akeeba.Backup.tag, backupid: akeeba.Backup.backupid\n }, akeeba.Backup.onStep, akeeba.Backup.onError, false);\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.Backup.startTimeoutBar = function (max_allowance, bias)\n{\n var lastResponseSeconds = 0;\n\n akeeba.Backup.timeoutTimer = setInterval(function ()\n {\n lastResponseSeconds++;\n\n var responseTimer = document.querySelector(\"#response-timer div.text\");\n if (responseTimer)\n {\n responseTimer.textContent = akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_LASTRESPONSE\").replace(\n \"%s\", lastResponseSeconds.toFixed(0));\n }\n }, 1000);\n};\n\n/**\n * Resets the last response timer bar\n */\nakeeba.Backup.resetTimeoutBar = function ()\n{\n try\n {\n clearInterval(akeeba.Backup.timeoutTimer);\n }\n catch (e)\n {\n }\n\n var responseTimer = document.querySelector(\"#response-timer div.text\");\n if (responseTimer)\n {\n responseTimer.textContent = akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_LASTRESPONSE\").replace(\"%s\", \"0\");\n }\n};\n\n/**\n * Starts the timer for the last response timer\n */\nakeeba.Backup.startRetryTimeoutBar = function ()\n{\n var remainingSeconds = akeeba.System.getOptions(\"akeeba.Backup.resume.timeout\", 10);\n\n akeeba.Backup.resumeTimer = setInterval(function ()\n {\n remainingSeconds--;\n document.getElementById(\n \"akeeba-retry-timeout\").textContent = remainingSeconds.toFixed(0);\n\n if (remainingSeconds == 0)\n {\n clearInterval(akeeba.Backup.resumeTimer);\n akeeba.Backup.resumeBackup();\n }\n }, 1000);\n};\n\n/**\n * Resets the last response timer bar\n */\nakeeba.Backup.resetRetryTimeoutBar = function ()\n{\n clearInterval(akeeba.Backup.resumeTimer);\n\n var resumeTimeout = akeeba.System.getOptions(\"akeeba.Backup.resume.timeout\", 10);\n\n document.getElementById(\"akeeba-retry-timeout\").textContent = resumeTimeout.toFixed(0);\n};\n\n/**\n * Renders the list of the backup steps\n *\n * @param active_step Which is the active step?\n */\nakeeba.Backup.renderBackupSteps = function (active_step)\n{\n var normal_class = \"akeeba-label--green\";\n\n if (active_step == \"\")\n {\n normal_class = \"akeeba-label--grey\";\n }\n\n document.getElementById(\"backup-steps\").innerHTML = \"\";\n\n var domains = akeeba.System.getOptions(\"akeeba.Backup.domains\", {});\n\n for (var counter = 0; counter < domains.length; counter++)\n {\n var element = domains[counter];\n\n var step = document.createElement(\"div\");\n step.className = \" \";\n step.innerHTML = element[1];\n akeeba.System.data.set(\"domain\", element[0]);\n document.getElementById(\"backup-steps\").appendChild(step);\n\n if (element[0] == active_step)\n {\n normal_class = \"akeeba-label--grey\";\n var this_class = \"akeeba-label--teal\";\n }\n else\n {\n var this_class = normal_class;\n }\n\n step.className += \" \" + this_class;\n }\n};\n\n/**\n * Start the backup\n */\nakeeba.Backup.start = function ()\n{\n try\n {\n console.log(\"Starting backup\");\n console.log(data);\n }\n catch (e)\n {\n }\n\n // Check for AVG Link Scanner\n if (window.AVGRUN)\n {\n try\n {\n console.warn(\"AVG Antivirus with Link Checker detected. The backup WILL fail!\");\n }\n catch (e)\n {\n }\n\n\n var r = confirm(akeeba.System.Text._(\"SOLO_BACKUP_AVGWARNING\"));\n\n if (!r)\n {\n return;\n }\n }\n\n // Save the editor contents\n try\n {\n if (akeeba.Backup.commentEditorSave != null)\n {\n akeeba.Backup.commentEditorSave();\n }\n }\n catch (err)\n {\n // If the editor failed to save its content, just move on and ignore the error\n document.getElementById(\"comment\").value = \"\";\n }\n\n // Hide the backup setup\n document.getElementById(\"backup-setup\").style.display = \"none\";\n // Show the backup progress\n document.getElementById(\"backup-progress-pane\").style.display = \"block\";\n\n // Let's check if we have a password even if we didn't set it in the profile (maybe a password manager filled it?)\n var hasAngieKey = akeeba.System.getOptions(\"akeeba.Backup.hasAngieKey\", false);\n\n if (hasAngieKey)\n {\n document.getElementById(\"angie-password-warning\").style.display = \"block\";\n }\n\n // Show desktop notification\n var rightNow = new Date();\n akeeba.System.notification.notify(\n akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_BACKUPSTARTED\") + \" \" + rightNow.toLocaleString());\n\n // Initialize steps\n akeeba.Backup.renderBackupSteps(\"\");\n\n // Start the response timer\n var maxExecutionTime = akeeba.System.getOptions(\"akeeba.Backup.maxExecutionTime\", 14);\n var runtimeBias = akeeba.System.getOptions(\"akeeba.Backup.runtimeBias\", 75);\n\n akeeba.Backup.startTimeoutBar(maxExecutionTime, runtimeBias);\n\n // Perform Ajax request\n akeeba.Backup.tag = akeeba.Backup.srpInfo.tag;\n\n var ajax_request = {\n // Data to send to AJAX\n \"ajax\": \"start\",\n description: document.getElementById(\"backup-description\").value,\n comment: document.getElementById(\"comment\").value\n };\n\n ajax_request = array_merge(ajax_request, akeeba.Backup.srpInfo);\n\n akeeba.System.doAjax(ajax_request, akeeba.Backup.onStep, akeeba.Backup.onError, false);\n};\n\n/**\n * Backup step callback handler\n *\n * @param data Backup data received\n */\nakeeba.Backup.onStep = function (data)\n{\n try\n {\n console.log(\"Running backup step\");\n console.log(data);\n }\n catch (e)\n {\n }\n\n // Update visual step progress from active domain data\n akeeba.Backup.renderBackupSteps(data.Domain);\n akeeba.Backup.currentDomain = data.Domain;\n\n // Update percentage display\n document.querySelector(\"#backup-percentage div.bar\").style.width = data.Progress + \"%\";\n\n // Update step/substep display\n document.getElementById(\"backup-step\").textContent = data.Step;\n document.getElementById(\"backup-substep\").textContent = data.Substep;\n\n // Do we have warnings?\n data.Warnings = data.Warnings || [];\n\n if (data.Warnings.length > 0)\n {\n var barClass = document.getElementById(\"backup-percentage\").className;\n\n if (barClass.indexOf(\"akeeba-progress--warning\") == -1)\n {\n document.getElementById(\"backup-percentage\").className = \"akeeba-progress--warning\";\n }\n\n for (var i = 0; i < data.Warnings.length; i++)\n {\n var warning = data.Warnings[i];\n\n akeeba.System.notification.notify(akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_BACKUPWARNING\"), warning);\n\n var newDiv = document.createElement(\"div\");\n newDiv.textContent = warning;\n document.getElementById(\"warnings-list\").appendChild(newDiv);\n }\n\n document.getElementById(\"backup-warnings-panel\").style.display = \"block\";\n }\n\n // Do we have errors?\n var error_message = data.Error;\n\n if (error_message != \"\")\n {\n try\n {\n console.error(\"Got an error message\");\n console.log(error_message);\n }\n catch (e)\n {\n }\n\n // Uh-oh! An error has occurred.\n akeeba.Backup.onError(error_message);\n\n return;\n }\n\n // No errors. Good! Are we finished yet?\n if (data[\"HasRun\"] == 1)\n {\n try\n {\n console.log(\"Backup complete\");\n console.log(error_message);\n }\n catch (e)\n {\n }\n\n // Yes. Show backup completion page.\n akeeba.Backup.onDone();\n\n return;\n }\n\n // No. Set the backup tag\n if (empty(akeeba.Backup.tag))\n {\n akeeba.Backup.tag = \"backend\";\n }\n\n // Set the backup id\n akeeba.Backup.backupid = data.backupid;\n\n // Reset the retries\n akeeba.Backup.resume.retry = 0;\n\n // How much time do I have to wait?\n var waitTime = 10;\n\n if (data.hasOwnProperty(\"sleepTime\"))\n {\n waitTime = data.sleepTime;\n }\n\n // ...and send an AJAX command\n try\n {\n console.log(\"Starting tick timer with waitTime = \" + waitTime + \" msec\");\n }\n catch (e)\n {\n }\n\n akeeba.Backup.timer(waitTime);\n};\n\n/**\n * Resume a backup attempt after an AJAX error has occurred.\n */\nakeeba.Backup.resumeBackup = function ()\n{\n // Make sure the timer is stopped\n akeeba.Backup.resetRetryTimeoutBar();\n\n // Hide error and retry panels\n document.getElementById(\"error-panel\").style.display = \"none\";\n document.getElementById(\"retry-panel\").style.display = \"none\";\n\n // Show progress and warnings\n document.getElementById(\"backup-progress-pane\").style.display = \"block\";\n\n if (akeeba.Backup.resume.showWarnings)\n {\n document.getElementById(\"backup-warnings-panel\").style.display = \"block\";\n }\n\n var rightNow = new Date();\n akeeba.System.notification.notify(\n akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_BACKUPRESUME\") + \" \" + rightNow.toLocaleString());\n\n // Restart the backup\n akeeba.Backup.timer();\n};\n\n/**\n * Cancel the automatic resumption of a backup attempt after an AJAX error has occurred\n */\nakeeba.Backup.cancelResume = function ()\n{\n // Make sure the timer is stopped\n akeeba.Backup.resetRetryTimeoutBar();\n\n // Kill the backup\n var errorMessage = document.getElementById(\"backup-error-message-retry\").innerHTML;\n akeeba.Backup.endWithError(errorMessage);\n};\n\n/**\n * AJAX error callback\n *\n * @param message The error message received\n */\nakeeba.Backup.onError = function (message)\n{\n // If resume is not enabled, die.\n if (!akeeba.System.getOptions(\"akeeba.Backup.resume.enabled\", true))\n {\n akeeba.Backup.endWithError(message);\n\n return;\n }\n\n // If we are past the max retries, die.\n var maxRetries = akeeba.System.getOptions(\"akeeba.Backup.resume.maxRetries\");\n if (akeeba.Backup.resume.retry >= maxRetries)\n {\n akeeba.Backup.endWithError(message);\n\n return;\n }\n\n // Make sure the timer is stopped\n akeeba.Backup.resume.retry++;\n akeeba.Backup.resetRetryTimeoutBar();\n\n var resumeNotificationMessage = akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_BACKUPHALT_DESC\");\n var resumeTimeout = akeeba.System.getOptions(\"akeeba.Backup.resume.timeout\", 10);\n var resumeNotificationMessageReplaced = resumeNotificationMessage.replace(\n \"%d\", resumeTimeout.toFixed(0));\n akeeba.System.notification.notify(\n akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_BACKUPHALT\"), resumeNotificationMessageReplaced);\n\n // Save display state of warnings panel\n akeeba.Backup.resume.showWarnings = (document.getElementById(\"backup-warnings-panel\").style.display !== \"none\");\n\n // Hide progress and warnings\n document.getElementById(\"backup-progress-pane\").style.display = \"none\";\n document.getElementById(\"backup-warnings-panel\").style.display = \"none\";\n document.getElementById(\"error-panel\").style.display = \"none\";\n\n // Setup and show the retry pane\n document.getElementById(\"backup-error-message-retry\").textContent = message;\n document.getElementById(\"retry-panel\").style.display = \"block\";\n\n // Start the countdown\n akeeba.Backup.startRetryTimeoutBar();\n};\n\n/**\n * Terminate the backup with an error\n *\n * @param message The error message received\n */\nakeeba.Backup.endWithError = function (message)\n{\n // Make sure the timer is stopped\n akeeba.Backup.resetTimeoutBar();\n\n var alice_autorun = false;\n\n // Hide progress and warnings\n document.getElementById(\"backup-progress-pane\").style.display = \"none\";\n document.getElementById(\"backup-warnings-panel\").style.display = \"none\";\n document.getElementById(\"retry-panel\").style.display = \"none\";\n\n // Set up the view log URL\n var logURL = akeeba.System.getOptions(\"akeeba.Backup.URLs.LogURL\");\n var aliceURL = akeeba.System.getOptions(\"akeeba.Backup.URLs.AliceURL\");\n var viewLogUrl = logURL + \"&tag=\" + akeeba.Backup.tag;\n var aliceUrl = aliceURL + \"&log=\" + akeeba.Backup.tag;\n\n if (akeeba.Backup.backupid)\n {\n viewLogUrl = viewLogUrl + \".\" + encodeURIComponent(akeeba.Backup.backupid);\n aliceUrl = aliceUrl + \".\" + encodeURIComponent(akeeba.Backup.backupid);\n }\n\n if (akeeba.Backup.currentDomain == \"finale\")\n {\n alice_autorun = true;\n aliceUrl += \"&autorun=1\";\n }\n\n document.getElementById(\"ab-viewlog-error\").setAttribute(\"href\", viewLogUrl);\n document.getElementById(\"ab-alice-error\").setAttribute(\"href\", aliceUrl);\n\n akeeba.System.notification.notify(akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_BACKUPFAILED\"), message);\n\n // Try to send a push notification for failed backups\n akeeba.System.doAjax({\n \"ajax\": \"pushFail\",\n \"tag\": akeeba.Backup.tag,\n \"backupid\": akeeba.Backup.backupid,\n \"errorMessage\": message\n }, function (msg)\n {\n });\n\n // Setup and show error pane\n document.getElementById(\"backup-error-message\").textContent = message;\n document.getElementById(\"error-panel\").style.display = \"block\";\n\n // Do we have to automatically analyze the log?\n if (alice_autorun)\n {\n setTimeout(function ()\n {\n window.location = aliceUrl;\n }, 500);\n }\n};\n\n/**\n * Backup finished callback handler\n */\nakeeba.Backup.onDone = function ()\n{\n var rightNow = new Date();\n akeeba.System.notification.notify(\n akeeba.System.Text._(\"COM_AKEEBA_BACKUP_TEXT_BACKUPFINISHED\") + \" \" + rightNow.toLocaleString());\n\n // Make sure the timer is stopped\n akeeba.Backup.resetTimeoutBar();\n\n // Hide progress\n document.getElementById(\"backup-progress-pane\").style.display = \"none\";\n\n // Show finished pane\n document.getElementById(\"backup-complete\").style.display = \"block\";\n document.getElementById(\"backup-warnings-panel\").style.width = \"100%\";\n\n // Show correct log URL\n var logURL = akeeba.System.getOptions(\"akeeba.Backup.URLs.LogURL\");\n var viewLogUrl = logURL + \"&tag=\" + akeeba.Backup.tag;\n\n // If the backup completes in a single pageload the backup tag and backupid are not returned. So I need to cheat.\n if (!akeeba.Backup.tag)\n {\n viewLogUrl = logURL + \"&latest=1\";\n }\n else if (akeeba.Backup.backupid)\n {\n viewLogUrl = viewLogUrl + \".\" + encodeURIComponent(akeeba.Backup.backupid);\n }\n\n try\n {\n document.getElementById(\"ab-viewlog-success\").setAttribute(\"href\", viewLogUrl);\n }\n catch (e)\n {\n }\n\n // Proceed to the return URL if it is set, using a POST redirect or a \"standard\" one\n\n if (akeeba.System.getOptions(\"akeeba.Backup.returnForm\", false))\n {\n document.getElementById(\"returnForm\").submit();\n\n return;\n }\n\n var returnUrl = akeeba.System.getOptions(\"akeeba.Backup.returnUrl\", \"\");\n\n if (returnUrl !== \"\")\n {\n window.location = returnUrl;\n }\n};\n\nakeeba.Backup.restoreDefaultOptions = function ()\n{\n document.getElementById(\"backup-description\").value = akeeba.System.getOptions(\"akeeba.Backup.defaultDescription\");\n\n document.getElementById(\"comment\").value = \"ThisIsADummyStringToWorkAroundChrome\";\n document.getElementById(\"comment\").value = \"\";\n};\n\nakeeba.Backup.flipProfile = function ()\n{\n // Save the description and comments\n document.getElementById(\"flipDescription\").value = document.getElementById(\"backup-description\").value;\n document.getElementById(\"flipComment\").value = document.getElementById(\"comment\").value;\n document.forms.profileForm.submit();\n};\n\nakeeba.System.documentReady(function ()\n{\n akeeba.System.addEventListener(\"backup-start\", \"click\", function (e)\n {\n e.preventDefault();\n akeeba.Backup.start();\n\n return false;\n });\n\n akeeba.System.addEventListener(\"backup-default\", \"click\", function (e)\n {\n e.preventDefault();\n akeeba.Backup.restoreDefaultOptions();\n\n return false;\n });\n\n akeeba.System.addEventListener(\"comAkeebaBackupFlipProfile\", \"click\", function (e)\n {\n e.preventDefault();\n akeeba.Backup.flipProfile();\n\n return false;\n });\n\n akeeba.System.addEventListener(\"comAkeebaBackupResumeCancel\", \"click\", function (e)\n {\n e.preventDefault();\n akeeba.Backup.cancelResume();\n\n return false;\n });\n\n akeeba.System.addEventListener(\"comAkeebaBackupResume\", \"click\", function (e)\n {\n e.preventDefault();\n akeeba.Backup.resumeBackup();\n\n return false;\n });\n\n akeeba.System.addEventListener(\"profileId\", \"change\", akeeba.Backup.flipProfile);\n\n setTimeout(function ()\n {\n if (akeeba.System.getOptions(\"akeeba.Backup.autoStart\", false))\n {\n akeeba.Backup.start();\n }\n }, 500);\n\n akeeba.System.notification.askPermission();\n});"],"mappings":"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"}
[+]
..
[-] remotefiles.js
[edit]
[-] ajax.min.js.map
[edit]
[-] modal.min.js.map
[edit]
[-] tooltip.min.js
[edit]
[-] update.min.js
[edit]
[-] browser.min.js.map
[edit]
[-] manage.js
[edit]
[-] configuration.min.js.map
[edit]
[-] fsfilters.min.js
[edit]
[-] extradirs.min.js.map
[edit]
[-] transfer.min.js.map
[edit]
[-] modal.min.js
[edit]
[-] dbfilters.min.js
[edit]
[-] ajax.js
[edit]
[-] discover.min.js.map
[edit]
[-] transfer.js
[edit]
[-] regexfsfilters.min.js.map
[edit]
[-] wizard.min.js
[edit]
[-] main.min.js.map
[edit]
[-] s3import.min.js.map
[edit]
[-] discover.js
[edit]
[-] gui-helpers.min.js
[edit]
[-] tooltip.min.js.map
[edit]
[-] regexdbfilters.min.js.map
[edit]
[-] log.min.js.map
[edit]
[-] browser.js
[edit]
[-] remotefiles.min.js.map
[edit]
[-] tooltip.js
[edit]
[-] gui-helpers.min.js.map
[edit]
[-] showon.min.js.map
[edit]
[-] wizard.min.js.map
[edit]
[-] upload.min.js.map
[edit]
[-] remotefiles.min.js
[edit]
[-] system.min.js
[edit]
[-] system.min.js.map
[edit]
[-] configuration.min.js
[edit]
[-] multidb.min.js.map
[edit]
[-] upload.min.js
[edit]
[-] manage.min.js.map
[edit]
[-] modal.js
[edit]
[-] showon.js
[edit]
[-] upload.js
[edit]
[-] manage.min.js
[edit]
[-] setup.min.js.map
[edit]
[-] main.min.js
[edit]
[-] users.min.js.map
[edit]
[-] showon.min.js
[edit]
[-] restore.min.js.map
[edit]
[-] backup.min.js
[edit]
[-] ajax.min.js
[edit]
[-] dbfilters.min.js.map
[edit]
[-] s3import.js
[edit]
[-] browser.min.js
[edit]
[-] log.js
[edit]
[-] update.min.js.map
[edit]
[-] fsfilters.min.js.map
[edit]
[-] backup.min.js.map
[edit]
[-] log.min.js
[edit]
[-] main.js
[edit]
[-] discover.min.js
[edit]
[-] users.js
[edit]
[-] s3import.min.js
[edit]