options = $essb_options; $is_active = ESSBOptionValuesHelper::options_bool_value($this->options, 'afterclose_active'); $is_deactive_mobile = ESSBOptionValuesHelper::options_bool_value($this->options, 'afterclose_deactive_mobile'); $is_active_singledisplay = ESSBOptionValuesHelper::options_bool_value($this->options, 'afterclose_singledisplay'); $single_display_cookie_length = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_singledisplay_days'); $this->single_display_mode = $is_active_singledisplay; $this->single_display_cookie_length = intval($single_display_cookie_length); if ($this->single_display_cookie_length == 0) { $this->single_display_cookie_length = 7; } $afterclose_deactive_sharedisable = ESSBOptionValuesHelper::options_bool_value($this->options, 'afterclose_deactive_sharedisable'); //if ($is_active) { //add_action ( 'wp_enqueue_scripts', array ($this, 'check_after_postload_settings' ), 1 ); //} $is_active_option = ""; if (ESSB3_DEMO_MODE) { $is_active_option = isset($_REQUEST['aftershare']) ? $_REQUEST['aftershare'] : ''; if ($is_active_option != '') { $is_active = true; } } // @since 2.0.3 - deactivate on mobile if ($is_active && $is_deactive_mobile && $this->isMobile()) { $is_active = false; } // @since 2.0.3 if ($this->single_display_mode) { //print "deactivated!"; $cookie_aftershare = isset($_COOKIE['essb_aftershare']) ? true : false; //print "cookie state = ".$cookie_aftershare; if ($cookie_aftershare) { $is_active = false; } } //print "is active after share = ".$is_active; if ($is_active) { //$this->load($is_active_option); add_action ( 'wp_enqueue_scripts', array ($this, 'check_after_postload_settings' ), 1 ); } } public function check_after_postload_settings() { $is_active = true; $is_active_option = ""; if (ESSB3_DEMO_MODE) { $is_active_option = isset($_REQUEST['aftershare']) ? $_REQUEST['aftershare'] : ''; if ($is_active_option != '') { $is_active = true; } } if ($this->isUserDeactivated()) { $is_active = false; } // @since 4.0 $afterclose_activate_all = essb_options_bool_value('afterclose_activate_all'); if (!$afterclose_activate_all) { $post_types_run = essb_option_value('display_in_types'); if (!is_array($post_types_run)) { $post_types_run = array(); } if (!essb_core()->check_applicability($post_types_run, 'aftershare')) { $is_active = false; } } //print "after share state = ".$is_active; if (essb_option_bool_value('afterclose_activate_sharedisable')) { $is_active = true; } if (!$is_active) { remove_action ( 'wp_footer', array ($this, 'generateFollowWindow' ), 99 ); remove_action ( 'wp_footer', array ($this, 'generateMessageText' ), 99 ); remove_action ( 'wp_footer', array ($this, 'generate_option_code' ), 99 ); remove_action ( 'wp_footer', array ($this, 'generate_popular_posts' ), 99 ); } else { $this->load($is_active_option); } } public function isUserDeactivated() { $is_user_deactivated = false; $display_exclude_from = ESSBOptionValuesHelper::options_value($this->options, 'display_exclude_from'); if ($display_exclude_from != "") { $excule_from = explode(',', $display_exclude_from); $excule_from = array_map('trim', $excule_from); if (in_array(get_the_ID(), $excule_from, false)) { $is_user_deactivated = true; } } if ( essb_is_module_deactivated_on('aftershare')) { $is_user_deactivated = true; } // check post meta for turned off $essb_off = get_post_meta(get_the_ID(),'essb_off',true); if ($essb_off == "true") { $is_user_deactivated = true; } if (essb_option_bool_value('afterclose_activate_sharedisable')) { $is_user_deactivated = false; } return $is_user_deactivated; } public static function get_instance() { if ( ! self::$instance ) self::$instance = new ESSBAfterCloseShare3(); return self::$instance; } public function isMobile() { $exclude_tablet = isset($this->options['mobile_exclude_tablet']) ? $this->options['mobile_exclude_tablet'] : 'false'; if (!isset($this->mobile_detect)) { $this->mobile_detect = new ESSB_Mobile_Detect(); } //print "mobile = ".$this->mobile_detect->isMobile();; $isMobile = $this->mobile_detect->isMobile(); if ($exclude_tablet == 'true' && $this->mobile_detect->isTablet()) { $isMobile = false; } return $isMobile; } private function load($demo_mode = '') { $acs_type = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_type'); $always_use_code = ESSBOptionValuesHelper::options_bool_value($this->options, 'afterclose_code_always_use'); if ($demo_mode != '') { $acs_type = $demo_mode; } //print "loading code = ". $acs_type; switch ($acs_type) { case "follow": $this->prepare_required_social_apis(); $this->register_asc_assets(); add_action ( 'wp_footer', array ($this, 'generateFollowWindow' ), 99 ); if ($always_use_code) { $this->generateMessageCode(); } break; case "message": $this->register_asc_assets(); add_action ( 'wp_footer', array ($this, 'generateMessageText' ), 99 ); if ($always_use_code) { $this->generateMessageCode(); } break; case "code": $this->generateMessageCode(); break; case "optin": add_action ( 'wp_footer', array ($this, 'generate_option_code' ), 99 ); if ($always_use_code) { $this->generateMessageCode(); } break; case "popular": $this->register_asc_assets(); add_action ( 'wp_footer', array ($this, 'generate_popular_posts' ), 99 ); if ($always_use_code) { $this->generateMessageCode(); } break; } foreach ($this->js_code as $key => $code) { essb_resource_builder()->add_js($code, false, 'essbasc_custom'.$key); } foreach ($this->social_apis as $key => $code) { essb_resource_builder()->add_social_api($key); } } public function register_asc_assets() { $this->resource_files[] = array("key" => "easy-social-share-buttons-popupasc", "file" => ESSB3_PLUGIN_URL . '/assets/css/essb-after-share-close.min.css', "type" => "css"); $this->resource_files[] = array("key" => "essb-aftershare-close-script", "file" => ESSB3_PLUGIN_URL . '/assets/js/essb-after-share-close.min.js', "type" => "js"); //print "register footer assets "; foreach ($this->resource_files as $key => $object) { if (isset($object['noasync'])) { essb_resource_builder()->add_static_resource_footer($object["file"], $object["key"], $object["type"], true); } else { essb_resource_builder()->add_static_resource_footer($object["file"], $object["key"], $object["type"]); } } } public function generateMessageCode() { $user_js_code = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_code_text'); if ($user_js_code != '') { $user_js_code = stripslashes($user_js_code); $this->js_code[] = 'function essb_acs_code(oService, oPostID) { '.$user_js_code.' }'; } } public function prepare_required_social_apis() { $afterclose_like_text = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_like_text'); $afterclose_like_fb_like_url = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_like_fb_like_url'); $afterclose_like_fb_follow_url = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_like_fb_follow_url'); $afterclose_like_google_url = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_like_google_url'); $afterclose_like_google_follow_url = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_like_google_follow_url'); $afterclose_like_twitter_profile = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_like_twitter_profile'); $afterclose_like_pin_follow_url = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_like_pin_follow_url'); $afterclose_like_youtube_channel = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_like_youtube_channel'); $afterclose_like_youtube_user = essb_option_value('afterclose_like_youtube_user'); $afterclose_like_linkedin_company = ESSBOptionValuesHelper::options_value($this->options, 'afterclose_like_linkedin_company'); $afterclose_like_vk = essb_option_value('afterclose_like_vk'); if ($afterclose_like_fb_like_url != '') { $this->social_apis['facebook'] = 'load'; } if ($afterclose_like_fb_follow_url != '') { $this->social_apis['facebook'] = 'load'; } if ($afterclose_like_google_url != '') { $this->social_apis['google'] = 'load'; } if ($afterclose_like_google_follow_url != '') { $this->social_apis['google'] = 'load'; } if ($afterclose_like_pin_follow_url != '') { $this->resource_files[] = array("key" => "pinterest-api", "file" => '//assets.pinterest.com/js/pinit.js', "type" => "js", 'noasync' => true); } if ($afterclose_like_youtube_channel != '' || $afterclose_like_youtube_user != '') { $this->social_apis['google'] = 'load'; } if ($afterclose_like_vk != '') { //$this->resource_files[] = array("key" => "vk-follow-api", "file" => '//vk.com/js/api/openapi.js?139', "type" => "js", 'noasync' => true); //essb_resource_builder()->add_static_resource('//vk.com/js/api/openapi.js?139', 'vk-follow-api', 'js'); } } public function generateFollowButton($social_code, $network_key, $icon_key) { $output = ''; $output .= '