# darkify/1.4.0/src/Admin/Admin.php

Darkify – Dark Mode &amp; Night Mode for Website &amp; Admin (Dark Theme Included), version 1.4.0. 195 lines.

- Page: https://pluginprobe.com/plugins/darkify/1.4.0/code/src/Admin/Admin.php
- Raw: https://pluginprobe.com/plugins/darkify/1.4.0/raw/src/Admin/Admin.php
- Modified: 2025-05-15T13:43:26+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/darkify/1.4.0/code/src/Admin/Admin.php#L10-L20`.

```php
<?php

/**
 * The admin-facing functionality of the plugin.
 *
 * @link       https://themeatelier.net
 * @since      1.0.0
 *
 * @package darkify
 * @subpackage darkify/Admin
 * @author     ThemeAtelier<themeatelierbd@gmail.com>
 */

namespace ThemeAtelier\Darkify\Admin;
// use ThemeAtelier\Darkify\Admin\TADiscountPage\TADiscountPage;

use ThemeAtelier\Darkify\Admin\ReviewNotice\ReviewNotice;
use ThemeAtelier\Darkify\Admin\Views\DarkifyOptions;
use ThemeAtelier\Darkify\Helpers\DarkifyExternalSupport;
use ThemeAtelier\Darkify\Helpers\DarkifyUtils;

/**
 * The admin class
 */
class Admin
{

    /**
     * The slug of this plugin.
     *
     * @since    1.0.0
     * @access   private
     * @var      string    $plugin_slug   The slug of this plugin.
     */
    private $plugin_slug;

    /**
     * The min of this plugin.
     *
     * @since    1.0.0
     * @access   private
     * @var      string    $min   The slug of this plugin.
     */
    private $min;

    /**
     * The version of this plugin.
     *
     * @since    1.0.0
     * @access   private
     * @var      string    $version    The current version of this plugin.
     */
    private $version;
    public $utils;
    public $settings;
    public $external_support;
    public $unique_id;
    private $plugin_name;


    /**
     * The class constructor.
     *
     * @param string $plugin_slug The slug of the plugin.
     * @param string $version Current version of the plugin.
     */
    function __construct($plugin_slug, $version)
    {
        $this->utils = new DarkifyUtils($this);
        $this->external_support = new DarkifyExternalSupport($this);
        if (function_exists('wp_rand')) {
            $this->unique_id = wp_rand();
        }
        DarkifyOptions::options('darkify');

        $options = get_option('darkify');

        $enable_admin_panel_dark_mode = isset($options['enable_admin_panel_dark_mode']) ? $options['enable_admin_panel_dark_mode'] : false;
        $this->plugin_name = $plugin_slug;
        $this->min = (apply_filters('darkify_dev_mode', false) || WP_DEBUG) ? '' : '.min';
        add_filter('plugin_action_links', array($this, 'add_plugin_action_links'), 10, 2);
        if ($enable_admin_panel_dark_mode) {
            add_action('admin_bar_menu',  array($this, 'darkify_admin_bar_switch'), 9999);
            add_action('admin_print_scripts', array($this, 'darkify_admin_header_script'), 1);
            add_action('admin_footer', array($this, 'darkify_admin_footer_script'));
        }
        add_action('admin_menu', array($this, 'add_plugin_page'));
        new ReviewNotice();
    }

    public function enqueue_styles($hook)
    {
        if($hook === 'toplevel_page_darkify') {
            wp_enqueue_style('darkify-help-page', DARKIFY_DIR_URL . 'src/Admin/HelpPage/assets/css/help-page' . $this->min . '.css', array(), DARKIFY_VERSION, 'all');
        }

        $options = get_option('darkify');
        $enable_admin_panel_dark_mode = isset($options["enable_admin_panel_dark_mode"]) ? $options["enable_admin_panel_dark_mode"] : false;
        if ($enable_admin_panel_dark_mode) {
            if (!wp_style_is('darkify-admin-switch', 'enqueued')) {
                wp_enqueue_style('darkify-admin-switch', DARKIFY_DIR_URL . 'src/assets/css/client_main' . $this->min . '.css', array(), DARKIFY_VERSION, 'all');
            }
        }
        // Review notice CSS
        wp_enqueue_style('darkify-review-notice', DARKIFY_DIR_URL . 'src/Admin/ReviewNotice/assets/css/review-notice' . $this->min . '.css', array(), DARKIFY_VERSION, 'all');
    }

    public function enqueue_scripts($hook)
    {
        $options = get_option('darkify');
        $enable_admin_panel_dark_mode = isset($options["enable_admin_panel_dark_mode"]) ? $options["enable_admin_panel_dark_mode"] : false;
        if ($enable_admin_panel_dark_mode) {
            wp_enqueue_script('darkify-admin-client-main', DARKIFY_DIR_URL . 'src/assets/js/client_main' . $this->min . '.js', array(), DARKIFY_VERSION);
        }

        if($hook === 'toplevel_page_darkify') {
            wp_enqueue_script('darkify-help-page', DARKIFY_DIR_URL . 'src/Admin/HelpPage/assets/js/help-page' . $this->min . '.js', array('darkify-plugins'), DARKIFY_VERSION, true);
        }
    }

    // Plugin settings in plugin list
    public function add_plugin_action_links(array $links)
    {
        $new_links = array(
            sprintf('<a href="' . esc_url(admin_url('admin.php?page=darkify')) . '">' . esc_html__('Settings', 'darkify') . '</a>'),
            sprintf('<a target="_blank" href="https://themeatelier.net/contact">' . esc_html__('Support', 'darkify') . '</a>'),
            sprintf('<a style="font-weight: bold;color:#171717" target="_blank" href="https://darkifywp.com/pricing">' . esc_html__('Go Pro', 'darkify') . '</a>'),
        );
        return array_merge($new_links, $links);
    }


    public function darkify_admin_bar_switch($wp_admin_bar)
    {
        $args = array(
            'parent' => 'top-secondary',
            'id' => 'darkify_admin_bar_switch_container',
            'meta' => array(
                'class' => 'darkify_admin_bar_switch_container',
                'onclick' => 'darkify_switch_trigger()',
            )
        );
        $wp_admin_bar->add_node($args);
    }

    public function darkify_admin_header_script()
    {
        include_once DarkifyUtils::darkify_locate_template('header_script.php');
    }

    public function darkify_admin_footer_script()
    {
        include_once DarkifyUtils::darkify_locate_template('footer_script.php');
    }

    public function add_plugin_page()
    {
        // This page will be under "Settings"
        add_menu_page(
            esc_html__('Darkify', 'darkify'),
            esc_html__('Darkify', 'darkify'),
            'manage_options',
            'darkify',
            [$this, 'darkify_settings'],
            'data:image/svg+xml;base64,' . base64_encode('<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M23.5 1.5C23.5 0.671573 22.8284 0 22 0C21.1716 0 20.5 0.671573 20.5 1.5V4.5C20.5 5.32843 21.1716 6 22 6C22.8284 6 23.5 5.32843 23.5 4.5V1.5Z" fill="white" />
                <path d="M34 22C34 28.6274 28.6274 34 22 34C15.3726 34 10 28.6274 10 22C10 15.3726 15.3726 10 22 10C28.6274 10 34 15.3726 34 22Z" fill="white" />
                <path d="M22 38C22.8284 38 23.5 38.6716 23.5 39.5V42.5C23.5 43.3284 22.8284 44 22 44C21.1716 44 20.5 43.3284 20.5 42.5V39.5C20.5 38.6716 21.1716 38 22 38Z" fill="white" />
                <path d="M10.6863 10.6863C10.1005 11.2721 9.15074 11.2721 8.56495 10.6863L6.44363 8.56498C5.85784 7.97919 5.85784 7.02945 6.44363 6.44366C7.02942 5.85787 7.97916 5.85787 8.56495 6.44366L10.6863 8.56498C11.2721 9.15077 11.2721 10.1005 10.6863 10.6863Z" fill="white" />
                <path d="M35.435 37.5564C36.0208 38.1421 36.9705 38.1421 37.5563 37.5564C38.1421 36.9706 38.1421 36.0208 37.5563 35.435L35.435 33.3137C34.8492 32.7279 33.8995 32.7279 33.3137 33.3137C32.7279 33.8995 32.7279 34.8493 33.3137 35.435L35.435 37.5564Z" fill="white" />
                <path d="M10.6863 33.3137C11.2721 33.8995 11.2721 34.8492 10.6863 35.435L8.56495 37.5563C7.97916 38.1421 7.02942 38.1421 6.44363 37.5563C5.85784 36.9706 5.85784 36.0208 6.44363 35.435L8.56495 33.3137C9.15074 32.7279 10.1005 32.7279 10.6863 33.3137Z" fill="white" />
                <path d="M37.5563 8.56496C38.1421 7.97918 38.1421 7.02943 37.5563 6.44364C36.9705 5.85786 36.0208 5.85786 35.435 6.44364L33.3137 8.56496C32.7279 9.15075 32.7279 10.1005 33.3137 10.6863C33.8995 11.2721 34.8492 11.2721 35.435 10.6863L37.5563 8.56496Z" fill="white" />
                <path d="M6 22C6 22.8284 5.32843 23.5 4.5 23.5H1.5C0.671573 23.5 0 22.8284 0 22C0 21.1716 0.671573 20.5 1.5 20.5H4.5C5.32843 20.5 6 21.1716 6 22Z" fill="white" />
                <path d="M42.5 23.5C43.3284 23.5 44 22.8284 44 22C44 21.1716 43.3284 20.5 42.5 20.5H39.5C38.6716 20.5 38 21.1716 38 22C38 22.8284 38.6716 23.5 39.5 23.5H42.5Z" fill="white" />
            </svg>'),
            9
        );
        do_action('darkify_before_upgrade_pro_menu');
        add_submenu_page(
            'darkify',
            __(
                '👑 Upgrade to Pro!',
                'darkify'
            ),
            sprintf('<span style="color: #35b747;font-weight: bold;" class="darkify-get-pro-text">%s</span>', __('👑 Upgrade to Pro!', 'darkify')),
            'manage_options',
            'https://darkifywp.com/pricing'
        );
        do_action('darkify_after_upgrade_pro_menu');
    }

    public function darkify_settings() {}   

}

```
