Uname: Linux webm005.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
User: 6036 (villadal)
Group: 100 (users)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//home/villadal/www/old/////wp-content/plugins/cookie-law-info/admin      ( Reset | Go to )
File Name: class-cookie-law-info-admin.php
Edit
<?php

/**
 * The admin-specific functionality of the plugin.
 *
 * @link       http://cookielawinfo.com/
 * @since      1.6.6
 *
 * @package    Cookie_Law_Info
 * @subpackage Cookie_Law_Info/admin
 */

/**
 * The admin-specific functionality of the plugin.
 *
 * Defines the plugin name, version, and two examples hooks for how to
 * enqueue the admin-specific stylesheet and JavaScript.
 *
 * @package    Cookie_Law_Info
 * @subpackage Cookie_Law_Info/admin
 * @author     WebToffee <info@webtoffee.com>
 */
class Cookie_Law_Info_Admin {

    
/**
     * The ID of this plugin.
     *
     * @since    1.6.6
     * @access   private
     * @var      string    $plugin_name    The ID of this plugin.
     */
    
private $plugin_name;

    
/**
     * The version of this plugin.
     *
     * @since    1.6.6
     * @access   private
     * @var      string    $version    The current version of this plugin.
     */
    
private $version;

    public 
$plugin_obj;

    
/*
     * admin module list, Module folder and main file must be same as that of module name
     * Please check the `admin_modules` method for more details
     */
    
private $modules=array(
        
'cookies',
        
'cli-policy-generator',
        
'ccpa',
        
'cookie-scaner',
        
'uninstall-feedback',
    );

    public static 
$existing_modules=array();

    
/**
     * Initialize the class and set its properties.
     *
     * @since    1.6.6
     * @param      string    $plugin_name       The name of this plugin.
     * @param      string    $version    The version of this plugin.
     */
    
public function __construct$plugin_name$version,$plugin_obj ) {

        
$this->plugin_name $plugin_name;
        
$this->version $version;
        
$this->plugin_obj $plugin_obj;
        
add_action('admin_init',array( $this'load_plugin' ));
        
register_activation_hook(CLI_PLUGIN_FILENAME,array($this,'activator'));
        
// since 1.9.5 Initialize plugin settings
        
add_action('wt_cli_initialize_plugin',array( $this'initialize_plugin_settings' ));
    }
    
    
/**
    * Store default datas to the database if a first time user
    *
    * @since  2.3.1
    * @access public
    */
    
public function activator() {

        if( 
Cookie_Law_Info::maybe_first_time_install() === true ) {
            
add_option'wt_cli_first_time_activated_plugin''true' );
        }
    }

    public function 
set_default_settings() {
        
$options get_option(CLI_SETTINGS_FIELD); 
        if( 
$options === false ) {
            
$default    =    Cookie_Law_Info::get_settings();
            
update_option(CLI_SETTINGS_FIELD,$default);
        } 
    }
    public function 
set_privacy_overview_options(){
        
$options get_option('cookielawinfo_privacy_overview_content_settings'); 
        if( 
$options === false ) {
            
$default    =    self::get_privacy_defaults();
            
update_option('cookielawinfo_privacy_overview_content_settings',$default);
        } 
    }
    public function 
initialize_plugin_settings(){
        
$this->set_default_settings();
        
$this->set_privacy_overview_options();
    }
    
/**
     * Register the stylesheets for the admin area.
     *
     * @since    1.6.6
     */
    
public function enqueue_styles() {

        
/**
         * This function is provided for demonstration purposes only.
         *
         * An instance of this class should be passed to the run() function
         * defined in Cookie_Law_Info_Loader as all of the hooks are defined
         * in that particular class.
         *
         * The Cookie_Law_Info_Loader will then create the relationship
         * between the defined hooks and the functions defined in this
         * class.
         */
        
if( isset($_GET['post_type']) && $_GET['post_type']==CLI_POST_TYPE || isset($_GET['page']) && $_GET['page'] == 'cookie-law-info' )
        {
            
wp_enqueue_style'wp-color-picker' );
            
wp_enqueue_style$this->plugin_nameplugin_dir_url__FILE__ ) ."css/cookie-law-info-admin.css", array(),$this->version'all' );
        }
    }

    
/**
     * Register the JavaScript for the admin area.
     *
     * @since    1.6.6
     */
    
public function enqueue_scripts() {

        
/**
         * This function is provided for demonstration purposes only.
         *
         * An instance of this class should be passed to the run() function
         * defined in Cookie_Law_Info_Loader as all of the hooks are defined
         * in that particular class.
         *
         * The Cookie_Law_Info_Loader will then create the relationship
         * between the defined hooks and the functions defined in this
         * class.
         */
        
if(isset($_GET['post_type']) && $_GET['post_type']==CLI_POST_TYPE) {
            
wp_enqueue_script$this->plugin_nameplugin_dir_url__FILE__ ) . 'js/cookie-law-info-admin.js', array( 'jquery' ,'wp-color-picker'),$this->versionfalse );
        }

    }

    
/**
     Registers admin modules     
     */
    
public function admin_modules()
    {
        foreach (
$this->modules as $module//loop through module list and include its file
        
{
            
$module_file=plugin_dir_path__FILE__ )."modules/$module/$module.php";
            if(
file_exists($module_file))
            {
                
self::$existing_modules[]=$module//this is for module_exits checking
                
require_once $module_file;
            } 
        }
    }

    public static function 
module_exists($module)
    {
        return 
in_array($module,self::$existing_modules);
    }

    
/**
     Registers menu options
     Hooked into admin_menu
     */
    
public function admin_menu() {
        global 
$submenu;
        
add_submenu_page(
            
'edit.php?post_type='.CLI_POST_TYPE,
            
__('Settings','cookie-law-info'),
            
__('Settings','cookie-law-info'),
            
'manage_options',
            
'cookie-law-info',
            array(
$this,'admin_settings_page')
        );
        
add_submenu_page(
            
'edit.php?post_type='.CLI_POST_TYPE,
            
__('Privacy Overview','cookie-law-info'),
            
__('Privacy Overview','cookie-law-info'),
            
'manage_options',
            
'cookie-law-info-poverview',
            array(
$this,'privacy_overview_page')
        );
        
//rearrange settings menu
        
if(isset($submenu) && !empty($submenu) && is_array($submenu))
        {
            
$out=array();
            
$back_up_settings_menu=array();
            if(isset(
$submenu['edit.php?post_type='.CLI_POST_TYPE]) && is_array($submenu['edit.php?post_type='.CLI_POST_TYPE]))
            {
                foreach (
$submenu['edit.php?post_type='.CLI_POST_TYPE] as $key => $value
                {
                    if(
$value[2]=='cookie-law-info')
                    {
                        
$back_up_settings_menu=$value;
                    }else
                    {
                        
$out[$key]=$value;
                    }
                }
                
array_unshift($out,$back_up_settings_menu);
                
$submenu['edit.php?post_type='.CLI_POST_TYPE]=$out;
            }
        }
    }
    
/**
    * Return the default privacy overview contents
    *
    * @since  1.9.2
    * @return array
    */
    
public static function get_privacy_defaults(){
        
        
$settings = array(
            
'privacy_overview_content'     =>     'This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.'
            
'privacy_overview_title'     =>     'Privacy Overview'
        
);
        return 
$settings;
    }
    
/*
    * Privacy overview CMS page
    * @since 1.7.7
    */
    
public function privacy_overview_page()
    {    
        if (!
current_user_can('manage_options')) 
        {
            
wp_die(__('You do not have sufficient permission to perform this operation''cookie-law-info'));
        }

        
$stored_options     =     get_option('cookielawinfo_privacy_overview_content_settings'); 
        
$stored_options        =     ( isset( $stored_options ) && is_array$stored_options ) ) ? $stored_options : array();
        
$default_settings     =     self::get_privacy_defaults();
        
        
$privacy_title = isset($stored_options['privacy_overview_title']) ? $stored_options['privacy_overview_title'] : $default_settings['privacy_overview_title'];
        
$privacy_content = isset($stored_options['privacy_overview_content']) ? $stored_options['privacy_overview_content'] : $default_settings['privacy_overview_content'];
        
        if (isset(
$_POST['update_privacy_overview_content_settings_form'])) {

            
// Check nonce:
            
check_admin_referer('cookielawinfo-update-privacy-overview-content');
            
            
$privacy_title $stored_options['privacy_overview_title'] = sanitize_text_field( isset( $_POST['privacy_overview_title'] )  ? $_POST['privacy_overview_title'] : '' );
            
$privacy_content $stored_options['privacy_overview_content'] = wp_kses_post( isset( $_POST['privacy_overview_content'] ) && $_POST['privacy_overview_content'] !== '' $_POST['privacy_overview_content'] : '' );
            
            
update_option('cookielawinfo_privacy_overview_content_settings'$stored_options);
            echo 
'<div class="updated"><p><strong>' __('Settings Updated.''cookie-law-info') . '</strong></p></div>';
        }

        require_once 
plugin_dir_path__FILE__ ).'partials/cookie-law-info-privacy_overview.php';
    }
    public function 
plugin_action_links$links 
    {
       
$links[] = '<a href="'get_admin_url(null,'edit.php?post_type='.CLI_POST_TYPE.'&page=cookie-law-info') .'">'.__('Settings','cookie-law-info').'</a>';
       
$links[] = '<a href="https://www.webtoffee.com/product/gdpr-cookie-consent/" target="_blank">'.__('Support','cookie-law-info').'</a>';
       
$links[] = '<a href="https://www.webtoffee.com/product/gdpr-cookie-consent/?utm_source=free_plugin_listing&utm_medium=gdpr_basic&utm_campaign=GDPR&utm_content='.CLI_VERSION.'" target="_blank" style="color: #3db634; font-weight: 500;">'.__('Premium Upgrade','cookie-law-info').'</a>';
       return 
$links;
    }
    
    
/*
    * admin settings page
    */
    
public function admin_settings_page()
    {
        
// Lock out non-admins:
        
if (!current_user_can('manage_options')) 
        {
            
wp_die(__('You do not have sufficient permission to perform this operation''cookie-law-info'));
        }
        
// Get options:
        
$the_options =Cookie_Law_Info::get_settings();
        
// Check if form has been set:
        
if(isset($_POST['update_admin_settings_form']) || //normal php submit
        
(isset($_POST['cli_settings_ajax_update']) && $_POST['cli_settings_ajax_update']=='update_admin_settings_form'))  //ajax submit
        
{
            
// Check nonce:
            
check_admin_referer('cookielawinfo-update-' CLI_SETTINGS_FIELD);

            
//module settings saving hook
            
do_action('cli_module_save_settings');

            foreach(
$the_options as $key => $value
            {
                if(isset(
$_POST[$key '_field'])) 
                {
                    
// Store sanitised values only:
                    
$the_options[$key] = Cookie_Law_Info::sanitise_settings($key$_POST[$key '_field']);
                }
            }
            
$the_options apply_filters('wt_cli_before_save_settings',$the_options$_POST);
            
update_option(CLI_SETTINGS_FIELD$the_options);
            
do_action('wt_cli_ajax_settings_update',$_POST);
            echo 
'<div class="updated"><p><strong>' __('Settings Updated.''cookie-law-info') . '</strong></p></div>';
        } 
        elseif (isset(
$_POST['delete_all_settings']) || //normal php submit
        
(isset($_POST['cli_settings_ajax_update']) && $_POST['cli_settings_ajax_update']=='delete_all_settings'))  //ajax submit 
        
{
            
// Check nonce:
            
check_admin_referer('cookielawinfo-update-' CLI_SETTINGS_FIELD);
            
$this->delete_settings();
            
//$the_options = Cookie_Law_Info::get_settings();
            //exit();
        

        elseif (isset(
$_POST['revert_to_previous_settings']))  //disabled on new update
        
{
            if (!
$this->copy_old_settings_to_new()) 
            {
                echo 
'<h3>' __('ERROR MIGRATING SETTINGS (ERROR: 2)''cookie-law-info') . '</h3>';
            }
            
$the_options Cookie_Law_Info::get_settings();
        }
        if(!empty(
$_SERVER'HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH'])=='xmlhttprequest')
        {                
            exit();
        }
        require_once 
plugin_dir_path__FILE__ ).'partials/cookie-law-info-admin_settings.php';
    }

    
/**
     Add custom meta boxes to Cookie Audit custom post type.
         - Cookie Type (e.g. session, permanent)
         - Cookie Duration (e.g. 2 hours, days, years, etc)
     */
    

    

    /** Apply column names to the custom post type table */
    

    
function remove_cli_addnew_link() 
    {
        global 
$submenu;
        if(isset(
$submenu) && !empty($submenu) && is_array($submenu))
        {
            unset(
$submenu['edit.php?post_type='.CLI_POST_TYPE][10]);
        }
    }
    

    
/** Updates latest version number of plugin */
    
public function update_to_latest_version_number() {
        
update_optionCLI_MIGRATED_VERSIONCLI_LATEST_VERSION_NUMBER );
    }
    
/**
     Delete the values in all fields
     WARNING - this has a predictable result i.e. will delete saved settings! Once deleted,
     the get_admin_options() function will not find saved settings so will return default values
     */
    
public function delete_settings() 
    {
        if(
defined'CLI_ADMIN_OPTIONS_NAME' )) 
        {
            
delete_optionCLI_ADMIN_OPTIONS_NAME );
        }
        if ( 
defined 'CLI_SETTINGS_FIELD' ) ) 
        {
            
delete_optionCLI_SETTINGS_FIELD );
        }
    }

    public function 
copy_old_settings_to_new() {
        
$new_settings Cookie_Law_Info::get_settings();
        
$old_settings get_optionCLI_ADMIN_OPTIONS_NAME );
        
        if ( empty( 
$old_settings ) ) {
            
// Something went wrong:
            
return false;
        }
        else {
            
// Copy over settings:
            
$new_settings['background']             = $old_settings['colour_bg'];
            
$new_settings['border']                 = $old_settings['colour_border'];
            
$new_settings['button_1_action']        = 'CONSTANT_OPEN_URL';
            
$new_settings['button_1_text']             = $old_settings['link_text'];
            
$new_settings['button_1_url']             = $old_settings['link_url'];
            
$new_settings['button_1_link_colour']     = $old_settings['colour_link'];
            
$new_settings['button_1_new_win']         = $old_settings['link_opens_new_window'];
            
$new_settings['button_1_as_button']        = $old_settings['show_as_button'];
            
$new_settings['button_1_button_colour']    = $old_settings['colour_button_bg'];
            
$new_settings['notify_message']         = $old_settings['message_text'];
            
$new_settings['text']                     = $old_settings['colour_text'];
            
            
// Save new values:
            
update_optionCLI_SETTINGS_FIELD$new_settings );
        }
        return 
true;
    }
    
/** Migrates settings from version 0.8.3 to version 0.9 */
    
public function migrate_to_new_version() {
        
        if ( 
$this->has_migrated() ) {
            return 
false;
        }
        
        if ( !
$this->copy_old_settings_to_new() ) {
            return 
false;
        }
        
        
// Register that have completed:
        
$this->update_to_latest_version_number();
        return 
true;
    }

    
/** Returns true if user is on latest version of plugin */
    
public function has_migrated() {
        
// Test for previous version. If doesn't exist then safe to say are fresh install:
        
$old_settings get_optionCLI_ADMIN_OPTIONS_NAME );
        if ( empty( 
$old_settings ) ) {
            return 
true;
        }
        
// Test for latest version number
        
$version get_optionCLI_MIGRATED_VERSION );
        if ( empty ( 
$version ) ) {
            
// No version stored; not yet migrated:
            
return false;
        }
        if ( 
$version == CLI_LATEST_VERSION_NUMBER ) {
            
// Are on latest version
            
return true;
        }
        echo 
'VERSION: ' esc_html$version ). '<br /> V2: ' CLI_LATEST_VERSION_NUMBER;
        
// If you got this far then you're on an inbetween version
        
return false;
    }

    
/**
     Prints a combobox based on options and selected=match value
     
     Parameters:
         $options = array of options (suggest using helper functions)
         $selected = which of those options should be selected (allows just one; is case sensitive)
     
     Outputs (based on array ( $key => $value ):
         <option value=$value>$key</option>
         <option value=$value selected="selected">$key</option>
     */
    
public function print_combobox_options$options$selected 
    {
        foreach ( 
$options as $option ) {
            echo 
'<option value="' $option['value'] . '"';
            if ( 
$option['value'] == $selected ) {
                echo 
' selected="selected"';
            }
            echo 
'>' esc_html$option['text'] ) . '</option>';
        }
    }

    
/**
     Returns list of available jQuery actions
     Used by buttons/links in header
     */
    
public function get_js_actions() {
        
$js_actions = array(
            
'close_header' => array(
                
'text'=>__('Close consent bar','cookie-law-info'),
                
'value'=>'#cookie_action_close_header'
                
),
            
'open_url' => array(
                
'text' => __('Redirect to URL on click','cookie-law-info'),
                
'value'=>'CONSTANT_OPEN_URL')    // Don't change this value, is used by jQuery
        
);
        return 
$js_actions;
    }

    
/**
     Returns button sizes (dependent upon CSS implemented - careful if editing)
     Used when printing admin form (for combo boxes)
     */
    
public function get_button_sizes() {
        
$sizes = Array(
            
'super'=> array(
                
'text'=>__('Extra Large','cookie-law-info'),
                
'value'=>'super'
                
),
            
'large'    => array(
                
'text'=>__('Large','cookie-law-info'),
                
'value'=>'large'
                
),
            
'medium'    => array(
                
'text'=>__('Medium','cookie-law-info'),
                
'value'=>'medium'
                
),
            
'small'    => array(
                
'text'=>__('Small','cookie-law-info'),
                
'value'=>'small'
                
),
        );
        return 
$sizes;
    }

    
/**
     Function returns list of supported fonts
     Used when printing admin form (for combo box)
     */
    
public function get_fonts() {
        
$fonts = Array(
            
'default'=> array(
                        
'text'=>__('Default theme font','cookie-law-info'),
                        
'value'=>'inherit'
                        
),
            
'sans_serif'=> array(
                        
'text'=>__('Sans Serif','cookie-law-info'),
                        
'value'=>'Helvetica, Arial, sans-serif'
                        
),
            
'serif'=> array(
                        
'text'=>__('Serif','cookie-law-info'),
                        
'value'=>'Georgia, Times New Roman, Times, serif'
                        
),
            
'arial'=> array(
                        
'text'=>__('Arial','cookie-law-info'),
                        
'value'=>'Arial, Helvetica, sans-serif'
                        
),
            
'arial_black'=> array(
                        
'text'=>__('Arial Black','cookie-law-info'),
                        
'value'=>'Arial Black,Gadget,sans-serif'
                        
),
            
'georgia'=> array(
                        
'text'=>__('Georgia, serif','cookie-law-info'),
                        
'value'=>'Georgia, serif'
                        
),
            
'helvetica'=> array(
                        
'text'=>__('Helvetica','cookie-law-info'),
                        
'value'=>'Helvetica, sans-serif'
                        
),
            
'lucida'=> array(
                        
'text'=>__('Lucida','cookie-law-info'),
                        
'value'=>'Lucida Sans Unicode, Lucida Grande, sans-serif'
                        
),
            
'tahoma'=> array(
                        
'text'=>__('Tahoma','cookie-law-info'),
                        
'value'=>'Tahoma, Geneva, sans-serif'
                        
),
            
'times_new_roman'=> array(
                        
'text'=>__('Times New Roman','cookie-law-info'),
                        
'value'=>'Times New Roman, Times, serif'
                        
),
            
'trebuchet'=> array(
                        
'text'=>__('Trebuchet','cookie-law-info'),
                        
'value'=>'Trebuchet MS, sans-serif'
                        
),    
            
'verdana'=> array(
                        
'text'=>__('Verdana','cookie-law-info'),
                        
'value'=>'Verdana, Geneva'
                        
),                                        
            );
        return 
$fonts;
    }

    
/**
    * Set plugin default plugin on activation
    *
    * @since  1.9.5
    * @access public
    */

    
public function load_plugin(){
        
        if ( 
is_admin() && get_option'wt_cli_first_time_activated_plugin' ) == 'true' ) {
            
do_action('wt_cli_initialize_plugin');
            
delete_option('wt_cli_first_time_activated_plugin');
        }
        
$this->redirect_to_settings_page();
    }
    public static function 
wt_cli_admin_notice$type='info'$message=''$iconfalse ){
        
$icon_class = ( true === $icon ) ? 'wt-cli-callout-icon':'';
        
$html  =  '<div class="wt-cli-callout wt-cli-callout-'.$type.' '.$icon_class.' ">'.$message.'</div>';
        return 
$html;
    }
    public function 
redirect_to_settings_page() {
        if ( ! isset( 
$_GET['post_type'] ) && isset( $_GET['page'] ) && $_GET['page'] == 'cookie-law-info' ) {
            
wp_safe_redirectadmin_url'edit.php?post_type=' CLI_POST_TYPE '&page=cookie-law-info' ) );
            exit();
        }
    }
    
}

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL