✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ webm004.cluster127.gra.hosting.ovh.net ​🇻​♯➤ 6.18.42-ovh-vps-grsec-zfs+ #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 54.36.91.62 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.14
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ _dyuweyrj4,_dyuweyrj4r,dl

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/docteuh/www/envhttps/core/bootstrap//Plugin.php
<?php

declare(strict_types=1);

namespace ReallySimplePlugins\RSS\Core\Bootstrap;

use ReallySimplePlugins\RSS\Core\Controllers\DashboardController;
use ReallySimplePlugins\RSS\Core\Controllers\ScheduledTasksController;
use ReallySimplePlugins\RSS\Core\Managers\ControllerManager;
use ReallySimplePlugins\RSS\Core\Managers\EndpointManager;
use ReallySimplePlugins\RSS\Core\Managers\FeatureManager;
use ReallySimplePlugins\RSS\Core\Managers\ProviderManager;
use ReallySimplePlugins\RSS\Core\Support\Helpers\Storages\EnvironmentConfig;

class Plugin
{
    private App $app;
    private EnvironmentConfig $env;
    private FeatureManager $featureManager;
    private ProviderManager $providerManager;
    private EndpointManager $endpointManager;
    private ControllerManager $controllerManager;

    /**
     * Plugin constructor
     */
    public function __construct()
    {
        $this->app = App::getInstance();
        $this->env = $this->app->make(EnvironmentConfig::class);

        $this->featureManager = $this->app->make(FeatureManager::class);
        $this->providerManager = $this->app->make(ProviderManager::class);
        $this->controllerManager = $this->app->make(ControllerManager::class);
        $this->endpointManager = $this->app->make(EndpointManager::class);
    }

    /**
     * Boot the plugin
     */
    public function boot(): void
    {
        $this->registerEnvironment();

        $pluginBaseFile = (defined('rsssl_file') && !empty(rsssl_file) ? rsssl_file : '');
        if (empty($pluginBaseFile)) {
            $pluginBaseFile = (dirname(__DIR__, 2) . DIRECTORY_SEPARATOR . plugin_basename(dirname(__DIR__, 2)) . '.php');
        }
        register_activation_hook($pluginBaseFile, [$this, 'activation']);
        register_deactivation_hook($pluginBaseFile, [$this, 'deactivation']);
        register_uninstall_hook($pluginBaseFile, 'ReallySimplePlugins\RSS\Core\Bootstrap\Plugin::uninstall');

        // Priority BEFORE main plugin to be able to hook into actions/filters
        add_action('plugins_loaded', [$this, 'registerProviders'], 5);
        add_action('plugins_loaded', [$this, 'loadPluginTextDomain'], 10); // Config must be provided by registerProviders
        add_action('rss_core_providers_loaded', [$this->featureManager, 'registerFeatures']); // Makes sure features exist when Controllers need them
        add_action('rss_core_features_loaded', [$this, 'registerControllers']); // Control the functionality of the plugin
        add_action('rss_core_controllers_loaded', [$this, 'checkForUpgrades']); // Makes sure Controllers can hook into the upgrade process
        add_action('rest_api_init', [$this, 'registerEndpoints']);
        add_action('admin_init', [$this, 'fireActivationHook']);
    }

    /**
     * Register the plugin environment. The value of the environment will
     * determine which domain and app_key are used for the API calls. The
     * default value is production and can be [production|development].
     * See {@see config/environment.php} for the actual values.
     */
    public function registerEnvironment(): void
    {
        if (!defined('RSS_CORE_ENV')) {
            define('RSS_CORE_ENV', 'development');
        }
    }

    /**
     * Load the plugin text domain for translations
     */
    public function loadPluginTextDomain(): void
    {
        load_plugin_textdomain('really-simple-ssl', false, $this->env->getString('plugin.lang_dir'));
    }

    /**
     * Method that fires on activation. It creates a flag in the database
     * options table to indicate that the plugin is being activated. Flag is
     * used by {@see fireActivationHook} to run the activation hook only once.
     */
    public function activation(): void
    {
        global $pagenow;

        // Set the flag on activation
        update_option('rss_core_activation_flag', true, false);
        update_option('rss_core_activation_source_page', sanitize_text_field($pagenow), false);

        // Flush rewrite rules to ensure the new routes are available
        // add_action('shutdown', 'flush_rewrite_rules'); - todo: not yet handled by core
    }

    /**
     * Method fires the activation hook. But only if the plugin is being
     * activated. The flag is set in the database options table
     * {@see activation} and is used to determine if the plugin is being
     * activated. This method removes the flag after it has been used.
     */
    public function fireActivationHook(): void
    {
        if (get_option('rss_core_activation_flag', false) === false) {
            return;
        }

        // Get the source page where the activation was triggered from
        $source = get_option('rss_core_activation_source_page', 'unknown');

        // Remove the activation flag so the action doesn't run again. Do it
        // before the action so its deleted before anything can go wrong.
        delete_option('rss_core_activation_flag');
        delete_option('rss_core_activation_source_page');

        // Gives possibility to hook into the activation process
        do_action('rss_core_activation', $source); // !important
    }

    /**
     * Method that fires on deactivation
     */
    public function deactivation(): void
    {
        // Silence is golden
    }

    /**
     * Method that fires on uninstall
     */
    public static function uninstall(): void
    {
        // todo - uninstall not yet handled by core.
    }

    /**
     * Register Plugin providers. Providers will add functionality to the
     * container. These functionalities are lazy loaded for initialization
     * until its first use. Therefor it is not hooked into an action.
     * @uses do_action rss_core_providers_loaded
     */
    public function registerProviders(): void
    {
        $this->providerManager->register([
        ]);
    }

    /**
     * Register Controllers. Hooked into rss_core_features_loaded to make sure
     * features are available to the Controllers.
     * @uses do_action rss_core_controllers_loaded
     * @uses apply_filters rss_core_controller_classes
     */
    public function registerControllers(): void
    {
        $controllers = apply_filters('rss_core_controller_classes', [
            DashboardController::class,
        ]);

        $this->controllerManager->register($controllers);
    }

    /**
     * Register the plugins REST API endpoint instances. Hooked into
     * rest_api_init to make sure the REST API is available.
     * @uses do_action rss_core_endpoints_loaded
     */
    public function registerEndpoints(): void
    {
        $this->endpointManager->register([
        ]);
    }

    /**
     * Fire an action when the plugin is upgraded from one version to another.
     * Hooked into rss_core_controllers_loaded to make sure Controllers can
     * hook into rss_core_plugin_version_upgrade.
     *
     * @internal Note the starting underscore in the option name. This is to
     * prevent the option from being deleted when a user logs out. As if
     * it is a private Really Simple Security Core option.
     *
     * @uses do_action rss_core_plugin_version_upgrade
     */
    public function checkForUpgrades(): void
    {
        // todo - upgrades not yet handled by core.
    }
}


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
24 Sep 2026 12.08 PM
docteuh / users
0755
App.php
7.682 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
Plugin.php
7.081 KB
18 Jun 2026 6.25 PM
docteuh / users
0644
icon-redirect-manager-20260827192224-20260829103225-20260831094625.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260827192224-20260829103225.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260827192224-20260829104019-20260829230525.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260827192224-20260829104019-20260831075332.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260827192224-20260829104019.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260829050506-20260830003632-20260830003701-20260830003856-20260830005246.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260829050506-20260830004210-20260830004247-20260830005923-20260830010807.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644
icon-redirect-manager-20260829102432-20260830004210-20260830004246-20260830005248-20260830025252.svg
1.299 KB
23 Jun 2026 6.19 PM
docteuh / users
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF