List active/inactive extensions
[mailer.git] / 0.2.1 / inc / modules / admin / what-email_details.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 09/28/2003 *\r
4  * ===============                              Last change: 10/29/2004 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : what-email_details.php                           *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : See all email details of ordered mails           *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Alle Details einer gebuchten Mail ansehen        *\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  *           Moded What-email_details.php   / also Editet !             *\r
34  * Auf langsammen Servern (wie mein z.B Dauert das Laden)               *\r
35  * enorm hoch zu lang. Jetzt werden nur auftr�ge aufgelistet die        *\r
36  * NEU sind ( DB NEW) oder ADMIN freischalten mu� (DB ADMIN )           *\r
37  * oder noch als TEMP gespecihert sind                                  *\r
38  * der rest der schon als SEND sich melden darf wird per                *\r
39  * what-email_archiv .php aufgerufen                                    *\r
40  * beste gr��e Robert Niedziela / www.personal-webserver.de             *\r
41  * oder auch www.mc-p.org                                               *\r
42  ************************************************************************/\r
43 \r
44 // Some security stuff...\r
45 if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))\r
46 {\r
47         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";\r
48         require($INC);\r
49 }\r
50 \r
51 // Add description as navigation point\r
52 ADD_DESCR("admin", basename(__FILE__));\r
53 \r
54 // Normal mails ordered by your members\r
55 //              0     1       2       3       4           5          6          7       8        9          10\r
56 $SQL = "SELECT id, sender, subject, text, receivers, payment_id, data_type, timestamp, url, target_send, cat_id\r
57  FROM "._MYSQL_PREFIX."_pool\r
58  WHERE data_type IN('ADMIN', 'TEMP', 'NEW', 'ACTIVE')\r
59  ORDER BY timestamp DESC";\r
60 $WHO = _ALL;\r
61 $SQL2 = "";\r
62 \r
63 if (!empty($_GET['mid']))\r
64 {\r
65         // Only a specific mail shall be displayed\r
66         //              0     1       2       3       4           5          6          7       8        9          10\r
67         $SQL = "SELECT id, sender, subject, text, receivers, payment_id, data_type, timestamp, url, target_send, cat_id\r
68          FROM "._MYSQL_PREFIX."_pool\r
69          WHERE id='".bigintval($_GET['mid'])."'\r
70          LIMIT 1";\r
71         $WHO = MAIL_ID.": ".$_GET['mid'];\r
72 }\r
73  elseif (!empty($_GET['u_id']))\r
74 {\r
75         // All mails by a specific member shall be displayed\r
76         //              0     1       2       3       4           5          6          7       8        9          10\r
77         $SQL = "SELECT id, sender, subject, text, receivers, payment_id, data_type, timestamp, url, target_send, cat_id\r
78          FROM "._MYSQL_PREFIX."_pool\r
79          WHERE sender='".bigintval($_GET['u_id'])."'\r
80          ORDER by timestamp DESC";\r
81         $WHO = USER_ID.": ".$_GET['u_id'];\r
82 }\r
83 \r
84 if ((EXT_IS_ACTIVE("bonus")) && ($WHO == _ALL))\r
85 {\r
86         // Bonus mails sent by you\r
87         //               0     1       2        3        4      5       6          7       8      9         10          11        12\r
88         $SQL2 = "SELECT id, subject, text, receivers, points, time, data_type, timestamp, url, cat_id, target_send, mails_sent, clicks\r
89          FROM "._MYSQL_PREFIX."_bonus\r
90          ORDER BY timestamp DESC";\r
91 \r
92         // Check for maximum pages\r
93         $result_bonus = SQL_QUERY($SQL2, __FILE__, __LINE__);\r
94 }\r
95 \r
96 // Check for maximum pages\r
97 $result_normal = SQL_QUERY($SQL, __FILE__, __LINE__);\r
98 \r
99 // Set offset an current page to default values\r
100 if (empty($_GET['page']))   $_GET['page']   = "1";\r
101 if (empty($_GET['offset'])) $_GET['offset'] = $CONFIG['mails_page'];\r
102 \r
103 // Add limitation to SQL string\r
104 if (empty($_GET['mid']))\r
105 {\r
106         // Create limitation line\r
107         $ADD = " LIMIT ".(bigintval($_GET['offset']) * bigintval($_GET['page']) - bigintval($_GET['offset'])).", ".bigintval($_GET['offset']);\r
108 \r
109         // For normal mails\r
110         $SQL .= $ADD;\r
111 \r
112         // For bonus mails\r
113         if (!empty($SQL2)) $SQL2 .= $ADD;\r
114 }\r
115 \r
116 // Run SQL query for normal mails\r
117 $result_list = SQL_QUERY($SQL, __FILE__, __LINE__);\r
118 if ((!empty($SQL2)) && ($WHO == _ALL)) $result_bonus = SQL_QUERY($SQL2, __FILE__, __LINE__);\r
119 \r
120 // Calculate pages\r
121 $PAGES = round(SQL_NUMROWS($result_normal) / $CONFIG['mails_page'] + 0.3);\r
122 SQL_FREERESULT($result_normal);\r
123 \r
124 $MAIL = false;\r
125 if (SQL_NUMROWS($result_list) > 0)\r
126 {\r
127         // Mail orders are in pool so we can display them\r
128         OUTPUT_HTML ("<DIV align=\"center\">\r
129 <TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_table dashed\" width=\"99%\">\r
130 <TR>\r
131   <TD colspan=\"3\" align=\"center\" height=\"25\" class=\"admin_title\">\r
132     <STRONG class=\"admin_done\">".ADMIN_POOL_CONTENT." (".$WHO.")</STRONG>\r
133   </TD>\r
134 </TR>");\r
135 \r
136         // Add navigation (with change box and colspan=3)\r
137         if ($PAGES > 1) ADD_EMAIL_NAV($PAGES, $CONFIG['mails_page'], false, "3");\r
138 \r
139         while ($pool = SQL_FETCHROW($result_list))\r
140         {\r
141                 // Unconfirmed mails and sent mails\r
142                 $result_uncon = SQL_QUERY_ESC("SELECT max_rec, clicks FROM "._MYSQL_PREFIX."_user_stats WHERE pool_id=%d LIMIT 1",\r
143                  array(bigintval($pool[0])), __FILE__, __LINE__);\r
144                 list($sent, $clicks) = SQL_FETCHROW($result_uncon);\r
145                 SQL_FREERESULT($result_uncon);\r
146 \r
147                 // Unconfirmed mails\r
148                 $unconfirmed = $sent - $clicks;\r
149                 if ($unconfirmed > 0)\r
150                 {\r
151                         // Add link to list_unconfirmed what-file\r
152                         $unconfirmed = "<STRONG><A href=\"".URL."/modules.php?module=admin&amp;what=list_unconfirmed&amp;mid=".$pool[0]."\">".$unconfirmed."</A></STRONG>";\r
153                 }\r
154                  elseif ($unconfirmed < 0)\r
155                 {\r
156                         // Sometimes rarely displayed minus values will be "fixed" to zero\r
157                         $unconfirmed = "0";\r
158                 }\r
159 \r
160                 // List mail\r
161                 OUTPUT_HTML ("<TR>\r
162   <TD class=\"bottom top2 right\" width=\"23%\" align=\"center\">\r
163     ".EMAIL_SENDER.":<BR>\r
164     <STRONG class=\"admin_misc\">".ADMIN_USER_PROFILE_LINK($pool[1])."</STRONG>\r
165   </TD>\r
166   <TD class=\"bottom top2 right\" width=\"23%\" align=\"center\">\r
167     ".EMAIL_SUBJECT.":<BR>\r
168     <STRONG class=\"admin_misc\">".COMPILE_CODE($pool[2])."</STRONG>\r
169   </TD>\r
170   <TD class=\"bottom top2\" width=\"54%\" align=\"center\">\r
171     ".EMAIL_TEXT.":<BR>\r
172     <STRONG class=\"admin_misc\">".COMPILE_CODE($pool[3])."</STRONG>\r
173   </TD>\r
174 </TR>\r
175 <TR><TD height=\"5\" colspan=\"3\"></TD></TR>\r
176 <TR>\r
177   <TD colspan=\"2\" align=\"center\" class=\"top bottom right\">\r
178     ".EMAIL_PAYMENT.":<BR>\r
179     <STRONG class=\"admin_misc\">".GET_PAYMENT($pool[5])."\r
180   </TD>\r
181   <TD align=\"center\" class=\"top bottom\">\r
182     ".EMAIL_CATEGORY.":<BR>\r
183     <STRONG class=\"admin_misc\">".GET_CATEGORY($pool[10])."\r
184   </TD>\r
185 </TR>\r
186 <TR><TD height=\"5\" colspan=\"3\"></TD></TR>\r
187 <TR>\r
188   <TD align=\"center\" class=\"top bottom right\">\r
189     ".EMAIL_RECEIVERS.":<BR>\r
190     <STRONG class=\"admin_misc\">".$sent."</STRONG> (".EMAIL_RUIDS.": <STRONG class=\"admin_misc\">".str_replace(";", ", ", $pool[4])."</STRONG>)\r
191   </TD>\r
192   <TD align=\"center\" class=\"top bottom right\">\r
193     ".USERS_LINKS.":<BR>\r
194     <STRONG class=\"admin_misc\">".$unconfirmed."</STRONG>\r
195   </TD>\r
196   <TD align=\"center\" class=\"top bottom\">\r
197     ".EMAIL_POOL_TYPE.":<BR>\r
198     <STRONG class=\"admin_misc\">".GET_POOL_TYPE($pool[6])."</STRONG>\r
199   </TD>\r
200 </TR>\r
201 <TR><TD height=\"5\" colspan=\"3\"></TD></TR>\r
202 <TR>\r
203   <TD align=\"center\" class=\"top right\">\r
204     ".EMAIL_TSEND.":<BR>\r
205     <STRONG class=\"admin_misc\">".$pool[9]."</STRONG>\r
206   </TD>\r
207   <TD align=\"center\" class=\"top right\">\r
208     ".EMAIL_URL.":<BR>\r
209     <STRONG class=\"admin_misc\"><A href=\"".FRAMETESTER($pool[8])."\" target=\"_blank\">".EMAIL_URL_TEST."</A></STRONG>\r
210   </TD>\r
211   <TD align=\"center\" class=\"top\">\r
212     ".EMAIL_TIMESTAMP.":<BR>\r
213     <STRONG class=\"admin_misc\">".MAKE_DATETIME($pool[7], "0")."</STRONG>\r
214   </TD>\r
215 </TR>\r
216 <TR>\r
217   <TD align=\"center\" class=\"top2 admin_del_link\" colspan=\"3\">\r
218     <A href=\"".URL."/modules.php?module=admin&amp;what=del_email&amp;mid=".$pool[0]."\">".ADMIN_DELETE_NORMAL_MAIL."</A>\r
219   </TD>\r
220 </TR>");\r
221         }\r
222 \r
223         // Free memory\r
224         SQL_FREERESULT($result_list);\r
225 \r
226         // Add navigation (without change box but with colspan=3)\r
227         if ($PAGES > 1) ADD_EMAIL_NAV($PAGES, $CONFIG['mails_page'], false, "3");\r
228 \r
229         // Output footer\r
230         OUTPUT_HTML ("</TABLE>\r
231 </DIV>");\r
232         $MAIL = true;\r
233         if ((EXT_IS_ACTIVE("bonus")) && ($WHO == _ALL))\r
234         {\r
235                 // Check only if bonus extension is active\r
236                 if (SQL_NUMROWS($result_bonus) > 0) OUTPUT_HTML ("<BR><BR>");\r
237         }\r
238 }\r
239 \r
240 if ((EXT_IS_ACTIVE("bonus")) && ($WHO == _ALL))\r
241 {\r
242         // Load bonus mails only when extension is active\r
243         if (SQL_NUMROWS($result_bonus) > 0)\r
244         {\r
245                 // Mail orders are in pool so we can display them\r
246                 OUTPUT_HTML ("<DIV align=\"center\">\r
247 <TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"admin_table dashed\" width=\"99%\">\r
248 <TR>\r
249   <TD colspan=\"3\" align=\"center\" height=\"25\" class=\"admin_title\">\r
250     <STRONG class=\"admin_done\">".ADMIN_BONUS_CONTENT."</STRONG>\r
251   </TD>\r
252 </TR>");\r
253                 // Calculate pages\r
254                 $PAGES = round(SQL_NUMROWS($result_bonus) / $CONFIG['mails_page'] + 0.5);\r
255 \r
256                 // Add navigation (with change box and colspan=3)\r
257                 if ($PAGES > 1) ADD_EMAIL_NAV($PAGES, $CONFIG['mails_page'], true, "3");\r
258 \r
259                 // List emails\r
260                 while ($bonus = SQL_FETCHROW($result_bonus))\r
261                 {\r
262                         // Unconfirmed mails\r
263                         $unconfirmed = $bonus[11] - $bonus[12];\r
264                         if ($unconfirmed > 0)\r
265                         {\r
266                                 // Add link to list_unconfirmed what-file\r
267                                 $unconfirmed = "<STRONG><A href=\"".URL."/modules.php?module=admin&amp;what=list_unconfirmed&amp;bid=".$bonus[0]."\">".$unconfirmed."</A></STRONG>";\r
268                         }\r
269 \r
270                         OUTPUT_HTML ("<TR>\r
271   <TD class=\"bottom top2 right\" colspan=\"2\" width=\"46%\" align=\"center\">\r
272     ".EMAIL_SUBJECT.":<BR>\r
273     <STRONG class=\"admin_misc\">".$bonus[1]."</STRONG>\r
274   </TD>\r
275   <TD class=\"bottom top2\" width=\"54%\" align=\"center\">\r
276     ".EMAIL_TEXT.":<BR>\r
277     <STRONG class=\"admin_misc\">".$bonus[2]."</STRONG>\r
278   </TD>\r
279 </TR>\r
280 <TR><TD height=\"5\" colspan=\"3\"></TD></TR>\r
281 <TR>\r
282   <TD align=\"center\" class=\"top bottom right\" width=\"23%\">\r
283     ".EMAIL_POINTS.":<BR>\r
284     <STRONG class=\"admin_misc\">".$bonus[4]." ".POINTS."\r
285   </TD>\r
286   <TD align=\"center\" class=\"top bottom right\" width=\"23%\">\r
287     ".EMAIL_SECONDS.":<BR>\r
288     <STRONG class=\"admin_misc\">".$bonus[5]." ".SECS."\r
289   </TD>\r
290   <TD align=\"center\" class=\"top bottom\">\r
291     ".EMAIL_CATEGORY.":<BR>\r
292     <STRONG class=\"admin_misc\">".GET_CATEGORY($bonus[9])."\r
293   </TD>\r
294 </TR>\r
295 <TR><TD height=\"5\" colspan=\"3\"></TD></TR>\r
296 <TR>\r
297   <TD align=\"center\" class=\"top bottom right\">\r
298     ".EMAIL_RECEIVERS.":<BR>\r
299     <STRONG class=\"admin_misc\">".$bonus[11]."</STRONG> (".EMAIL_RUIDS.": <STRONG class=\"admin_misc\">".str_replace(";", ", ", $bonus[3])."</STRONG>)\r
300   </TD>\r
301   <TD align=\"center\" class=\"top bottom right\">\r
302     ".USERS_LINKS.":<BR>\r
303     <STRONG class=\"admin_misc\">".$unconfirmed."</STRONG>\r
304   </TD>\r
305   <TD align=\"center\" class=\"top bottom\">\r
306     ".EMAIL_POOL_TYPE.":<BR>\r
307     <STRONG class=\"admin_misc\">".GET_POOL_TYPE($bonus[6])."</STRONG>\r
308   </TD>\r
309 </TR>\r
310 <TR><TD height=\"5\" colspan=\"3\"></TD></TR>\r
311 <TR>\r
312   <TD align=\"center\" class=\"top right\">\r
313     ".EMAIL_TSEND.":<BR>\r
314     <STRONG class=\"admin_misc\">".$bonus[10]."</STRONG>\r
315   </TD>\r
316   <TD align=\"center\" class=\"top right\">\r
317     ".EMAIL_URL.":<BR>\r
318     <STRONG class=\"admin_misc\"><A href=\"".FRAMETESTER($bonus[8])."\" target=\"_blank\">".EMAIL_URL_TEST."</A></STRONG>\r
319   </TD>\r
320   <TD align=\"center\" class=\"top\">\r
321     ".EMAIL_TIMESTAMP.":<BR>\r
322     <STRONG class=\"admin_misc\">".MAKE_DATETIME($bonus[7], "0")."</STRONG>\r
323   </TD>\r
324 </TR>\r
325 <TR>\r
326   <TD align=\"center\" class=\"top2 admin_del_link\" colspan=\"3\">\r
327     <A href=\"".URL."/modules.php?module=admin&amp;what=del_email&amp;bid=".$bonus[0]."\">".ADMIN_DELETE_BONUS_MAIL."</A>\r
328   </TD>\r
329 </TR>");\r
330                 }\r
331 \r
332                 // Add navigation (without change box but with colspan=3)\r
333                 if ($PAGES > 1) ADD_EMAIL_NAV($PAGES, $CONFIG['mails_page'], false, "3");\r
334 \r
335                 // Output footer\r
336                 OUTPUT_HTML ("</TABLE>\r
337 </DIV>");\r
338                 $MAIL = true;\r
339         }\r
340 }\r
341 \r
342 if (!$MAIL)\r
343 {\r
344         // No mail orders fond\r
345         OUTPUT_HTML ("<SPAN class=\"admin_failed\">".ADMIN_NO_MAILS_IN_POOL."</SPAN>");\r
346 }\r
347 //\r
348 ?>\r