From 0c4802d2466359e0f3688361854671291976f637 Mon Sep 17 00:00:00 2001 From: rica-carv Date: Tue, 19 Apr 2016 09:13:35 +0100 Subject: [PATCH] Reworked parm check & revised code clean up --- e107_plugins/banner/e_shortcode.php | 54 +++++------------------------ 1 file changed, 8 insertions(+), 46 deletions(-) diff --git a/e107_plugins/banner/e_shortcode.php b/e107_plugins/banner/e_shortcode.php index ee9885f29..d80ab3f81 100644 --- a/e107_plugins/banner/e_shortcode.php +++ b/e107_plugins/banner/e_shortcode.php @@ -8,9 +8,6 @@ * * Banner shortcode * -*/ - -/** * e107 Banner management plugin * * Handles the display and sequencing of banners on web pages, including counting impressions @@ -21,47 +18,28 @@ class banner_shortcodes extends e_shortcode { - - - + +// $parm now can be array, old campaign $parm still allowed.... function sc_banner($parm='') { -// $parm now can be array, old campaign $parm still allowed.... - $sql = e107::getDb(); $tp = e107::getParser(); - mt_srand ((double) microtime() * 1000000); $seed = mt_rand(1,2000000000); $time = time(); - - if(is_array($parm)) - { - $parms = eHelper::scParams($parm); - $campaign = $parms['campaign']; - } - else - { - $campaign = $parm; - } + $campaign = (is_array($parm)?$parm['campaign']:$parm); $query = " (banner_startdate=0 OR banner_startdate <= {$time}) AND (banner_enddate=0 OR banner_enddate > {$time}) AND (banner_impurchased=0 OR banner_impressions<=banner_impurchased)".($campaign ? " AND banner_campaign='".$tp->toDB($campaign)."'" : '')." AND banner_active IN (".USERCLASS_LIST.") "; - if($tags = e107::getRegistry('core/form/related')) { $tags_regexp = "'(^|,)(".str_replace(",", "|", $tags).")(,|$)'"; $query .= " AND banner_keywords REGEXP ".$tags_regexp; } - $query .= " ORDER BY RAND($seed) LIMIT 1"; - - - if($sql->select('banner', 'banner_id, banner_image, banner_clickurl, banner_description', $query)) { $row = $sql->fetch(); return $this->renderBanner($row, $parm); - } else { @@ -74,11 +52,6 @@ class banner_shortcodes extends e_shortcode { $sql = e107::getDb('banner'); $tp = e107::getParser(); - if(is_array($parm)) - { - $parms = eHelper::scParams($parm); - } - if(!$row['banner_image']) { return "no image assigned to this banner"; @@ -109,7 +82,6 @@ class banner_shortcodes extends e_shortcode break; default: - if($row['banner_image'][0] == '{') { $src = $row['banner_image']; @@ -119,31 +91,21 @@ class banner_shortcodes extends e_shortcode $src = e_IMAGE_ABS.'banners/'.$row['banner_image']; $style = "'border:0'"; } - $class = vartrue($parms['class']) ? $parms['class'] : "e-banner img-responsive img-rounded"; - $ban_ret = $tp->toImage($src, array('class'=>$class, 'alt'=>$row['banner_clickurl'], 'style'=>$style)); + // Somehow, can't use vartrue core function when referencing $parm['class'], gives bug.... + $ban_ret = $tp->toImage($src, array('class'=>($parm['class'] == ''?"e-banner img-responsive img-rounded":$parm['class']) , 'alt'=>$row['banner_clickurl'], 'style'=>$style)); break; } - - $tooltip = varset($row['banner_tooltip'],''); - - $start = "toAttribute($tooltip)."\">"; - $item = $ban_ret; - $end = ''; - - $text = $start.$item.$end; + $text = "toAttribute(varset($row['banner_tooltip'],''))."\">"; + $text .= $ban_ret; + $text .= ''; if(!empty($row['banner_description'])) { $text .= "
".$start.$tp->toHtml($row['banner_description'], true).$end. "
"; } - - - return $text; - } - } ?>