Advertisement
arie_cristianD

Ads

Oct 12th, 2023
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CSS 23.61 KB | None | 0 0
  1. <?php
  2. /**
  3.  * @author : Jegtheme
  4.  */
  5. namespace JNews;
  6.  
  7. use JNews\Single\SinglePost;
  8.  
  9. /**
  10.  * Class JNews Ads
  11.  */
  12. Class Ads
  13. {
  14.     /**
  15.      * @var Ads
  16.      */
  17.     private static $instance;
  18.  
  19.     /**
  20.      * @return Ads
  21.      */
  22.     public static function getInstance()
  23.     {
  24.         if (null === static::$instance)
  25.         {
  26.             static::$instance = new static();
  27.         }
  28.         return static::$instance;
  29.     }
  30.  
  31.     private function __construct()
  32.     {
  33.         // header
  34.         add_action('jnews_header_top_ads', array($this, 'header_top'));
  35.         add_action('jnews_header_ads', array($this, 'header'));
  36.         add_action('jnews_header_bottom_ads', array($this, 'header_bottom'));
  37.  
  38.         // article
  39.         add_action('jnews_article_top_ads', array($this, 'article_top'));
  40.         add_action('jnews_content_top_ads', array($this, 'content_top'));
  41.         add_action('jnews_article_bottom_ads', array($this, 'article_bottom'));
  42.         add_action('jnews_content_inline_ads', array($this, 'content_inline'));
  43.  
  44.         add_action('jnews_single_post_before_content', array($this, 'article_content_top'), 10);
  45.         add_action('jnews_single_post_after_content', array($this, 'article_content_bottom'), 10);
  46.  
  47.         // paragraph
  48.         add_filter('the_content', array($this, 'inject_ads'), 10);
  49.  
  50.         // archive
  51.         add_action('jnews_archive_above_content',   array($this, 'above_content'));
  52.         add_action('jnews_archive_above_hero',      array($this, 'above_hero'));
  53.         add_action('jnews_archive_below_hero',      array($this, 'below_hero'));
  54.  
  55.         // sidefeed
  56.         add_action('jnews_sidefeed_ads', array($this, 'sidefeed'));
  57.  
  58.         // footer
  59.         add_action('jnews_above_footer_ads', array($this, 'above_footer'));
  60.         add_action('jnews_after_main', array($this, 'after_main'));
  61.         add_action('wp_footer', array($this, 'sticky_footer_ads'), 50);
  62.  
  63.         // page level ads
  64.         add_action('wp_footer', array($this, 'page_level_ads'));
  65.     }
  66.  
  67.     public function page_level_ads()
  68.     {
  69.         if(wp_is_mobile())
  70.         {
  71.             if(get_theme_mod('jnews_page_level_ads_enable', false))
  72.             {
  73.                 $join_ads           = array();
  74.                 $publisher          = get_theme_mod('jnews_ads_page_level_google_publisher', '');
  75.                 $publisher          = str_replace(' ', '', $publisher);
  76.                 $vignette_channel   = get_theme_mod('jnews_ads_page_level_vignette_google_channel', '');
  77.                 $anchor_channel     = get_theme_mod('jnews_ads_page_level_anchor_google_channel', '');
  78.  
  79.                 $join_ads[] = "google_ad_client: '{$publisher}'";
  80.                 $join_ads[] = "enable_page_level_ads: true";
  81.  
  82.                 if(get_theme_mod('jnews_page_level_vignette_enable', false) && !empty($vignette_channel)) {
  83.                     $join_ads[] = "vignettes: {google_ad_channel: '{$vignette_channel}'}";
  84.                 }
  85.  
  86.                 if(get_theme_mod('jnews_page_level_anchor_enable', false) && !empty($anchor_channel)) {
  87.                     $join_ads[] = "overlays: {google_ad_channel: '{$anchor_channel}'}";
  88.                 }
  89.  
  90.                 $join_ads = implode(', ', $join_ads);
  91.  
  92.                 $googleads       = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
  93.                 $external_script = "<script async defer src='{$googleads}'></script>";
  94.                 if ( method_exists( '\JNews\Asset\FrontendAsset', 'autoptimize_option' ) ) {
  95.                     if ( get_theme_mod( 'jnews_extreme_autoptimize_script_loader', false ) && \JNews\Asset\FrontendAsset::autoptimize_option( 'autoptimize_js_aggregate' ) && \JNews\Asset\FrontendAsset::autoptimize_option( 'autoptimize_js' ) ) {
  96.                         $external_script = "<script>(jnewsads = window.jnewsads || []); if ('object' === typeof jnewsads && 'object' === typeof jnews.library) { if (jnewsads.length) { if (!jnews.library.isObjectSame(jnewsads[0], { defer: true, async: true, url:  '{$googleads}' })) { jnewsads.push({ defer: true, async: true, url:  '{$googleads}' }); } } else { jnewsads.push({ defer: true, async: true, url:  '{$googleads}' }); } }</script>";
  97.                     }
  98.                 }
  99.  
  100.                 $script =
  101.                     "{$external_script}<script>
  102.                      ( adsbygoogle = window.adsbygoogle || []).push({
  103.                            {$join_ads}
  104.                      });
  105.                    </script>";
  106.  
  107.                 echo jnews_sanitize_output( $script );
  108.             }
  109.         }
  110.     }
  111.  
  112.     /**
  113.      * Inject ads inside content paragraph
  114.      *
  115.      * @param $content
  116.      * @return string
  117.      */
  118.     public function inject_ads($content)
  119.     {
  120.         if(get_post_type() === 'post' && is_single() && ! is_admin())
  121.         {
  122.             $locations  = array( 'content_inline', 'content_inline_2', 'content_inline_3', 'content_inline_parallax', 'content_inline_parallax_2', 'content_inline_parallax_3' );
  123.             $tag        = new ContentTag($content);
  124.             $pnumber    = $tag->total('p');
  125.  
  126.             foreach ( $locations as $location )
  127.             {
  128.                 if ( get_theme_mod('jnews_ads_' . $location . '_enable', false) )
  129.                 {
  130.                     $adsposition = get_theme_mod('jnews_ads_' . $location . '_paragraph', 3);
  131.  
  132.                     if ( get_theme_mod('jnews_ads_' . $location . '_paragraph_random', false) )
  133.                     {
  134.                         $maxparagraph = $pnumber - 2;
  135.                         $adsposition  = rand( $adsposition, $maxparagraph );
  136.                     }
  137.  
  138.                     if ( get_theme_mod('jnews_hide_inline_enable', false ) ) {
  139.                         if ( $adsposition >= $pnumber ) {
  140.                             return $content;
  141.                         }
  142.                     }
  143.  
  144.                     $ad_code = "<div class=\"jeg_ad jeg_ad_article jnews_{$location}_ads " . $this->additional_class($location) . " \">" . $this->content_inline( $location, false) . "</div>";
  145.                     $content = $this->prefix_insert_after_paragraph($ad_code, $adsposition, $content);
  146.                 }
  147.             }
  148.         }
  149.  
  150.         return $content;
  151.     }
  152.  
  153.     /**
  154.      * insert code after paragraph
  155.      *
  156.      * @param $insertion
  157.      * @param $paragraph_id
  158.      * @param $content
  159.      * @return string
  160.      */
  161.     public function prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) {
  162.         $tag  = new ContentTag( $content );
  163.         $line =  $paragraph_id ? $tag->find( 'p', $paragraph_id ) : 0;
  164.         return jeg_string_insert( $tag->get_content(), $insertion, $line );
  165.     }
  166.  
  167.     /** call back **/
  168.     public function header_top() {
  169.         echo jnews_sanitize_output( $this->render_ads('header_top') );
  170.     }
  171.  
  172.     public function header() {
  173.         echo jnews_sanitize_output(
  174.             $this->render_ads('header', null, array(
  175.                 'jnews_ads_header_enable' => true,
  176.                 'jnews_ads_header_type' => 'image',
  177.                 'jnews_ads_header_image' => get_parent_theme_file_uri('assets/img/ad_728x90.png'),
  178.                 'jnews_ads_header_link' => '#',
  179.                 'jnews_ads_header_text' => esc_html__('Advertisement', 'jnews')
  180.             ))
  181.         );
  182.     }
  183.  
  184.     public function header_bottom() {
  185.         echo jnews_sanitize_output( $this->render_ads('header_bottom') );
  186.     }
  187.  
  188.     public function article_top() {
  189.         echo jnews_sanitize_output( $this->render_ads('article_top') );
  190.     }
  191.  
  192.     public function above_footer($echo = true)
  193.     {
  194.         $ads = $this->render_ads('above_footer');
  195.  
  196.         if(!$echo){
  197.             return $ads;
  198.         }
  199.         echo jnews_sanitize_output( $ads );
  200.     }
  201.  
  202.     public function article_content_top()
  203.     {
  204.         $html = "<div class=\"jeg_ad jeg_article jnews_content_top_ads " . $this->additional_class('content_top') . "\">" .  $this->content_top(false) . "</div>";
  205.         echo jnews_sanitize_output( $html );
  206.     }
  207.  
  208.     public function content_top($echo = true)
  209.     {
  210.         $ads = $this->render_ads('content_top');
  211.         if(!$echo){
  212.             return $ads;
  213.         }
  214.         echo jnews_sanitize_output( $ads );
  215.     }
  216.  
  217.     public function article_content_bottom()
  218.     {
  219.         $html = "<div class=\"jeg_ad jeg_article jnews_content_bottom_ads " . $this->additional_class('content_bottom') . "\">" .  $this->content_bottom(false) . "</div>";
  220.         echo jnews_sanitize_output( $html );
  221.     }
  222.  
  223.     public function content_bottom($echo = true)
  224.     {
  225.         $ads = $this->render_ads('content_bottom');
  226.         if(!$echo){
  227.             return $ads;
  228.         }
  229.         echo jnews_sanitize_output( $ads );
  230.     }
  231.  
  232.     public function article_bottom()
  233.     {
  234.         echo jnews_sanitize_output( $this->render_ads('article_bottom') );
  235.     }
  236.  
  237.     public function content_inline_2() {
  238.         $this->content_inline('content_inline_2');
  239.     }
  240.  
  241.     public function content_inline_3() {
  242.         $this->content_inline('content_inline_3');
  243.     }
  244.  
  245.     public function content_inline_parallax_2() {
  246.         $this->content_inline('content_inline_parallax_2');
  247.     }
  248.  
  249.     public function content_inline_parallax_3() {
  250.         $this->content_inline('content_inline_parallax_3');
  251.     }
  252.  
  253.     public function content_inline_parallax() {
  254.         $this->content_inline('content_inline_parallax');
  255.     }
  256.  
  257.     public function content_inline($location = 'content_inline', $echo = true)
  258.     {
  259.         if ( strpos( $location, 'content_inline_parallax' ) === false ) {
  260.             $align = get_theme_mod('jnews_ads_' . $location . '_align', 'center');
  261.             $ads   = $this->render_ads( $location, 'align-' . $align );
  262.         } else {
  263.             $ads   = $this->render_ads( $location );
  264.         }
  265.         if(!$echo){
  266.             return $ads;
  267.         }
  268.         echo jnews_sanitize_output( $ads );
  269.     }
  270.  
  271.     public function sidefeed()
  272.     {
  273.         $sidefeed_ads = get_theme_mod('jnews_ads_sidefeed_enable');
  274.         if ($sidefeed_ads) {
  275.             echo jnews_sanitize_output( $this->render_ads('sidefeed', 'jeg_ad_sidecontent') );
  276.         }
  277.     }
  278.  
  279.     public function after_main()
  280.     {
  281.         $html = "<div class=\"jeg_ad jnews_above_footer_ads " . $this->additional_class('above_footer') . "\">" .  $this->above_footer(false) . "</div>";
  282.         echo jnews_sanitize_output( $html );
  283.     }
  284.  
  285.     public function sticky_footer_ads()
  286.     {
  287.         $html = "<div class=\"jeg_ad jnews_mobile_sticky_ads " . $this->additional_class('mobile_sticky') . "\">" .  $this->mobile_sticky(false) . "</div>";
  288.         echo jnews_sanitize_output( $html );
  289.     }
  290.  
  291.     public function mobile_sticky($echo = true)
  292.     {
  293.         if(wp_is_mobile())
  294.         {
  295.             $ads = $this->render_ads('mobile_sticky');
  296.             if(!$echo){
  297.                 return $ads;
  298.             }
  299.             echo jnews_sanitize_output( $ads );
  300.         }
  301.     }
  302.  
  303.     public function above_content()
  304.     {
  305.         $html = "<div class=\"jeg_ad jeg_archive jnews_archive_above_content_ads " . $this->additional_class('archive_above_content') . "\">" . $this->archive_above_content(false) . "</div>";
  306.         echo jnews_sanitize_output( $html );
  307.     }
  308.  
  309.     public function archive_above_content( $echo = true )
  310.     {
  311.         $ads = $this->render_ads('archive_above_content');
  312.         if(!$echo){
  313.             return $ads;
  314.         }
  315.         echo jnews_sanitize_output( $ads );
  316.     }
  317.  
  318.     public function above_hero()
  319.     {
  320.         $html = "<div class=\"jeg_ad jeg_category jnews_archive_above_hero_ads " . $this->additional_class('archive_above_hero') . "\">" . $this->archive_above_hero(false) . "</div>";
  321.         echo jnews_sanitize_output( $html );
  322.     }
  323.  
  324.     public function archive_above_hero( $echo = true )
  325.     {
  326.         $ads = $this->render_ads('archive_above_hero');
  327.         if(!$echo){
  328.             return $ads;
  329.         }
  330.         echo jnews_sanitize_output( $ads );
  331.     }
  332.  
  333.     public function below_hero()
  334.     {
  335.         $html = "<div class=\"jeg_ad jeg_category jnews_archive_below_hero_ads " . $this->additional_class('archive_below_hero') . "\">" . $this->archive_below_hero(false) . "</div>";
  336.         echo jnews_sanitize_output( $html );
  337.     }
  338.  
  339.     public function archive_below_hero( $echo = true )
  340.     {
  341.         $ads = $this->render_ads('archive_below_hero');
  342.         if(!$echo) {
  343.             return $ads;
  344.         }
  345.         echo jnews_sanitize_output( $ads );
  346.     }
  347.  
  348.     public function inline_module()
  349.     {
  350.         echo jnews_sanitize_output( $this->render_ads('inline_module') );
  351.     }
  352.  
  353.     /**
  354.      * Calculate default size
  355.      */
  356.     public function get_location_size($location, &$desktopsize_ad, &$tabsize_ad, &$phonesize_ad)
  357.     {
  358.         if($location === 'header_1' || $location === 'header_2' || $location === 'header') {
  359.             $desktopsize_ad = array('728','90');
  360.             $tabsize_ad = array('468','60');
  361.             $phonesize_ad = array('320', '50');
  362.         }
  363.  
  364.         if($location === 'header_4' || $location === 'header_top' || $location === 'article_top' || $location === 'article_bottom' || $location === 'header_bottom') {
  365.             $desktopsize_ad = array('970','90');
  366.             $tabsize_ad = array('468','60');
  367.             $phonesize_ad = array('320', '50');
  368.         }
  369.  
  370.         if($location === 'content_top' || $location === 'content_bottom') {
  371.             $desktopsize_ad = array('728','90');
  372.             $tabsize_ad = array('468','60');
  373.             $phonesize_ad = array('320', '50');
  374.         }
  375.  
  376.         if($location === 'content_inline' || $location === 'content_inline_2' || $location === 'content_inline_3' || $location === 'inline_module')
  377.         {
  378.             $align = get_theme_mod('jnews_ads_' . $location . '_align', 'center');
  379.  
  380.             if($align === 'center')
  381.             {
  382.                 $single = SinglePost::getInstance();
  383.                 $float_class = $single->share_float_additional_class();
  384.  
  385.                 if($float_class === 'with-share')
  386.                 {
  387.                     $desktopsize_ad = array('468','60');
  388.                     $tabsize_ad = array('468','60');
  389.                     $phonesize_ad = array('320', '50');
  390.                 } else {
  391.                     $desktopsize_ad = array('728','90');
  392.                     $tabsize_ad = array('468','60');
  393.                     $phonesize_ad = array('320', '50');
  394.                 }
  395.  
  396.             } else {
  397.                 $desktopsize_ad = array('300','250');
  398.                 $tabsize_ad = array('300','250');
  399.                 $phonesize_ad = array('300','250');
  400.             }
  401.         }
  402.  
  403.         if($location === 'sidefeed')
  404.         {
  405.             $desktopsize_ad = array('300','250');
  406.             $tabsize_ad = array('250','250');
  407.             $phonesize_ad = array('250','250');
  408.         }
  409.  
  410.         if($location === 'mobile_sticky') {
  411.             $desktopsize_ad = array('','');
  412.             $tabsize_ad = array('','');
  413.             $phonesize_ad = array('320', '50');
  414.         }
  415.     }
  416.  
  417.     private function default_value($name, $default, $ads_default)
  418.     {
  419.         return isset($ads_default[$name]) ? get_theme_mod($name, $ads_default[$name]) : get_theme_mod($name, $default);
  420.     }
  421.  
  422.     /**
  423.      * Calculate Real Ads
  424.      *
  425.      * @param $location
  426.      * @param string $addclass
  427.      * @param array $default
  428.      * @return string
  429.      */
  430.     public function render_ads($location, $addclass = '', $default = array())
  431.     {
  432.         $enabled = $this->default_value('jnews_ads_' . $location . '_enable', false, $default);
  433.         $ads_html = '';
  434.  
  435.         if($enabled)
  436.         {
  437.             $type = $this->default_value('jnews_ads_' . $location . '_type', 'googleads', $default);
  438.  
  439.             if($type === 'image')
  440.             {
  441.                 $ads_tab = $this->default_value('jnews_ads_' . $location . '_open_tab', false, $default) ? 'target="_blank" rel="nofollow noopener sponsored"' : 'rel="noopener sponsored"';
  442.                 $ads_link = $this->default_value('jnews_ads_' . $location . '_link', '', $default);
  443.                 $ads_text = $this->default_value('jnews_ads_' . $location . '_text', '', $default);
  444.  
  445.                 $ads_images = array(
  446.                     'ads_image'         => $this->default_value('jnews_ads_' . $location . '_image', '', $default),
  447.                     'ads_image_tablet'  => $this->default_value('jnews_ads_' . $location . '_image_tablet', '', $default),
  448.                     'ads_image_phone'   => $this->default_value('jnews_ads_' . $location . '_image_phone', '', $default)
  449.                 );
  450.  
  451.                 foreach ( $ads_images as $key => $ads_image ) {
  452.                     if ( ! empty( $ads_image ) ) {
  453.                         if ( $this->default_value( 'jnews_ads_' . $location . '_normal_load', '', $default ) ) {
  454.                             $ads_html .=
  455.                                 "<a href='{$ads_link}' {$ads_tab} class='adlink {$key} {$addclass}'>
  456.                                    <img src='{$ads_image}' alt='{$ads_text}' data-pin-no-hover=\"true\">
  457.                                </a>";
  458.                         } else {
  459.                             $ads_html .=
  460.                                 "<a href='{$ads_link}' {$ads_tab} class='adlink {$key} {$addclass}'>
  461.                                    <img src='" . apply_filters( 'jnews_empty_image', '' ) . "' class='lazyload' data-src='{$ads_image}' alt='{$ads_text}' data-pin-no-hover=\"true\">
  462.                                </a>";
  463.                         }
  464.                     }
  465.                 }
  466.             }
  467.  
  468.             if($type === 'shortcode')
  469.             {
  470.                 $shortcode = $this->default_value('jnews_ads_' . $location . '_shortcode', '', $default);
  471.                 $ads_html = "<div class='ads_shortcode'>" . do_shortcode($shortcode) . "</div>";
  472.             }
  473.  
  474.             if($type === 'code')
  475.             {
  476.                 $code = $this->default_value('jnews_ads_' . $location . '_code', '', $default);
  477.                 $ads_html = "<div class='ads_code'>" . $code . "</div>";
  478.             }
  479.  
  480.             if($type === 'googleads')
  481.             {
  482.                 $publisherid = $this->default_value('jnews_ads_' . $location . '_google_publisher', '', $default);
  483.                 $slotid      = $this->default_value('jnews_ads_' . $location . '_google_id', '', $default);
  484.  
  485.                 $publisherid = str_replace(' ', '', $publisherid);
  486.                 $slotid      = str_replace(' ', '', $slotid);
  487.  
  488.  
  489.                 if(!empty($publisherid) && !empty($slotid))
  490.                 {
  491.                     $desktopsize_ad = array();
  492.                     $tabsize_ad = array();
  493.                     $phonesize_ad = array();
  494.                     $ad_style = '';
  495.  
  496.                     $desktopsize    = $this->default_value('jnews_ads_' . $location . '_google_desktop', 'auto', $default);
  497.                     $tabsize        = $this->default_value('jnews_ads_' . $location . '_google_tab', 'auto', $default);
  498.                     $phonesize      = $this->default_value('jnews_ads_' . $location . '_google_phone', 'auto', $default);
  499.  
  500.                     $this->get_location_size($location, $desktopsize_ad, $tabsize_ad, $phonesize_ad);
  501.  
  502.                     if($desktopsize !== 'auto') {
  503.                         $desktopsize_ad = explode('x', $desktopsize);
  504.                     }
  505.                     if($tabsize !== 'auto') {
  506.                         $tabsize_ad = explode('x', $tabsize);
  507.                     }
  508.                     if($phonesize !== 'auto') {
  509.                         $phonesize_ad = explode('x', $phonesize);
  510.                     }
  511.  
  512.                     $randomstring = jeg_generate_random_string();
  513.  
  514.                     if($desktopsize !== 'hide' && is_array($desktopsize_ad) && isset($desktopsize_ad['0']) && isset($desktopsize_ad['1'])) {
  515.                         $ad_style .= ".adsslot_{$randomstring}{ width:{$desktopsize_ad[0]}px !important; height:{$desktopsize_ad[1]}px !important; }\n";
  516.                     }
  517.  
  518.                     if($tabsize !== 'hide' && is_array($tabsize_ad) && isset($tabsize_ad['0']) && isset($tabsize_ad['1'])) {
  519.                         $ad_style .= "@media (max-width:1199px) { .adsslot_{$randomstring}{ width:{$tabsize_ad[0]}px !important; height:{$tabsize_ad[1]}px !important; } }\n";
  520.                     }
  521.  
  522.                     if($phonesize !== 'hide' && is_array($phonesize_ad) && isset($phonesize_ad['0']) && isset($phonesize_ad['1'])) {
  523.                         $ad_style .= "@media (max-width:767px) { .adsslot_{$randomstring}{ width:{$phonesize_ad[0]}px !important; height:{$phonesize_ad[1]}px !important; } }\n";
  524.                     }
  525.  
  526.                     $googleads       = '//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js';
  527.                     $external_script = "<script async defer src='{$googleads}'></script>";
  528.                     if ( method_exists( '\JNews\Asset\FrontendAsset', 'autoptimize_option' ) ) {
  529.                         if ( get_theme_mod( 'jnews_extreme_autoptimize_script_loader', false ) && \JNews\Asset\FrontendAsset::autoptimize_option( 'autoptimize_js_aggregate' ) && \JNews\Asset\FrontendAsset::autoptimize_option( 'autoptimize_js' ) ) {
  530.                             $external_script = "<script>(jnewsads = window.jnewsads || []); if ('object' === typeof jnewsads && 'object' === typeof jnews.library) { if (jnewsads.length) { if (!jnews.library.isObjectSame(jnewsads[0], { defer: true, async: true, url:  '{$googleads}' })) { jnewsads.push({ defer: true, async: true, url:  '{$googleads}' }); } } else { jnewsads.push({ defer: true, async: true, url:  '{$googleads}' }); } }</script>";
  531.                         }
  532.                     }
  533.  
  534.                     $ads_html .=
  535.                         "<div class=\"ads_google_ads\">
  536.                            <style type='text/css' scoped>
  537.                                {$ad_style}
  538.                            </style>
  539.                            <ins class=\"adsbygoogle adsslot_{$randomstring}\" style=\"display:inline-block;\" data-ad-client=\"{$publisherid}\" data-ad-slot=\"{$slotid}\"></ins>
  540.                            {$external_script}
  541.                            <script>(adsbygoogle = window.adsbygoogle || []).push({});</script>
  542.                        </div>";
  543.                 }
  544.             }
  545.  
  546.             $bottom_text = $this->default_value('jnews_ads_' . $location . '_ads_text', false, $default);
  547.  
  548.             if ( strpos( $location, 'content_inline_parallax' ) !== false ) {
  549.                 $ads_html = "<div class='ads-parallax-wrapper'><div class='ads-parallax-inner'><div class='ads-parallax'>{$ads_html}</div></div></div>";
  550.                 if ( $bottom_text ) {
  551.                     $ads_text_html = jnews_return_translation( 'Advertisement. Scroll to continue reading.', 'jnews', 'scroll_advertisement' );
  552.                     $ads_html = "<div class='ads-text'>{$ads_text_html}</div>" . $ads_html;
  553.                 }
  554.             } else {
  555.                 if( $bottom_text ) {
  556.                     $ads_text_html = jnews_return_translation( 'ADVERTISEMENT', 'jnews', 'advertisement' );
  557.                     $ads_html = $ads_html . "<div class='ads-text'>{$ads_text_html}</div>";
  558.                 }
  559.             }
  560.         }
  561.  
  562.         $addclass .=  ' ' . $this->additional_class($location);
  563.  
  564.         return "<div class='ads-wrapper {$addclass}'>" . $ads_html . "</div>";
  565.     }
  566.  
  567.     protected function additional_class($location)
  568.     {
  569.         $class = array();
  570.  
  571.         if ( $this->default_value('jnews_ads_' . $location . '_google_desktop', false, 'auto') === 'hide' )
  572.         {
  573.             $class[] = 'jeg_ads_hide_desktop';
  574.         }
  575.  
  576.         if ( $this->default_value('jnews_ads_' . $location . '_google_tab', false, 'auto') === 'hide' )
  577.         {
  578.             $class[] = 'jeg_ads_hide_tab';
  579.         }
  580.  
  581.         if ( $this->default_value('jnews_ads_' . $location . '_google_phone', false, 'auto') === 'hide' )
  582.         {
  583.             $class[] = 'jeg_ads_hide_phone';
  584.         }
  585.  
  586.         return implode(' ', $class);
  587.     }
  588. }
  589.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement