Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
cesa.co.za /
sipdm.cesa.co.za /
lib /
amd /
src /
Delete
Unzip
Name
Size
Permission
Date
Action
addblockmodal.js
2.45
KB
-rw-r--r--
2017-06-22 15:32
ajax.js
6.41
KB
-rw-r--r--
2017-06-22 15:32
auto_rows.js
2.85
KB
-rw-r--r--
2017-06-22 15:32
backoff_timer.js
5.12
KB
-rw-r--r--
2017-06-22 15:32
chart_axis.js
7.43
KB
-rw-r--r--
2017-06-22 15:32
chart_bar.js
3.13
KB
-rw-r--r--
2017-06-22 15:32
chart_base.js
10.63
KB
-rw-r--r--
2017-06-22 15:32
chart_builder.js
1.67
KB
-rw-r--r--
2017-06-22 15:32
chart_line.js
2.13
KB
-rw-r--r--
2017-06-22 15:32
chart_output.js
1.1
KB
-rw-r--r--
2017-06-22 15:32
chart_output_base.js
2.09
KB
-rw-r--r--
2017-06-22 15:32
chart_output_chartjs.js
10.48
KB
-rw-r--r--
2017-06-22 15:32
chart_output_htmltable.js
3.36
KB
-rw-r--r--
2017-06-22 15:32
chart_pie.js
3.09
KB
-rw-r--r--
2017-06-22 15:32
chart_series.js
7.88
KB
-rw-r--r--
2017-06-22 15:32
chartjs-lazy.js
311.89
KB
-rw-r--r--
2017-06-22 15:32
chartjs.js
933
B
-rw-r--r--
2017-06-22 15:32
config.js
1.05
KB
-rw-r--r--
2017-06-22 15:32
custom_interaction_events.js
14.82
KB
-rw-r--r--
2017-06-22 15:32
event.js
3.03
KB
-rw-r--r--
2017-06-22 15:32
first.js
1.38
KB
-rw-r--r--
2017-06-22 15:32
form-autocomplete.js
36.23
KB
-rw-r--r--
2017-06-22 15:32
form-course-selector.js
3.75
KB
-rw-r--r--
2017-06-22 15:32
fragment.js
4.96
KB
-rw-r--r--
2017-06-22 15:32
inplace_editable.js
9.23
KB
-rw-r--r--
2017-06-22 15:32
key_codes.js
1.32
KB
-rw-r--r--
2017-06-22 15:32
localstorage.js
5.73
KB
-rw-r--r--
2017-06-22 15:32
log.js
1.76
KB
-rw-r--r--
2017-06-22 15:32
loglevel.js
8.79
KB
-rw-r--r--
2017-06-22 15:32
modal.js
17.79
KB
-rw-r--r--
2017-06-22 15:32
modal_backdrop.js
3.86
KB
-rw-r--r--
2017-06-22 15:32
modal_cancel.js
2.57
KB
-rw-r--r--
2017-06-22 15:32
modal_confirm.js
3.12
KB
-rw-r--r--
2017-06-22 15:32
modal_events.js
1.3
KB
-rw-r--r--
2017-06-22 15:32
modal_factory.js
5.24
KB
-rw-r--r--
2017-06-22 15:32
modal_save_cancel.js
3.18
KB
-rw-r--r--
2017-06-22 15:32
mustache.js
22.8
KB
-rw-r--r--
2017-06-22 15:32
notification.js
9.09
KB
-rw-r--r--
2017-06-22 15:32
permissionmanager.js
9.17
KB
-rw-r--r--
2017-06-22 15:32
popover_region_controller.js
12.58
KB
-rw-r--r--
2017-06-22 15:32
search-input.js
3.24
KB
-rw-r--r--
2017-06-22 15:32
str.js
7.37
KB
-rw-r--r--
2017-06-22 15:32
tag.js
16.22
KB
-rw-r--r--
2017-06-22 15:32
templates.js
24.73
KB
-rw-r--r--
2017-06-22 15:32
tooltip.js
4.1
KB
-rw-r--r--
2017-06-22 15:32
tree.js
17.58
KB
-rw-r--r--
2017-06-22 15:32
url.js
3.69
KB
-rw-r--r--
2017-06-22 15:32
yui.js
1.15
KB
-rw-r--r--
2017-06-22 15:32
Save
Rename
// 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 language strings. * Hooks into the old M.str global - but can also fetch missing strings on the fly. * * @module core/str * @class str * @package core * @copyright 2015 Damyon Wiese <damyon@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @since 2.9 */ // Disable no-restriced-properties because M.str is expected here: /* eslint-disable no-restricted-properties */ define(['jquery', 'core/ajax', 'core/localstorage'], function($, ajax, storage) { var promiseCache = []; return /** @alias module:core/str */ { // Public variables and functions. /** * Return a promise object that will be resolved into a string eventually (maybe immediately). * * @method get_string * @param {string} key The language string key * @param {string} component The language string component * @param {string} param The param for variable expansion in the string. * @param {string} lang The users language - if not passed it is deduced. * @return {Promise} */ // eslint-disable-next-line camelcase get_string: function(key, component, param, lang) { var request = this.get_strings([{ key: key, component: component, param: param, lang: lang }]); return request.then(function(results) { return results[0]; }); }, /** * Make a batch request to load a set of strings * * @method get_strings * @param {Object[]} requests Array of { key: key, component: component, param: param, lang: lang }; * See get_string for more info on these args. * @return {Promise} */ // eslint-disable-next-line camelcase get_strings: function(requests) { var deferred = $.Deferred(); var results = []; var i = 0; var missing = false; var request; // Try from local storage. If it's there - put it in M.str and resolve it. for (i = 0; i < requests.length; i++) { request = requests[i]; if (typeof request.lang === "undefined") { request.lang = $('html').attr('lang').replace('-', '_'); } request.cacheKey = 'core_str/' + request.key + '/' + request.component + '/' + request.lang; if (typeof M.str[request.component] === "undefined" || typeof M.str[request.component][request.key] === "undefined") { // Try and revive it from local storage. var cached = storage.get(request.cacheKey); if (cached) { if (typeof M.str[request.component] === "undefined") { M.str[request.component] = []; } M.str[request.component][request.key] = cached; } else { // It's really not here. missing = true; } } } if (!missing) { // We have all the strings already. for (i = 0; i < requests.length; i++) { request = requests[i]; results[i] = M.util.get_string(request.key, request.component, request.param); } deferred.resolve(results); } else { var ajaxrequests = []; var fetchpromises = []; // Done handler for ajax call. Must be bound to the current fetchpromise. We do this // to avoid creating a function in a loop. var doneFunc = function(str) { this.resolve(str); }; var failFunc = function(reason) { this.reject(reason); }; for (i = 0; i < requests.length; i++) { request = requests[i]; // If we ever fetched this string with a promise, reuse it. if (typeof promiseCache[request.cacheKey] !== 'undefined') { fetchpromises.push(promiseCache[request.cacheKey]); } else { // Add this to the list we need to really fetch. var fetchpromise = $.Deferred(); ajaxrequests.push({ methodname: 'core_get_string', args: { stringid: request.key, component: request.component, lang: request.lang, stringparams: [] }, done: doneFunc.bind(fetchpromise), fail: failFunc.bind(fetchpromise) }); promiseCache[request.cacheKey] = fetchpromise.promise(); fetchpromises.push(promiseCache[request.cacheKey]); } } // Everything might already be queued so we need to check if we have real ajax requests to run. if (ajaxrequests.length > 0) { ajax.call(ajaxrequests, true, false); } $.when.apply(null, fetchpromises).done( function() { // Turn the list of arguments (unknown length) into a real array. var i = 0; for (i = 0; i < arguments.length; i++) { request = requests[i]; // Cache all the string templates. if (typeof M.str[request.component] === "undefined") { M.str[request.component] = []; } M.str[request.component][request.key] = arguments[i]; storage.set('core_str/' + request.key + '/' + request.component + '/' + request.lang, arguments[i]); // And set the results. results[i] = M.util.get_string(request.key, request.component, request.param).trim(); } deferred.resolve(results); } ).fail( function(ex) { deferred.reject(ex); } ); } return deferred.promise(); } }; });