Deprecated variables for templates removed, mor EL-rewrites, getMessage() rewritten:
[mailer.git] / surfbar.php
1 <?php
2 /************************************************************************
3  * Mailer v0.2.1-FINAL                                Start: 09/05/2008 *
4  * ===================                          Last change: 09/05/2008 *
5  *                                                                      *
6  * -------------------------------------------------------------------- *
7  * File              : surfbar.php                                      *
8  * -------------------------------------------------------------------- *
9  * Short description : The surfbar itself                               *
10  * -------------------------------------------------------------------- *
11  * Kurzbeschreibung  : Die Surfbar selbst                               *
12  * -------------------------------------------------------------------- *
13  * $Revision::                                                        $ *
14  * $Date::                                                            $ *
15  * $Tag:: 0.2.1-FINAL                                                 $ *
16  * $Author::                                                          $ *
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                  *
23  *                                                                      *
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.                                  *
28  *                                                                      *
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.                         *
33  *                                                                      *
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,               *
37  * MA  02110-1301  USA                                                  *
38  ************************************************************************/
39
40 // Load security stuff here
41 require('inc/libs/security_functions.php');
42
43 // Init start time
44 $GLOBALS['startTime'] = microtime(true);
45
46 // Set module
47 $GLOBALS['module'] = 'surfbar';
48 $GLOBALS['output_mode'] = '0';
49 $GLOBALS['header_sent'] = 3;
50
51 // Load the required file(s)
52 require('inc/config-global.php');
53
54 // Set content type
55 setContentType('text/html');
56
57 // Is a frame active?
58 if (isGetRequestParameterSet('frame')) {
59         // Then we need to set header_sent to 0
60         $GLOBALS['header_sent'] = '0';
61 } // END - if
62
63 // Only logged in users may use this surfbar!
64 redirectOnUninstalledExtension('surfbar');
65
66 // No member?
67 if (!isMember()) {
68         // Should we display login window or redirect to main page?
69         if ((getConfig('surfbar_guest_login_form') == 'Y') && (isExtensionActive('user'))) {
70                 // Is the form sent?
71                 if ((isFormSent()) && (isPostRequestParameterSet('id')) && (isPostRequestParameterSet('password'))) {
72                         // Do the login procedure
73                         $URL = doUserLogin(postRequestParameter('id'), postRequestParameter('password'), basename(__FILE__), basename(__FILE__) . '?code=');
74
75                         // And redirect to the URL
76                         redirectToUrl($URL);
77                 } else {
78                         // Load header
79                         loadIncludeOnce('inc/header.php');
80
81                         // Is there a 'code' provided?
82                         if (isGetRequestParameterSet('code')) {
83                                 // Then generate an error message
84                                 loadTemplate('admin_settings_saved', false, getMessageFromErrorCode(getRequestParameter('code')));
85                         } // END - if
86
87                         // Display login form
88                         loadTemplate('surfbar_login_form');
89
90                         // Allow footer here
91                         $GLOBALS['header_sent'] = 2;
92
93                         // Load footer
94                         loadIncludeOnce('inc/footer.php');
95                 }
96         } else {
97                 // Redirect
98                 redirectToUrl('modules.php?module=index');
99         }
100 } // END - if
101
102 // Initialize the surfbar
103 SURFBAR_INIT();
104
105 // Handle tasks on self-maintenance
106 SURFBAR_HANDLE_SELF_MAINTENANCE();
107
108 // Is there a check value?
109 if ((SURFBAR_CHECK_RELOAD_FULL()) || ((isGetRequestParameterSet('frame')) && (in_array(getRequestParameter('frame'), array('stop', 'stop2', 'stats', 'textlinks'))))) {
110         // Reload-lock is full, surfbar stopped so...
111         // Load header
112         loadIncludeOnce('inc/header.php');
113
114         // Load template
115         if (((isGetRequestParameterSet('frame')) && (getRequestParameter('frame') == 'stop2')) || (!isGetRequestParameterSet('frame'))) {
116                 // Load template for "start" page
117                 loadTemplate('surfbar_frame_start');
118
119                 // Load banner
120                 loadTemplate('surfbar_start_banner');
121
122                 // This makes the footer appear again
123                 unsetGetRequestParameter('frame');
124         } elseif ((isGetRequestParameterSet('frame')) && (getRequestParameter('frame') == 'stats')) {
125                 // Get total points amount
126                 $points = countSumTotalData(getMemberId(), 'user_points', 'points') - countSumTotalData(getMemberId(), 'user_data', 'used_points');
127
128                 // Prepare content
129                 $content = array(
130                         'points' => $points,
131                         'reload' => (getConfig('surfbar_stats_reload') * 1000)
132                 );
133
134                 // Load template for "stats" page
135                 loadTemplate('surfbar_frame_stats', false, $content);
136         } elseif ((isGetRequestParameterSet('frame')) && (getRequestParameter('frame') == 'textlinks')) {
137                 // Prepare content
138                 $content = array(
139                         'reload' => (getConfig('surfbar_stats_reload') * 1000)
140                 );
141
142                 // Load template for "stats" page
143                 loadTemplate('surfbar_frame_textlinks', false, $content);
144         } else {
145                 // Prepare content
146                 $content = array(
147                         'start'     => str_repeat('X', strlen(getConfig('surfbar_restart_time'))),
148                         'autostart' => (getConfig('surfbar_autostart') == 'Y') ? 'true' : 'false'
149                 );
150
151                 // Load template for stopped surfbar
152                 loadTemplate('surfbar_stopped', false, $content);
153         }
154 } elseif ((isGetRequestParameterSet('check')) && (isGetRequestParameterSet('id')) && (isGetRequestParameterSet('salt'))) {
155         // Dummy next id get
156         SURFBAR_DETERMINE_NEXT_ID(getRequestParameter('id'));
157
158         // Check reload lock and validation code
159         if ((!SURFBAR_CHECK_RELOAD_LOCK(getRequestParameter('id'))) && (SURFBAR_CHECK_VALIDATION_CODE(getRequestParameter('id'), getRequestParameter('check'), getRequestParameter('salt')))) {
160                 // Lock the URL (id) down
161                 SURFBAR_LOCKDOWN_ID(getRequestParameter('id'));
162
163                 // Code is valid so pay points here
164                 SURFBAR_PAY_POINTS();
165
166                 // Check if reload is full
167                 if (SURFBAR_CHECK_RELOAD_FULL()) {
168                         // Then load waiting page
169                         SURFBAR_RELOAD_TO_STOP_PAGE();
170                 } // END - if
171         } else {
172                 // Reload to stop frame!
173                 SURFBAR_RELOAD_TO_STOP_PAGE();
174         }
175
176         // All done, so fix notice for footer.php
177         $GLOBALS['footer_sent'] = 1;
178 } else {
179         // Prepare content
180         $content = '';
181
182         // Determine template name
183         $templateName = SURFBAR_DETERMINE_TEMPLATE_NAME();
184
185         // Load header in frameset mode is the default
186         $isFrameset = true;
187
188         // Frame "top" set?
189         if ((isGetRequestParameterSet('frame')) && (getRequestParameter('frame') == 'top')) {
190                 // Determine next id
191                 $nextId = SURFBAR_DETERMINE_NEXT_ID();
192
193                 // Is there a valid id?
194                 if ($nextId > 0) {
195                         // Then prepare other content
196                         $content = array(
197                                 'url_id'      => $nextId,
198                                 'xxx'         => str_repeat('X', strlen(SURFBAR_GET_RELOAD_TIME($nextId)))
199                         );
200
201                         // Update salt (double-call lock!) and statistics
202                         SURFBAR_UPDATE_SALT_STATS();
203                 } else {
204                         // Load new URL
205                         SURFBAR_RELOAD_TO_STOP_PAGE('stop');
206                 }
207         } elseif ((isGetRequestParameterSet('frame')) && (getRequestParameter('frame') == 'start')) {
208                 // Starter frame found so let the footer display
209                 unsetGetRequestParameter('frame');
210         }
211
212         // Load header
213         loadIncludeOnce('inc/header.php');
214
215         // Load that template
216         //* DEBUG: */ die("templateName={$templateName}<br />\n<strong>content</strong>=<pre>".print_r($content, true)."</pre>");
217         loadTemplate($templateName, false, $content);
218 }
219
220 // Load footer
221 $GLOBALS['footer_sent'] = 3;
222 loadIncludeOnce('inc/footer.php');
223
224 // [EOF]
225 ?>