Code rewritings, load base config improved and many minor fixes...
[mailer.git] / 0.2.1 / inc / modules / member / what-points.php
1 <?php\r
2 /************************************************************************\r
3  * MXChange v0.2.1                                    Start: 10/19/2003 *\r
4  * ===============                              Last change: 11/12/2004 *\r
5  *                                                                      *\r
6  * -------------------------------------------------------------------- *\r
7  * File              : what-points.php                                  *\r
8  * -------------------------------------------------------------------- *\r
9  * Short description : All your collected points...                     *\r
10  * -------------------------------------------------------------------- *\r
11  * Kurzbeschreibung  : Alle Ihrer gesammelten Punkte                    *\r
12  * -------------------------------------------------------------------- *\r
13  *                                                                      *\r
14  * -------------------------------------------------------------------- *\r
15  * Copyright (c) 2003 - 2008 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 (!IS_LOGGED_IN())\r
41 {\r
42         LOAD_URL(URL."/modules.php?module=index");\r
43 }\r
44 \r
45 // Add description as navigation point\r
46 ADD_DESCR("member", basename(__FILE__));\r
47 \r
48 OPEN_TABLE("100%", "member_content member_content_align", "");\r
49 $result_depths = SQL_QUERY("SELECT level, percents FROM "._MYSQL_PREFIX."_refdepths ORDER BY level", __FILE__, __LINE__);\r
50 $depths = SQL_NUMROWS($result_depths);\r
51 \r
52 // Add many more rows for the login/turbo/ref/order bonus\r
53 if (!EXT_IS_ACTIVE("bonus")) $depths += 1;\r
54 if (GET_EXT_VERSION("bonus") >= "0.2.2") $depths += 6;\r
55 if (GET_EXT_VERSION("bonus") >= "0.4.4") $depths += 4;\r
56 \r
57 // Remember row count in constant\r
58 define('__ROWS_VALUE', ($depths*2+15));\r
59 \r
60 // Init some vars...\r
61 $TPTS = "0"; $TREF = "0"; $TLOCK = "0"; $OUT = "";\r
62 \r
63 // Load ref levels\r
64 while (list($lvl, $per) = SQL_FETCHROW($result_depths))\r
65 {\r
66         // Initialize ref-count\r
67         $REFS = "0";\r
68 \r
69         // Load referral points\r
70         $result_points = SQL_QUERY_ESC("SELECT points, locked_points FROM "._MYSQL_PREFIX."_user_points WHERE userid=%d AND ref_depth='%s' LIMIT 1", array($GLOBALS['userid'], bigintval($lvl)), __FILE__, __LINE__);\r
71         if (SQL_NUMROWS($result_points) == 1)\r
72         {\r
73                 list($POINTS, $LOCKED) = SQL_FETCHROW($result_points);\r
74                 SQL_FREERESULT($result_points);\r
75                 // Also count locked points\r
76                 $TPTS += $POINTS; $TLOCK += $LOCKED;\r
77         }\r
78          else\r
79         {\r
80                 $POINTS = "0.00000"; $LOCKED = "0.00000";\r
81         }\r
82 \r
83         // Load referral counts\r
84         $result_refs = SQL_QUERY_ESC("SELECT counter FROM "._MYSQL_PREFIX."_refsystem WHERE userid=%d AND level='%s' LIMIT 1", array($GLOBALS['userid'], bigintval($lvl)), __FILE__, __LINE__);\r
85         if (SQL_NUMROWS($result_refs) == 1)\r
86         {\r
87                 list($REFS) = SQL_FETCHROW($result_refs);\r
88                 SQL_FREERESULT($result_refs);\r
89                 $TREF += $REFS;\r
90         }\r
91          else\r
92         {\r
93                 $REFS = "0";\r
94         }\r
95 \r
96         // Transfer data to array for template\r
97         $content = array(\r
98                 'lvl'    => $lvl,\r
99                 'per'    => $per,\r
100                 'points' => TRANSLATE_COMMA($POINTS),\r
101                 'refs'   => $REFS,\r
102         );\r
103 \r
104         // Output row\r
105         $OUT .= LOAD_TEMPLATE("member_points_row", true, $content);\r
106 }\r
107 \r
108 // Free memory\r
109 SQL_FREERESULT($result_depths);\r
110 \r
111 // Put rows to constant for the main template\r
112 define('__REF_LEVEL_ROWS', $OUT);\r
113 \r
114 $result = SQL_QUERY_ESC("SELECT used_points, ref_payout FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1",\r
115  array($GLOBALS['userid']), __FILE__, __LINE__);\r
116 list($USED, $PAY) = SQL_FETCHROW($result);\r
117 SQL_FREERESULT($result);\r
118 \r
119 // Initialize variables\r
120 $CONFIRMED = "---"; $SENT = "---"; $RECEIVED = "---";\r
121 \r
122 // Only user >= v0.1.2: Fetch confirmed mails counter\r
123 if (GET_EXT_VERSION("user") >= "0.1.2")\r
124 {\r
125         $ADD = "";\r
126         if (GET_EXT_VERSION("user") >= "0.1.4")\r
127         {\r
128                 $ADD = ", emails_sent, emails_received";\r
129         }\r
130         $result = SQL_QUERY_ESC("SELECT mails_confirmed".$ADD." FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1", array($GLOBALS['userid']), __FILE__, __LINE__);\r
131         list($CONFIRMED, $SENT, $RECEIVED) = SQL_FETCHROW($result);\r
132         SQL_FREERESULT($result);\r
133 \r
134         // Please update the user extension if you see 3 dashes\r
135         if (empty($SENT))     $SENT     = "---";\r
136         if (empty($RECEIVED)) $RECEIVED = "---";\r
137 }\r
138  else\r
139 {\r
140         // Please update!\r
141         $CONFIRMED = "---";\r
142 }\r
143 \r
144 // If TLOCK is 0 add 3 zeros for floating\r
145 if ($TLOCK == "0") $TLOCK = "0.00000";\r
146 \r
147 // Remember several values in constants\r
148 define('__USED_VALUE' , TRANSLATE_COMMA($USED));\r
149 define('__TPTS_VALUE' , TRANSLATE_COMMA($TPTS - $USED));\r
150 define('__TREF_VALUE' , $TREF);\r
151 define('__TLOCK_VALUE', TRANSLATE_COMMA($TLOCK));\r
152 \r
153 // Fixes a bug when there is no bonus extension installed\r
154 if (GET_EXT_VERSION("bonus") < "0.4.4") $CONFIG['bonus_active'] = "X";\r
155 \r
156 // Display login bonus and turbo-click bonus\r
157 if ((GET_EXT_VERSION("bonus") >= "0.2.2") && (EXT_IS_ACTIVE("bonus")) && ($CONFIG['bonus_active'] == "Y"))\r
158 {\r
159         $ADD = ", 0, 0, 0";\r
160         if (GET_EXT_VERSION("bonus") >= "0.4.4") $ADD = ", bonus_ref, bonus_order, bonus_stats";\r
161 \r
162         // Load data\r
163         $result = SQL_QUERY_ESC("SELECT login_bonus, turbo_bonus".$ADD." FROM "._MYSQL_PREFIX."_user_data WHERE userid=%d LIMIT 1",\r
164          array($GLOBALS['userid']), __FILE__, __LINE__);\r
165 \r
166         // We don't add this points now. This will be done after each month\r
167         list($login, $turbo, $ref, $order, $stats) = SQL_FETCHROW($result);\r
168         SQL_FREERESULT($result);\r
169 \r
170         // Prepare constants\r
171         define('__TURBO_VALUE',  TRANSLATE_COMMA($turbo));\r
172         define('__LOGIN_VALUE',  TRANSLATE_COMMA($login));\r
173 \r
174         if (GET_EXT_VERSION("bonus") >= "0.4.4")\r
175         {\r
176                 // Add referral, stats and order bonys\r
177                 define('__REF_VALUE'  ,  TRANSLATE_COMMA($ref));\r
178                 define('__ORDER_VALUE',  TRANSLATE_COMMA($order));\r
179                 define('__STATS_VALUE',  TRANSLATE_COMMA($stats));\r
180         }\r
181 \r
182         // Total bonus points\r
183         define('__TTOTAL_VALUE', TRANSLATE_COMMA($turbo + $login + $ref + $order + $stats));\r
184 \r
185         // Output rows\r
186         define('__SPECIAL_ROWS', LOAD_TEMPLATE("member_points_bonus_rows", true));\r
187 }\r
188  elseif ($CONFIG['bonus_active'] == "N")\r
189 {\r
190         // Bonus active rallye deactivated\r
191         define('__SPECIAL_ROWS', LOAD_TEMPLATE("member_points_bonus_disabled", true));\r
192 }\r
193  elseif ((IS_ADMIN()) && (GET_EXT_VERSION("bonus") < "0.2.2") && (EXT_IS_ACTIVE("bonus")))\r
194 {\r
195         // Please upgrade your bonus extension to v0.2.2 or newer!\r
196         define('__SPECIAL_ROWS', LOAD_TEMPLATE("member_points_upgrade"));\r
197 }\r
198  else\r
199 {\r
200         // Members shall see no special rows here\r
201         define('__SPECIAL_ROWS', "");\r
202 }\r
203 \r
204 // Remeber values for the final template\r
205 define('__PAY_VALUE'      , $PAY);\r
206 define('__CONFIRMED_VALUE', $CONFIRMED);\r
207 define('__RECEIVE_VALUE'  , $RECEIVED);\r
208 define('__SENT_VALUE'     , $SENT);\r
209 \r
210 // Load final template\r
211 if (EXT_IS_ACTIVE("user")) {\r
212         // Load template when required extension is there\r
213         LOAD_TEMPLATE("member_points");\r
214 } elseif (IS_ADMIN()) {\r
215         // Missing extension\r
216         ADD_FATAL(sprintf(EXTENSION_PROBLEM_NOT_INSTALLED, "user"));\r
217 } else {\r
218         // Message for user\r
219         LOAD_TEMPLATE("admin_settings_saved", false, PROBLEM_POINTS_OVERVIEW_UNAVAILABLE);\r
220 }\r
221 \r
222 if (EXT_IS_ACTIVE("payout"))\r
223 {\r
224         // Payput extension is installed and active so we can check if the user has enougth points\r
225         PAYOUT_OUTPUT_PAYOUT_LIST(str_replace(",", ".", ($TPTS - $USED)));\r
226 }\r
227 if (EXT_IS_ACTIVE("wernis"))\r
228 {\r
229         // Payput extension is installed and active so we can check if the user has enougth points\r
230         WERNIS_OUTPUT_WERNIS_LIST(str_replace(",", ".", ($TPTS - $USED)));\r
231 }\r
232 CLOSE_TABLE();\r
233 //\r
234 ?>\r