2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 04/23/2005 *
4 * =================== Last change: 05/19/2008 *
6 * -------------------------------------------------------------------- *
7 * File : what-unlock_sponsor.php *
8 * -------------------------------------------------------------------- *
9 * Short description : Unlock sponsor accounts *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Sponsorenaccounts freigeben *
12 * -------------------------------------------------------------------- *
15 * $Tag:: 0.2.1-FINAL $ *
17 * Needs to be in all Files and every File needs "svn propset *
18 * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
19 * -------------------------------------------------------------------- *
20 * Copyright (c) 2003 - 2009 by Roland Haeder *
21 * Copyright (c) 2009, 2010 by Mailer Developer Team *
22 * For more information visit: http://www.mxchange.org *
24 * This program is free software; you can redistribute it and/or modify *
25 * it under the terms of the GNU General Public License as published by *
26 * the Free Software Foundation; either version 2 of the License, or *
27 * (at your option) any later version. *
29 * This program is distributed in the hope that it will be useful, *
30 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
32 * GNU General Public License for more details. *
34 * You should have received a copy of the GNU General Public License *
35 * along with this program; if not, write to the Free Software *
36 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
38 ************************************************************************/
40 // Some security stuff...
41 if ((!defined('__SECURITY')) || (!isAdmin())) {
45 // Add description as navigation point
46 addMenuDescription('admin', __FILE__);
48 // Check if admin has submitted form
50 // Does he have selected at least one sponsor?
51 if (ifPostContainsSelections('id')) {
52 // At least one entry selected
53 foreach (postRequestParameter('id') as $id => $selected) {
54 // Secure id number and init $content
56 'id' => bigintval($id),
60 // Load his personal data
61 $result_main = SQL_QUERY_ESC("SELECT
62 `gender`, `surname`, `family`, `email`, `remote_addr`, `sponsor_created`, `points_amount`, `refid`
64 `{?_MYSQL_PREFIX?}_sponsor_data`
66 `status`='PENDING' AND
69 array($content['id']), __FILE__, __LINE__);
71 if (SQL_NUMROWS($result_main) == 1) {
73 $content = SQL_FETCHARRAY($result_main);
75 // Check for open payments and close them
76 $result = SQL_QUERY_ESC("SELECT
77 so.admin_id, so.pay_count, so.pay_ordered, so.pay_status,
78 sp.pay_name, sp.pay_rate, sp.pay_currency
80 `{?_MYSQL_PREFIX?}_sponsor_orders` AS so
82 `{?_MYSQL_PREFIX?}_sponsor_paytypes` AS sp
89 array($content['id']), __FILE__, __LINE__);
90 if (!SQL_HASZERONUMS($result)) {
92 while ($content2 = SQL_FETCHARRAY($result)) {
94 $content = merge_array($content, $content2);
97 $content['email'] = '{--SPONSOR_NO_ADMIN--}';
98 if ($content['admin_id'] > 0) {
99 // Load admin's email address for contact
100 $content['email'] = getAdminEmail($content['admin_id']);
103 // Transfer data to array
105 'admin_id' => $content['email'],
106 'order' => ($content['pay_count'] * $content['pay_rate']) . ' ' . $content['pay_currency'],
107 'stamp' => generateDateTime($content['pay_ordered'], 2),
108 'pname' => $content['pay_name'],
111 // Load email template
112 $content['message'] = loadEmailTemplate('sponsor_unlock_sponsor_pay', $data, $content['id']);
116 $content['message'] = '{--SPONSOR_NO_PAYMENTS_FOUND--}';
120 SQL_FREERESULT($result);
124 SQL_FREERESULT($result_main);
126 // Unlock sponsor account
127 SQL_QUERY_ESC("UPDATE
128 `{?_MYSQL_PREFIX?}_sponsor_data`
135 array($content['id']), __FILE__, __LINE__);
137 // Update, if applyable, referal count and points
138 if ((isValidUserId($content['refid'])) && ($content['refid'] != $content['id'])) {
139 // Update referal account
140 SQL_QUERY_ESC("UPDATE
141 `{?_MYSQL_PREFIX?}_sponsor_data`
143 `points_amount`=`points_amount`+{?sponsor_ref_points?}, `ref_count`=`ref_count`+1
147 array(bigintval($content['refid'])), __FILE__, __LINE__);
149 // Whas that update fine?
150 if (SQL_AFFECTEDROWS() == 1) {
151 // Load referal's data
152 $result = SQL_QUERY_ESC("SELECT
153 `id`, `gender`, `surname`, `family`, `email`,
154 (`points_amount` - `points_used`) AS points,
155 `receive_warnings`, `ref_count` AS refs
157 `{?_MYSQL_PREFIX?}_sponsor_data`
161 array(bigintval($content['refid'])), __FILE__, __LINE__);
162 $REFERAL = SQL_FETCHARRAY($result);
164 // Send warnings out?
165 if ($REFERAL['receive_warnings'] == 'Y') {
166 // Send notification to referal
167 $REFERAL_MSG = loadEmailTemplate('sponsor_ref_notify', $REFERAL);
168 sendEmail($REFERAL['email'], '{--SPONSOR_REFERAL_NOTIFY_SUBJECT--}', $REFERAL_MSG);
172 SQL_FREERESULT($result);
176 // Transfer data to array
177 $content['points'] = translateComma($content['points_amount']);
179 // So let's send the email away
180 $message = loadEmailTemplate('sponsor_unlocked', $content);
181 sendEmail($content['email'], '{--SPONSOR_UNLOCKED_SUBJECT--}', $message);
185 loadTemplate('admin_settings_saved', false, '{--ADMIN_SPONSOR_NONE_SELECTED_UNLOCK--}');
189 // Begin listing of all pending sponsor accounts
190 $result = SQL_QUERY("SELECT
191 `id`, `gender`, `surname`, `family`, `email`, `remote_addr`, `sponsor_created`
193 `{?_MYSQL_PREFIX?}_sponsor_data`
197 `id`", __FILE__, __LINE__);
199 if (!SQL_HASZERONUMS($result)) {
200 // Entries found so let's list them!
202 while ($content = SQL_FETCHARRAY($result)) {
203 // Transfer data to array
205 'id' => $content['id'],
206 'gender' => $content['gender'],
207 'surname' => $content['surname'],
208 'family' => $content['family'],
209 'email' => generateEmailLink($content['email'], 'sponsor_data'),
210 'remote_addr' => $content['remote_addr'],
211 'sponsor_created' => generateDateTime($content['sponsor_created'], 2),
214 // Load row template and switch colors
215 $OUT .= loadTemplate('admin_unlock_sponsor_row', true, $content);
219 loadTemplate('admin_unlock_sponsor', false, $OUT);
221 // No pending accounts found
222 loadTemplate('admin_settings_saved', false, '{--ADMIN_SPONSOR_NONE_PENDING--}');
226 SQL_FREERESULT($result);