2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 10/19/2003 *
4 * =================== Last change: 07/13/2004 *
6 * -------------------------------------------------------------------- *
7 * File : what-refbanner.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Manage all referal banner *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Alle Banner fuer die Ref-Links verwalten *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * Needs to be in all Files and every File needs "svn propset *
18 * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
19 * -------------------------------------------------------------------- *
20 * Copyright (c) 2003 - 2009 by Roland Haeder *
21 * For more information visit: http://www.mxchange.org *
23 * This program is free software; you can redistribute it and/or modify *
24 * it under the terms of the GNU General Public License as published by *
25 * the Free Software Foundation; either version 2 of the License, or *
26 * (at your option) any later version. *
28 * This program is distributed in the hope that it will be useful, *
29 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
30 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
31 * GNU General Public License for more details. *
33 * You should have received a copy of the GNU General Public License *
34 * along with this program; if not, write to the Free Software *
35 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
37 ************************************************************************/
39 // Some security stuff...
40 if ((!defined('__SECURITY')) || (!isAdmin())) {
44 // Add description as navigation point
45 addMenuDescription('admin', __FILE__);
48 if ((!isPostRequestParameterSet('url')) || (!isPostRequestParameterSet(('alternate')))) {
49 unsetPostRequestParameter('ok');
53 // Fix older calls from add-new-banner-form
54 if (!isGetRequestParameterSet('mode')) setGetRequestParameter('mode', 'add');
56 switch (getRequestParameter('mode')) {
58 // Check if banner is already added
59 $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE url='%s' LIMIT 1",
60 array(postRequestParameter('url')), __FILE__, __LINE__);
61 if (SQL_NUMROWS($result) == '0') {
63 SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_refbanner` (url, alternate, visible)
64 VALUES ('%s','%s','%s')",
65 array(postRequestParameter('url'), postRequestParameter('alternate'), postRequestParameter('visible')), __FILE__, __LINE__);
68 SQL_FREERESULT($result);
72 case 'edit': // Update banner
73 foreach (postRequestParameter('sel') as $id => $sel) {
78 SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_refbanner` SET url='%s', alternate='%s', `visible`='%s' WHERE `id`=%s LIMIT 1",
80 postRequestParameter('url', $id),
81 postRequestParameter('alternate', $id),
82 postRequestParameter('visible'),
84 ), __FILE__, __LINE__);
89 // Check if we have saved (updated)
90 if (SQL_AFFECTEDROWS() == 1) {
92 $content = getMessage('SETTINGS_SAVED');
94 // Nothing has been updated
95 $content = '<span class="admin_failed">{--SETTINGS_NOT_SAVED--}</span>';
99 loadTemplate('admin_settings_saved', false, $content);
100 } elseif ((countPostSelection() > 0) && (isPostRequestParameterSet('edit'))) {
103 foreach (postRequestParameter('sel') as $id => $sel) {
105 $result = SQL_QUERY_ESC("SELECT url, alternate, visible FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE `id`=%s LIMIT 1",
106 array(bigintval($id)), __FILE__, __LINE__);
107 list($url, $alt, $vis) = SQL_FETCHROW($result);
108 SQL_FREERESULT($result);
110 // Preapre data for the row
116 'vis' => addSelectionBox('yn', $vis , 'visible'),
119 // Load row template and switch color
120 $OUT .= loadTemplate('admin_refbanner_edit_row', true, $content);
124 // Load main template
125 loadTemplate('admin_refbanner_edit', false, $OUT);
127 if ((countPostSelection() > 0) && (isPostRequestParameterSet('del'))) {
129 foreach (postRequestParameter('sel') as $id => $sel) {
130 SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE `id`=%s LIMIT 1",
131 array(bigintval($id)), __FILE__, __LINE__);
136 $result = SQL_QUERY("SELECT id, url, alternate, visible, counter, clicks FROM `{?_MYSQL_PREFIX?}_refbanner` ORDER BY url", __FILE__, __LINE__);
139 if (SQL_NUMROWS($result) > 0) {
140 // Make referal banner editable and deletable
142 while ($content = SQL_FETCHARRAY($result)) {
143 // Preapre data for the row
144 // @TODO Rewritings: alt->alternate,cnt->counter,clx->clicks in template
147 'id' => $content['id'],
148 'url' => $content['url'],
149 'alt' => $content['alternate'],
150 'vis' => translateYesNo($content['visible']),
151 'cnt' => $content['counter'],
152 'clx' => $content['clicks']
155 // Load row template and switch color
156 $OUT .= loadTemplate('admin_refbanner_row', true, $content);
161 SQL_FREERESULT($result);
163 // Load main template
164 loadTemplate('admin_refbanner', false, $OUT);
167 // Form for adding new referal levels
168 loadTemplate('admin_add_banner');