(no commit message)
[mailer.git] / 0.2.1 / inc / monthly / monthly_newsletter.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 03/04/2005 *\r
4  * ===============                              Last change: 03/04/2005 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : monthly_newsletter.php                           *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : Monthly check for newsletter unsubscriptions     *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Monatlicher Test auf Newsletter-Abmeldungen      *\r
12  * -------------------------------------------------------------------- *\r
13  *                                                                      *\r
14  * -------------------------------------------------------------------- *\r
15  * Copyright (c) 2003 - 2007 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']))\r
36 {\r
37         $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";\r
38         require($INC);\r
39 }\r
40  elseif ((!EXT_IS_ACTIVE("newsletter")) && (!IS_ADMIN()))\r
41 {\r
42         ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "newsletter");\r
43         return;\r
44 }\r
45 \r
46 // Do not execute when script is in CSS mode or no daily reset\r
47 if (($CSS == 1) || (!defined('__DAILY_RESET'))) return;\r
48 \r
49 // Get current month (2 digits)\r
50 $curr = date("m", time());\r
51 \r
52 if ($CONFIG['nl_month'] != $curr)\r
53 {\r
54         // Check for unsubscribed members\r
55         $result = SQL_QUERY("SELECT userid, nl_until FROM "._MYSQL_PREFIX."_user_data WHERE nl_receive='N' ORDER BY userid", __FILE__, __LINE__);\r
56         if (SQL_NUMROWS($result) > 0)\r
57         {\r
58                 // Some unsubscriptions are found so we reset them to receive newsletters\r
59                 while(list($uid, $until) = SQL_FETCHROW($result))\r
60                 {\r
61                         // Update account\r
62                         $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET nl_receive='Y', nl_until='0' WHERE userid=%d LIMIT 1",\r
63                          array(bigintval($uid)), __FILE__, __LINE__);\r
64 \r
65                         // Send email to him\r
66                         $msg = LOAD_EMAIL_TEMPLATE("member_newsletter_reset", true, bigintval($uid));\r
67                         SEND_EMAIL($uid, NL_MEMBER_RESET_SUBJECT, $msg);\r
68 \r
69                         // Send email to admin\r
70                         if (GET_EXT_VERSION("admins") >= "0.4.1")\r
71                         {\r
72                                 SEND_ADMIN_EMAILS_PRO(NL_ADMIN_SUBJECT, "admin_newsletter_reset", "", $GLOBALS['userid']);\r
73                         }\r
74                          else\r
75                         {\r
76                                 $msg = LOAD_EMAIL_TEMPLATE("admin_newsletter_reset", true, bigintval($uid));\r
77                                 SEND_ADMIN_EMAILS(NL_ADMIN_SUBJECT, $msg);\r
78                         }\r
79                 }\r
80 \r
81                 // Free memory\r
82                 SQL_FREERESULT($result);\r
83 \r
84                 // Update last month\r
85                 $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_config SET nl_month='%s' WHERE config='0' LIMIT 1",\r
86                  array($curr), __FILE__, __LINE__);\r
87 \r
88                 // Destroy cache\r
89         }\r
90 }\r
91 \r
92 //\r
93 ?>\r