/home/arranoyd/gazehome/wp-content/plugins/uncode-privacy/includes/class-uncode-toolkit-privacy.php
<?php
/**
* Main Class.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
if ( ! class_exists( 'Uncode_Toolkit_Privacy' ) ) :
/**
* Uncode_Toolkit_Privacy Class
*/
class Uncode_Toolkit_Privacy {
/**
* The unique identifier of this plugin.
*/
protected $plugin_name;
/**
* Plugin's version.
*/
protected $version;
/**
* Get things going
*/
public function __construct() {
if ( defined( 'UNCODE_TOOLKIT_PRIVACY_VERSION' ) ) {
$this->version = UNCODE_TOOLKIT_PRIVACY_VERSION;
} else {
$this->version = '1.0.0';
}
$this->plugin_name = 'uncode-privacy';
$this->load_dependencies();
$this->admin_hooks();
$this->public_hooks();
if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) OR ( defined( 'DOING_CRON' ) && DOING_CRON ) OR ( defined( 'DOING_AJAX' ) && DOING_AJAX ) OR ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST ) ) {
return;
}
}
/**
* Load the required dependencies for this plugin.
*/
private function load_dependencies() {
/**
* Admin related fucntions.
*/
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-uncode-toolkit-privacy-admin.php';
/**
* Frontend related fucntions.
*/
require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-uncode-toolkit-privacy-public.php';
}
/**
* Admin related hooks
*/
private function admin_hooks() {
$plugin_admin = new Uncode_Toolkit_Privacy_Admin( $this->get_plugin_name(), $this->get_version() );
add_action( 'plugins_loaded', array( $this, 'set_locale' ) );
add_action( 'admin_enqueue_scripts', array( $plugin_admin, 'enqueue_styles' ) );
add_action( 'admin_enqueue_scripts', array( $plugin_admin, 'enqueue_scripts' ) );
add_action( 'admin_menu', array( $plugin_admin, 'add_menu' ), 89 );
add_action( 'admin_init', array( $plugin_admin, 'register_settings' ) );
}
/**
* Frontend related hooks
*/
private function public_hooks() {
$plugin_public = new Uncode_Toolkit_Privacy_Public( $this->get_plugin_name(), $this->get_version() );
add_action( 'wp_enqueue_scripts', array( $plugin_public, 'enqueue_styles' ) );
add_action( 'wp_enqueue_scripts', array( $plugin_public, 'enqueue_scripts' ) );
add_action( 'init', array( $plugin_public, 'set_plugin_cookies' ) );
add_action( 'wp_footer', array( $plugin_public, 'overlay' ) );
add_action( 'wp_footer', array( $plugin_public, 'privacy_bar' ) );
add_action( 'wp_footer', array( $plugin_public, 'privacy_preferences_modal' ) );
add_action( 'admin_post_uncode_privacy_update_privacy_preferences', array( $plugin_public, 'update_privacy_preferences' ) );
add_action( 'admin_post_nopriv_uncode_privacy_update_privacy_preferences', array( $plugin_public, 'update_privacy_preferences' ) );
}
/**
* Load Text Domain
*/
public function set_locale() {
load_plugin_textdomain( 'uncode-privacy', false, plugin_dir_url( dirname( __FILE__ ) ) . 'languages/' );
}
/**
* The name of the plugin
*/
public function get_plugin_name() {
return $this->plugin_name;
}
/**
* Retrieve the version number of the plugin.
*/
public function get_version() {
return $this->version;
}
}
endif;