Code rewritings, load base config improved and many minor fixes...
[mailer.git] / 0.2.1 / inc / modules / admin / what-add_points.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 11/23/2003 *\r
4  * ===============                              Last change: 09/23/2004 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : what-add_points.php                              *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : Add manually points to a user                    *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Manuell einem Mitglied Punkte gutschreiben       *\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 // Fix a notice\r
44 if (!isset($_GET['u_id'])) $_GET['u_id'] = "";\r
45 \r
46 OPEN_TABLE("100%", "admin_content admin_content_align", "");\r
47 if ($_GET['u_id'] == "all")\r
48 {\r
49         // Add points to all accounts\r
50         if ((isset($_POST['ok'])) && ($_POST['points'] > 0))\r
51         {\r
52                 define('__POINTS_VALUE', $_POST['points']);\r
53                 $result_main = SQL_QUERY("SELECT userid FROM "._MYSQL_PREFIX."_user_data WHERE status='CONFIRMED' ORDER BY userid", __FILE__, __LINE__);\r
54                 while (list($uid) = SQL_FETCHROW($result_main))\r
55                 {\r
56                         // User ID found in URL so we use this give him some credits\r
57                         $result = SQL_QUERY_ESC("SELECT surname, family, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d AND status='CONFIRMED' LIMIT 1",\r
58                          array(bigintval($uid)), __FILE__, __LINE__);\r
59                         if (SQL_NUMROWS($result) == 1)\r
60                         {\r
61                                 // Selected user does exist\r
62                                 list($sname, $fname, $email) = SQL_FETCHROW($result);\r
63                                 SQL_FREERESULT($result);\r
64 \r
65                                 if ((isset($_POST['ok'])) && (!empty($_POST['points'])))\r
66                                 {\r
67                                         // Ok, add points and send an email to him...\r
68                                         $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_points SET points=points+(%s) WHERE userid=%d AND ref_depth='0' LIMIT 1",\r
69                                          array($_POST['points'], bigintval($uid)), __FILE__, __LINE__);\r
70 \r
71                                         // Update mediadata as well\r
72                                         if (GET_EXT_VERSION("mediadata") >= "0.0.4")\r
73                                         {\r
74                                                 // Update database\r
75                                                 MEDIA_UPDATE_ENTRY(array("total_points"), "add", $_POST['points']);\r
76                                         }\r
77 \r
78                                         // Load email template and send email away\r
79                                         $msg = LOAD_EMAIL_TEMPLATE("add-points", $_POST['reason'], $uid);\r
80                                         SEND_EMAIL($email, ADMIN_ADD_SUBJ, $msg);\r
81                                 }\r
82                         }\r
83                 }\r
84 \r
85                 // Free memory\r
86                 SQL_FREERESULT($result_main);\r
87 \r
88                 // Output message\r
89                 LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_ALL_POINTS_ADDED);\r
90         }\r
91          else\r
92         {\r
93                 // Display form add points\r
94                 LOAD_TEMPLATE("admin_add_points_all");\r
95         }\r
96 }\r
97  elseif (!empty($_GET['u_id']))\r
98 {\r
99         // User ID found in URL so we use this give him some credits\r
100         $result = SQL_QUERY_ESC("SELECT surname, family, email FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d AND status='CONFIRMED' LIMIT 1",\r
101          array(bigintval($_GET['u_id'])), __FILE__, __LINE__);\r
102         if (SQL_NUMROWS($result) == 1)\r
103         {\r
104                 // Selected user does exist\r
105                 list($sname, $fname, $email) = SQL_FETCHROW($result);\r
106                 SQL_FREERESULT($result);\r
107 \r
108                 if ((isset($_POST['ok'])) && (!empty($_POST['points'])))\r
109                 {\r
110                         // Ok, add points and send an email to him...\r
111                         $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_points SET points=points+(%s) WHERE userid=%d AND ref_depth='0' LIMIT 1",\r
112                          array($_POST['points'], bigintval($_GET['u_id'])), __FILE__, __LINE__);\r
113 \r
114                         // Remember points in constant\r
115                         define('__POINTS_VALUE', $_POST['points']);\r
116 \r
117                         // Message laden\r
118                         $msg = LOAD_EMAIL_TEMPLATE("add-points", $_POST['reason'], $_GET['u_id']);\r
119 \r
120                         SEND_EMAIL($email, ADMIN_ADD_SUBJ, $msg);\r
121                         LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_POINTS_ADDED);\r
122                 }\r
123                  else\r
124                 {\r
125                         // Opps, missing form here\r
126                         define('__USER_VALUE', "<A href=\"".CREATE_EMAIL_LINK($email, "user_data")."\">".$sname." ".$fname."</A>");\r
127                         define('__UID_VALUE', $_GET['u_id']);\r
128                         LOAD_TEMPLATE("admin_add_points");\r
129                 }\r
130         }\r
131          else\r
132         {\r
133                 // User not found!\r
134                 OUTPUT_HTML ("<STRONG class=\"admin_failed\">".ADMIN_MEMBER_404_1.$_GET['u_id'].ADMIN_MEMBER_404_2."</STRONG>");\r
135         }\r
136 }\r
137  else\r
138 {\r
139         // Output selection form with all confirmed user accounts listed\r
140         ADD_MEMBER_SELECTION_BOX(true);\r
141 }\r
142 CLOSE_TABLE();\r
143 //\r
144 ?>\r