widget_url = '//cdn.hu-manity.co/hu-banner.min.js'; } /** * Initialize preview mode. */ public function preview_init() { // check preview mode $this->preview_mode = isset( $_GET['cn_preview_mode'] ) ? absint( $_GET['cn_preview_mode'] ) : false; if ( $this->preview_mode !== false ) { // filters add_filter( 'show_admin_bar', '__return_false' ); add_filter( 'cn_cookie_notice_output', '__return_false', 1000 ); // actions add_action( 'wp_enqueue_scripts', array( $this, 'wp_dequeue_scripts' ) ); // only in live preview if ( $this->preview_mode === 1 ) { add_action( 'wp_enqueue_scripts', array( $this, 'wp_enqueue_scripts' ) ); add_action( 'wp_head', array( $this, 'wp_head_scripts' ), 0 ); } } } /** * Load scripts and styles. * * @return void */ public function wp_enqueue_scripts( $page ) { // show only in live preview if ( $this->preview_mode === 1 ) { wp_enqueue_script( 'cookie-notice-welcome-frontend', plugins_url( '../js/front-welcome.js', __FILE__ ), array( 'jquery', 'underscore' ), Cookie_Notice()->defaults['version'] ); wp_localize_script( 'cookie-notice-welcome-frontend', 'cnFrontWelcome', array( 'previewMode' => $this->preview_mode, 'allowedURLs' => $this->get_allowed_urls(), 'levelNames' => Cookie_Notice()->settings->level_names, 'textStrings' => Cookie_Notice()->settings->text_strings ) ); } } /** * Unload scripts and styles. * * @return void */ public function wp_dequeue_scripts( $page ) { // deregister native CN wp_dequeue_script( 'cookie-notice-front' ); } /** * . * * @return void */ public function wp_head_scripts() { $options = array( 'currentLanguage' => 'en', 'previewMode' => true, 'debugMode' => true, 'config' => array( 'privacyPaper' => true, 'privacyContact' => true ) ); echo ' '; } /** * Get URLs allowed to be previewed. * * @return array */ public function get_allowed_urls() { $allowed_urls = array( home_url( '/' ) ); if ( is_ssl() && ! $this->is_cross_domain() ) $allowed_urls[] = home_url( '/', 'https' ); return $allowed_urls; } /** * Determines whether the admin and the frontend are on different domains. * * @return bool */ public function is_cross_domain() { $admin_origin = wp_parse_url( admin_url() ); $home_origin = wp_parse_url( home_url() ); return ( strtolower( $admin_origin['host'] ) !== strtolower( $home_origin['host'] ) ); } }