1
0
mirror of https://github.com/e107inc/e107.git synced 2025-02-24 08:42:56 +01:00

Fix handling of php files in banners

This commit is contained in:
e107steved 2007-09-30 10:58:58 +00:00
parent 5c0d75fbf6
commit 350e5e6b81

View File

@ -1,3 +1,4 @@
// $Id: banner.sc,v 1.2 2007-09-30 10:58:49 e107steved Exp $
global $sql, $tp, $ns, $menu_pref; global $sql, $tp, $ns, $menu_pref;
$ret = ""; $ret = "";
@ -9,18 +10,20 @@ $query = " (banner_startdate=0 OR banner_startdate<=".time().") AND (banner_endd
AND banner_active IN (".USERCLASS_LIST.") AND banner_active IN (".USERCLASS_LIST.")
ORDER BY RAND($seed)"; ORDER BY RAND($seed)";
if($sql -> db_Select("banner", "*", $query)){ if($sql -> db_Select("banner", "*", $query))
{
$row = $sql->db_Fetch(); $row = $sql->db_Fetch();
if(!$row['banner_image']) if(!$row['banner_image'])
{ {
return "<a href='".e_HTTP."banner.php?".$row['banner_id']."' rel='external'>no image assigned to this banner</a>"; return "<a href='".e_HTTP."banner.php?".$row['banner_id']."' rel='external'>no image assigned to this banner</a>";
} }
$fileext1 = substr(strrchr($row['banner_image'], "."), 1); $fileext1 = substr(strrchr($row['banner_image'], "."), 1);
$sql->db_Update("banner", "banner_impressions=banner_impressions+1 WHERE banner_id='{$row['banner_id']}' "); $sql->db_Update("banner", "banner_impressions=banner_impressions+1 WHERE banner_id='{$row['banner_id']}' ");
if ($fileext1 == 'swf') switch ($fileext1)
{ {
case 'swf' :
return " return "
<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"468\" height=\"60\">\n <object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"468\" height=\"60\">\n
<param name=\"movie\" value=\"".e_IMAGE_ABS."banners/".$row['banner_image']."\">\n <param name=\"movie\" value=\"".e_IMAGE_ABS."banners/".$row['banner_image']."\">\n
@ -29,16 +32,23 @@ if($sql -> db_Select("banner", "*", $query)){
<embed src=\"".e_IMAGE_ABS."banners/".$row['banner_image']."\" width=\"468\" height=\"60\" scale=\"noborder\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"></embed> <embed src=\"".e_IMAGE_ABS."banners/".$row['banner_image']."\" width=\"468\" height=\"60\" scale=\"noborder\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\"></embed>
</object> </object>
"; ";
} case 'html' :
elseif($fileext1 == 'php' || $fileext1 == 'html' || $fileext1 == 'js') case 'js' :
{
$file_data = file_get_contents(e_IMAGE."banners/".$row['banner_image']); $file_data = file_get_contents(e_IMAGE."banners/".$row['banner_image']);
return $file_data; return $file_data;
} case 'php' : // Code - may 'echo' text, or may return it as a value
else $file_data = file_get_contents(e_IMAGE."banners/".$row['banner_image']);
{ ob_start();
if (strpos($file_data,'<?php') !== FALSE) $file_data = str_replace(array('<?php', '?>'),'',$file_data);
$shortcode_return = eval($file_data);
$shortcode_output = ob_get_contents();
ob_end_clean();
return $shortcode_output.$shortcode_return;
default :
return "<a href='".e_HTTP."banner.php?".$row['banner_id']."' rel='external'><img src='".e_IMAGE_ABS."banners/".$row['banner_image']."' alt='".$row['banner_clickurl']."' style='border:0' /></a>"; return "<a href='".e_HTTP."banner.php?".$row['banner_id']."' rel='external'><img src='".e_IMAGE_ABS."banners/".$row['banner_image']."' alt='".$row['banner_clickurl']."' style='border:0' /></a>";
} }
} else { }
return "&nbsp;"; else
{
return "&nbsp;";
} }