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 "
";
- }
- 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 "
";
}
-} else {
- return " ";
+}
+else
+{
+ return " ";
}
\ No newline at end of file