diff --git a/e107_files/shortcode/banner.sc b/e107_files/shortcode/banner.sc index daa8fcff7..c76c32dae 100644 --- a/e107_files/shortcode/banner.sc +++ b/e107_files/shortcode/banner.sc @@ -1,3 +1,4 @@ +// $Id: banner.sc,v 1.2 2007-09-30 10:58:49 e107steved Exp $ global $sql, $tp, $ns, $menu_pref; $ret = ""; @@ -9,18 +10,20 @@ $query = " (banner_startdate=0 OR banner_startdate<=".time().") AND (banner_endd AND banner_active IN (".USERCLASS_LIST.") ORDER BY RAND($seed)"; -if($sql -> db_Select("banner", "*", $query)){ +if($sql -> db_Select("banner", "*", $query)) +{ $row = $sql->db_Fetch(); if(!$row['banner_image']) { - return "no image assigned to this banner"; + return "no image assigned to this banner"; } $fileext1 = substr(strrchr($row['banner_image'], "."), 1); $sql->db_Update("banner", "banner_impressions=banner_impressions+1 WHERE banner_id='{$row['banner_id']}' "); - if ($fileext1 == 'swf') + switch ($fileext1) { + case 'swf' : return " \n \n @@ -29,16 +32,23 @@ if($sql -> db_Select("banner", "*", $query)){ "; - } - elseif($fileext1 == 'php' || $fileext1 == 'html' || $fileext1 == 'js') - { + case 'html' : + case 'js' : $file_data = file_get_contents(e_IMAGE."banners/".$row['banner_image']); return $file_data; - } - else - { + case 'php' : // Code - may 'echo' text, or may return it as a value + $file_data = file_get_contents(e_IMAGE."banners/".$row['banner_image']); + ob_start(); + if (strpos($file_data,''),'',$file_data); + $shortcode_return = eval($file_data); + $shortcode_output = ob_get_contents(); + ob_end_clean(); + return $shortcode_output.$shortcode_return; + default : return "".$row["; } -} else { - return " "; +} +else +{ + return " "; } \ No newline at end of file