2 /************************************************************************
3 * M-XChange v0.2.1 Start: 04/25/2005 *
4 * ================ Last change: 05/19/2008 *
6 * -------------------------------------------------------------------- *
7 * File : what-list_sponsor.php *
8 * -------------------------------------------------------------------- *
9 * Short description : List all sponsors and their details *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Alle Sponsoren und deren Details auflisten *
12 * -------------------------------------------------------------------- *
14 * -------------------------------------------------------------------- *
15 * Copyright (c) 2003 - 2008 by Roland Haeder *
16 * For more information visit: http://www.mxchange.org *
18 * This program is free software; you can redistribute it and/or modify *
19 * it under the terms of the GNU General Public License as published by *
20 * the Free Software Foundation; either version 2 of the License, or *
21 * (at your option) any later version. *
23 * This program is distributed in the hope that it will be useful, *
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
26 * GNU General Public License for more details. *
28 * You should have received a copy of the GNU General Public License *
29 * along with this program; if not, write to the Free Software *
30 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
32 ************************************************************************/
34 // Some security stuff...
35 if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
36 $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4)."/security.php";
40 // Add description as navigation point
41 ADD_DESCR("admin", __FILE__);
43 if (REQUEST_ISSET_GET(('id'))) {
44 // Show detailed informations to a sponsor
45 $result = SQL_QUERY_ESC("SELECT company, position, gender, surname, family, street_nr1, street_nr2, zip, city, country, phone, fax, cell, email, url, tax_ident, status, sponsor_created, last_online, last_change, receive_warnings, points_amount, points_used, remote_addr, warning_interval, refid, ref_count
46 FROM `{!_MYSQL_PREFIX!}_sponsor_data`
47 WHERE id='%s' LIMIT 1",
48 array(bigintval(REQUEST_GET('id'))), __FILE__, __LINE__);
50 if (SQL_NUMROWS($result) == 1) {
51 // Load sponsor details
52 $DATA = SQL_FETCHARRAY($result);
53 SQL_FREERESULT($result);
55 // Check if an entry is empty
56 foreach ($DATA as $k => $v) {
57 if (empty($v)) $DATA[$k] = "---";
60 // Check for sponsor's orders (only count)
61 $result_orders = SQL_QUERY_ESC("SELECT COUNT(id) FROM `{!_MYSQL_PREFIX!}_sponsor_orders` WHERE sponsorid='%s'",
62 array(bigintval(REQUEST_GET('id'))), __FILE__, __LINE__);
63 list($orders) = SQL_FETCHROW($result_orders);
64 SQL_FREERESULT($result_orders);
65 if (empty($orders)) $orders = 0;
67 // Prepare all data for the template
68 // @TODO Rewrite this huge amount of constants
70 define('__SPONSOR_ID' , REQUEST_GET('id'));
72 define('__SPONSOR_COMPANY' , $DATA['company']);
73 define('__SPONSOR_POSITION' , $DATA['position']);
74 define('__SPONSOR_TAX_IDENT' , $DATA['tax_ident']);
76 define('__SPONSOR_GENDER' , TRANSLATE_GENDER($DATA['gender']));
77 define('__SPONSOR_SURNAME' , $DATA['surname']);
78 define('__SPONSOR_FAMILY' , $DATA['family']);
79 define('__SPONSOR_STREET1' , $DATA['street_nr1']);
80 define('__SPONSOR_STREET2' , $DATA['street_nr2']);
81 define('__SPONSOR_ZIP' , $DATA['zip']);
82 define('__SPONSOR_CITY' , $DATA['city']);
83 define('__SPONSOR_COUNTRY' , $DATA['country']);
85 define('__SPONSOR_PHONE' , $DATA['phone']);
86 define('__SPONSOR_FAX' , $DATA['fax']);
87 define('__SPONSOR_CELL' , $DATA['cell']);
88 define('__SPONSOR_EMAIL' , "mailto:".$DATA['email']);
89 define('__SPONSOR_EMAIL_VALUE', $DATA['email']);
90 define('__SPONSOR_URL' , DEREFERER($DATA['url']));
92 define('__SPONSOR_CREATED' , MAKE_DATETIME($DATA['sponsor_created'], "2"));
93 define('__SPONSOR_LAST_ONLINE', MAKE_DATETIME($DATA['last_online'], "2"));
94 define('__SPONSOR_LAST_CHANGE', MAKE_DATETIME($DATA['last_change'], "2"));
96 define('__SPONSOR_AMOUNT' , TRANSLATE_COMMA($DATA['points_amount']));
97 define('__SPONSOR_USED' , TRANSLATE_COMMA($DATA['points_used']));
98 // Warning because low points
99 define('__SPONSOR_REC_WARNING', TRANSLATE_YESNO($DATA['receive_warnings']));
100 define('__SPONSOR_INTERVAL' , CREATE_FANCY_TIME($DATA['warning_interval']));
102 define('__SPONSOR_ORDERS' , $orders);
104 define('__SPONSOR_STATUS' , SPONSOR_TRANSLATE_STATUS($DATA['status']));
105 define('__SPONSOR_REFID' , $DATA['refid']);
106 define('__SPONSOR_REMOTE_ADR' , $DATA['remote_addr']);
107 define('__SPONSOR_REFS' , $DATA['ref_count']);
110 LOAD_TEMPLATE("admin_list_sponsor_details");
113 LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_SPONSOR_404'), REQUEST_GET('id')));
115 } elseif (REQUEST_ISSET_GET(('rid'))) {
116 // Search for sponsor
117 $result = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_sponsor_data` WHERE id='%s' LIMIT 1",
118 array(bigintval(REQUEST_GET('rid'))), __FILE__, __LINE__);
119 if (SQL_NUMROWS($result) == 1) {
121 SQL_FREERESULT($result);
123 // Sponsor found so let's list all his referals
124 $result = SQL_QUERY_ESC("SELECT id, gender, surname, family, email, status, sponsor_created, last_online, points_amount, points_used, remote_addr, ref_count
125 FROM `{!_MYSQL_PREFIX!}_sponsor_data`
126 WHERE refid='%s' ORDER BY `id`",
127 array(bigintval(REQUEST_GET('rid'))), __FILE__, __LINE__);
129 if (SQL_NUMROWS($result) > 0) {
132 SQL_FREERESULT($result);
134 // No refs made so far
135 LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_SPONSOR_REFS_404'), "<a href=\"{!URL!}/modules.php?module=admin&what=list_sponsor&id=".bigintval(REQUEST_GET('rid'))."\">".bigintval(REQUEST_GET('rid'))."</a>"));
139 LOAD_TEMPLATE("admin_settings_saved", false, sprintf(getMessage('ADMIN_SPONSOR_404'), bigintval(REQUEST_GET('rid'))));
143 $result_main = SQL_QUERY("SELECT id, gender, surname, family, email, status, sponsor_created, last_online, points_amount, points_used, remote_addr
144 FROM `{!_MYSQL_PREFIX!}_sponsor_data` ORDER BY `id`", __FILE__, __LINE__);
145 if (SQL_NUMROWS($result_main) > 0) {
146 // At least one sponsor found!
148 while ($content = SQL_FETCHARRAY($result_main)) {
149 // Transfer data to array
150 // @TODO Rewritings: sname->surname,fname->family,ip->remote_addr in template
152 'id' => $content['id'],
154 'gender' => TRANSLATE_GENDER($content['gender']),
155 'sname' => $content['surname'],
156 'fname' => $content['family'],
157 'email' => "mailto:".$content['email'],
158 'status' => SPONSOR_TRANSLATE_STATUS($content['status']),
159 'created' => MAKE_DATETIME($content['sponsor_created'], "2"),
160 'last' => MAKE_DATETIME($content['last_online'], "2"),
161 'points' => TRANSLATE_COMMA($content['points_amount'] - $content['points_used']),
162 'ip' => $content['remote_addr'],
166 $OUT .= LOAD_TEMPLATE("admin_list_sponsor_row", true, $content);
171 SQL_FREERESULT($result_main);
173 // @TODO Rewrite this constant
174 define('__SPONSOR_ROWS', $OUT);
176 // Load final template
177 LOAD_TEMPLATE("admin_list_sponsor");
179 // No sponsors registered so far
180 LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_SPONSOR_NONE_REGISTERED'));