[TEP-COMMIT] CVS: catalog/catalog/includes/functions banner.php,1.12,1.13
cvs-OfajU3CKLf1/[email protected] Mon, 16 Feb 2004 08:27:52 +0100
| Newsgroups | gmane.comp.web.oscommerce.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /pack/cvsroots/oscommerce/catalog/catalog/includes/functions
In directory sunsite.dk:/tmp/cvs-serv14199
Modified Files:
banner.php
Log Message:
use the new database class
Index: banner.php
===================================================================
RCS file: /pack/cvsroots/oscommerce/catalog/catalog/includes/functions/banner.php,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- banner.php 2003/06/20 00:12:59 1.12
+++ banner.php 2004/02/16 07:23:17 1.13
@@ -5,7 +5,7 @@
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
- Copyright (c) 2003 osCommerce
+ Copyright (c) 2004 osCommerce
Released under the GNU General Public License
*/
@@ -13,93 +13,133 @@
////
// Sets the status of a banner
function tep_set_banner_status($banners_id, $status) {
+ global $osC_Database;
+
if ($status == '1') {
- return tep_db_query("update " . TABLE_BANNERS . " set status = '1', date_status_change = now(), date_scheduled = NULL where banners_id = '" . (int)$banners_id . "'");
- } elseif ($status == '0') {
- return tep_db_query("update " . TABLE_BANNERS . " set status = '0', date_status_change = now() where banners_id = '" . (int)$banners_id . "'");
+ $Qbanner = $osC_Database->query('update :table_banners set status = 1, date_status_change = now(), date_scheduled = NULL where banners_id = :banners_id');
+ $Qbanner->bindRaw(':table_banners', TABLE_BANNERS);
+ $Qbanner->bindInt(':banners_id', $banners_id);
+ $Qbanner->execute();
} else {
- return -1;
+ $Qbanner = $osC_Database->query('update :table_banners set status = 0, date_status_change = now() where banners_id = :banners_id');
+ $Qbanner->bindRaw(':table_banners', TABLE_BANNERS);
+ $Qbanner->bindInt(':banners_id', $banners_id);
+ $Qbanner->execute();
}
+
+ $Qbanner->freeResult();
}
////
// Auto activate banners
function tep_activate_banners() {
- $banners_query = tep_db_query("select banners_id, date_scheduled from " . TABLE_BANNERS . " where date_scheduled != ''");
- if (tep_db_num_rows($banners_query)) {
- while ($banners = tep_db_fetch_array($banners_query)) {
- if (date('Y-m-d H:i:s') >= $banners['date_scheduled']) {
- tep_set_banner_status($banners['banners_id'], '1');
+ global $osC_Database;
+
+ $Qbanner = $osC_Database->query('select banners_id, date_scheduled from :table_banners where date_scheduled != ""');
+ $Qbanner->bindRaw(':table_banners', TABLE_BANNERS);
+ $Qbanner->execute();
+
+ if ($Qbanner->numberOfRows()) {
+ while ($Qbanner->next()) {
+ if (date('Y-m-d H:i:s') >= $Qbanner->value('date_scheduled')) {
+ tep_set_banner_status($Qbanner->valueInt('banners_id'), '1');
}
}
}
+
+ $Qbanner->freeResult();
}
////
// Auto expire banners
function tep_expire_banners() {
- $banners_query = tep_db_query("select b.banners_id, b.expires_date, b.expires_impressions, sum(bh.banners_shown) as banners_shown from " . TABLE_BANNERS . " b, " . TABLE_BANNERS_HISTORY . " bh where b.status = '1' and b.banners_id = bh.banners_id group by b.banners_id");
- if (tep_db_num_rows($banners_query)) {
- while ($banners = tep_db_fetch_array($banners_query)) {
- if (tep_not_null($banners['expires_date'])) {
- if (date('Y-m-d H:i:s') >= $banners['expires_date']) {
- tep_set_banner_status($banners['banners_id'], '0');
+ global $osC_Database;
+
+ $Qbanner = $osC_Database->query('select b.banners_id, b.expires_date, b.expires_impressions, sum(bh.banners_shown) as banners_shown from :table_banners b, :table_banners_history bh where b.status = 1 and b.banners_id = bh.banners_id group by b.banners_id');
+ $Qbanner->bindRaw(':table_banners', TABLE_BANNERS);
+ $Qbanner->bindRaw(':table_banners_history', TABLE_BANNERS_HISTORY);
+ $Qbanner->execute();
+
+ if ($Qbanner->numberOfRows()) {
+ while ($Qbanner->next()) {
+ if (tep_not_null($Qbanner->value('expires_date'))) {
+ if (date('Y-m-d H:i:s') >= $Qbanner->value('expires_date')) {
+ tep_set_banner_status($Qbanner->valueInt('banners_id'), '0');
}
- } elseif (tep_not_null($banners['expires_impressions'])) {
- if ( ($banners['expires_impressions'] > 0) && ($banners['banners_shown'] >= $banners['expires_impressions']) ) {
- tep_set_banner_status($banners['banners_id'], '0');
+ } elseif (tep_not_null($Qbanner->valueInt('expires_impressions'))) {
+ if ( ($Qbanner->valueInt('expires_impressions') > 0) && ($Qbanner->valueInt('banners_shown') >= $Qbanner->valueInt('expires_impressions')) ) {
+ tep_set_banner_status($Qbanner->valueInt('banners_id'), '0');
}
}
}
}
+
+ $Qbanner->freeResult();
}
////
// Display a banner from the specified group or banner id ($identifier)
function tep_display_banner($action, $identifier) {
+ global $osC_Database;
+
if ($action == 'dynamic') {
- $banners_query = tep_db_query("select count(*) as count from " . TABLE_BANNERS . " where status = '1' and banners_group = '" . $identifier . "'");
- $banners = tep_db_fetch_array($banners_query);
- if ($banners['count'] > 0) {
- $banner = tep_random_select("select banners_id, banners_title, banners_image, banners_html_text from " . TABLE_BANNERS . " where status = '1' and banners_group = '" . $identifier . "'");
- } else {
- return '<b>TEP ERROR! (tep_display_banner(' . $action . ', ' . $identifier . ') -> No banners with group \'' . $identifier . '\' found!</b>';
+ $Qbannercheck = $osC_Database->query('select count(*) as count from :table_banners where status = 1 and banners_group = :banners_group');
+ $Qbannercheck->bindRaw(':table_banners', TABLE_BANNERS);
+ $Qbannercheck->bindValue(':banners_group', $identifier);
+ $Qbannercheck->execute();
+
+ if ($Qbannercheck->valueInt('count') > 0) {
+ $Qbanner = $osC_Database->query('select banners_id, banners_title, banners_image, banners_html_text from :table_banners where banners_group = :banners_group and status = 1');
+ $Qbanner->bindRaw(':table_banners', TABLE_BANNERS);
+ $Qbanner->bindValue(':banners_group', $identifier);
+ $Qbanner->executeRandomSingle();
}
+
+ $Qbannercheck->freeResult();
} elseif ($action == 'static') {
- if (is_array($identifier)) {
- $banner = $identifier;
+ $Qbanner = $osC_Database->query('select banners_id, banners_title, banners_image, banners_html_text from :table_banners where banners_id = :banners_id and status = 1');
+ $Qbanner->bindRaw(':table_banners', TABLE_BANNERS);
+ $Qbanner->bindInt(':banners_id', $identifier);
+ $Qbanner->execute();
+ }
+
+ if ($Qbanner->numberOfRows() === 1) {
+ if (tep_not_null($Qbanner->value('banners_html_text'))) {
+ $banner_string = $Qbanner->value('banners_html_text');
} else {
- $banner_query = tep_db_query("select banners_id, banners_title, banners_image, banners_html_text from " . TABLE_BANNERS . " where status = '1' and banners_id = '" . (int)$identifier . "'");
- if (tep_db_num_rows($banner_query)) {
- $banner = tep_db_fetch_array($banner_query);
- } else {
- return '<b>TEP ERROR! (tep_display_banner(' . $action . ', ' . $identifier . ') -> Banner with ID \'' . $identifier . '\' not found, or status inactive</b>';
- }
+ $banner_string = '<a href="' . tep_href_link(FILENAME_REDIRECT, 'action=banner&goto=' . $Qbanner->valueInt('banners_id')) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $Qbanner->value('banners_image'), $Qbanner->value('banners_title')) . '</a>';
}
- } else {
- return '<b>TEP ERROR! (tep_display_banner(' . $action . ', ' . $identifier . ') -> Unknown $action parameter value - it must be either \'dynamic\' or \'static\'</b>';
- }
- if (tep_not_null($banner['banners_html_text'])) {
- $banner_string = $banner['banners_html_text'];
- } else {
- $banner_string = '<a href="' . tep_href_link(FILENAME_REDIRECT, 'action=banner&goto=' . $banner['banners_id']) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $banner['banners_image'], $banner['banners_title']) . '</a>';
- }
+ tep_update_banner_display_count($Qbanner->valueInt('banners_id'));
- tep_update_banner_display_count($banner['banners_id']);
+ $Qbanner->freeResult();
- return $banner_string;
+ return $banner_string;
+ } else {
+ return false;
+ }
}
////
// Check to see if a banner exists
function tep_banner_exists($action, $identifier) {
+ global $osC_Database;
+
if ($action == 'dynamic') {
- return tep_random_select("select banners_id, banners_title, banners_image, banners_html_text from " . TABLE_BANNERS . " where status = '1' and banners_group = '" . $identifier . "'");
- } elseif ($action == 'static') {
- $banner_query = tep_db_query("select banners_id, banners_title, banners_image, banners_html_text from " . TABLE_BANNERS . " where status = '1' and banners_id = '" . (int)$identifier . "'");
- return tep_db_fetch_array($banner_query);
+ $Qbanner = $osC_Database->query('select banners_id, banners_title, banners_image, banners_html_text from :table_banners where status = 1 and banners_group = :banners_group');
+ $Qbanner->bindRaw(':table_banners', TABLE_BANNERS);
+ $Qbanner->bindValue(':banners_group', $identifier);
+ $Qbanner->executeRandom();
} else {
+ $Qbanner = $osC_Database->query('select banners_id, banners_title, banners_image, banners_html_text from :table_banners where status = 1 and banners_id = :banners_id');
+ $Qbanner->bindRaw(':table_banners', TABLE_BANNERS);
+ $Qbanner->bindInt(':banners_id', $identifier);
+ $Qbanner->execute();
+ }
+
+ if ($Qbanner->numberOfRows()) {
+ return true;
+ } else {
return false;
}
}
@@ -107,19 +147,36 @@
////
// Update the banner display statistics
function tep_update_banner_display_count($banner_id) {
- $banner_check_query = tep_db_query("select count(*) as count from " . TABLE_BANNERS_HISTORY . " where banners_id = '" . (int)$banner_id . "' and date_format(banners_history_date, '%Y%m%d') = date_format(now(), '%Y%m%d')");
- $banner_check = tep_db_fetch_array($banner_check_query);
+ global $osC_Database;
- if ($banner_check['count'] > 0) {
- tep_db_query("update " . TABLE_BANNERS_HISTORY . " set banners_shown = banners_shown + 1 where banners_id = '" . (int)$banner_id . "' and date_format(banners_history_date, '%Y%m%d') = date_format(now(), '%Y%m%d')");
+ $Qbannercheck = $osC_Database->query('select count(*) as count from :table_banners_history where banners_id = :banners_id and date_format(banners_history_date, "%Y%m%d") = date_format(now(), "%Y%m%d")');
+ $Qbannercheck->bindRaw(':table_banners_history', TABLE_BANNERS_HISTORY);
+ $Qbannercheck->bindInt(':banners_id', $banner_id);
+ $Qbannercheck->execute();
+
+ if ($Qbannercheck->valueInt('count') > 0) {
+ $Qbanner = $osC_Database->query('update :table_banners_history set banners_shown = banners_shown + 1 where banners_id = :banners_id and date_format(banners_history_date, "%Y%m%d") = date_format(now(), "%Y%m%d")');
} else {
- tep_db_query("insert into " . TABLE_BANNERS_HISTORY . " (banners_id, banners_shown, banners_history_date) values ('" . (int)$banner_id . "', 1, now())");
+ $Qbanner = $osC_Database->query('insert into :table_banners_history (banners_id, banners_shown, banners_history_date) values (:banners_id, 1, now())');
}
+ $Qbanner->bindRaw(':table_banners_history', TABLE_BANNERS_HISTORY);
+ $Qbanner->bindInt(':banners_id', $banner_id);
+ $Qbanner->execute();
+
+ $Qbannercheck->freeResult();
+ $Qbanner->freeResult();
}
////
// Update the banner click statistics
function tep_update_banner_click_count($banner_id) {
- tep_db_query("update " . TABLE_BANNERS_HISTORY . " set banners_clicked = banners_clicked + 1 where banners_id = '" . (int)$banner_id . "' and date_format(banners_history_date, '%Y%m%d') = date_format(now(), '%Y%m%d')");
+ global $osC_Database;
+
+ $Qbanner = $osC_Database->query('update :table_banners_history set banners_clicked = banners_clicked + 1 where banners_id = :banners_id and date_format(banners_history_date, "%Y%m%d") = date_format(now(), "%Y%m%d")');
+ $Qbanner->bindRaw(':table_banners_history', TABLE_BANNERS_HISTORY);
+ $Qbanner->bindInt(':banners_id', $banner_id);
+ $Qbanner->execute();
+
+ $Qbanner->freeResult();
}
-?>
\ No newline at end of file
+?>
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click