Code rewritings, load base config improved and many minor fixes...
[mailer.git] / 0.2.1 / inc / modules / admin / what-refbanner.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 10/19/2003 *\r
4  * ===============                              Last change: 07/13/2004 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : what-refbanner.php                               *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : Manage all referral banner                       *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Alle Banner f�r die Ref-Links verwalten          *\r
12  * -------------------------------------------------------------------- *\r
13  *                                                                      *\r
14  * -------------------------------------------------------------------- *\r
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *\r
16  * For more information visit: http://www.mxchange.org                  *\r
17  *                                                                      *\r
18  * This program is free software; you can redistribute it and/or modify *\r
19  * it under the terms of the GNU General Public License as published by *\r
20  * the Free Software Foundation; either version 2 of the License, or    *\r
21  * (at your option) any later version.                                  *\r
22  *                                                                      *\r
23  * This program is distributed in the hope that it will be useful,      *\r
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of       *\r
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the        *\r
26  * GNU General Public License for more details.                         *\r
27  *                                                                      *\r
28  * You should have received a copy of the GNU General Public License    *\r
29  * along with this program; if not, write to the Free Software          *\r
30  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,               *\r
31  * MA  02110-1301  USA                                                  *\r
32  ************************************************************************/\r
33 \r
34 // Some security stuff...\r
35 if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))\r
36 {\r
37         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";\r
38         require($INC);\r
39 }\r
40 // Add description as navigation point\r
41 ADD_DESCR("admin", basename(__FILE__));\r
42 \r
43 global $link;\r
44 \r
45 $SEL = 0;\r
46 if ((empty($_POST['url'])) || (empty($_POST['alternate'])))\r
47 {\r
48         unset($_POST['ok']);\r
49 }\r
50 if (!empty($_POST['sel'])) $SEL = SELECTION_COUNT($_POST['sel']);\r
51 \r
52 OPEN_TABLE("100%", "admin_content admin_content_align", "");\r
53 if (isset($_POST['ok']))\r
54 {\r
55         // Fix older calls from add-new-banner-form\r
56         if (empty($_GET['mode'])) $_GET['mode'] = "add";\r
57         $SQL = "";\r
58         switch ($_GET['mode'])\r
59         {\r
60         case "add":\r
61                 // Check if banner is already added\r
62                 $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_refbanner WHERE url='%s' LIMIT 1",\r
63                  array($_POST['url']), __FILE__, __LINE__);\r
64                 if (SQL_NUMROWS($result) == 0)\r
65                 {\r
66                         // Add banner\r
67                         $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_refbanner (url, alternate, visible)\r
68 VALUES ('%s', '%s', '%s')",\r
69  array($_POST['url'], $_POST['alternate'], $_POST['visible']), __FILE__, __LINE__);\r
70                 }\r
71                  else\r
72                 {\r
73                         // Free memory\r
74                         SQL_FREERESULT($result);\r
75                 }\r
76                 break;\r
77 \r
78         case "edit": // Update banner\r
79                 foreach ($_POST['sel'] as $id=>$sel)\r
80                 {\r
81                         // Secure ID\r
82                         $id = bigintval($id);\r
83 \r
84                         // Update entry\r
85                         $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_refbanner SET url='%s', alternate='%s', visible='%s' WHERE id=%d LIMIT 1",\r
86                          array(stripslashes($_POST['url'][$id]), $_POST['alternate'][$id], $_POST['visible'], $id), __FILE__, __LINE__);\r
87                 }\r
88                 break;\r
89         }\r
90         if (SQL_AFFECTEDROWS($link, __FILE__, __LINE__) == 1)\r
91         {\r
92                 $content = "<SPAN class=\"admin_done\">".SETTINGS_SAVED."</SPAN>";\r
93         }\r
94          else\r
95         {\r
96                 $content = "<SPAN class=\"admin_failed\">".SETTINGS_NOT_SAVED."</SPAN>";\r
97         }\r
98         LOAD_TEMPLATE("admin_settings_saved", false, $content);\r
99 }\r
100  elseif (($SEL > 0) && (isset($_POST['edit'])))\r
101 {\r
102         // Edit banner\r
103         $SW = ""; $OUT = "";\r
104         foreach ($_POST['sel'] as $id=>$sel)\r
105         {\r
106                 // Load data\r
107                 $result = SQL_QUERY_ESC("SELECT url, alternate, visible FROM "._MYSQL_PREFIX."_refbanner WHERE id=%d LIMIT 1",\r
108                  array(bigintval($id)), __FILE__, __LINE__);\r
109                 list($url, $alt, $vis) = SQL_FETCHROW($result);\r
110                 SQL_FREERESULT($result);\r
111 \r
112                 // Preapre data for the row\r
113                 $content = array(\r
114                         'sw'  => $SW,\r
115                         'id'  => $id,\r
116                         'url' => $url,\r
117                         'alt' => $alt,\r
118                         'vis' => ADD_SELECTION("yn", $vis   , "visible"),\r
119                 );\r
120 \r
121                 // Load row template and switch color\r
122                 $OUT .= LOAD_TEMPLATE("admin_refbanner_edit_row", true, $content);\r
123                 $SW = 3 - $SW;\r
124         }\r
125         define('__BANNER_ROWS', $OUT);\r
126 \r
127         // Load main template\r
128         LOAD_TEMPLATE("admin_refbanner_edit");\r
129 }\r
130  else\r
131 {\r
132         if (($SEL > 0) && (isset($_POST['del'])))\r
133         {\r
134                 // Delete banner\r
135                 foreach ($_POST['sel'] as $id=>$sel)\r
136                 {\r
137                         $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_refbanner WHERE id=%d LIMIT 1",\r
138                          array(bigintval($id)), __FILE__, __LINE__);\r
139                 }\r
140         }\r
141 \r
142         // Referral levels\r
143         $result = SQL_QUERY("SELECT id, url, alternate, visible, counter, clicks FROM "._MYSQL_PREFIX."_refbanner ORDER BY url", __FILE__, __LINE__);\r
144         if (SQL_NUMROWS($result) > 0)\r
145         {\r
146                 // Make referral banner editable and deletable\r
147                 $SW = 2; $OUT = "";\r
148                 while (list($id, $url, $alt, $vis, $cntr, $clks) = SQL_FETCHROW($result))\r
149                 {\r
150                         // Preapre data for the row\r
151                         $content = array(\r
152                                 'sw'  => $SW,\r
153                                 'id'  => $id,\r
154                                 'url' => $url,\r
155                                 'alt' => $alt,\r
156                                 'vis' => TRANSLATE_YESNO($vis),\r
157                                 'cnt' => $cntr,\r
158                                 'clx' => $clks\r
159                         );\r
160 \r
161                         // Load row template and switch color\r
162                         $OUT .= LOAD_TEMPLATE("admin_refbanner_row", true, $content);\r
163                         $SW = 3 - $SW;\r
164                 }\r
165 \r
166                 // Free memory\r
167                 SQL_FREERESULT($result);\r
168                 define('__BANNER_ROWS', $OUT);\r
169 \r
170                 // Load main template\r
171                 LOAD_TEMPLATE("admin_refbanner");\r
172         }\r
173 \r
174         // Form for adding new referral levels\r
175         LOAD_TEMPLATE("admin_add_banner");\r
176 }\r
177 CLOSE_TABLE();\r
178 //\r
179 ?>\r