array(
'position' => 'bottom',
'message_text' => '',
'css_style' => 'bootstrap',
'accept_text' => '',
'refuse_text' => '',
'refuse_opt' => 'no',
'refuse_code' => '',
'see_more' => 'no',
'link_target' => '_blank',
'time' => 'month',
'hide_effect' => 'fade',
'on_scroll' => false,
'on_scroll_offset' => 100,
'colors' => array(
'text' => '#fff',
'bar' => '#000',
),
'see_more_opt' => array(
'text' => '',
'link_type' => 'custom',
'id' => 'empty',
'link' => ''
),
'script_placement' => 'header',
'translate' => true,
'deactivation_delete' => 'no'
),
'version' => '1.2.36.1'
);
private $positions = array();
private $styles = array();
private $choices = array();
private $links = array();
private $link_target = array();
private $colors = array();
private $options = array();
private $effects = array();
private $times = array();
private $script_placements = array();
/**
* @var $cookie, holds cookie name
*/
private static $cookie = array(
'name' => 'cookie_notice_accepted',
'value' => 'TRUE'
);
/**
* Constructor.
*/
public function __construct() {
register_activation_hook( __FILE__, array( $this, 'activation' ) );
register_deactivation_hook( __FILE__, array( $this, 'deactivation' ) );
// settings
$this->options = array(
'general' => array_merge( $this->defaults['general'], get_option( 'cookie_notice_options', $this->defaults['general'] ) )
);
// actions
add_action( 'admin_init', array( $this, 'register_settings' ) );
add_action( 'admin_menu', array( $this, 'admin_menu_options' ) );
add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
add_action( 'after_setup_theme', array( $this, 'load_defaults' ) );
add_action( 'admin_enqueue_scripts', array( $this, 'admin_load_scripts_styles' ) );
add_action( 'wp_enqueue_scripts', array( $this, 'front_load_scripts_styles' ) );
add_action( 'wp_print_footer_scripts', array( $this, 'wp_print_footer_scripts' ) );
add_action( 'wp_footer', array( $this, 'add_cookie_notice' ), 1000 );
// filters
add_filter( 'plugin_row_meta', array( $this, 'plugin_extend_links' ), 10, 2 );
add_filter( 'plugin_action_links', array( $this, 'plugin_settings_link' ), 10, 2 );
}
/**
* Load plugin defaults
*/
public function load_defaults() {
$this->positions = array(
'top' => __( 'Top', 'cookie-notice' ),
'bottom' => __( 'Bottom', 'cookie-notice' )
);
$this->styles = array(
'none' => __( 'None', 'cookie-notice' ),
'wp-default' => __( 'WordPress', 'cookie-notice' ),
'bootstrap' => __( 'Bootstrap', 'cookie-notice' )
);
$this->links = array(
'custom' => __( 'Custom link', 'cookie-notice' ),
'page' => __( 'Page link', 'cookie-notice' )
);
$this->link_target = array(
'_blank',
'_self'
);
$this->colors = array(
'text' => __( 'Text color', 'cookie-notice' ),
'bar' => __( 'Bar color', 'cookie-notice' ),
);
$this->times = array(
'day' => array( __( '1 day', 'cookie-notice' ), 86400 ),
'week' => array( __( '1 week', 'cookie-notice' ), 604800 ),
'month' => array( __( '1 month', 'cookie-notice' ), 2592000 ),
'3months' => array( __( '3 months', 'cookie-notice' ), 7862400 ),
'6months' => array( __( '6 months', 'cookie-notice' ), 15811200 ),
'year' => array( __( '1 year', 'cookie-notice' ), 31536000 ),
'infinity' => array( __( 'infinity', 'cookie-notice' ), 31337313373 )
);
$this->effects = array(
'none' => __( 'None', 'cookie-notice' ),
'fade' => __( 'Fade', 'cookie-notice' ),
'slide' => __( 'Slide', 'cookie-notice' )
);
$this->script_placements = array(
'header' => __( 'Header', 'cookie-notice' ),
'footer' => __( 'Footer', 'cookie-notice' ),
);
if ( $this->options['general']['translate'] === true ) {
$this->options['general']['translate'] = false;
$this->options['general']['message_text'] = __( 'We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.', 'cookie-notice' );
$this->options['general']['accept_text'] = __( 'Ok', 'cookie-notice' );
$this->options['general']['refuse_text'] = __( 'No', 'cookie-notice' );
$this->options['general']['see_more_opt']['text'] = __( 'Read more', 'cookie-notice' );
update_option( 'cookie_notice_options', $this->options['general'] );
}
// WPML >= 3.2
if ( defined( 'ICL_SITEPRESS_VERSION' ) && version_compare( ICL_SITEPRESS_VERSION, '3.2', '>=' ) ) {
$this->register_wpml_strings();
// WPML and Polylang compatibility
} elseif ( function_exists( 'icl_register_string' ) ) {
icl_register_string( 'Cookie Notice', 'Message in the notice', $this->options['general']['message_text'] );
icl_register_string( 'Cookie Notice', 'Button text', $this->options['general']['accept_text'] );
icl_register_string( 'Cookie Notice', 'Refuse button text', $this->options['general']['refuse_text'] );
icl_register_string( 'Cookie Notice', 'Read more text', $this->options['general']['see_more_opt']['text'] );
icl_register_string( 'Cookie Notice', 'Custom link', $this->options['general']['see_more_opt']['link'] );
}
}
/**
* Register WPML (>= 3.2) strings if needed.
*
* @return void
*/
private function register_wpml_strings() {
global $wpdb;
// prepare strings
$strings = array(
'Message in the notice' => $this->options['general']['message_text'],
'Button text' => $this->options['general']['accept_text'],
'Refuse button text' => $this->options['general']['refuse_text'],
'Read more text' => $this->options['general']['see_more_opt']['text'],
'Custom link' => $this->options['general']['see_more_opt']['link']
);
// get query results
$results = $wpdb->get_col( $wpdb->prepare( "SELECT name FROM " . $wpdb->prefix . "icl_strings WHERE context = %s", 'Cookie Notice' ) );
// check results
foreach( $strings as $string => $value ) {
// string does not exist?
if ( ! in_array( $string, $results, true ) ) {
// register string
do_action( 'wpml_register_single_string', 'Cookie Notice', $string, $value );
}
}
}
/**
* Load textdomain.
*/
public function load_textdomain() {
load_plugin_textdomain( 'cookie-notice', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
/**
* Add submenu.
*/
public function admin_menu_options() {
add_options_page(
__( 'Cookie Notice', 'cookie-notice' ), __( 'Cookie Notice', 'cookie-notice' ), apply_filters( 'cn_manage_cookie_notice_cap', 'manage_options' ), 'cookie-notice', array( $this, 'options_page' )
);
}
/**
* Options page output.
*/
public function options_page() {
echo '
' . screen_icon() . '
' . __( 'Cookie Notice', 'cookie-notice' ) . '
' . __( 'Cookie Notice', 'cookie-notice' ) . ' ' . $this->defaults['version'] . '
' . __( 'Need support?', 'cookie-notice' ) . '
' . __( 'If you are having problems with this plugin, please talk about them in the', 'cookie-notice' ) . ' ' . __( 'Support forum', 'cookie-notice' ) . '
' . __( 'Do you like this plugin?', 'cookie-notice' ) . '
' . __( 'Rate it 5', 'cookie-notice' ) . ' ' . __( 'on WordPress.org', 'cookie-notice' ) . '
' .
__( 'Blog about it & link to the', 'cookie-notice' ) . ' ' . __( 'plugin page', 'cookie-notice' ) . '
' .
__( 'Check out our other', 'cookie-notice' ) . ' ' . __( 'WordPress plugins', 'cookie-notice' ) . '
Created by  . ')
';
}
/**
* Regiseter plugin settings.
*/
public function register_settings() {
register_setting( 'cookie_notice_options', 'cookie_notice_options', array( $this, 'validate_options' ) );
// configuration
add_settings_section( 'cookie_notice_configuration', __( 'Configuration', 'cookie-notice' ), array( $this, 'cn_section_configuration' ), 'cookie_notice_options' );
add_settings_field( 'cn_message_text', __( 'Message', 'cookie-notice' ), array( $this, 'cn_message_text' ), 'cookie_notice_options', 'cookie_notice_configuration' );
add_settings_field( 'cn_accept_text', __( 'Button text', 'cookie-notice' ), array( $this, 'cn_accept_text' ), 'cookie_notice_options', 'cookie_notice_configuration' );
add_settings_field( 'cn_see_more', __( 'More info link', 'cookie-notice' ), array( $this, 'cn_see_more' ), 'cookie_notice_options', 'cookie_notice_configuration' );
add_settings_field( 'cn_link_target', __( 'Link target', 'cookie-notice' ), array( $this, 'cn_link_target' ), 'cookie_notice_options', 'cookie_notice_configuration' );
add_settings_field( 'cn_refuse_opt', __( 'Refuse button', 'cookie-notice' ), array( $this, 'cn_refuse_opt' ), 'cookie_notice_options', 'cookie_notice_configuration' );
add_settings_field( 'cn_on_scroll', __( 'On scroll', 'cookie-notice' ), array( $this, 'cn_on_scroll' ), 'cookie_notice_options', 'cookie_notice_configuration' );
add_settings_field( 'cn_time', __( 'Cookie expiry', 'cookie-notice' ), array( $this, 'cn_time' ), 'cookie_notice_options', 'cookie_notice_configuration' );
add_settings_field( 'cn_script_placement', __( 'Script placement', 'cookie-notice' ), array( $this, 'cn_script_placement' ), 'cookie_notice_options', 'cookie_notice_configuration' );
add_settings_field( 'cn_deactivation_delete', __( 'Deactivation', 'cookie-notice' ), array( $this, 'cn_deactivation_delete' ), 'cookie_notice_options', 'cookie_notice_configuration' );
// design
add_settings_section( 'cookie_notice_design', __( 'Design', 'cookie-notice' ), array( $this, 'cn_section_design' ), 'cookie_notice_options' );
add_settings_field( 'cn_position', __( 'Position', 'cookie-notice' ), array( $this, 'cn_position' ), 'cookie_notice_options', 'cookie_notice_design' );
add_settings_field( 'cn_hide_effect', __( 'Animation', 'cookie-notice' ), array( $this, 'cn_hide_effect' ), 'cookie_notice_options', 'cookie_notice_design' );
add_settings_field( 'cn_css_style', __( 'Button style', 'cookie-notice' ), array( $this, 'cn_css_style' ), 'cookie_notice_options', 'cookie_notice_design' );
add_settings_field( 'cn_colors', __( 'Colors', 'cookie-notice' ), array( $this, 'cn_colors' ), 'cookie_notice_options', 'cookie_notice_design' );
}
/**
* Section callback: fix for WP < 3.3
*/
public function cn_section_configuration() {}
public function cn_section_design() {}
/**
* Delete plugin data on deactivation.
*/
public function cn_deactivation_delete() {
echo '
';
}
/**
* Cookie message option.
*/
public function cn_message_text() {
echo '
' . __( 'Enter the cookie notice message.', 'cookie-notice' ) . '
';
}
/**
* Accept cookie label option.
*/
public function cn_accept_text() {
echo '
';
}
/**
* Enable/Disable third party non functional cookies option.
*/
public function cn_refuse_opt() {
echo '
';
}
/**
* Read more link option.
*/
public function cn_see_more() {
$pages = get_pages(
array(
'sort_order' => 'ASC',
'sort_column' => 'post_title',
'hierarchical' => 0,
'child_of' => 0,
'parent' => -1,
'offset' => 0,
'post_type' => 'page',
'post_status' => 'publish'
)
);
echo '
';
}
/**
* Link target option.
*/
public function cn_link_target() {
echo '
' . __( 'Select the link target for more info page.', 'cookie-notice' ) . '
';
}
/**
* Expiration time option.
*/
public function cn_time() {
echo '
' . __( 'The ammount of time that cookie should be stored for.', 'cookie-notice' ) . '
';
}
/**
* Script placement option.
*/
public function cn_script_placement() {
foreach ( $this->script_placements as $value => $label ) {
echo '
';
}
echo '
' . __( 'Select where all the plugin scripts should be placed.', 'cookie-notice' ) . '
';
}
/**
* Position option.
*/
public function cn_position() {
echo '
';
foreach ( $this->positions as $value => $label ) {
$value = esc_attr( $value );
echo '
';
}
echo '
' . __( 'Select location for your cookie notice.', 'cookie-notice' ) . '
';
}
/**
* Animation effect option.
*/
public function cn_hide_effect() {
echo '
';
foreach ( $this->effects as $value => $label ) {
$value = esc_attr( $value );
echo '
';
}
echo '
' . __( 'Cookie notice acceptance animation.', 'cookie-notice' ) . '
';
}
/**
* On scroll option.
*/
public function cn_on_scroll() {
echo '
';
}
/**
* CSS style option.
*/
public function cn_css_style() {
echo '
';
foreach ( $this->styles as $value => $label ) {
$value = esc_attr( $value );
echo '
';
}
echo '
' . __( 'Choose buttons style.', 'cookie-notice' ) . '
';
}
/**
* Colors option.
*/
public function cn_colors() {
echo '
';
}
/**
* Validate options.
*/
public function validate_options( $input ) {
if ( ! check_admin_referer( 'cookie_notice_options-options') )
return $input;
if ( ! current_user_can( apply_filters( 'cn_manage_cookie_notice_cap', 'manage_options' ) ) )
return $input;
if ( isset( $_POST['save_cookie_notice_options'] ) ) {
// position
$input['position'] = sanitize_text_field( isset( $input['position'] ) && in_array( $input['position'], array_keys( $this->positions ) ) ? $input['position'] : $this->defaults['general']['position'] );
// colors
$input['colors']['text'] = sanitize_text_field( isset( $input['colors']['text'] ) && $input['colors']['text'] !== '' && preg_match( '/^#[a-f0-9]{6}$/', $input['colors']['text'] ) === 1 ? $input['colors']['text'] : $this->defaults['general']['colors']['text'] );
$input['colors']['bar'] = sanitize_text_field( isset( $input['colors']['bar'] ) && $input['colors']['bar'] !== '' && preg_match( '/^#[a-f0-9]{6}$/', $input['colors']['bar'] ) === 1 ? $input['colors']['bar'] : $this->defaults['general']['colors']['bar'] );
// texts
$input['message_text'] = wp_kses_post( isset( $input['message_text'] ) && $input['message_text'] !== '' ? $input['message_text'] : $this->defaults['general']['message_text'] );
$input['accept_text'] = sanitize_text_field( isset( $input['accept_text'] ) && $input['accept_text'] !== '' ? $input['accept_text'] : $this->defaults['general']['accept_text'] );
$input['refuse_text'] = sanitize_text_field( isset( $input['refuse_text'] ) && $input['refuse_text'] !== '' ? $input['refuse_text'] : $this->defaults['general']['refuse_text'] );
$input['refuse_opt'] = (bool) isset( $input['refuse_opt'] ) ? 'yes' : 'no';
$input['refuse_code'] = wp_kses_post( isset( $input['refuse_code'] ) && $input['refuse_code'] !== '' ? $input['refuse_code'] : $this->defaults['general']['refuse_code'] );
// css
$input['css_style'] = sanitize_text_field( isset( $input['css_style'] ) && in_array( $input['css_style'], array_keys( $this->styles ) ) ? $input['css_style'] : $this->defaults['general']['css_style'] );
// link target
$input['link_target'] = sanitize_text_field( isset( $input['link_target'] ) && in_array( $input['link_target'], array_keys( $this->link_target ) ) ? $input['link_target'] : $this->defaults['general']['link_target'] );
// time
$input['time'] = sanitize_text_field( isset( $input['time'] ) && in_array( $input['time'], array_keys( $this->times ) ) ? $input['time'] : $this->defaults['general']['time'] );
// script placement
$input['script_placement'] = sanitize_text_field( isset( $input['script_placement'] ) && in_array( $input['script_placement'], array_keys( $this->script_placements ) ) ? $input['script_placement'] : $this->defaults['general']['script_placement'] );
// hide effect
$input['hide_effect'] = sanitize_text_field( isset( $input['hide_effect'] ) && in_array( $input['hide_effect'], array_keys( $this->effects ) ) ? $input['hide_effect'] : $this->defaults['general']['hide_effect'] );
// on scroll
$input['on_scroll'] = (bool) isset( $input['on_scroll'] ) ? 'yes' : 'no';
// on scroll offset
$input['on_scroll_offset'] = absint( isset( $input['on_scroll_offset'] ) && $input['on_scroll_offset'] !== '' ? $input['on_scroll_offset'] : $this->defaults['general']['on_scroll_offset'] );
// deactivation
$input['deactivation_delete'] = (bool) isset( $input['deactivation_delete'] ) ? 'yes' : 'no';
// read more
$input['see_more'] = (bool) isset( $input['see_more'] ) ? 'yes' : 'no';
$input['see_more_opt']['text'] = sanitize_text_field( isset( $input['see_more_opt']['text'] ) && $input['see_more_opt']['text'] !== '' ? $input['see_more_opt']['text'] : $this->defaults['general']['see_more_opt']['text'] );
$input['see_more_opt']['link_type'] = sanitize_text_field( isset( $input['see_more_opt']['link_type'] ) && in_array( $input['see_more_opt']['link_type'], array_keys( $this->links ) ) ? $input['see_more_opt']['link_type'] : $this->defaults['general']['see_more_opt']['link_type'] );
if ( $input['see_more_opt']['link_type'] === 'custom' )
$input['see_more_opt']['link'] = esc_url( $input['see_more'] === 'yes' ? $input['see_more_opt']['link'] : 'empty' );
elseif ( $input['see_more_opt']['link_type'] === 'page' )
$input['see_more_opt']['id'] = ( $input['see_more'] === 'yes' ? (int) $input['see_more_opt']['id'] : 'empty' );
$input['translate'] = false;
// WPML >= 3.2
if ( defined( 'ICL_SITEPRESS_VERSION' ) && version_compare( ICL_SITEPRESS_VERSION, '3.2', '>=' ) ) {
do_action( 'wpml_register_single_string', 'Cookie Notice', 'Message in the notice', $input['message_text'] );
do_action( 'wpml_register_single_string', 'Cookie Notice', 'Button text', $input['accept_text'] );
do_action( 'wpml_register_single_string', 'Cookie Notice', 'Refuse button text', $input['refuse_text'] );
do_action( 'wpml_register_single_string', 'Cookie Notice', 'Read more text', $input['see_more_opt']['text'] );
if ( $input['see_more_opt']['link_type'] === 'custom' )
do_action( 'wpml_register_single_string', 'Cookie Notice', 'Custom link', $input['see_more_opt']['link'] );
}
} elseif ( isset( $_POST['reset_cookie_notice_options'] ) ) {
$input = $this->defaults['general'];
add_settings_error( 'reset_cookie_notice_options', 'reset_cookie_notice_options', __( 'Settings restored to defaults.', 'cookie-notice' ), 'updated' );
}
return $input;
}
/**
* Cookie notice output.
*/
public function add_cookie_notice() {
if ( ! $this->cookie_setted() ) {
// WPML >= 3.2
if ( defined( 'ICL_SITEPRESS_VERSION' ) && version_compare( ICL_SITEPRESS_VERSION, '3.2', '>=' ) ) {
$this->options['general']['message_text'] = apply_filters( 'wpml_translate_single_string', $this->options['general']['message_text'], 'Cookie Notice', 'Message in the notice' );
$this->options['general']['accept_text'] = apply_filters( 'wpml_translate_single_string', $this->options['general']['accept_text'], 'Cookie Notice', 'Button text' );
$this->options['general']['refuse_text'] = apply_filters( 'wpml_translate_single_string', $this->options['general']['refuse_text'], 'Cookie Notice', 'Refuse button text' );
$this->options['general']['see_more_opt']['text'] = apply_filters( 'wpml_translate_single_string', $this->options['general']['see_more_opt']['text'], 'Cookie Notice', 'Read more text' );
$this->options['general']['see_more_opt']['link'] = apply_filters( 'wpml_translate_single_string', $this->options['general']['see_more_opt']['link'], 'Cookie Notice', 'Custom link' );
// WPML and Polylang compatibility
} elseif ( function_exists( 'icl_t' ) ) {
$this->options['general']['message_text'] = icl_t( 'Cookie Notice', 'Message in the notice', $this->options['general']['message_text'] );
$this->options['general']['accept_text'] = icl_t( 'Cookie Notice', 'Button text', $this->options['general']['accept_text'] );
$this->options['general']['refuse_text'] = icl_t( 'Cookie Notice', 'Refuse button text', $this->options['general']['refuse_text'] );
$this->options['general']['see_more_opt']['text'] = icl_t( 'Cookie Notice', 'Read more text', $this->options['general']['see_more_opt']['text'] );
$this->options['general']['see_more_opt']['link'] = icl_t( 'Cookie Notice', 'Custom link', $this->options['general']['see_more_opt']['link'] );
}
if ( function_exists( 'icl_object_id' ) )
$this->options['general']['see_more_opt']['id'] = icl_object_id( $this->options['general']['see_more_opt']['id'], 'page', true );
// get cookie container args
$options = apply_filters( 'cn_cookie_notice_args', array(
'position' => $this->options['general']['position'],
'css_style' => $this->options['general']['css_style'],
'colors' => $this->options['general']['colors'],
'message_text' => $this->options['general']['message_text'],
'accept_text' => $this->options['general']['accept_text'],
'refuse_text' => $this->options['general']['refuse_text'],
'refuse_opt' => $this->options['general']['refuse_opt'],
'see_more' => $this->options['general']['see_more'],
'see_more_opt' => $this->options['general']['see_more_opt'],
'link_target' => $this->options['general']['link_target'],
) );
// message output
$output = '
';
echo apply_filters( 'cn_cookie_notice_output', $output, $options );
}
}
/**
* Checks if cookie is setted
*/
public function cookie_setted() {
return isset( $_COOKIE[self::$cookie['name']] );
}
/**
* Checks if third party non functional cookies are accepted
*/
public static function cookies_accepted() {
return ( isset( $_COOKIE[self::$cookie['name']] ) && strtoupper( $_COOKIE[self::$cookie['name']] ) === self::$cookie['value'] );
}
/**
* Get default settings.
*/
public function get_defaults() {
return $this->defaults;
}
/**
* Add links to Support Forum.
*/
public function plugin_extend_links( $links, $file ) {
if ( ! current_user_can( apply_filters( 'cn_manage_cookie_notice_cap', 'manage_options' ) ) )
return $links;
$plugin = plugin_basename( __FILE__ );
if ( $file == $plugin )
return array_merge( $links, array( sprintf( '%s', __( 'Support', 'cookie-notice' ) ) ) );
return $links;
}
/**
* Add links to settings page.
*/
public function plugin_settings_link( $links, $file ) {
if ( ! current_user_can( apply_filters( 'cn_manage_cookie_notice_cap', 'manage_options' ) ) )
return $links;
$plugin = plugin_basename( __FILE__ );
if ( $file == $plugin )
array_unshift( $links, sprintf( '%s', admin_url( 'options-general.php?page=cookie-notice' ), __( 'Settings', 'cookie-notice' ) ) );
return $links;
}
/**
* Activate the plugin.
*/
public function activation() {
add_option( 'cookie_notice_options', $this->defaults['general'], '', 'no' );
add_option( 'cookie_notice_version', $this->defaults['version'], '', 'no' );
}
/**
* Deactivate the plugin.
*/
public function deactivation() {
if ( $this->options['general']['deactivation_delete'] === 'yes' )
delete_option( 'cookie_notice_options' );
}
/**
* Load scripts and styles - admin.
*/
public function admin_load_scripts_styles( $page ) {
if ( $page !== 'settings_page_cookie-notice' )
return;
wp_enqueue_script(
'cookie-notice-admin', plugins_url( 'js/admin.js', __FILE__ ), array( 'jquery', 'wp-color-picker' ), $this->defaults['version']
);
wp_localize_script(
'cookie-notice-admin', 'cnArgs', array(
'resetToDefaults' => __( 'Are you sure you want to reset these settings to defaults?', 'cookie-notice' )
)
);
wp_enqueue_style( 'wp-color-picker' );
wp_enqueue_style( 'cookie-notice-admin', plugins_url( 'css/admin.css', __FILE__ ) );
}
/**
* Load scripts and styles - frontend.
*/
public function front_load_scripts_styles() {
if ( ! $this->cookie_setted() ) {
wp_enqueue_script(
'cookie-notice-front', plugins_url( 'js/front.js', __FILE__ ), array( 'jquery' ), $this->defaults['version'], isset( $this->options['general']['script_placement'] ) && $this->options['general']['script_placement'] === 'footer' ? true : false
);
wp_localize_script(
'cookie-notice-front', 'cnArgs', array(
'ajaxurl' => admin_url( 'admin-ajax.php' ),
'hideEffect' => $this->options['general']['hide_effect'],
'onScroll' => $this->options['general']['on_scroll'],
'onScrollOffset' => $this->options['general']['on_scroll_offset'],
'cookieName' => self::$cookie['name'],
'cookieValue' => self::$cookie['value'],
'cookieTime' => $this->times[$this->options['general']['time']][1],
'cookiePath' => ( defined( 'COOKIEPATH' ) ? COOKIEPATH : '' ),
'cookieDomain' => ( defined( 'COOKIE_DOMAIN' ) ? COOKIE_DOMAIN : '' )
)
);
wp_enqueue_style( 'cookie-notice-front', plugins_url( 'css/front.css', __FILE__ ) );
}
}
/**
* Print non functional javascript.
*
* @return mixed
*/
public function wp_print_footer_scripts() {
$scripts = html_entity_decode( trim( wp_kses_post( $this->options['general']['refuse_code'] ) ) );
if ( $this->cookie_setted() && ! empty( $scripts ) ) {
?>