Continued a bit:
[mailer.git] / surfbar.php
index be53f0094c9385af0045926a29685bc7acbd58ed..edff6dd5a42526849d6ae744b111d03aad0dc86d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /************************************************************************
- * MXChange v0.2.1                                    Start: 09/05/2008 *
- * ===============                              Last change: 09/05/2008 *
+ * Mailer v0.2.1-FINAL                                Start: 09/05/2008 *
+ * ===================                          Last change: 09/05/2008 *
  *                                                                      *
  * -------------------------------------------------------------------- *
  * File              : surfbar.php                                      *
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Die Surfbar selbst                               *
  * -------------------------------------------------------------------- *
- *                                                                      *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder                           *
- * For more information visit: http://www.mxchange.org                  *
+ * Copyright (c) 2003 - 2009 by Roland Haeder                           *
+ * Copyright (c) 2009 - 2016 by Mailer Developer Team                   *
+ * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
  * it under the terms of the GNU General Public License as published by *
  * MA  02110-1301  USA                                                  *
  ************************************************************************/
 
-// Load security stuff here (Oh, I hope this is not unsecure? Am I paranoia??? ;-) )
-require_once("inc/libs/security_functions.php");
+// Load security stuff here
+require('inc/libs/security_functions.php');
 
-// Init "action" and "what"
-global $what, $action, $startTime, $SURFBAR_CACHE;
-$SURFBAR_CACHE = array();
-$GLOBALS['startTime'] = microtime(true);
-$GLOBALS['what'] = ""; $GLOBALS['action'] = "";
+// Init start time
+$GLOBALS['__start_time'] = microtime(TRUE);
 
-// Set module
-$GLOBALS['module'] = "surfbar";
-$GLOBALS['refid']  = 0;
-$CSS = 0;
-$msg = null;
+// Set module output mode
+$GLOBALS['__module']      = 'surfbar';
+$GLOBALS['__output_mode'] = '0';
+$GLOBALS['__header_sent'] = 3;
 
 // Load the required file(s)
-require ("inc/config.php");
-
-// Is the script installed?
-if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_installed'))) {
-       // Only logged in users may use this surfbar!
-       if (!IS_LOGGED_IN()) {
-               // Redirect
-               LOAD_URL(URL."/modules.php?module=index");
-       } // END - if
-
-       // Is there a check value?
-       if (SURFBAR_CHECK_RELOAD_FULL()) {
-               // Reload-lock is full, surfbar stopped so...
-               // Load header
-               require_once(PATH."inc/header.php");
-
-               // Load template
-               if ((isset($_GET['frame'])) && ($_GET['frame'] == "start")) {
-                       // Load template for "start" page
-                       LOAD_TEMPLATE("surfbar_frame_start");
-
-                       // Load banner
-                       OUTPUT_HTML("<br />");
-                       LOAD_TEMPLATE("surfbar_start_banner");
+require('inc/config-global.php');
+
+// Set content type
+setContentType('text/html');
+
+// Is a frame active?
+if (!isFullPage()) {
+       // Then we need to set header_sent to 0
+       $GLOBALS['__header_sent'] = '0';
+} // END - if
+
+// Only logged in users may use this surfbar!
+redirectOnUninstalledExtension('surfbar');
+
+// No member?
+if (!isMember()) {
+       // Should we display login window or redirect to main page?
+       if ((isSurfbarGuestLoginFormEnabled()) && (isExtensionActive('user'))) {
+               // Is the form sent?
+               if ((isFormSent('login')) && (isPostRequestElementSet('id')) && (isPostRequestElementSet('password'))) {
+                       // Do the login procedure
+                       $url = doUserLogin(postRequestElement('id'), postRequestElement('password'), basename(__FILE__), basename(__FILE__) . '?code=');
+
+                       // And redirect to the URL
+                       redirectToUrl($url);
                } else {
-                       // Load template for stopped surfbar
-                       LOAD_TEMPLATE("surfbar_stopped");
-               }
-       } elseif ((isset($_GET['check'])) && (isset($_GET['id'])) && (isset($_GET['salt']))) {
-               // Dummy next id get
-               SURFBAR_GET_NEXT_ID($_GET['id']);
-
-               // Check reload lock and validation code
-               if ((SURFBAR_CHECK_RELOAD_LOCK($_GET['id'])) && (SURFBAR_CHECK_VALIDATION_CODE($_GET['id'], $_GET['check'], $_GET['salt']))) {
-                       // Lock the URL (id) down
-                       SURFBAR_LOCKDOWN_ID($_GET['id']);
-
-                       // Code is valid so pay points here
-                       SURFBAR_PAY_POINTS($_GET['id']);
-
-                       // Check if reload is full
-                       if (SURFBAR_CHECK_RELOAD_FULL()) {
-                               // Then load waiting page
-                               LOAD_URL("surfbar.php?frame=start");
+                       // Load header
+                       loadPageHeader();
+
+                       // Is there a 'code' provided?
+                       if (isGetRequestElementSet('code')) {
+                               // Then generate an error message
+                               displayMessage(getMessageFromErrorCode(getRequestElement('code')));
                        } // END - if
-               } else {
-                       // Reload to start frame!
-                       LOAD_URL("surfbar.php?frame=start");
+
+                       // Display login form
+                       loadTemplate('surfbar_login_form');
+
+                       // Allow footer here
+                       $GLOBALS['__header_sent'] = 2;
+
+                       // Load footer
+                       loadPageFooter();
                }
+       } else {
+               // Redirect
+               redirectToUrl('modules.php?module=index');
+       }
+} // END - if
+
+// Initialize the surfbar
+initSurfbar();
+
+// Handle tasks on self-maintenance
+doSurfbarSelfMaintenance();
 
-               // All done, so fix notice for footer.php
-               $footer = 1;
+// Is there a check value?
+if ((isSurfbarReloadFull()) || ((!isFullPage()) && (in_array(getRequestElement('frame'), array('stop', 'stop2', 'stats', 'textlinks'))))) {
+       // Reload-lock is full, surfbar stopped so...
+       // Load header
+       loadPageHeader();
+
+       // Load template
+       if (((!isFullPage()) && (getRequestElement('frame') == 'stop2')) || (isFullPage())) {
+               // Load template for "start" page
+               loadTemplate('surfbar_frame_start');
+
+               // Load banner
+               loadTemplate('surfbar_start_banner');
+
+               // This makes the footer appear again
+               unsetGetRequestElement('frame');
+       } elseif ((!isFullPage()) && (getRequestElement('frame') == 'stats')) {
+               // Prepare content
+               $content = array(
+                       'points' => getTotalPoints(getMemberId()),
+                       'reload' => (getSurfbarStatsReload() * 1000)
+               );
+
+               // Load template for "stats" page
+               loadTemplate('surfbar_frame_stats', FALSE, $content);
+       } elseif ((!isFullPage()) && (getRequestElement('frame') == 'textlinks')) {
+               // Prepare content
+               $content = array(
+                       'reload' => (getSurfbarStatsReload() * 1000)
+               );
+
+               // Load template for "stats" page
+               loadTemplate('surfbar_frame_textlinks', FALSE, $content);
        } else {
                // Prepare content
-               $content = "";
-
-               // Determine template name
-               $templateName = SURFBAR_DETERMINE_TEMPLATE_NAME();
-
-               // Frame "top" set?
-               if ((isset($_GET['frame'])) && ($_GET['frame'] == "top")) {
-                       // Determine next id
-                       $nextId = SURFBAR_GET_NEXT_ID();
-
-                       // Is there a valid id?
-                       if ($nextId > 0) {
-                               // Then prepare other content
-                               $content = array(
-                                       'id'          => $nextId,
-                                       'check'       => SURFBAR_GENERATE_VALIDATION_CODE($nextId),
-                                       'salt'        => SURFBAR_GET_SALT(),
-                                       'reward'      => TRANSLATE_COMMA(SURFBAR_GET_REWARD($nextId)),
-                                       'url'         => SURFBAR_GET_URL($nextId),
-                                       'curr_reload' => SURFBAR_GET_USER_RELOAD_LOCK(),
-                                       'max_urls'    => SURFBAR_GET_TOTAL_URLS(),
-                                       'reload'      => SURFBAR_GET_RELOAD_TIME($nextId)
+               $content = array(
+                       'start'     => str_repeat('X', strlen(getSurfbarRestartTime())),
+                       'autostart' => (isSurfbarAutoStartEnabled()) ? 'true' : 'false'
+               );
+
+               // Load template for stopped surfbar
+               loadTemplate('surfbar_stopped', FALSE, $content);
+       }
+} elseif ((isGetRequestElementSet('check')) && (isGetRequestElementSet('id')) && (isGetRequestElementSet('salt'))) {
+       // Dummy next id get
+       determineSurfbarNextId(getRequestElement('id'));
+
+       // Check reload lock and validation code
+       if ((!ifSurfbarReloadLock(getRequestElement('id'))) && (isSurfbarValidationCodeValid(getRequestElement('id'), getRequestElement('check'), getRequestElement('salt')))) {
+               // Lock the URL (id) down
+               addSurfbarReloadLockById(getRequestElement('id'));
+
+               // Code is valid so pay points here
+               doSurfbarPayPoints();
+
+               // Check if reload is full
+               if (isSurfbarReloadFull()) {
+                       // Then load waiting page
+                       redirectToSurfbarStopPage();
+               } // END - if
+
+               // Load header to avoid a bug
+               loadPageHeader();
+       } else {
+               // Reload to stop frame!
+               redirectToSurfbarStopPage();
+       }
+
+       // All done, so fix notice for loadTemplateFooter()
+       $GLOBALS['__footer_sent'] = 1;
+} else {
+       // Prepare content
+       $content = '';
+
+       // Frame "top" set?
+       if ((!isFullPage()) && (getRequestElement('frame') == 'top')) {
+               // Determine next id
+               $nextId = determineSurfbarNextId();
+               //* DEBUG: */ exit('nextId='.$nextId);
+
+               // Is there a valid id?
+               if (isValidId($nextId)) {
+                       // Then prepare other content
+                       $content = array(
+                               'url_id' => $nextId,
+                               'xxx'    => str_repeat('X', strlen(getSurfbarWaitingTime($nextId))),
                        );
 
-                               // Update salt (double-call lock!)
-                               SURFBAR_UPDATE_SALT();
-                       } else {
-                               // Change template name
-                               $templateName = "surfbar_stopped";
-                       }
+                       // Update salt (double-call lock!) and statistics
+                       updateSurfbarSaltStatistics();
                } else {
-                       // Load header in frameset mode
-                       $isFrameset = true;
+                       // Load new URL
+                       redirectToSurfbarStopPage('stop');
                }
+       } elseif ((!isFullPage()) && (getRequestElement('frame') == 'start')) {
+               // Starter frame found so let the footer display
+               unsetGetRequestElement('frame');
+       }
 
-               // Load header
-               require_once(PATH."inc/header.php");
+       // Load header
+       loadPageHeader();
 
-               // Load that template
-               LOAD_TEMPLATE($templateName, false, $content);
-       }
+       // Determine template name
+       $templateName = determineSurfbarTemplateName();
 
-       // Load footer
-       require_once(PATH."inc/footer.php");
-} else {
-       // You have to configure first!
-       LOAD_URL("install.php");
+       // Load that template
+       //* DEBUG: */ exit('templateName=' . $templateName . '<br /><strong>content</strong>=<pre>' . print_r($content, TRUE) . '</pre>');
+       loadTemplate($templateName, FALSE, $content);
 }
 
-// Close any open database connection here
-SQL_CLOSE($link, __FILE__, __LINE__);
+// Load footer
+$GLOBALS['__footer_sent'] = 3;
+loadPageFooter();
 
-// Really all done here... ;-)
+// [EOF]
 ?>