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 * Copyright (c) 2009, 2010 by Mailer Developer Team *
22 * For more information visit: http://www.mxchange.org *
24 * This program is free software; you can redistribute it and/or modify *
25 * it under the terms of the GNU General Public License as published by *
26 * the Free Software Foundation; either version 2 of the License, or *
27 * (at your option) any later version. *
29 * This program is distributed in the hope that it will be useful, *
30 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
32 * GNU General Public License for more details. *
34 * You should have received a copy of the GNU General Public License *
35 * along with this program; if not, write to the Free Software *
36 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
38 ************************************************************************/
40 // Some security stuff...
41 if ((!defined('__SECURITY')) || (!isAdmin())) {
45 // Add description as navigation point
46 addMenuDescription('admin', __FILE__);
49 if ((!isPostRequestParameterSet('url')) || (!isPostRequestParameterSet(('alternate')))) {
50 unsetPostRequestParameter('ok');
54 // Fix older calls from add-new-banner-form
55 if (!isGetRequestParameterSet('mode')) setGetRequestParameter('mode', 'add');
57 switch (getRequestParameter('mode')) {
59 // Check if banner is already added
60 $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE url='%s' LIMIT 1",
61 array(postRequestParameter('url')), __FILE__, __LINE__);
62 if (SQL_HASZERONUMS($result)) {
64 SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_refbanner` (url, alternate, visible)
65 VALUES ('%s','%s','%s')",
66 array(postRequestParameter('url'), postRequestParameter('alternate'), postRequestParameter('visible')), __FILE__, __LINE__);
69 SQL_FREERESULT($result);
73 case 'edit': // Update banner
74 foreach (postRequestParameter('sel') as $id => $sel) {
79 SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_refbanner` SET url='%s', alternate='%s', `visible`='%s' WHERE `id`=%s LIMIT 1",
81 postRequestParameter('url', $id),
82 postRequestParameter('alternate', $id),
83 postRequestParameter('visible'),
85 ), __FILE__, __LINE__);
90 // Check if we have saved (updated)
91 if (SQL_AFFECTEDROWS() == 1) {
93 $content = getMessage('SETTINGS_SAVED');
95 // Nothing has been updated
96 $content = '<span class="admin_failed">{--SETTINGS_NOT_SAVED--}</span>';
100 loadTemplate('admin_settings_saved', false, $content);
101 } elseif ((countPostSelection() > 0) && (isFormSent('edit'))) {
104 foreach (postRequestParameter('sel') as $id => $sel) {
106 $result = SQL_QUERY_ESC("SELECT url, alternate, visible FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE `id`=%s LIMIT 1",
107 array(bigintval($id)), __FILE__, __LINE__);
108 list($url, $alt, $vis) = SQL_FETCHROW($result);
109 SQL_FREERESULT($result);
111 // Preapre data for the row
117 'vis' => addSelectionBox('yn', $vis , 'visible'),
120 // Load row template and switch color
121 $OUT .= loadTemplate('admin_refbanner_edit_row', true, $content);
125 // Load main template
126 loadTemplate('admin_refbanner_edit', false, $OUT);
128 if ((countPostSelection() > 0) && (isFormSent('del'))) {
130 foreach (postRequestParameter('sel') as $id => $sel) {
131 SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{?_MYSQL_PREFIX?}_refbanner` WHERE `id`=%s LIMIT 1",
132 array(bigintval($id)), __FILE__, __LINE__);
137 $result = SQL_QUERY("SELECT id, url, alternate, visible, counter, clicks FROM `{?_MYSQL_PREFIX?}_refbanner` ORDER BY url", __FILE__, __LINE__);
140 if (SQL_NUMROWS($result) > 0) {
141 // Make referal banner editable and deletable
143 while ($content = SQL_FETCHARRAY($result)) {
144 // Preapre data for the row
145 // @TODO Rewritings: alt->alternate,cnt->counter,clx->clicks in template
148 'id' => $content['id'],
149 'url' => $content['url'],
150 'alt' => $content['alternate'],
151 'vis' => translateYesNo($content['visible']),
152 'cnt' => $content['counter'],
153 'clx' => $content['clicks']
156 // Load row template and switch color
157 $OUT .= loadTemplate('admin_refbanner_row', true, $content);
162 SQL_FREERESULT($result);
164 // Load main template
165 loadTemplate('admin_refbanner', false, $OUT);
168 // Form for adding new referal levels
169 loadTemplate('admin_add_banner');