1
0
mirror of https://github.com/e107inc/e107.git synced 2025-04-21 13:11:52 +02:00

e_sc renamed to e_shortcode and activated in shortcode handler. /banner.php now uses the banner plugin. Banner language file cleanup.

This commit is contained in:
CaMer0n 2009-09-18 22:20:40 +00:00
parent ecf8281a4e
commit f6af8b30ef
9 changed files with 145 additions and 245 deletions

View File

@ -9,119 +9,14 @@
*
*
* $Source: /cvs_backup/e107_0.8/banner.php,v $
* $Revision: 1.6 $
* $Date: 2009-08-28 15:30:25 $
* $Author: marj_nl_fr $
* $Revision: 1.7 $
* $Date: 2009-09-18 22:20:39 $
* $Author: e107coders $
*/
require_once("class2.php");
include_lan(e_LANGUAGEDIR.e_LANGUAGE.'/lan_'.e_PAGE);
require_once(e_HANDLER."form_handler.php");
$rs = new form;
if (e_QUERY) {
$query_string = intval(e_QUERY);
$sql->db_Select("banner", "*", "banner_id = '{$query_string}' ");
$row = $sql->db_Fetch();
$ip = $e107->getip();
$newip = (strpos($row['banner_ip'], "{$ip}^") !== FALSE) ? $row['banner_ip'] : "{$row['banner_ip']}{$ip}^";
$sql->db_Update("banner", "banner_clicks = banner_clicks + 1, `banner_ip` = '{$newip}' WHERE `banner_id` = '{$query_string}'");
header("Location: {$row['banner_clickurl']}");
exit;
}
require_once(HEADERF);
if (isset($_POST['clientsubmit'])) {
$clean_login = $tp -> toDB($_POST['clientlogin']);
$clean_password = $tp -> toDB($_POST['clientpassword']);
if (!$sql->db_Select("banner", "*", "`banner_clientlogin` = '{$clean_login}' AND `banner_clientpassword` = '{$clean_password}'")) {
$ns->tablerender(LAN_ERROR, "<br /><div style='text-align:center'>".BANNERLAN_20."</div><br />");
require_once(FOOTERF);
exit;
}
$row = $sql->db_Fetch();
$banner_total = $sql->db_Select("banner", "*", "`banner_clientname` = '{$row['banner_clientname']}'");
if (!$banner_total) {
$ns->tablerender(LAN_ERROR, "<br /><div style='text-align:center'>".BANNERLAN_29."</div><br />");
require_once(FOOTERF);
exit;
} else {
while ($row = $sql->db_Fetch()) {
$start_date = ($row['banner_startdate'] ? strftime("%d %B %Y", $row['banner_startdate']) : BANNERLAN_31);
$end_date = ($row['banner_enddate'] ? strftime("%d %B %Y", $row['banner_enddate']) : BANNERLAN_31);
$BANNER_TABLE_CLICKPERCENTAGE = ($row['banner_clicks'] && $row['banner_impressions'] ? round(($row['banner_clicks'] / $row['banner_impressions']) * 100)."%" : "-");
$BANNER_TABLE_IMPRESSIONS_LEFT = ($row['banner_impurchased'] ? $row['banner_impurchased'] - $row['banner_impressions'] : BANNERLAN_30);
$BANNER_TABLE_IMPRESSIONS_PURCHASED = ($row['banner_impurchased'] ? $row['banner_impurchased'] : BANNERLAN_30);
$BANNER_TABLE_CLIENTNAME = $row['banner_clientname'];
$BANNER_TABLE_BANNER_ID = $row['banner_id'];
$BANNER_TABLE_BANNER_CLICKS = $row['banner_clicks'];
$BANNER_TABLE_BANNER_IMPRESSIONS = $row['banner_impressions'];
$BANNER_TABLE_ACTIVE = BANNERLAN_36.($row['banner_active'] != "255" ? LAN_YES : "<b>".LAN_NO."</b>");
$BANNER_TABLE_STARTDATE = BANNERLAN_37." ".$start_date;
$BANNER_TABLE_ENDDATE = BANNERLAN_34." ".$end_date;
if ($row['banner_ip'])
{
$tmp = explode("^", $row['banner_ip']);
$BANNER_TABLE_IP_LAN = (count($tmp)-1);
for($a = 0; $a <= (count($tmp)-2); $a++) {
$BANNER_TABLE_IP .= $tmp[$a]."<br />";
}
}
if (!$BANNER_TABLE)
{
if (file_exists(THEME."banner_template.php")) {
require(THEME."banner_template.php");
} else {
require(e_BASE.$THEMES_DIRECTORY."templates/banner_template.php");
}
}
$textstring .= preg_replace("/\{(.*?)\}/e", '$\1', $BANNER_TABLE);
}
}
if (!$BANNER_TABLE)
{
if (file_exists(THEME."banner_template.php")) {
require(THEME."banner_template.php");
} else {
require(e_BASE.$THEMES_DIRECTORY."templates/banner_template.php");
}
}
$textstart = preg_replace("/\{(.*?)\}/e", '$\1', $BANNER_TABLE_START);
$textend = preg_replace("/\{(.*?)\}/e", '$\1', $BANNER_TABLE_END);
$text = $textstart.$textstring.$textend;
echo $text;
require_once(FOOTERF);
exit;
}
$BANNER_LOGIN_TABLE_LOGIN = $rs->form_text("clientlogin", 30, $id, 20, "tbox");
$BANNER_LOGIN_TABLE_PASSW = $rs->form_password("clientpassword", 30, "", 20, "tbox");
$BANNER_LOGIN_TABLE_SUBMIT = $rs->form_button("submit", "clientsubmit", LAN_CONTINUE);
if (!$BANNER_LOGIN_TABLE) {
if (file_exists(THEME."banner_template.php")) {
require_once(THEME."banner_template.php");
} else {
require_once(e_BASE.$THEMES_DIRECTORY."templates/banner_template.php");
}
}
$text = preg_replace("/\{(.*?)\}/e", '$\1', $BANNER_LOGIN_TABLE);
$ns->tablerender(BANNERLAN_19, $text);
require_once(FOOTERF);
require_once(e_PLUGIN."banner/banner.php");
exit();
?>

View File

@ -1,59 +0,0 @@
<?php
// $Id: banner.php,v 1.1 2009-01-08 19:28:11 mcfly_e107 Exp $
function banner_shortcode($parm)
{
global $menu_pref;
$e107 = e107::getInstance();
$ret = '';
$text = '';
mt_srand ((double) microtime() * 1000000);
$seed = mt_rand(1,2000000000);
$time = time();
$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)".($parm ? " AND banner_campaign='".$e107->tp->toDB($parm)."'" : '')."
AND banner_active IN (".USERCLASS_LIST.")
ORDER BY RAND($seed) LIMIT 1";
if($e107->sql->db_Select('banner', 'banner_id, banner_image, banner_clickurl', $query))
{
$row = $e107->sql->db_Fetch();
if(!$row['banner_image'])
{
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);
$e107->sql->db_Update('banner', 'banner_impressions=banner_impressions+1 WHERE banner_id='.(int)$row['banner_id']);
switch ($fileext1)
{
case 'swf':
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
<param name=\"movie\" value=\"".e_IMAGE_ABS."banners/".$row['banner_image']."\">\n
<param name=\"quality\" value=\"high\">\n
<param name=\"SCALE\" value=\"noborder\">\n
<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>
";
break;
case 'html':
case 'js':
case 'php': // Code - may 'echo' text, or may return it as a value
$file_data = file_get_contents(e_IMAGE.'banners/'.$row['banner_image']);
return $file_data;
break;
default:
$ban_ret = "<img src='".e_IMAGE_ABS.'banners/'.$row['banner_image']."' alt='".$row['banner_clickurl']."' style='border:0' />";
break;
}
return "<a href='".e_HTTP.'banner.php?'.$row['banner_id']."' rel='external'>".$ban_ret.'</a>';
}
else
{
return '&nbsp;';
}
}
?>

View File

@ -9,9 +9,9 @@
* e107 Shortcode handler
*
* $Source: /cvs_backup/e107_0.8/e107_handlers/shortcode_handler.php,v $
* $Revision: 1.29 $
* $Date: 2009-08-20 16:41:29 $
* $Author: secretr $
* $Revision: 1.30 $
* $Date: 2009-09-18 22:20:39 $
* $Author: e107coders $
*/
if (!defined('e107_INIT')) { exit; }
@ -116,6 +116,8 @@ function initShortcodeClass($class, $force = false)
}
}
class e_shortcode
{
var $scList = array(); // The actual code - added by parsing files or when plugin codes encountered. Array key is the shortcode name.
@ -157,6 +159,9 @@ class e_shortcode
}
}
$this->loadPluginShortcodes();
// Register all .sc files found in plugin directories (via pref)
if(varset($pref['shortcode_list'], '') != '')
{
@ -182,6 +187,45 @@ class e_shortcode
}
}
}
/**
* Load Plugin Shortcode Batch files (e_shortcode.php) for use site-wide.
* Equivalent to multiple .sc files in the plugin's folder.
* @return
*/
function loadPluginShortcodes()
{
$pref = e107::getConfig('core')->getPref();
if(!vartrue($pref['e_shortcode_list']))
{
return;
}
foreach($pref['e_shortcode_list'] as $key=>$val)
{
if(!e107::isInstalled($key) || !include_once(e_PLUGIN.$key.'/e_shortcode.php'))
{
continue;
}
$path = e_PLUGIN.$key.'/e_shortcode.php';
$classFunc = $key.'_shortcodes';
$this->scClasses[$classFunc] = new $classFunc;
$tmp = get_class_methods($classFunc);
foreach($tmp as $c)
{
if(strpos($c, 'sc_') === 0)
{
$sc_func = substr($c, 3);
$code = strtoupper($sc_func);
if(!$this->isRegistered($scode))
{
$this->registered_codes[$code] = array('type' => 'class', 'path' => $path, 'class' => $classFunc);
}
}
}
}
}
function loadCoreShortcodes()
{

View File

@ -2,19 +2,30 @@
/*
* e107 website system
*
* Copyright (C) 2001-2008 e107 Inc (e107.org)
* Copyright (C) 2009 e107 Inc (e107.org)
* Released under the terms and conditions of the
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
*
*
*
* $Source: /cvs_backup/e107_0.8/e107_plugins/banner/banner.php,v $
* $Revision: 1.1 $
* $Date: 2009-07-23 16:43:03 $
* $Revision: 1.2 $
* $Date: 2009-09-18 22:20:39 $
* $Author: e107coders $
*/
require_once("class2.php");
if (!defined('e107_INIT'))
{
require_once("../../class2.php");
}
if (!e107::isInstalled('banner'))
{
header("location:".e_BASE."index.php");
}
e107::getLan(e_PLUGIN."banner/languages/".e_LANGUAGE."_banner.php");
require_once(e_HANDLER."form_handler.php");
$rs = new form;

View File

@ -3,7 +3,7 @@
+ ----------------------------------------------------------------------------+
| e107 website system
|
| ©Steve Dunstan 2001-2002
| <EFBFBD>Steve Dunstan 2001-2002
| http://e107.org
| jalist@e107.org
|
@ -11,8 +11,8 @@
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_plugins/banner/banner_menu.php,v $
| $Revision: 1.1 $
| $Date: 2009-07-23 16:43:03 $
| $Revision: 1.2 $
| $Date: 2009-09-18 22:20:39 $
| $Author: e107coders $
+----------------------------------------------------------------------------+
*/
@ -30,7 +30,7 @@ To define your own banner to use here ...
3. Save file
*/
e107::getLan(e_PLUGIN."banner/languages/".e_LANGUAGE."_menu_banner.php");
global $THEMES_DIRECTORY;
if (file_exists(THEME."banner_template.php"))
{

View File

@ -1,59 +0,0 @@
<?php
// $Id: e_sc.php,v 1.1 2009-07-23 16:43:03 e107coders Exp $
function banner_shortcode($parm)
{
global $menu_pref;
$e107 = e107::getInstance();
$ret = '';
$text = '';
mt_srand ((double) microtime() * 1000000);
$seed = mt_rand(1,2000000000);
$time = time();
$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)".($parm ? " AND banner_campaign='".$e107->tp->toDB($parm)."'" : '')."
AND banner_active IN (".USERCLASS_LIST.")
ORDER BY RAND($seed) LIMIT 1";
if($e107->sql->db_Select('banner', 'banner_id, banner_image, banner_clickurl', $query))
{
$row = $e107->sql->db_Fetch();
if(!$row['banner_image'])
{
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);
$e107->sql->db_Update('banner', 'banner_impressions=banner_impressions+1 WHERE banner_id='.(int)$row['banner_id']);
switch ($fileext1)
{
case 'swf':
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
<param name=\"movie\" value=\"".e_IMAGE_ABS."banners/".$row['banner_image']."\">\n
<param name=\"quality\" value=\"high\">\n
<param name=\"SCALE\" value=\"noborder\">\n
<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>
";
break;
case 'html':
case 'js':
case 'php': // Code - may 'echo' text, or may return it as a value
$file_data = file_get_contents(e_IMAGE.'banners/'.$row['banner_image']);
return $file_data;
break;
default:
$ban_ret = "<img src='".e_IMAGE_ABS.'banners/'.$row['banner_image']."' alt='".$row['banner_clickurl']."' style='border:0' />";
break;
}
return "<a href='".e_HTTP.'banner.php?'.$row['banner_id']."' rel='external'>".$ban_ret.'</a>';
}
else
{
return '&nbsp;';
}
}
?>

View File

@ -0,0 +1,68 @@
<?php
/*
* Copyright (c) e107 Inc 2009 - e107.org, Licensed under GNU GPL (http://www.gnu.org/licenses/gpl.txt)
* $Id: e_shortcode.php,v 1.1 2009-09-18 22:20:39 e107coders Exp $
*
* Banner shortcode batch class - shortcodes available site-wide. ie. equivalent to multiple .sc files.
*/
class banner_shortcodes // must match the plugin's folder name. ie. [PLUGIN_FOLDER]_shortcodes
{
function sc_banner($parm)
{
global $menu_pref;
$e107 = e107::getInstance();
$ret = '';
$text = '';
mt_srand ((double) microtime() * 1000000);
$seed = mt_rand(1,2000000000);
$time = time();
$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)".($parm ? " AND banner_campaign='".$e107->tp->toDB($parm)."'" : '')."
AND banner_active IN (".USERCLASS_LIST.")
ORDER BY RAND($seed) LIMIT 1";
if($e107->sql->db_Select('banner', 'banner_id, banner_image, banner_clickurl', $query))
{
$row = $e107->sql->db_Fetch();
if(!$row['banner_image'])
{
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);
$e107->sql->db_Update('banner', 'banner_impressions=banner_impressions+1 WHERE banner_id='.(int)$row['banner_id']);
switch ($fileext1)
{
case 'swf':
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
<param name=\"movie\" value=\"".e_IMAGE_ABS."banners/".$row['banner_image']."\">\n
<param name=\"quality\" value=\"high\">\n
<param name=\"SCALE\" value=\"noborder\">\n
<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>
";
break;
case 'html':
case 'js':
case 'php': // Code - may 'echo' text, or may return it as a value
$file_data = file_get_contents(e_IMAGE.'banners/'.$row['banner_image']);
return $file_data;
break;
default:
$ban_ret = "<img src='".e_IMAGE_ABS.'banners/'.$row['banner_image']."' alt='".$row['banner_clickurl']."' style='border:0' />";
break;
}
return "<a href='".e_HTTP.'banner.php?'.$row['banner_id']."' rel='external'>".$ban_ret.'</a>';
}
else
{
return '&nbsp;';
}
}
}
?>

View File

@ -8,9 +8,9 @@
*
*
*
* $Source: /cvs_backup/e107_0.8/e107_plugins/banner/languages/lan_banner.php,v $
* $Source: /cvs_backup/e107_0.8/e107_plugins/banner/languages/English_banner.php,v $
* $Revision: 1.1 $
* $Date: 2009-07-23 16:43:03 $
* $Date: 2009-09-18 22:20:39 $
* $Author: e107coders $
*/

View File

@ -3,9 +3,9 @@
+ ----------------------------------------------------------------------------+
| e107 website system - Language File.
|
| $Source: /cvs_backup/e107_0.8/e107_plugins/banner/languages/English.php,v $
| $Source: /cvs_backup/e107_0.8/e107_plugins/banner/languages/English_menu_banner.php,v $
| $Revision: 1.1 $
| $Date: 2009-07-23 16:43:03 $
| $Date: 2009-09-18 22:20:39 $
| $Author: e107coders $
+----------------------------------------------------------------------------+
*/