Fragen\GitHub_Updater\Base::init PHP Метод

init() публичный Метод

Instantiate Plugin, Theme, and Settings for proper user capabilities.
public init ( ) : boolean
Результат boolean
    public function init()
    {
        global $pagenow;
        $load_multisite = is_network_admin() && current_user_can('manage_network');
        $load_single_site = !is_multisite() && current_user_can('manage_options');
        self::$load_repo_meta = $load_multisite || $load_single_site;
        // Set $force_meta_update = true on appropriate admin pages.
        $force_meta_update = false;
        $admin_pages = array('plugins.php', 'plugin-install.php', 'themes.php', 'theme-install.php', 'update-core.php', 'update.php', 'options-general.php', 'settings.php');
        foreach (array_keys(Settings::$remote_management) as $key) {
            // Remote management only needs to be active for admin pages.
            if (is_admin() && !empty(self::$options_remote[$key])) {
                $admin_pages = array_merge($admin_pages, array('index.php', 'admin-ajax.php'));
            }
        }
        if (in_array($pagenow, array_unique($admin_pages))) {
            $force_meta_update = true;
            // Run GitHub Updater upgrade functions.
            new GHU_Upgrade();
            // Ensure transient updated on plugins.php and themes.php pages.
            add_action('admin_init', array(&$this, 'admin_pages_update_transient'));
        }
        if (isset($_POST['ghu_refresh_cache'])) {
            /**
             * Fires later in cycle when Refreshing Cache.
             *
             * @since 6.0.0
             */
            do_action('ghu_refresh_transients');
        }
        if ($force_meta_update) {
            $this->forced_meta_update_plugins();
        }
        if ($force_meta_update) {
            $this->forced_meta_update_themes();
        }
        if (is_admin() && self::$load_repo_meta && !apply_filters('github_updater_hide_settings', false)) {
            new Settings();
        }
        return true;
    }