From b8d334f55085ce871f41d9d32a9a79892ead3fc7 Mon Sep 17 00:00:00 2001 From: Moc Date: Wed, 13 Aug 2014 14:02:21 +0200 Subject: [PATCH] Banner plugin frontend code clean up. Far more work to do at later stage (login handling and templates). --- e107_plugins/banner/banner.php | 116 ++++++++++-------- .../banner/languages/English_banner.php | 2 +- 2 files changed, 64 insertions(+), 54 deletions(-) diff --git a/e107_plugins/banner/banner.php b/e107_plugins/banner/banner.php index 370367d45..4e94ab048 100644 --- a/e107_plugins/banner/banner.php +++ b/e107_plugins/banner/banner.php @@ -2,20 +2,12 @@ /* * e107 website system * - * Copyright (C) 2009-2013 e107 Inc (e107.org) + * Copyright (C) 2009-2014 e107 Inc (e107.org) * Released under the terms and conditions of the * GNU General Public License (http://www.gnu.org/licenses/gpl.txt) * */ -/** - * e107 Banner management plugin - * - * Handles the display and sequencing of banners on web pages, including counting impressions - * - * @package e107_plugins - * @subpackage banner - */ if (!defined('e107_INIT')) { @@ -28,18 +20,19 @@ if (!e107::isInstalled('banner')) exit; } -e107::includeLan(e_PLUGIN."banner/languages/".e_LANGUAGE."_banner.php"); +e107::includeLan(e_PLUGIN."banner/languages/".e_LANGUAGE."_banner.php"); // TODO -require_once(e_HANDLER."form_handler.php"); // FIXME -$rs = new form; // FIXME - -if (e_QUERY) { +$mes = e107::getMessage(); +$frm = e107::getForm(); + +// When a banner is clicked +if(e_QUERY) +{ $query_string = intval(e_QUERY); - $sql->db_Select("banner", "*", "banner_id = '{$query_string}' "); - $row = $sql->db_Fetch(); + $row = $sql->retrieve("banner", "*", "banner_id = '{$query_string}'"); // select the banner $ip = e107::getIPHandler()->getIP(FALSE); - $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}'"); + $newip = (strpos($row['banner_ip'], "{$ip}^") !== FALSE) ? $row['banner_ip'] : "{$row['banner_ip']}{$ip}^"; // what does this do? + $sql->update("banner", "banner_clicks = banner_clicks + 1, `banner_ip` = '{$newip}' WHERE `banner_id` = '{$query_string}'"); header("Location: {$row['banner_clickurl']}"); exit; } @@ -48,48 +41,58 @@ require_once(HEADERF); if (isset($_POST['clientsubmit'])) { - $clean_login = $tp -> toDB($_POST['clientlogin']); - $clean_password = $tp -> toDB($_POST['clientpassword']); + $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, "
".BANNERLAN_20."

"); + // check login + // TODO: massive clean-up (integrate e107 users, proper login handling, password encryption for new and existing records) + if (!$sql->select("banner", "*", "`banner_clientlogin` = '{$clean_login}' AND `banner_clientpassword` = '{$clean_password}'")) { + $mes->addError(BANNERLAN_20); + $ns->tablerender(PAGE_NAME, $mes->render()); 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, "
".BANNERLAN_29."

"); + $row = $sql->fetch(); + $banner_total = $sql->select("banner", "*", "`banner_clientname` = '{$row['banner_clientname']}'"); + + // check + if(!$banner_total) + { + $mes->addInfo(BANNERLAN_29); + $ns->tablerender(PAGE_NAME, $mes->render()); require_once(FOOTERF); exit; - } else { - while ($row = $sql->db_Fetch()) { - + } + else + { + while ($row = $sql->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); + $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_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 : "".LAN_NO.""); - $BANNER_TABLE_STARTDATE = BANNERLAN_37." ".$start_date; - $BANNER_TABLE_ENDDATE = BANNERLAN_34." ".$end_date; + $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 : "".LAN_NO.""); + $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]."
"; } } - + + // FIXME template loading if (!$BANNER_TABLE) { if (file_exists(THEME."templates/banner/banner_template.php")) @@ -105,10 +108,12 @@ if (isset($_POST['clientsubmit'])) { require(e_PLUGIN."banner/banner_template.php"); } } + $textstring .= preg_replace("/\{(.*?)\}/e", '$\1', $BANNER_TABLE); } } - + + // FIXME template loading if (!$BANNER_TABLE) { if (file_exists(THEME."banner_template.php")) @@ -120,31 +125,36 @@ if (isset($_POST['clientsubmit'])) { require(e_PLUGIN."banner/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; + $ns->tablerender(PAGE_NAME, $text); require_once(FOOTERF); exit; } + +$BANNER_LOGIN_TABLE_LOGIN = $frm->text("clientlogin", $id); +$BANNER_LOGIN_TABLE_PASSW = $frm->password("clientpassword", $pw); +$BANNER_LOGIN_TABLE_SUBMIT = $frm->button("clientsubmit", LAN_CONTINUE, "submit"); -$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")) { +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"); + } + else + { + require_once("banner_template.php"); } } + $text = preg_replace("/\{(.*?)\}/e", '$\1', $BANNER_LOGIN_TABLE); $ns->tablerender(BANNERLAN_19, $text); - require_once(FOOTERF); - +?> \ No newline at end of file diff --git a/e107_plugins/banner/languages/English_banner.php b/e107_plugins/banner/languages/English_banner.php index d620f5d73..73b8289fd 100644 --- a/e107_plugins/banner/languages/English_banner.php +++ b/e107_plugins/banner/languages/English_banner.php @@ -2,7 +2,7 @@ /* * e107 website system * - * Copyright (C) 2008-2013 e107 Inc (e107.org) + * Copyright (C) 2008-2014 e107 Inc (e107.org) * Released under the terms and conditions of the * GNU General Public License (http://www.gnu.org/licenses/gpl.txt) *