HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux sa-dev.otherchirps.net 5.15.0-139-generic #149-Ubuntu SMP Fri Apr 11 22:06:13 UTC 2025 x86_64
User: www-data (33)
PHP: 8.0.30
Disabled: 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,pcntl_unshare,
Upload Files
File: /var/www/html/wp-content/plugins/image-hover-effects-ultimate/Helper/Admin_helper.php
<?php

namespace OXI_IMAGE_HOVER_PLUGINS\Helper;

if (!defined('ABSPATH')) {
    exit;
}

trait Admin_helper
{

    public function admin_url_convert($agr)
    {
        return admin_url(strpos($agr, 'edit') !== false ? $agr : 'admin.php?page=' . $agr);
    }


   
    public function Admin_Icon()
    {
?>
        <style type='text/css' media='screen'>
            #adminmenu #toplevel_page_oxi-image-hover-ultimate div.wp-menu-image:before {
                content: "\f169";
            }
        </style>
    <?php
    }

    /**
     * Image Hover Admin menu
     *
     * @since 9.3.0
     */
    public function oxilab_admin_menu($agr)
    {
        $response = [
            'Image Hover' => [
                'name' => 'Image Hover',
                'homepage' => 'oxi-image-hover-ultimate'
            ],
            'Shortcode' => [
                'name' => 'Shortcode',
                'homepage' => 'oxi-image-hover-shortcode'
            ],
            'Addons' => [
                'name' => 'Addons',
                'homepage' => 'oxi-image-hover-ultimate-addons'
            ]
        ];

        $bgimage = OXI_IMAGE_HOVER_URL . 'image/sm-logo.png';
    ?>


        <div class="oxi-addons-wrapper">
            <div class="oxilab-new-admin-menu">
                <div class="oxi-site-logo">
                    <a href="<?php echo esc_url($this->admin_url_convert('oxi-image-hover-ultimate')); ?>" class="header-logo" style=" background-image: url(<?php echo esc_url($bgimage); ?>);">
                    </a>
                </div>
                <nav class="oxilab-sa-admin-nav">
                    <ul class="oxilab-sa-admin-menu">
                        <?php
                        $GETPage = sanitize_text_field($_GET['page']);
                        $effects = (!empty($_GET['effects']) ? sanitize_text_field($_GET['effects']) : '');
                        if ($effects != '' && $GETPage == 'oxi-image-hover-ultimate') :
                            $url = $this->admin_url_convert('oxi-image-hover-ultimate') . '&effects=' . $effects;
                        ?>

                            <li class="active">
                                <a href="<?php echo esc_url($url); ?>">
                                    <?php
                                    if ($effects == 'display') :
                                        echo 'Display Post';
                                    else :
                                        echo esc_html($this->name_converter($effects)) . ' Effects';
                                    endif;
                                    ?>
                                </a>
                            </li>
                        <?php
                        endif;
                        foreach ($response as $key => $value) {
                            $active = (($GETPage == $value['homepage'] && $effects == '') ? 'active ' : '');
                        ?>
                            <li class="<?php echo esc_attr($active); ?>">
                                <a href="<?php echo esc_url($this->admin_url_convert($value['homepage'])); ?>"><?php echo esc_html($this->name_converter($value['name'])); ?></a>
                            </li>
                        <?php
                        }
                        ?>
                    </ul>
                    <ul class="oxilab-sa-admin-menu2">

                        <?php
                        if (apply_filters('oxi-image-hover-plugin-version', false) == false) :
                        ?>
                            <li class="fazil-class">
                                <a target="_blank" href="https://www.oxilabdemos.com/image-hover/pricing/">Upgrade
                                </a>
                            </li>
                        <?php
                        endif;
                        ?>
                        <li class="saadmin-doc">
                            <a target="_black" href="https://www.oxilabdemos.com/image-hover/docs/">Docs</a>
                        </li>
                        <li class="saadmin-doc">
                            <a target="_black" href="https://wordpress.org/support/plugin/image-hover-effects-ultimate/">Support
                            </a>
                        </li>
                        <li class="saadmin-set">
                            <a href="<?php echo esc_url(admin_url('admin.php?page=oxi-image-hover-ultimate-settings')); ?>">
                                <span class="dashicons dashicons-admin-generic"></span>
                            </a>
                        </li>
                    </ul>
                </nav>
            </div>
        </div>
    <?php
    }
    public function Public_loader()
    {
        global $wpdb;
        $this->wpdb = $wpdb;
        $this->parent_table = $this->wpdb->prefix . 'image_hover_ultimate_style';
        $this->child_table = $this->wpdb->prefix . 'image_hover_ultimate_list';
        $this->import_table = $this->wpdb->prefix . 'oxi_div_import';
    }

    /**
     * Plugin fixed
     *
     * @since 9.3.0
     */
    public function fixed_data($agr)
    {
        return hex2bin($agr);
    }

    /**
     * Plugin fixed debugging data
     *
     * @since 9.3.0
     */
    public function fixed_debug_data($str)
    {
        return bin2hex($str);
    }

    public function Admin_Menu()
    {
        $user_role = get_option('oxi_image_user_permission');
        $role_object = get_role($user_role);
        $first_key = '';
        if (isset($role_object->capabilities) && is_array($role_object->capabilities)) {
            reset($role_object->capabilities);
            $first_key = key($role_object->capabilities);
        } else {
            $first_key = 'manage_options';
        }
        add_menu_page('Image Hover', 'Image Hover', $first_key, 'oxi-image-hover-ultimate', [$this, 'Image_Parent']);
        add_submenu_page('oxi-image-hover-ultimate', 'Image Hover', 'Image Hover', $first_key, 'oxi-image-hover-ultimate', [$this, 'Image_Parent']);
        add_submenu_page('oxi-image-hover-ultimate', 'Shortcode', 'Shortcode', $first_key, 'oxi-image-hover-shortcode', [$this, 'Image_Shortcode']);
        add_submenu_page('oxi-image-hover-ultimate', 'Settings', 'Settings', $first_key, 'oxi-image-hover-ultimate-settings', [$this, 'Image_Settings']);
        add_submenu_page('oxi-image-hover-ultimate', 'Support', 'Support', $first_key, 'image-hover-ultimate-support', [$this, 'oxi_image_hover_support']);
        add_submenu_page('oxi-image-hover-ultimate', 'Oxilab Addons', 'Oxilab Addons', $first_key, 'oxi-image-hover-ultimate-addons', [$this, 'Image_Addons']);
    }

    public function custom_redirect()
    {
    }

    public function Image_Parent()
    {
        $effects = (!empty($_GET['effects']) ? ucfirst(sanitize_text_field($_GET['effects'])) : '');
        $styleid = (!empty($_GET['styleid']) ? (int) $_GET['styleid'] : '');
        if (!empty($effects) && !empty($styleid)) :
            $style = $this->wpdb->get_row($this->wpdb->prepare('SELECT style_name FROM ' . $this->parent_table . ' WHERE id = %d ', $styleid), ARRAY_A);
            $name = explode('-', $style['style_name']);
            if ($effects != ucfirst($name[0])) :
                wp_die(esc_html('Invalid URL.'));
            endif;
            $cls = '\OXI_IMAGE_HOVER_PLUGINS\Modules\\' . $effects . '\Admin\\Effects' . $name[1];
            if (class_exists($cls)) :
                new $cls();
            else :
                wp_die(esc_html('Invalid URL.'));
            endif;
        elseif (!empty($effects)) :
            $cls = '\OXI_IMAGE_HOVER_PLUGINS\Modules\\' . $effects . '\\' . $effects . '';
            if (class_exists($cls)) :
                new $cls();
            else :
                wp_die(esc_html('Invalid URL.'));
            endif;
        else :
            new \OXI_IMAGE_HOVER_PLUGINS\Page\Admin();
        endif;
    }

    public function Image_Shortcode()
    {
        new \OXI_IMAGE_HOVER_PLUGINS\Page\Shortcode();
    }

    public function Image_Addons()
    {
        new \OXI_IMAGE_HOVER_PLUGINS\Page\Addons();
    }

    public function Image_Settings()
    {
        new \OXI_IMAGE_HOVER_PLUGINS\Page\Settings();
    }

    public function oxi_image_hover_support()
    {
        new \OXI_IMAGE_HOVER_PLUGINS\Page\Welcome();
    }

    /**
     * Admin Notice Check
     *
     * @since 9.3.0
     */
    public function admin_notice_status()
    {
        $data = get_option('oxi_image_hover_nobug');
        return $data;
    }

    public function User_Reviews()
    {

        $user_role = get_option('oxi_image_user_permission');
        $role_object = get_role($user_role);
        $first_key = '';
        if (isset($role_object->capabilities) && is_array($role_object->capabilities)) {
            reset($role_object->capabilities);
            $first_key = key($role_object->capabilities);
        } else {
            $first_key = 'manage_options';
        }
        if (!current_user_can($first_key)) :
            return;
        endif;
        $this->admin_recommended();
        $this->admin_notice();
    }

    /**
     * Admin Notice Check
     *
     * @since 9.3.0
     */
    public function admin_recommended_status()
    {

        $data = get_option('oxi_image_hover_recommended');
        return $data;
    }
    public function SupportAndComments($agr)
    {
        if (get_option('oxi_image_support_massage') === 'no') {
            return;
        }
    ?>

        <div class="oxi-addons-admin-notifications">
            <h3>
                <span class="dashicons dashicons-flag"></span>
                Trouble or Need Support?
            </h3>
            <p></p>
            <div class="oxi-addons-admin-notifications-holder">
                <div class="oxi-addons-admin-notifications-alert">
                    <p>Unable to create your desire design or need any help? You can
                        <a href="https://wordpress.org/support/plugin/image-hover-effects-ultimate#new-post">Ask any question</a>
                        and get reply from our expert members. We will be glad to answer any question you may have about our plugin.
                    </p>
                    <?php
                    if (apply_filters('oxi-image-hover-plugin-version', false) != true) :
                    ?>
                        <p>By the way, did you know we also have a
                            <a href="https://www.oxilabdemos.com/image-hover/pricing/">Premium Version</a>
                            ? It offers lots of options with automatic update. It also comes with 16/5 personal support.
                        </p>
                        <p>Thanks Again!</p>
                    <?php
                    endif;
                    ?>

                    <p></p>
                </div>
            </div>
            <p></p>
        </div>

<?php
    }

    /**
     * Plugin check Current Tabs
     *
     * @since 9.3.0
     */
    public function check_current_version($agr)
    {
        $vs = get_option($this->fixed_data('696d6167655f686f7665725f756c74696d6174655f6c6963656e73655f737461747573'));
        if ($vs == $this->fixed_data('76616c6964')) {
            return true;
        } else {
            return false;
        }
    }

    public function admin_recommended()
    {

        if (!empty($this->admin_recommended_status())) :
            return;
        endif;

        if (strtotime('-1 days') < $this->installation_date()) :
            return;
        endif;

        new \OXI_IMAGE_HOVER_PLUGINS\Classes\Support_Recommended();
    }

    public function admin_notice()
    {
        if (!empty($this->admin_notice_status())) :
            return;
        endif;
        if (strtotime('-7 days') < $this->installation_date()) :
            return;
        endif;
        new \OXI_IMAGE_HOVER_PLUGINS\Classes\Support_Reviews();
    }

    /**
     * Admin Install date Check
     *
     * @since 9.3.0
     */
    public function installation_date()
    {
        $data = get_option('oxi_image_hover_activation_date');
        if (empty($data)) :
            $data = strtotime("now");
            update_option('oxi_image_hover_activation_date', $data);
        endif;
        return $data;
    }

    public function redirect_on_activation()
    {
        if (get_transient('oxi_image_hover_activation_redirect')) :
            delete_transient('oxi_image_hover_activation_redirect');
            if (is_network_admin() || isset($_GET['activate-multi'])) :
                return;
            endif;
            wp_safe_redirect(admin_url("admin.php?page=image-hover-ultimate-support"));
        endif;
    }

    public function Admin_Filters()
    {
        add_filter($this->fixed_data('6f78692d696d6167652d686f7665722d737570706f72742d616e642d636f6d6d656e7473'), [$this, $this->fixed_data('537570706f7274416e64436f6d6d656e7473')]);
        add_filter($this->fixed_data('6f78692d696d6167652d686f7665722d706c7567696e2d76657273696f6e'), [$this, $this->fixed_data('636865636b5f63757272656e745f76657273696f6e')]);
        add_filter($this->fixed_data('6f78692d696d6167652d686f7665722d706c7567696e2f61646d696e5f6d656e75'), [$this, $this->fixed_data('6f78696c61625f61646d696e5f6d656e75')]);
    }
}