e5c25775e9d5dd4617a1488123820a4429a97012
[mailer.git] / 0.2.1 / inc / modules / admin / what-admins_mails.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 08/14/2004 *\r
4  * ================                             Last change: 10/22/2004 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : what-admins_mails.php                            *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : Control which admin shall receive which mail     *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Stellen Sie ein, welcher Admin welche Mail erh.  *\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 if (isset($_POST['edit']))\r
44 {\r
45         // Check if entires are checked\r
46         $SEL = SELECTION_COUNT($_POST['sel']);\r
47         if ($SEL > 0)\r
48         {\r
49                 // Add option for userlog\r
50                 $ADMINS = ADD_OPTION_LINES("admins", "id", "login", "", "email");\r
51                 $SW = 2; $ROWS = "";\r
52                 foreach ($_POST['sel'] as $template=>$sel)\r
53                 {\r
54                         // First of all load data from DB\r
55                         $result = SQL_QUERY_ESC("SELECT admin_id, id FROM "._MYSQL_PREFIX."_admins_mails WHERE mail_template='%s' ORDER BY id",\r
56                          array($template), __FILE__, __LINE__);\r
57                         $OUT = ""; $aid = "0"; $aid2 = "0";\r
58                         while (list($aid, $id) = SQL_FETCHROW($result))\r
59                         {\r
60                                 $OUT .= "<SELECT name=\"admin_id[".$id."]\" size=\"1\" class=\"admin_select\">\r
61 <OPTION value=\"0\"";\r
62                                 if ($aid == "0") $OUT .= " selected default";\r
63                                 $OUT .=">".ADMINS_ALL_ADMINS."</OPTION>\n";\r
64                                 if (EXT_IS_ACTIVE("userlog"))\r
65                                 {\r
66                                         $OUT .= "<OPTION value=\"-1\"";\r
67                                         if ($aid == "-1") $OUT .= " selected default";\r
68                                         $OUT .= ">".ADMINS_TO_USERLOG."</OPTION>\n";\r
69                                 }\r
70                                 $OUT .= ADD_OPTION_LINES("admins", "id", "login", $aid, "email");\r
71                                 $OUT .= "</SELECT><BR>\n";\r
72                                 $aid2 = $aid; $id2 = $id;\r
73                         }\r
74 \r
75                         // Free memory\r
76                         SQL_FREERESULT($result);\r
77 \r
78                         $content = array(\r
79                                 'sw'      => $SW,\r
80                                 'id'      => $id,\r
81                                 'id2'     => $id2,\r
82                                 'tpl'     => $template,\r
83                                 'admins'  => $ADMINS\r
84                         );\r
85 \r
86                         if ($aid2 > 0)\r
87                         {\r
88                                 // Add form for an additional admin\r
89                                 $OUT .= LOAD_TEMPLATE("admin_admins_mails_edit_form", true, $content);\r
90                         }\r
91                         // Save full rendered content\r
92                         $content['content'] = $OUT;\r
93 \r
94                         // Start outputing line\r
95                         $ROWS .= LOAD_TEMPLATE("admin_admins_mails_edit_row", true, $content);\r
96                         $SW = 3 - $SW;\r
97                 }\r
98                 define('__ADMINS_ROWS', $ROWS);\r
99 \r
100                 // Edit checked entries\r
101                 LOAD_TEMPLATE("admin_admins_mails_edit");\r
102         }\r
103          else\r
104         {\r
105                 // Nothing selected\r
106                 LOAD_TEMPLATE("admin_settings_saved", false, ADMINS_NO_MAIL_CHECKED);\r
107         }\r
108 }\r
109  else\r
110 {\r
111         // Load all assigned mails\r
112         $result = SQL_QUERY("SELECT DISTINCT m.id, m.admin_id, a.login, m.mail_template\r
113 FROM "._MYSQL_PREFIX."_admins_mails AS m\r
114 LEFT JOIN "._MYSQL_PREFIX."_admins AS a\r
115 ON m.admin_id=a.id\r
116 WHERE (m.admin_id=a.id OR m.admin_id < 1) AND m.mail_template != ''\r
117 ORDER BY m.admin_id, m.mail_template", __FILE__, __LINE__);\r
118 \r
119         if (SQL_NUMROWS($result) > 0)\r
120         {\r
121                 // Shall I change entries?\r
122                 if (isset($_POST['change']))\r
123                 {\r
124                         // Ok, update database\r
125                         foreach ($_POST['admin_id'] as $id=>$aid)\r
126                         {\r
127                                 // Secure IDs\r
128                                 $id  = bigintval($id);\r
129                                 $aid = bigintval($aid);\r
130 \r
131                                 // Update entry\r
132                                 $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins_mails SET admin_id=%d WHERE id=%d ORDER BY id LIMIT 1",\r
133                                  array($aid, $id), __FILE__, __LINE__);\r
134 \r
135                                 if (($aid < 1) && (!empty($_POST['template'][$id])))\r
136                                 {\r
137                                         // Remove any other admin entries\r
138                                         $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admins_mails WHERE mail_template='%s' AND id != '%s'",\r
139                                          array($_POST['template'][$id], $id), __FILE__, __LINE__);\r
140                                 }\r
141                                 if ($_POST['admin_new'][$_POST['template'][$id]] > 0)\r
142                                 {\r
143                                         // Add new admin\r
144                                         $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins_mails (admin_id, mail_template) VALUES ('%s', '%s')",\r
145                                          array($aid, $_POST['template'][$id]), __FILE__, __LINE__);\r
146                                 }\r
147                         }\r
148 \r
149                         // Query again...\r
150                         $result = SQL_QUERY("SELECT DISTINCT m.id, m.admin_id, a.login, m.mail_template FROM "._MYSQL_PREFIX."_admins_mails AS m, "._MYSQL_PREFIX."_admins AS a WHERE m.admin_id=a.id OR m.admin_id < 1 ORDER BY m.admin_id", __FILE__, __LINE__);\r
151                 }\r
152 \r
153                 // List found entries\r
154                 $SW = 2; $OUT = "";\r
155                 while(list($id, $aid, $admin, $templ) = SQL_FETCHROW($result))\r
156                 {\r
157                         if ($aid > 0)\r
158                         {\r
159                                 // Admin assigned\r
160                                 $admin_link = "<A href=\"".URL."/modules.php?module=admin&amp;what=admins_contct&amp;admin=".$aid."\">".$admin."</A>";\r
161                         }\r
162                          elseif ($aid == 0)\r
163                         {\r
164                                 // All admins\r
165                                 $admin_link = "<I>".ADMINS_ALL_ADMINS."</I>";\r
166                         }\r
167                          elseif (($aid == -1) && (EXT_IS_ACTIVE("usrlog")))\r
168                         {\r
169                                 // To userlog\r
170                                 $admin_link = "<I>".ADMINS_TO_USERLOG."</I>";\r
171                         }\r
172                         $content = array(\r
173                                 'sw'   => $SW,\r
174                                 'tpl'  => $templ,\r
175                                 'alnk' => $admin_link\r
176                         );\r
177 \r
178                         // Load row template\r
179                         $OUT .= LOAD_TEMPLATE("admin_admins_mails_list_row", true, $content);\r
180                         $SW = 3 - $SW;\r
181                 }\r
182 \r
183                 // Free result\r
184                 SQL_FREERESULT($result);\r
185                 define('__MAILS_ROWS', $OUT);\r
186 \r
187                 // Load template\r
188                 LOAD_TEMPLATE("admin_admins_mails_list");\r
189         }\r
190          else\r
191         {\r
192                 // No entries found\r
193                 LOAD_TEMPLATE("admin_settings_saved", false, ADMINS_MAILS_NO_ENTRIES);\r
194         }\r
195 }\r
196 //\r
197 ?>\r