File "class-gplvault-util.php"

Full path: /home/kosmetik/public_html/wp-content/plugins/gplvault-updater/includes/class-gplvault-util.php
File size: 2.02 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

defined('ABSPATH') || exit;
class GPLVault_Util
{
    protected static $singleton = null;
    protected $settings;
    public static function instance()
    {
        if (is_null(self::$singleton)) {
            self::$singleton = new self();
        }
        return self::$singleton;
    }
    private function __construct()
    {
        $this->settings = GPLVault_Settings_Manager::instance();
    }
    public function rename_plugins($plugins)
    {
        $gv_plugins = (array) $this->settings->get_available_plugins();
        if (!empty($gv_plugins)) {
            foreach ($plugins as $key => $plugin) {
                if (array_key_exists($key, $gv_plugins) && !empty($gv_plugins[$key]['short_name'])) {
                    $plugins[$key]['Name'] = $gv_plugins[$key]['short_name'];
                }
            }
        }
        return $plugins;
    }
    public function disable_woothemes_notice()
    {
        add_filter('woocommerce_helper_suppress_admin_notices', '__return_true');
    }
    public static function is_gplvault_area()
    {
        $pages = array(GPLVault_Admin::SLUG_PLUGINS, GPLVault_Admin::SLUG_THEME, GPLVault_Admin::SLUG_SETTINGS);
        $p_now = isset($_REQUEST['page']) ? sanitize_text_field($_REQUEST['page']) : '';
        return in_array($p_now, $pages, true);
    }
    public function cleanup()
    {
        $main = GPLVault();
        $admin = GPLVault_Admin::instance();
        remove_action('init', array($this, 'disable_woothemes_notice'));
        remove_action('init', array($main, 'update_schema'));
        remove_action('init', array($main, 'gplvault_six_hours_cron'));
        remove_action('init', array($main, 'load_initial_schema'));
        remove_action('gplvault_six_hours_cron', array($main, 'update_schema'));
        remove_filter('all_plugins', array($this, 'rename_plugins'));
        remove_filter('cron_schedules', array($main, 'cron_schedules'));
    }
    public function inactive_status_notice()
    {
        include GV_UPDATER_STATIC_PATH . 'notices/notice-inactive.php';
    }
}