PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/internetmoney.kerihosting.com/wp-content/themes/jnews/class/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //home/trave494/internetmoney.kerihosting.com/wp-content/themes/jnews/class/Ads.php |
<?php /** * @author : Jegtheme */ namespace JNews; use JNews\Single\SinglePost; /** * Class JNews Ads */ Class Ads { /** * @var Ads */ private static $instance; /** * @return Ads */ public static function getInstance() { if (null === static::$instance) { static::$instance = new static(); } return static::$instance; } private function __construct() { // header add_action('jnews_header_top_ads', array($this, 'header_top')); add_action('jnews_header_ads', array($this, 'header')); // article add_action('jnews_article_top_ads', array($this, 'article_top')); add_action('jnews_content_top_ads', array($this, 'content_top')); add_action('jnews_article_bottom_ads', array($this, 'article_bottom')); add_action('jnews_content_inline_ads', array($this, 'content_inline')); add_action('jnews_single_post_before_content', array($this, 'article_content_top'), 10); add_action('jnews_single_post_after_content', array($this, 'article_content_bottom'), 10); // paragraph add_filter('the_content', array($this, 'inject_ads'), 10); // archive add_action('jnews_archive_above_content', array($this, 'above_content')); add_action('jnews_archive_above_hero', array($this, 'above_hero')); add_action('jnews_archive_below_hero', array($this, 'below_hero')); // sidefeed add_action('jnews_sidefeed_ads', array($this, 'sidefeed')); // footer add_action('jnews_above_footer_ads', array($this, 'above_footer')); add_action('jnews_after_main', array($this, 'after_main')); add_action('wp_footer', array($this, 'sticky_footer_ads'), 50); // page level ads add_action('wp_footer', array($this, 'page_level_ads')); } public function page_level_ads() { if(wp_is_mobile()) { if(get_theme_mod('jnews_page_level_ads_enable', false)) { $join_ads = array(); $publisher = get_theme_mod('jnews_ads_page_level_google_publisher', ''); $publisher = str_replace(' ', '', $publisher); $vignette_channel = get_theme_mod('jnews_ads_page_level_vignette_google_channel', ''); $anchor_channel = get_theme_mod('jnews_ads_page_level_anchor_google_channel', ''); $join_ads[] = "google_ad_client: '{$publisher}'"; $join_ads[] = "enable_page_level_ads: true"; if(get_theme_mod('jnews_page_level_vignette_enable', false) && !empty($vignette_channel)) { $join_ads[] = "vignettes: {google_ad_channel: '{$vignette_channel}'}"; } if(get_theme_mod('jnews_page_level_anchor_enable', false) && !empty($anchor_channel)) { $join_ads[] = "overlays: {google_ad_channel: '{$anchor_channel}'}"; } $join_ads = implode(', ', $join_ads); $script = "<script async src=\"//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js\"></script> <script> ( adsbygoogle = window.adsbygoogle || []).push({ {$join_ads} }); </script>"; echo jnews_sanitize_output( $script ); } } } /** * Inject ads inside content paragraph * * @param $content * @return string */ public function inject_ads($content) { if(get_post_type() === 'post' && is_single() && ! is_admin()) { $locations = array( 'content_inline', 'content_inline_2', 'content_inline_3' ); $tag = new ContentTag($content); $pnumber = $tag->total('p'); foreach ( $locations as $location ) { if ( get_theme_mod('jnews_ads_' . $location . '_enable', false) ) { $adsposition = get_theme_mod('jnews_ads_' . $location . '_paragraph', 3); if ( get_theme_mod('jnews_ads_' . $location . '_paragraph_random', false) ) { $maxparagraph = $pnumber - 2; $adsposition = rand( $adsposition, $maxparagraph ); } $ad_code = "<div class=\"jeg_ad jeg_ad_article jnews_{$location}_ads " . $this->additional_class($location) . " \">" . $this->content_inline( $location, false) . "</div>"; $content = $this->prefix_insert_after_paragraph($ad_code, $adsposition, $content); } } } return $content; } /** * insert code after paragraph * * @param $insertion * @param $paragraph_id * @param $content * @return string */ public function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) { $line = 0; $tag = new ContentTag( $content ); if ( $paragraph_id ) { $line = $tag->find( 'p', $paragraph_id ); } return jeg_string_insert( $tag->get_content(), $insertion, $line ); } /** call back **/ public function header_top() { echo jnews_sanitize_output( $this->render_ads('header_top') ); } public function header() { echo jnews_sanitize_output( $this->render_ads('header', null, array( 'jnews_ads_header_enable' => true, 'jnews_ads_header_type' => 'image', 'jnews_ads_header_image' => get_parent_theme_file_uri('assets/img/ad_728x90.png'), 'jnews_ads_header_link' => '#', 'jnews_ads_header_text' => esc_html__('Advertisement', 'jnews') )) ); } public function article_top() { echo jnews_sanitize_output( $this->render_ads('article_top') ); } public function above_footer($echo = true) { $ads = $this->render_ads('above_footer'); if($echo) { echo jnews_sanitize_output( $ads ); } else { return $ads; } } public function article_content_top() { $html = "<div class=\"jeg_ad jeg_article jnews_content_top_ads " . $this->additional_class('content_top') . "\">" . $this->content_top(false) . "</div>"; echo jnews_sanitize_output( $html ); } public function content_top($echo = true) { $ads = $this->render_ads('content_top'); if($echo) { echo jnews_sanitize_output( $ads ); } else { return $ads; } } public function article_content_bottom() { $html = "<div class=\"jeg_ad jeg_article jnews_content_bottom_ads " . $this->additional_class('content_bottom') . "\">" . $this->content_bottom(false) . "</div>"; echo jnews_sanitize_output( $html ); } public function content_bottom($echo = true) { $ads = $this->render_ads('content_bottom'); if($echo) { echo jnews_sanitize_output( $ads ); } else { return $ads; } } public function article_bottom() { echo jnews_sanitize_output( $this->render_ads('article_bottom') ); } public function content_inline_2() { $this->content_inline('content_inline_2'); } public function content_inline_3() { $this->content_inline('content_inline_3'); } public function content_inline($location = 'content_inline', $echo = true) { $align = get_theme_mod('jnews_ads_' . $location . '_align', 'center'); $ads = $this->render_ads( $location, 'align-' . $align ); if ( $echo ) { echo jnews_sanitize_output( $ads ); } else { return $ads; } } public function sidefeed() { $sidefeed_ads = get_theme_mod('jnews_ads_sidefeed_enable'); if ($sidefeed_ads) { echo jnews_sanitize_output( $this->render_ads('sidefeed', 'jeg_ad_sidecontent') ); } } public function after_main() { $html = "<div class=\"jeg_ad jnews_above_footer_ads " . $this->additional_class('above_footer') . "\">" . $this->above_footer(false) . "</div>"; echo jnews_sanitize_output( $html ); } public function sticky_footer_ads() { $html = "<div class=\"jeg_ad jnews_mobile_sticky_ads " . $this->additional_class('mobile_sticky') . "\">" . $this->mobile_sticky(false) . "</div>"; echo jnews_sanitize_output( $html ); } public function mobile_sticky($echo = true) { if(wp_is_mobile()) { $ads = $this->render_ads('mobile_sticky'); if($echo) { echo jnews_sanitize_output( $ads ); } else { return $ads; } } } public function above_content() { $html = "<div class=\"jeg_ad jeg_archive jnews_archive_above_content_ads " . $this->additional_class('archive_above_content') . "\">" . $this->archive_above_content(false) . "</div>"; echo jnews_sanitize_output( $html ); } public function archive_above_content( $echo = true ) { $ads = $this->render_ads('archive_above_content'); if ( $echo ) { echo jnews_sanitize_output( $ads ); } else { return $ads; } } public function above_hero() { $html = "<div class=\"jeg_ad jeg_category jnews_archive_above_hero_ads " . $this->additional_class('archive_above_hero') . "\">" . $this->archive_above_hero(false) . "</div>"; echo jnews_sanitize_output( $html ); } public function archive_above_hero( $echo = true ) { $ads = $this->render_ads('archive_above_hero'); if ( $echo ) { echo jnews_sanitize_output( $ads ); } else { return $ads; } } public function below_hero() { $html = "<div class=\"jeg_ad jeg_category jnews_archive_below_hero_ads " . $this->additional_class('archive_below_hero') . "\">" . $this->archive_below_hero(false) . "</div>"; echo jnews_sanitize_output( $html ); } public function archive_below_hero( $echo = true ) { $ads = $this->render_ads('archive_below_hero'); if ( $echo ) { echo jnews_sanitize_output( $ads ); } else { return $ads; } } public function inline_module() { echo jnews_sanitize_output( $this->render_ads('inline_module') ); } /** * Calculate default size */ public function get_location_size($location, &$desktopsize_ad, &$tabsize_ad, &$phonesize_ad) { if($location === 'header_1' || $location === 'header_2' || $location === 'header') { $desktopsize_ad = array('728','90'); $tabsize_ad = array('468','60'); $phonesize_ad = array('320', '50'); } if($location === 'header_4' || $location === 'header_top' || $location === 'article_top' || $location === 'article_bottom') { $desktopsize_ad = array('970','90'); $tabsize_ad = array('468','60'); $phonesize_ad = array('320', '50'); } if($location === 'content_top' || $location === 'content_bottom') { $desktopsize_ad = array('728','90'); $tabsize_ad = array('468','60'); $phonesize_ad = array('320', '50'); } if($location === 'content_inline' || $location === 'content_inline_2' || $location === 'content_inline_3' || $location === 'inline_module') { $align = get_theme_mod('jnews_ads_' . $location . '_align', 'center'); if($align === 'center') { $single = SinglePost::getInstance(); $float_class = $single->share_float_additional_class(); if($float_class === 'with-share') { $desktopsize_ad = array('468','60'); $tabsize_ad = array('468','60'); $phonesize_ad = array('320', '50'); } else { $desktopsize_ad = array('728','90'); $tabsize_ad = array('468','60'); $phonesize_ad = array('320', '50'); } } else { $desktopsize_ad = array('300','250'); $tabsize_ad = array('300','250'); $phonesize_ad = array('300','250'); } } if($location === 'sidefeed') { $desktopsize_ad = array('300','250'); $tabsize_ad = array('250','250'); $phonesize_ad = array('250','250'); } if($location === 'mobile_sticky') { $desktopsize_ad = array('',''); $tabsize_ad = array('',''); $phonesize_ad = array('320', '50'); } } private function default_value($name, $default, $ads_default) { if(isset($ads_default[$name])) { return get_theme_mod($name, $ads_default[$name]); } else { return get_theme_mod($name, $default); } } /** * Calculate Real Ads * * @param $location * @param string $addclass * @param array $default * @return string */ public function render_ads($location, $addclass = '', $default = array()) { $enabled = $this->default_value('jnews_ads_' . $location . '_enable', false, $default); $ads_html = ''; if($enabled) { $type = $this->default_value('jnews_ads_' . $location . '_type', 'googleads', $default); if($type === 'image') { $ads_tab = $this->default_value('jnews_ads_' . $location . '_open_tab', false, $default) ? 'target="_blank"' : ''; $ads_link = $this->default_value('jnews_ads_' . $location . '_link', '', $default); $ads_text = $this->default_value('jnews_ads_' . $location . '_text', '', $default); $ads_images = array( 'ads_image' => $this->default_value('jnews_ads_' . $location . '_image', '', $default), 'ads_image_tablet' => $this->default_value('jnews_ads_' . $location . '_image_tablet', '', $default), 'ads_image_phone' => $this->default_value('jnews_ads_' . $location . '_image_phone', '', $default) ); foreach ( $ads_images as $key => $ads_image ) { if ( ! empty( $ads_image ) ) { if ( $this->default_value( 'jnews_ads_' . $location . '_normal_load', '', $default ) ) { $ads_html .= "<a href='{$ads_link}' {$ads_tab} class='adlink {$key} {$addclass}'> <img src='{$ads_image}' alt='{$ads_text}' data-pin-no-hover=\"true\"> </a>"; } else { $ads_html .= "<a href='{$ads_link}' {$ads_tab} class='adlink {$key} {$addclass}'> <img src='" . apply_filters( 'jnews_empty_image', '' ) . "' class='lazyload' data-src='{$ads_image}' alt='{$ads_text}' data-pin-no-hover=\"true\"> </a>"; } } } } if($type === 'shortcode') { $shortcode = $this->default_value('jnews_ads_' . $location . '_shortcode', '', $default); $ads_html = "<div class='ads_shortcode'>" . do_shortcode($shortcode) . "</div>"; } if($type === 'code') { $code = $this->default_value('jnews_ads_' . $location . '_code', '', $default); $ads_html = "<div class='ads_code'>" . $code . "</div>"; } if($type === 'googleads') { $publisherid = $this->default_value('jnews_ads_' . $location . '_google_publisher', '', $default); $slotid = $this->default_value('jnews_ads_' . $location . '_google_id', '', $default); $publisherid = str_replace(' ', '', $publisherid); $slotid = str_replace(' ', '', $slotid); if(!empty($publisherid) && !empty($slotid)) { $desktopsize_ad = array(); $tabsize_ad = array(); $phonesize_ad = array(); $ad_style = ''; $desktopsize = $this->default_value('jnews_ads_' . $location . '_google_desktop', 'auto', $default); $tabsize = $this->default_value('jnews_ads_' . $location . '_google_tab', 'auto', $default); $phonesize = $this->default_value('jnews_ads_' . $location . '_google_phone', 'auto', $default); $this->get_location_size($location, $desktopsize_ad, $tabsize_ad, $phonesize_ad); if($desktopsize !== 'auto') { $desktopsize_ad = explode('x', $desktopsize); } if($tabsize !== 'auto') { $tabsize_ad = explode('x', $tabsize); } if($phonesize !== 'auto') { $phonesize_ad = explode('x', $phonesize); } $randomstring = jeg_generate_random_string(); if($desktopsize !== 'hide' && is_array($desktopsize_ad) && isset($desktopsize_ad['0']) && isset($desktopsize_ad['1'])) { $ad_style .= ".adsslot_{$randomstring}{ width:{$desktopsize_ad[0]}px !important; height:{$desktopsize_ad[1]}px !important; }\n"; } if($tabsize !== 'hide' && is_array($tabsize_ad) && isset($tabsize_ad['0']) && isset($tabsize_ad['1'])) { $ad_style .= "@media (max-width:1199px) { .adsslot_{$randomstring}{ width:{$tabsize_ad[0]}px !important; height:{$tabsize_ad[1]}px !important; } }\n"; } if($phonesize !== 'hide' && is_array($phonesize_ad) && isset($phonesize_ad['0']) && isset($phonesize_ad['1'])) { $ad_style .= "@media (max-width:767px) { .adsslot_{$randomstring}{ width:{$phonesize_ad[0]}px !important; height:{$phonesize_ad[1]}px !important; } }\n"; } $ads_html .= "<div class=\"ads_google_ads\"> <style type='text/css' scoped> {$ad_style} </style> <ins class=\"adsbygoogle adsslot_{$randomstring}\" style=\"display:inline-block;\" data-ad-client=\"{$publisherid}\" data-ad-slot=\"{$slotid}\"></ins> <script async src='//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'></script> <script>(adsbygoogle = window.adsbygoogle || []).push({});</script> </div>"; } } $bottom_text = $this->default_value('jnews_ads_' . $location . '_ads_text', false, $default); if($bottom_text) { $ads_text_html = jnews_return_translation( 'ADVERTISEMENT', 'jnews', 'advertisement' ); $ads_html = $ads_html . "<div class='ads-text'>{$ads_text_html}</div>"; } } $addclass .= ' ' . $this->additional_class($location); return "<div class='ads-wrapper {$addclass}'>" . $ads_html . "</div>"; } protected function additional_class($location) { $class = array(); if ( $this->default_value('jnews_ads_' . $location . '_google_desktop', false, 'auto') === 'hide' ) { $class[] = 'jeg_ads_hide_desktop'; } if ( $this->default_value('jnews_ads_' . $location . '_google_tab', false, 'auto') === 'hide' ) { $class[] = 'jeg_ads_hide_tab'; } if ( $this->default_value('jnews_ads_' . $location . '_google_phone', false, 'auto') === 'hide' ) { $class[] = 'jeg_ads_hide_phone'; } return implode(' ', $class); } }