📁
SKYSHELL MANAGER
PHP v8.2.30
Create
Create
Path:
root
/
home
/
qooetu
/
costes.qooetu.com
/
Name
Size
Perm
Actions
📁
.well-known
-
0755
🗑️
🏷️
🔒
📁
2e19d9
-
0755
🗑️
🏷️
🔒
📁
6b114
-
0755
🗑️
🏷️
🔒
📁
Modules
-
0755
🗑️
🏷️
🔒
📁
app
-
0755
🗑️
🏷️
🔒
📁
assets
-
0755
🗑️
🏷️
🔒
📁
bootstrap
-
0755
🗑️
🏷️
🔒
📁
cgi-bin
-
0755
🗑️
🏷️
🔒
📁
config
-
0755
🗑️
🏷️
🔒
📁
css
-
0755
🗑️
🏷️
🔒
📁
database
-
0755
🗑️
🏷️
🔒
📁
images
-
0755
🗑️
🏷️
🔒
📁
js
-
0755
🗑️
🏷️
🔒
📁
nbproject
-
0755
🗑️
🏷️
🔒
📁
public
-
0755
🗑️
🏷️
🔒
📁
resources
-
0755
🗑️
🏷️
🔒
📁
routes
-
0755
🗑️
🏷️
🔒
📁
storage
-
0755
🗑️
🏷️
🔒
📁
tests
-
0755
🗑️
🏷️
🔒
📁
uploads
-
0755
🗑️
🏷️
🔒
📁
vendor
-
0755
🗑️
🏷️
🔒
📁
wp-admin
-
0755
🗑️
🏷️
🔒
📁
wp-content
-
0755
🗑️
🏷️
🔒
📁
wp-includes
-
0755
🗑️
🏷️
🔒
📄
.htaccess
0.23 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
COOKIE.txt
0.2 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
X7ROOT.txt
0.27 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
defaults.php
1.29 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
engine.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
error_log
813.08 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
features.php
11.28 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
googlecfb82e09419fc0f6.html
0.05 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
index.php0
1.56 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
inputs.php
0.12 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
kurd.html
1.07 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
library.php
0 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
min.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
p.php
2.75 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
php.ini
0.04 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
product.php
1.78 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
qpmwztts.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
robots.txt
0.32 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
📄
tovmbkwh.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
tyyffovi.php
0.74 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
📄
veoxv.html
1.23 KB
0644
🗑️
🏷️
⬇️
✏️
🔒
Edit: restorefullbackup.js
/* jshint -W098 */ (function(window) { "use strict"; var EVENT = window.EVENT; var CPANEL = window.CPANEL; var LOCALE = window.LOCALE; var YAHOO = window.YAHOO; var PAGE = window.PAGE || {}; var document = window.document; var VALIDATORS = {}; var usernameIsVisible = true; // Global flag to prevent the ajax call from enabling the field while hidden var USER_COMBOBOX_CONFIG = { useShadow: false, expander: "userexpander", applyLocalFilter: true, queryMatchCase: false, typeAhead: true, autoHighlight: false }; /** * Function to clear CJT validation messages * * @method clearValidation */ var clearValidation = function() { ["restoreFile", "user"].forEach(function(validation_type) { if (VALIDATORS[validation_type]) { VALIDATORS[validation_type].clear_messages(); } }); }; /** * Function to toggle what input we use * * @method toggleInput */ var toggleInput = function(e, toggleTo) { if (CPANEL.PAGE.fileInputAnimation) { e.preventDefault(); return; } toggleTo = toggleTo === "username" ? "username" : "file"; /* current state is already expanded to the correct 'restoreWith' */ if (toggleTo === CPANEL.PAGE.restoreWithState) { return; } var restoreRadio = CPANEL.Y.all("input[name='restoreOption']"), restoreWithUsername = CPANEL.Y.one("#restoreWithUsername"), userInputWrapper = CPANEL.Y.one("#userInputWrapper"), fileInputWrapper = CPANEL.Y.one("#fileInputWrapper"), fileInput = CPANEL.Y.one("#restorePackage"), userInput = CPANEL.Y.one("#user"), restoreAnimation; CPANEL.PAGE.restoreWithState = toggleTo; // We only need to track one animation since they both have the same animate time and will finish at the same time. if (toggleTo === "username") { CPANEL.PAGE.restoreAnimation = CPANEL.animate.slide_down(userInputWrapper); CPANEL.PAGE.fileInputAnimation = CPANEL.animate.slide_up(fileInputWrapper); CPANEL.PAGE.fileInputAnimation.onComplete.subscribe(function() { // Resets input ty=e"file" since browsers won't let you modify value CPANEL.Y.one("#restorePackage").parentElement.innerHTML = CPANEL.Y.one("#restorePackage").parentElement.innerHTML; // We have to 'reset' the validators since the html is being regenerated and the previous validator lost VALIDATORS.restoreFile.validators = []; VALIDATORS.restoreFile.add_for_submit("restorePackage", validateFileExists, LOCALE.maketext("You must provide a file."), function() { return !CPANEL.Y.one("#restoreWithUsername").checked; }); }); fileInput.disabled = true; userInput.disabled = false; VALIDATORS.restoreFile.attach(); } else { fileInput.disabled = false; userInput.disabled = true; CPANEL.PAGE.restoreAnimation = CPANEL.animate.slide_up(userInputWrapper); CPANEL.PAGE.fileInputAnimation = CPANEL.animate.slide_down(fileInputWrapper); } CPANEL.PAGE.fileInputAnimation.onComplete.subscribe(function() { /* on complete of fileInputAnimation destroy it */ CPANEL.PAGE.fileInputAnimation = null; }); clearValidation(); }; /** * Function that calls the list_cparchive_files API and passes the result to generate a * Combobox for the user. * * @method refreshMatchingFiles */ var refreshMatchingFiles = function() { var userComboInfo = []; PAGE["userList"] = {}; CPANEL.Y.one("#user").disabled = true; YAHOO.util.Dom.addClass("user", "processing"); CPANEL.api({ func: "list_cparchive_files", api_data: { sort: [ ["user", "lexicographic"] ] }, callback: { success: function(o) { if (usernameIsVisible) { CPANEL.Y.one("#user").disabled = false; } YAHOO.util.Dom.removeClass("user", "processing"); if (o.cpanel_data && o.cpanel_data.length > 0) { for (var x = 0; x < o.cpanel_data.length; x++) { // Push the username into a user array userComboInfo.push({ "name": o.cpanel_data[x]["user"], "fileInfo": o.cpanel_data[x]["path"] + "/" + o.cpanel_data[x]["file"] }); // We create an object of users so we can validate against that in O(n). PAGE["userList"][o.cpanel_data[x]["user"]] = o.cpanel_data[x]["path"] + "/" + o.cpanel_data[x]["file"]; } } else { userComboInfo.push({ "name": LOCALE.maketext("None"), "fileInfo": LOCALE.maketext("No matching files were found.") }); } initializeSelector(userComboInfo); }, failure: function() { CPANEL.Y.one("#user").disabled = false; YAHOO.util.Dom.removeClass("user", "processing"); userComboInfo.push({ "name": LOCALE.maketext("None"), "fileInfo": LOCALE.maketext("Unable to get retrieve list of files, please try again later.") }); initializeSelector(userComboInfo); } } }); }; /** * Sets the filePath. Triggered on validation. * * @method setFilePath */ var setFilePath = function(filePath) { var filePathInput = CPANEL.Y.one("#filepath"), filePathDisplay = CPANEL.Y.one("#filepathDisplay"); if (!filePath) { filePath = LOCALE.maketext("No filepath associated with username."); filePathInput.value = ""; } else { filePathInput.value = filePath; } filePathDisplay.innerHTML = filePath; }; /** * Validator for username. We generate an object with each user added and do a lookup to verify * it exists. If not return false. * * @method validateUserComboSelect */ var validateUserComboSelect = function() { if (!PAGE["userList"]) { return false; } else { return !!PAGE["userList"][CPANEL.Y.one("#user").value]; } }; /** * Validates the file exists. The existing validator functions were not working with type="file" * * @method validateFileExists */ var validateFileExists = function() { var fileName = CPANEL.Y.one("#restorePackage").value; if (fileName.trim().length > 0) { return true; } else { return false; } }; /** * This function creates the Combobox and attaches data for it. It also sets the format * and ties an event listener to the onSelect of the combobox. * it exists. If not return false. * * @method initializeSelector * @param {object} userComboInfo An object that contains 'file', 'path', and 'user' returned from 'list_cparchive_files' */ var initializeSelector = function(userComboInfo) { // We create a DataSource here since we are passing in an object instead of an array. Normally // Combobox will create it's own DataSource in this same manner but we would be unable to // edit the responseSchema otherwise. var dataSource = new YAHOO.util.LocalDataSource(userComboInfo); dataSource.responseSchema = { fields: ["name", "fileInfo"] }; var cfg = YAHOO.lang.augmentObject({ maxResultsDisplayed: userComboInfo.length }, USER_COMBOBOX_CONFIG); var userCombo = new CPANEL.widgets.Combobox(CPANEL.Y.one("#user"), null, dataSource, cfg); userCombo.resultTypeList = false; // If we select a user we also want to trigger the validate userCombo.itemSelectEvent.subscribe(function(eventName, data) { // Data[2] is the object associated with the item the user selects and contains 'name' and 'fileInfo' if (data[2]) { setFilePath(data[2]["fileInfo"]); } VALIDATORS.user.verify(); }); // Normally a template would be a better choice but this call is being made on every draw, // so for a list that has a huge dataset this will cause freezing userCombo.formatResult = function(oResultData) { return "<strong>" + oResultData.name + "</strong>" + "<p class=\"text-muted small\">" + oResultData.fileInfo + "</p>"; }; }; /** * This function initializes all the validators and ties an event to the file onChange * * @method initializeValidators */ var initializeValidators = function() { VALIDATORS.user = new CPANEL.validate.validator(LOCALE.maketext("User Name")); VALIDATORS.user.add_for_submit("user", "min_length($input$.trim(),1)", LOCALE.maketext("You must provide a username."), function() { return CPANEL.Y.one("#restoreWithUsername").checked; }); VALIDATORS.user.add("user", validateUserComboSelect, LOCALE.maketext("You must choose a valid username."), function() { return CPANEL.Y.one("#restoreWithUsername").checked; }); VALIDATORS.user.attach(); VALIDATORS.restoreFile = new CPANEL.validate.validator(LOCALE.maketext("Restore File")); VALIDATORS.restoreFile.add_for_submit("restorePackage", validateFileExists, LOCALE.maketext("You must provide a file."), function() { return !CPANEL.Y.one("#restoreWithUsername").checked; }); VALIDATORS.restoreFile.attach(); var submitButton = CPANEL.Y.one("#restoreButton"); CPANEL.validate.attach_to_form(submitButton.id, VALIDATORS, { no_panel: true, success_callback: function() { document.forms["restoreForm"].submit(); } }); }; /** * This function sets the validation up and triggers the refreshMatchingFiles function to load data on the page. * * @method init */ var init = function() { EVENT.on(CPANEL.Y.all("#restoreWithFile , #restoreWithUsername"), "click", function(e) { var toggleTo = e.currentTarget.id === "restoreWithFile" ? "file" : "username"; toggleInput.call(this, e, toggleTo); }); EVENT.on(CPANEL.Y.one("#user"), "input", function() { setFilePath(PAGE["userList"][CPANEL.Y.one("#user").value]); }); initializeValidators(); toggleInput(null, "username"); refreshMatchingFiles(); }; EVENT.onDOMReady(init); })(window);
Save