Several bugfixes/improvements: (again)
[mailer.git] / surfbar.php
index d2f943308d0dfe495eaeb5b11ab45b8b8b5887dd..68b6d387077b37f7b493fc662cce3bd9027f64aa 100644 (file)
@@ -47,44 +47,97 @@ $CSS = 0;
 $msg = null;
 
 // Load the required file(s)
-require ("inc/config.php");
+require("inc/config.php");
 
 // Is the script installed?
-if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_installed'))) {
+if (isBooleanConstantAndTrue('mxchange_installed')) {
        // Only logged in users may use this surfbar!
-       if (!IS_LOGGED_IN()) {
+       if (!EXT_IS_ACTIVE("surfbar")) {
+               // Surfbar deactivated
+               LOAD_URL(URL."/modules.php?module=login&msg=".CODE_EXTENSION_PROBLEM."&ext=surfbar");
+       } elseif (!IS_MEMBER()) {
                // Redirect
                LOAD_URL(URL."/modules.php?module=index");
-       } // END - if
+       }
+
+       // Handle tasks on self-maintenance
+       SURFBAR_HANDLE_SELF_MAINTENANCE();
 
        // Is there a check value?
-       if (SURFBAR_CHECK_RELOAD_FULL()) {
+       if ((SURFBAR_CHECK_RELOAD_FULL()) || ((isset($_GET['frame'])) && (in_array($_GET['frame'], array("stop", "stop2", "stats", "textlinks"))))) {
                // Reload-lock is full, surfbar stopped so...
                // Load header
                require_once(PATH."inc/header.php");
 
                // Load template
-               LOAD_TEMPLATE("surfbar_stopped");
+               if (((isset($_GET['frame'])) && ($_GET['frame'] == "stop")) || (!isset($_GET['frame']))) {
+                       // Load template for "start" page
+                       LOAD_TEMPLATE("surfbar_frame_start");
+
+                       // Load banner
+                       OUTPUT_HTML("<br />");
+                       LOAD_TEMPLATE("surfbar_start_banner");
+
+                       // This makes the footer appear again
+                       unset($_GET['frame']);
+               } elseif ((isset($_GET['frame'])) && ($_GET['frame'] == "stats")) {
+                       // Get total points amount
+                       $points = GET_TOTAL_DATA($GLOBALS['userid'], "user_points", "points") - GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points");
+
+                       // Prepare content
+                       $content = array(
+                               'points'   => TRANSLATE_COMMA($points),
+                               'online'   => SURFBAR_DETERMINE_TOTAL_ONLINE(),
+                               'reload'   => (getConfig('surfbar_stats_reload') * 1000),
+                               'c_total'  => TRANSLATE_COMMA(getConfig('surfbar_total_counter')),
+                               'c_today'  => TRANSLATE_COMMA(getConfig('surfbar_daily_counter')),
+                               'c_yester' => TRANSLATE_COMMA(getConfig('surfbar_yester_counter')),
+                               'c_week'   => TRANSLATE_COMMA(getConfig('surfbar_weekly_counter')),
+                               'c_month'  => TRANSLATE_COMMA(getConfig('surfbar_monthly_counter')),
+                       );
+
+                       // Load template for "stats" page
+                       LOAD_TEMPLATE("surfbar_frame_stats", false, $content);
+               } elseif ((isset($_GET['frame'])) && ($_GET['frame'] == "textlinks")) {
+                       // Prepare content
+                       $content = array(
+                               'online'   => SURFBAR_DETERMINE_TOTAL_ONLINE(),
+                               'reload'   => (getConfig('surfbar_stats_reload') * 1000)
+                       );
+
+                       // Load template for "stats" page
+                       LOAD_TEMPLATE("surfbar_frame_textlinks", false, $content);
+               } else {
+                       // Prepare content
+                       $content = array(
+                               'restart'   => getConfig('surfbar_restart_time'),
+                               'start'     => str_repeat("X", strlen(getConfig('surfbar_restart_time'))),
+                               'autostart' => (getConfig('surfbar_autostart') == "Y") ? "true" : "false"
+                       );
+
+                       // Load template for stopped surfbar
+                       LOAD_TEMPLATE("surfbar_stopped", false, $content);
+               }
        } elseif ((isset($_GET['check'])) && (isset($_GET['id'])) && (isset($_GET['salt']))) {
                // Dummy next id get
-               SURFBAR_GET_NEXT_ID($_GET['id']);
+               SURFBAR_DETERMINE_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']))) {
+               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']);
+                       SURFBAR_PAY_POINTS();
 
                        // Check if reload is full
                        if (SURFBAR_CHECK_RELOAD_FULL()) {
                                // Then load waiting page
-                               LOAD_URL("surfbar.php?frame=start");
+                               SURFBAR_RELOAD_TO_STOP_PAGE();
                        } // END - if
                } else {
-                       // Reload to start frame!
-                       LOAD_URL("surfbar.php?frame=start");
+                       // Reload to stop frame!
+                       SURFBAR_RELOAD_TO_STOP_PAGE();
                }
 
                // All done, so fix notice for footer.php
@@ -99,7 +152,7 @@ if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_install
                // Frame "top" set?
                if ((isset($_GET['frame'])) && ($_GET['frame'] == "top")) {
                        // Determine next id
-                       $nextId = SURFBAR_GET_NEXT_ID();
+                       $nextId = SURFBAR_DETERMINE_NEXT_ID();
 
                        // Is there a valid id?
                        if ($nextId > 0) {
@@ -110,17 +163,21 @@ if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_install
                                        'salt'        => SURFBAR_GET_SALT(),
                                        'reward'      => TRANSLATE_COMMA(SURFBAR_GET_REWARD($nextId)),
                                        'url'         => SURFBAR_GET_URL($nextId),
-                                       'curr_reload' => SURFBAR_GET_USER_RELOAD_LOCK(),
+                                       'curr_reload' => SURFBAR_GET_USER_LOCKS(),
                                        'max_urls'    => SURFBAR_GET_TOTAL_URLS(),
-                                       'reload'      => SURFBAR_GET_RELOAD_TIME($nextId)
-                       );
+                                       'reload'      => SURFBAR_GET_RELOAD_TIME($nextId),
+                                       'xxx'         => str_repeat("X", strlen(SURFBAR_GET_RELOAD_TIME($nextId)))
+                               );
 
-                               // Update salt (double-call lock!)
-                               SURFBAR_UPDATE_SALT();
+                               // Update salt (double-call lock!) and statistics
+                               SURFBAR_UPDATE_SALT_STATS();
                        } else {
-                               // Change template name
-                               $templateName = "surfbar_stopped";
+                               // Load new URL
+                               SURFBAR_RELOAD_TO_STOP_PAGE("stop2");
                        }
+               } elseif ((isset($_GET['frame'])) && ($_GET['frame'] == "start")) {
+                       // Starter frame found so let the footer display
+                       unset($_GET['frame']);
                } else {
                        // Load header in frameset mode
                        $isFrameset = true;
@@ -130,6 +187,7 @@ if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_install
                require_once(PATH."inc/header.php");
 
                // Load that template
+               //* DEBUG: */ die("templateName={$templateName}<br />\n<strong>content</strong>=<pre>".print_r($content, true)."</pre>");
                LOAD_TEMPLATE($templateName, false, $content);
        }
 
@@ -140,8 +198,5 @@ if (defined('mxchange_installed') && (isBooleanConstantAndTrue('mxchange_install
        LOAD_URL("install.php");
 }
 
-// Close any open database connection here
-SQL_CLOSE($link, __FILE__, __LINE__);
-
 // Really all done here... ;-)
 ?>