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 if (SQL_AFFECTEDROWS() == 1) {
90 $content = getMessage('SETTINGS_SAVED');
92 $content = "<span class=\"admin_failed\">{--SETTINGS_NOT_SAVED--}</span>";
94 loadTemplate('admin_settings_saved', false, $content);
95 } elseif ((countPostSelection() > 0) && (isPostRequestParameterSet('edit'))) {
98 foreach (postRequestParameter('sel') as $id => $sel) {
100 $result = SQL_QUERY_ESC("SELECT url, alternate, visible FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE `id`=%s LIMIT 1",
101 array(bigintval($id)), __FILE__, __LINE__);
102 list($url, $alt, $vis) = SQL_FETCHROW($result);
103 SQL_FREERESULT($result);
105 // Preapre data for the row
111 'vis' => addSelectionBox('yn', $vis , 'visible'),
114 // Load row template and switch color
115 $OUT .= loadTemplate('admin_refbanner_edit_row', true, $content);
119 // Load main template
120 loadTemplate('admin_refbanner_edit', false, $OUT);
122 if ((countPostSelection() > 0) && (isPostRequestParameterSet('del'))) {
124 foreach (postRequestParameter('sel') as $id => $sel) {
125 SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE `id`=%s LIMIT 1",
126 array(bigintval($id)), __FILE__, __LINE__);
131 $result = SQL_QUERY("SELECT id, url, alternate, visible, counter, clicks FROM `{?_MYSQL_PREFIX?}_refbanner` ORDER BY url", __FILE__, __LINE__);
134 if (SQL_NUMROWS($result) > 0) {
135 // Make referal banner editable and deletable
137 while ($content = SQL_FETCHARRAY($result)) {
138 // Preapre data for the row
139 // @TODO Rewritings: alt->alternate,cnt->counter,clx->clicks in template
142 'id' => $content['id'],
143 'url' => $content['url'],
144 'alt' => $content['alternate'],
145 'vis' => translateYesNo($content['visible']),
146 'cnt' => $content['counter'],
147 'clx' => $content['clicks']
150 // Load row template and switch color
151 $OUT .= loadTemplate('admin_refbanner_row', true, $content);
156 SQL_FREERESULT($result);
158 // Load main template
159 loadTemplate('admin_refbanner', false, $OUT);
162 // Form for adding new referal levels
163 loadTemplate('admin_add_banner');