12629fb9d981d3c53565ef6f4ea9aae5544a9f62
[mailer.git] / show_bonus.php
1 <?php
2 /************************************************************************
3  * MXChange v0.2.1                                    Start: 11/13/2004 *
4  * ===============                              Last change: 11/14/2004 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : show_bonus.php                                   *
8  * -------------------------------------------------------------------- *
9  * Short description : Show ranking list for turbo-bonus                *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Rankliste fuer Turbo-Bonus anzeigen              *
12  * -------------------------------------------------------------------- *
13  *                                                                      *
14  * -------------------------------------------------------------------- *
15  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
16  * For more information visit: http://www.mxchange.org                  *
17  *                                                                      *
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.                                  *
22  *                                                                      *
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.                         *
27  *                                                                      *
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,               *
31  * MA  02110-1301  USA                                                  *
32  ************************************************************************/
33
34 // Load security stuff here (Oh, I hope this is not unsecure? Am I paranoia??? ;-) )
35 require("inc/libs/security_functions.php");
36
37 // Init "action" and "what"
38 global $what, $action, $startTime;
39 $GLOBALS['startTime'] = microtime(true);
40 $GLOBALS['what'] = "";
41 $GLOBALS['action'] = "";
42
43 // Set this because we have no module in URI
44 $GLOBALS['module'] = "show_bonus"; $CSS = 0;
45
46 // Load the required file(s)
47 require("inc/config.php");
48
49 // Is the "bonus" extension active?
50 if (!EXT_IS_ACTIVE("bonus")) {
51         // Redirect to index
52         LOAD_URL("modules.php?module=index&amp;msg=".constant('CODE_EXTENSION_PROBLEM')."&amp;ext=bonus");
53 } // END - if
54
55 // List only rankings when script is installed
56 if (isBooleanConstantAndTrue('mxchange_installed')) {
57         // Include header
58         LOAD_INC("inc/header.php");
59
60         if (($_GET['uid'] > 0) && ($_GET['d'] > 0) && (!empty($_GET['t']))) {
61                 // Set row name
62                 $t = "";
63                 switch ($_GET['t']) {
64                         case "bonusid": // Bonus mail
65                                 $t = "bonus_id";
66                                 break;
67
68                         case "mailid": // Regular member mail
69                                 $t = "mail_id";
70                                 break;
71
72                         default: // Invalid type
73                                 DEBUG_LOG(__FILE__, __LINE__, sprintf("Invalid type %s detected.", $_GET['t']));
74                                 break;
75                 } // END - switch
76
77                 // Valid type?
78                 if (!empty($t)) {
79                         // Check for data
80                         $result = SQL_QUERY_ESC("SELECT DISTINCT d.gender, d.surname, d.family, b.level, b.points
81 FROM `{!_MYSQL_PREFIX!}_user_data` AS d
82 RIGHT JOIN `{!_MYSQL_PREFIX!}_bonus_turbo` AS b
83 ON d.userid=b.userid
84 WHERE d.`status`='CONFIRMED' AND d.userid=%s AND b.%s=%s
85 LIMIT 1",
86                                 array(bigintval($_GET['uid']), $t, bigintval($_GET['d'])), __FILE__, __LINE__);
87
88                         // Entry found?
89                         if (SQL_NUMROWS($result) == 1) {
90                                 // Load data
91                                 $content = SQL_FETCHARRAY($result);
92
93                                 // Prepare constants for the pre-template
94                                 define('__GENDER'   , TRANSLATE_GENDER($content['gender']));
95                                 define('__SNAME'    , $content['surname']);
96                                 define('__FNAME'    , $content['family']);
97                                 define('__RANK'     , BIGINTVAL($content['level']));
98                                 define('__POINTS'   , TRANSLATE_COMMA($content['points']));
99                                 define('__MAILID'   , bigintval($_GET['d']));
100                                 define('__RANK_ROWS', BONUS_MAKE_RANK_ROWS(bigintval($_GET['d']), $t, bigintval($_GET['uid'])));
101
102                                 // Constant created within previous function which contains informations for current user's ranking position:
103                                 //   __YOUR_RANKING_LINE
104
105                                 // Load pre-template
106                                 define('__BONUS_MSG', LOAD_TEMPLATE("show_bonus_msg", true));
107                         } else {
108                                 // No data found
109                                 define('__BONUS_MSG', "<span class=\"guest_failed\">".BONUS_SHOW_NO_DATA."</span>");
110                         }
111
112                         // Free memory
113                         SQL_FREERESULT($result);
114                 } else {
115                         // Wrong type entered
116                         define('__BONUS_MSG', "<span class=\"guest_failed\">".BONUS_SHOW_WRONG_TYPE."</span>");
117                 }
118         } else {
119                 // Wrong call!
120                 define('__BONUS_MSG', "<span class=\"guest_failed\">".BONUS_SHOW_WRONG_CALL."</span>");
121         }
122
123         // Load send_bonus header template (for your banners, e.g.?)
124         define('__BONUS_HEADER', LOAD_TEMPLATE("show_bonus_header", true));
125
126         // Load show_bonus footer template (for your banners, e.g.?)
127         define('__BONUS_FOOTER', LOAD_TEMPLATE("show_bonus_footer", true));
128
129         // Total ranks who can win
130         define('__BONUS_TOTAL_RANKS', getConfig('bonus_ranks'));
131
132         // Load final template
133         LOAD_TEMPLATE("show_bonus");
134
135         // Include footer
136         LOAD_INC("inc/footer.php");
137 } else {
138         // You have to install first!
139         LOAD_URL("install.php");
140 }
141
142 // Really all done here... ;-)
143 ?>