2 /************************************************************************
3 * Mailer v0.2.1-FINAL Start: 02/04/2005 *
4 * =================== Last change: 11/19/2005 *
6 * -------------------------------------------------------------------- *
7 * File : what-list_bonus.php *
8 * -------------------------------------------------------------------- *
9 * Short description : List members in active-rallye *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Mitglieder in Aktiv-Rallye auflisten *
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 if (getConfig('bonus_active') == 'Y') {
49 // Shall I withdraw now?
50 if (isPostRequestParameterSet(('withdraw'))) {
51 // Okay, let's prepare...
52 $curr = date('m', time()) - 1;
53 if (strlen($curr) == 1) $curr = '0' . $curr;
54 updateConfiguration('last_month', $curr);
55 loadTemplate('admin_settings_saved', false, getMessage('ADMIN_BONUS_WITHDRAW_PREPARED'));
58 if (getExtensionVersion('bonus') >= '0.6.9') {
59 // Add more bonus points here
61 if (getConfig('bonus_click_yn') == 'Y') $USE .= ' + `turbo_bonus`';
62 if (getConfig('bonus_login_yn') == 'Y') $USE .= ' + `login_bonus`';
63 if (getConfig('bonus_order_yn') == 'Y') $USE .= ' + `bonus_order`';
64 if (getConfig('bonus_stats_yn') == 'Y') $USE .= ' + `bonus_stats`';
65 if (getConfig('bonus_ref_yn') == 'Y') $USE .= ' + `bonus_ref`';
72 // Autopurge installed?
73 $lastOnline = "%s"; $ONLINE = '';
74 if (isExtensionActive('autopurge')) {
75 // Use last online timestamp to keep inactive members away from here
76 $lastOnline = " AND `last_online` >= (UNIX_TIMESTAMP() - %s)";
77 $ONLINE = getConfig('ap_inactive_since');
80 // Check if at least one is in the active rallye
81 $result = SQL_QUERY_ESC("SELECT `userid`, `email`, `gender`, `surname`, `family`, ".$USE." AS points, `last_online`
82 FROM `{?_MYSQL_PREFIX?}_user_data`
83 WHERE `status`='CONFIRMED' AND ".$USE." > 0".$lastOnline."
84 ORDER BY `points` DESC, `last_online` DESC, `userid` ASC",
85 array($ONLINE), __FILE__, __LINE__);
87 if (SQL_NUMROWS($result) > 0) {
89 $OUT = '';$SW = 2; $cnt = 1; $total = '0';
90 while ($content = SQL_FETCHARRAY($result)) {
92 $total += $content['points'];
94 // Generate array fore the dynamic template
95 $WIN1 = ''; $WIN2 = '';
96 if ($cnt <= getConfig('bonus_ranks')) {
97 // Maybe he can win his active bonus?
103 $content['userid'] = generateUserProfileLink($content['userid']);
104 $content['email'] = generateEmailLink($content['email'], 'user_data');
105 $content['gender'] = translateGender($content['gender']);
106 $content['points'] = translateComma($content['points']);
107 $content['last_online'] = generateDateTime($content['last_online'], 2);
108 $content['sw'] = $SW;
109 $content['win1'] = $WIN1;
110 $content['win2'] = $WIN2;
111 $content['cnt'] = $cnt;
113 // Load template and add it
114 $OUT .= loadTemplate('admin_list_bonus_rows', true, $content);
115 $SW = 3 - $SW; $cnt++;
118 $content['rows'] = $OUT;
119 $content['total'] = translateComma($total);
121 // Check if we need to display form or not with manuel withdraw
122 if (getConfig('last_month') == date('m', time())) {
124 $content['withdraw_form'] = loadTemplate('admin_list_bonus_form', true);
126 // Display message "no manual withdraw possible"
127 $content['withdraw_form'] = loadTemplate('admin_settings_saved', true, '<div class="admin_failed">{--ADMIN_BONUS_ALREADY_WITHDRAW--}</div>');
130 // Prepare constant for timemark
131 if (isExtensionActive('autopurge')) {
132 $content['autopurge_timeout'] = generateDateTime(time() - getConfig('ap_inactive_since'), 2);
134 $content['autopurge_timeout'] = loadTemplate('admin_settings_saved', true, getMaskedMessage('EXTENSION_PROBLEM_NOT_INSTALLED', 'autopurge'));
137 // Load final template
138 loadTemplate('admin_list_bonus', false, $content);
140 // No one has become an "activity bonus"...
141 loadTemplate('admin_settings_saved', false, getMessage('ADMIN_BONUS_NO_ACTIVE_RALLYE'));
144 // Aktive-Rallye not activated
145 loadTemplate('admin_settings_saved', false, getMessage('ADMIN_BONUS_RALLYE_DEACTIVATED'));