2 /************************************************************************
3 * MXChange v0.2.1 Start: 09/05/2008 *
4 * =============== Last change: 09/05/2008 *
6 * -------------------------------------------------------------------- *
8 * -------------------------------------------------------------------- *
9 * Short description : The surfbar itself *
10 * -------------------------------------------------------------------- *
11 * Kurzbeschreibung : Die Surfbar selbst *
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 // Load security stuff here (Oh, I hope this is not unsecure? Am I paranoia??? ;-) )
35 require_once("inc/libs/security_functions.php");
37 // Init "action" and "what"
38 global $what, $action, $startTime, $SURFBAR_CACHE;
39 $SURFBAR_CACHE = array();
40 $GLOBALS['startTime'] = microtime(true);
41 $GLOBALS['what'] = ""; $GLOBALS['action'] = "";
44 $GLOBALS['module'] = "surfbar";
45 $GLOBALS['refid'] = 0;
49 // Load the required file(s)
50 require ("inc/config.php");
52 // Is the script installed?
53 if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_installed'))) {
54 // Only logged in users may use this surfbar!
55 if (!IS_LOGGED_IN()) {
57 LOAD_URL(URL."/modules.php?module=index");
58 } elseif (!EXT_IS_ACTIVE("surfbar")) {
59 // Surfbar deactivated
60 LOAD_URL(URL."/modules.php?module=login&msg=".CODE_EXTENSION_PROBLEM);
63 // Is there a check value?
64 if ((SURFBAR_CHECK_RELOAD_FULL()) || ((isset($_GET['frame'])) && (in_array($_GET['frame'], array("stop", "stop2", "stats", "textlinks"))))) {
65 // Reload-lock is full, surfbar stopped so...
67 require_once(PATH."inc/header.php");
70 if (((isset($_GET['frame'])) && ($_GET['frame'] == "stop")) || (!isset($_GET['frame']))) {
71 // Load template for "start" page
72 LOAD_TEMPLATE("surfbar_frame_start");
75 OUTPUT_HTML("<br />");
76 LOAD_TEMPLATE("surfbar_start_banner");
78 // This makes the footer appear again
79 unset($_GET['frame']);
80 } elseif ((isset($_GET['frame'])) && ($_GET['frame'] == "stats")) {
81 // Get total points amount
82 $points = GET_TOTAL_DATA($GLOBALS['userid'], "user_points", "points") - GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points");
86 'points' => TRANSLATE_COMMA($points),
87 'online' => SURFBAR_DETERMINE_TOTAL_ONLINE(),
88 'reload' => ($_CONFIG['surfbar_stats_reload'] * 1000),
89 'c_total' => TRANSLATE_COMMA($_CONFIG['surfbar_total_counter']),
90 'c_today' => TRANSLATE_COMMA($_CONFIG['surfbar_daily_counter']),
91 'c_yester' => TRANSLATE_COMMA($_CONFIG['surfbar_yester_counter']),
92 'c_week' => TRANSLATE_COMMA($_CONFIG['surfbar_weekly_counter']),
93 'c_month' => TRANSLATE_COMMA($_CONFIG['surfbar_monthly_counter']),
96 // Load template for "stats" page
97 LOAD_TEMPLATE("surfbar_frame_stats", false, $content);
98 } elseif ((isset($_GET['frame'])) && ($_GET['frame'] == "textlinks")) {
101 'online' => SURFBAR_DETERMINE_TOTAL_ONLINE(),
102 'reload' => ($_CONFIG['surfbar_stats_reload'] * 1000)
105 // Load template for "stats" page
106 LOAD_TEMPLATE("surfbar_frame_textlinks", false, $content);
110 'restart' => $_CONFIG['surfbar_restart_time'],
111 'start' => str_repeat("X", strlen($_CONFIG['surfbar_restart_time'])),
112 'autostart' => ($_CONFIG['surfbar_autostart'] == "Y") ? "true" : "false"
115 // Load template for stopped surfbar
116 LOAD_TEMPLATE("surfbar_stopped", false, $content);
118 } elseif ((isset($_GET['check'])) && (isset($_GET['id'])) && (isset($_GET['salt']))) {
120 SURFBAR_DETERMINE_NEXT_ID($_GET['id']);
122 // Check reload lock and validation code
123 if ((!SURFBAR_CHECK_RELOAD_LOCK($_GET['id'])) && (SURFBAR_CHECK_VALIDATION_CODE($_GET['id'], $_GET['check'], $_GET['salt']))) {
124 // Lock the URL (id) down
125 SURFBAR_LOCKDOWN_ID($_GET['id']);
127 // Code is valid so pay points here
128 SURFBAR_PAY_POINTS($_GET['id']);
130 // Check if reload is full
131 if (SURFBAR_CHECK_RELOAD_FULL()) {
132 // Then load waiting page
133 LOAD_URL("surfbar.php?frame=stop");
136 // Reload to stop frame!
137 LOAD_URL("surfbar.php?frame=stop");
140 // All done, so fix notice for footer.php
146 // Determine template name
147 $templateName = SURFBAR_DETERMINE_TEMPLATE_NAME();
150 if ((isset($_GET['frame'])) && ($_GET['frame'] == "top")) {
152 $nextId = SURFBAR_DETERMINE_NEXT_ID();
154 // Is there a valid id?
156 // Then prepare other content
159 'check' => SURFBAR_GENERATE_VALIDATION_CODE($nextId),
160 'salt' => SURFBAR_GET_SALT(),
161 'reward' => TRANSLATE_COMMA(SURFBAR_GET_REWARD($nextId)),
162 'url' => SURFBAR_GET_URL($nextId),
163 'curr_reload' => SURFBAR_GET_USER_RELOAD_LOCK(),
164 'max_urls' => SURFBAR_GET_TOTAL_URLS(),
165 'reload' => SURFBAR_GET_RELOAD_TIME($nextId),
166 'xxx' => str_repeat("X", strlen(SURFBAR_GET_RELOAD_TIME($nextId)))
169 // Update salt (double-call lock!) and statistics
170 SURFBAR_UPDATE_SALT_STATS();
173 LOAD_URL("surfbar.php?frame=stop2");
175 } elseif ((isset($_GET['frame'])) && ($_GET['frame'] == "start")) {
176 // Starter frame found so let the footer display
177 unset($_GET['frame']);
179 // Load header in frameset mode
184 require_once(PATH."inc/header.php");
186 // Load that template
187 //* DEBUG: */ die("templateName={$templateName}<br />\n<strong>content</strong>=<pre>".print_r($content, true)."</pre>");
188 LOAD_TEMPLATE($templateName, false, $content);
192 require_once(PATH."inc/footer.php");
194 // You have to configure first!
195 LOAD_URL("install.php");
198 // Close any open database connection here
199 SQL_CLOSE($link, __FILE__, __LINE__);
201 // Really all done here... ;-)