More misc fixes and rewrites (sorry, lame description)
[mailer.git] / inc / libs / surfbar_functions.php
index d9585d024b8677874ec192ce614615a5a09dcf67..932259cc4087a93641850e22ff85c106936f8a77 100644 (file)
@@ -51,21 +51,27 @@ function SURFBAR_ADMIN_ADD_URL ($url, $limit, $reload) {
        // Do some pre-checks
        if (!IS_ADMIN()) {
                // Not an admin
+               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s : Not admin.", $url, $limit, $reload));
                return false;
        } elseif (!isUrlValid($url)) {
                // URL invalid
+               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s : Invalid URL.", $url, $limit, $reload));
                return false;
        } elseif (SURFBAR_LOOKUP_BY_URL($url, '0')) {
                // URL already found in surfbar!
+               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s : Already added.", $url, $limit, $reload));
                return false;
        } elseif (!SURFBAR_IF_USER_BOOK_MORE_URLS()) {
                // No more allowed!
+               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s : No more URLs allowed.", $url, $limit, $reload));
                return false;
-       } elseif (''.($limit + 0).'' != ''.$limit.'') {
-               // Invalid amount entered
+       } elseif ('' . ($limit + 0) . '' != '' . $limit . '') {
+               // Invalid limit entered
+               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s : Invalid limit entered.", $url, $limit, $reload));
                return false;
-       } elseif (''.($reload + 0).'' != ''.$reload.'') {
+       } elseif ('' . ($reload + 0) . '' != '' . $reload . '') {
                // Invalid amount entered
+               DEBUG_LOG(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s : Invalid reload entered.", $url, $limit, $reload));
                return false;
        }
 
@@ -159,7 +165,7 @@ function SURFBAR_MEMBER_ADD_URL ($url, $limit) {
        if (!IS_MEMBER()) {
                // Not a member
                return false;
-       } elseif (!isUrlValid($url)) {
+       } elseif ((!isUrlValid($url)) && (!IS_ADMIN())) {
                // URL invalid
                return false;
        } elseif (SURFBAR_LOOKUP_BY_URL($url, getUserId())) {
@@ -192,13 +198,13 @@ function SURFBAR_MEMBER_ACTIONS ($urlId, $status) {
        // "Walk" through all actions and create forms
        foreach ($actionArray as $actionId => $action) {
                // Add form for this action
-               $OUT .= sprintf(LOAD_TEMPLATE('member_surfbar_list_form', true),
-               $width,
-               bigintval($urlId),
-               strtolower($action),
-               strtoupper($action),
-               strtoupper($action)
-               );
+               $OUT .= LOAD_TEMPLATE('member_surfbar_list_form', true, array(
+                       'width'    => $width,
+                       'id'       => bigintval($urlId),
+                       'action'   => strtolower($action),
+                       'title'    => '{--MEMBER_SURFBAR_ACTION_' . strtoupper($action) . '_TITLE--}',
+                       'submit'   => '{--MEMBER_SURFBAR_ACTION_' . strtoupper($action) . '_SUBMIT--}',
+               ));
        } // END - foreach
 
        // Close table
@@ -244,7 +250,7 @@ function SURFBAR_MEMBER_DO_FORM ($formData, $URLs) {
        // Is the function there?
        if (function_exists($functionName)) {
                // Add new status
-               $URLs[$formData['id']]['new_status'] = $GLOBALS['cache_array']['surfbar']['new_status'];
+               $URLs[$formData['id']]['new_status'] = SURFBAR_GET_NEW_STATUS('new_status');
 
                // Extract URL data for call-back
                $urlData = array(merge_array($URLs[$formData['id']], array($action => $formData)));
@@ -253,7 +259,7 @@ function SURFBAR_MEMBER_DO_FORM ($formData, $URLs) {
                $performed = call_user_func_array($functionName, $urlData);
        } else {
                // Log invalid request
-               DEBUG_LOG(__FUNCTION__, __LINE__, " action={$formData['action']},id={$formData['id']},function={$functionName}");
+               DEBUG_LOG(__FUNCTION__, __LINE__, "action={$formData['action']},id={$formData['id']},function={$functionName}");
                addFatalMessage(__FUNCTION__, __LINE__, "Invalid member action! action=%s,id=%s,function=%s", array($formData['action'], $formData['id'], $functionName));
        }
 
@@ -273,7 +279,7 @@ function SURFBAR_VALIDATE_MEMBER_ACTION_STATUS ($action, $status) {
        // Fetch the new status if found
        if ($isValid) {
                // Load new status
-               list($GLOBALS['cache_array']['surfbar']['new_status']) = SQL_FETCHROW($result);
+               list($GLOBALS['surfbar_cache']['new_status']) = SQL_FETCHROW($result);
        } // END - if
 
        // Free result
@@ -512,7 +518,7 @@ function SURFBAR_HANDLE_LOW_POINTS () {
                        SURFBAR_NOTIFY_USER('low_points', $content);
 
                        // Update last notified
-                       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET surfbar_low_notified=NOW() WHERE userid=%s LIMIT 1",
+                       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET surfbar_low_notified=NOW() WHERE `userid`=%s LIMIT 1",
                        array($uid), __FUNCTION__, __LINE__);
                } // END - if
        } // END - foreach
@@ -534,19 +540,19 @@ function SURFBAR_LOOKUP_BY_URL ($url, $uid) {
 }
 
 // Load URL data by given search term and column
-function SURFBAR_GET_URL_DATA ($searchTerm, $column="id", $order="id", $sort="ASC", $group="id", $add = '') {
+function SURFBAR_GET_URL_DATA ($searchTerm, $column = 'id', $order = 'id', $sort = 'ASC', $group = 'id', $add = '') {
        // By default nothing is found
        $GLOBALS['last_url_data'] = array();
 
        // Is the column an id number?
-       if (($column == "id") || ($column == 'userid')) {
+       if (($column == 'id') || ($column == 'userid')) {
                // Extra secure input
                $searchTerm = bigintval($searchTerm);
        } // END - if
 
-       // If the column is "id" there can be only one entry
+       // If the column is 'id' there can be only one entry
        $limit = '';
-       if ($column == "id") {
+       if ($column == 'id') {
                $limit = "LIMIT 1";
        } // END - if
 
@@ -563,7 +569,7 @@ ORDER BY %s %s
                // Then load all!
                while ($dataRow = SQL_FETCHARRAY($result)) {
                        // Shall we group these results?
-                       if ($group == "id") {
+                       if ($group == 'id') {
                                // Add the row by id as index
                                $GLOBALS['last_url_data'][$dataRow['id']] = $dataRow;
                        } else {
@@ -581,9 +587,11 @@ ORDER BY %s %s
 }
 
 // Registers an URL with the surfbar. You should have called SURFBAR_LOOKUP_BY_URL() first!
-function SURFBAR_REGISTER_URL ($url, $uid, $status="PENDING", $addMode="reg", $extraFields = array()) {
+function SURFBAR_REGISTER_URL ($url, $uid, $status = 'PENDING', $addMode = 'reg', $extraFields = array()) {
        // Make sure by the user registered URLs are always pending
-       if ($addMode == "reg") $status = "PENDING";
+       if ($addMode == 'reg') {
+               $status = 'PENDING';
+       } // END - if
 
        // Prepare content
        $content = merge_array($extraFields, array(
@@ -594,8 +602,12 @@ function SURFBAR_REGISTER_URL ($url, $uid, $status="PENDING", $addMode="reg", $e
        ));
 
        // Is limit/reload set?
-       if (!isset($config['limit']))  $content['limit']  = 0;
-       if (!isset($config['reload'])) $content['reload'] = 0;
+       if (!isset($config['limit'])) {
+               $content['limit']  = 0;
+       } // END - if
+       if (!isset($config['reload'])) {
+               $content['reload'] = 0;
+       } // END - if
 
        // Insert the URL into database
        $content['insert_id'] = SURFBAR_INSERT_URL_BY_ARRAY($content);
@@ -610,7 +622,7 @@ function SURFBAR_REGISTER_URL ($url, $uid, $status="PENDING", $addMode="reg", $e
        $content['limit'] = surfbarTranslateLimit($content['limit']);
 
        // If in reg-mode we notify admin
-       if (($addMode == "reg") || (getConfig('surfbar_notify_admin_unlock') == 'Y')) {
+       if (($addMode == 'reg') || (getConfig('surfbar_notify_admin_unlock') == 'Y')) {
                // Notify admin even when he as unlocked an email
                SURFBAR_NOTIFY_ADMIN("url_{$addMode}", $content);
        } // END - if
@@ -797,10 +809,10 @@ function SURFBAR_DETERMINE_TEMPLATE_NAME() {
        $templateName = "surfbar_frameset";
 
        // Any frame set? ;-)
-       if (REQUEST_ISSET_GET(('frame'))) {
+       if (REQUEST_ISSET_GET('frame')) {
                // Use the frame as a template name part... ;-)
                $templateName = sprintf("surfbar_frame_%s",
-               REQUEST_GET(('frame'))
+               REQUEST_GET('frame')
                );
        } // END - if
 
@@ -815,31 +827,37 @@ function SURFBAR_CHECK_RELOAD_FULL() {
        $isFull = true;
 
        // Cache static reload lock
-       $GLOBALS['cache_array']['surfbar']['surf_lock'] = getConfig('surfbar_static_lock');
+       $GLOBALS['surfbar_cache']['surf_lock'] = getConfig('surfbar_static_lock');
        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "Fixed surf lock is ".getConfig('surfbar_static_lock')."", false);
 
        // Do we have dynamic model?
        if (getConfig('surfbar_pay_model') == 'DYNAMIC') {
                // "Calculate" dynamic lock
-               $GLOBALS['cache_array']['surfbar']['surf_lock'] += SURFBAR_CALCULATE_DYNAMIC_ADD();
+               $GLOBALS['surfbar_cache']['surf_lock'] += SURFBAR_CALCULATE_DYNAMIC_ADD();
        } // END - if
 
        // Ask the database
-       $result = SQL_QUERY_ESC("SELECT COUNT(l.id) AS cnt FROM `{!_MYSQL_PREFIX!}_surfbar_locks` AS l
-INNER JOIN `{!_MYSQL_PREFIX!}_surfbar_urls` AS u
-ON u.id=l.url_id
-WHERE l.userid=%s AND (UNIX_TIMESTAMP() - ".SURFBAR_GET_SURF_LOCK().") < UNIX_TIMESTAMP(l.last_surfed) AND (((UNIX_TIMESTAMP(l.last_surfed) - u.fixed_reload) < 0 AND u.fixed_reload > 0) OR u.fixed_reload = 0)
+       $result = SQL_QUERY_ESC("SELECT
+       COUNT(l.id) AS cnt
+FROM
+       `{!_MYSQL_PREFIX!}_surfbar_locks` AS l
+INNER JOIN
+       `{!_MYSQL_PREFIX!}_surfbar_urls` AS u
+ON
+       u.id=l.url_id
+WHERE
+       l.userid=%s AND (UNIX_TIMESTAMP() - ".SURFBAR_GET_SURF_LOCK().") < UNIX_TIMESTAMP(l.last_surfed) AND (((UNIX_TIMESTAMP(l.last_surfed) - u.fixed_reload) < 0 AND u.fixed_reload > 0) OR u.fixed_reload = 0)
 LIMIT 1",
-       array(getUserId()), __FUNCTION__, __LINE__
+               array(getUserId()), __FUNCTION__, __LINE__
        );
 
        // Fetch row
-       list($GLOBALS['cache_array']['surfbar']['user_locks']) = SQL_FETCHROW($result);
+       list($GLOBALS['surfbar_cache']['user_locks']) = SQL_FETCHROW($result);
 
        // Is it null?
-       if (is_null($GLOBALS['cache_array']['surfbar']['user_locks'])) {
+       if (is_null($GLOBALS['surfbar_cache']['user_locks'])) {
                // Then fix it to zero!
-               $GLOBALS['cache_array']['surfbar']['user_locks'] = 0;
+               $GLOBALS['surfbar_cache']['user_locks'] = 0;
        } // END - if
 
        // Free result
@@ -907,31 +925,20 @@ function SURFBAR_GET_TOTAL_USER_URLS ($uid=0, $status = '',$exclude = '') {
        // Is the status set?
        if (is_array($status)) {
                // Only URLs with these status
-               $add = sprintf(" AND status IN('%s')", implode("','", $status));
+               $add = sprintf(" AND `status` IN('%s')", implode("','", $status));
        } elseif (!empty($status)) {
                // Only URLs with this status
                $add = sprintf(" AND `status`='%s'", $status);
        } elseif (is_array($exclude)) {
                // Exclude URLs with these status
-               $add = sprintf(" AND status NOT IN('%s')", implode("','", $exclude));
+               $add = sprintf(" AND `status` NOT IN('%s')", implode("','", $exclude));
        } elseif (!empty($exclude)) {
                // Exclude URLs with this status
-               $add = sprintf(" AND status != '%s'", $exclude);
+               $add = sprintf(" AND `status` != '%s'", $exclude);
        }
 
        // Get amount from database
-       $result = SQL_QUERY_ESC("SELECT COUNT(id) AS cnt
-FROM `{!_MYSQL_PREFIX!}_surfbar_urls`
-WHERE userid=%s".$add."
-LIMIT %s",
-       array($uid, getConfig('surfbar_max_order')), __FUNCTION__, __LINE__
-       );
-
-       // Fetch row
-       list($cnt) = SQL_FETCHROW($result);
-
-       // Free result
-       SQL_FREERESULT($result);
+       $cnt = GET_TOTAL_DATA($uid, 'surfbar_urls', 'id', 'userid', true, $add);
 
        // Return result
        return $cnt;
@@ -940,7 +947,7 @@ LIMIT %s",
 // Generate a validation code for the given id number
 function SURFBAR_GENERATE_VALIDATION_CODE ($urlId, $salt = '') {
        // @TODO Invalid salt should be refused
-       $GLOBALS['cache_array']['surfbar']['salt'] = "INVALID";
+       $GLOBALS['surfbar_cache']['salt'] = 'INVALID';
 
        // Get code length from config
        $length = getConfig('code_length');
@@ -954,16 +961,16 @@ function SURFBAR_GENERATE_VALIDATION_CODE ($urlId, $salt = '') {
                // Is the salt set?
                if (empty($salt)) {
                        // Generate random hashed string
-                       $GLOBALS['cache_array']['surfbar']['salt'] = sha1(generatePassword(255));
+                       $GLOBALS['surfbar_cache']['salt'] = sha1(generatePassword(mt_rand(200, 255)));
                        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "newSalt=".SURFBAR_GET_SALT()."", false);
                } else {
                        // Use this as salt!
-                       $GLOBALS['cache_array']['surfbar']['salt'] = $salt;
+                       $GLOBALS['surfbar_cache']['salt'] = $salt;
                        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "oldSalt=".SURFBAR_GET_SALT()."", false);
                }
 
                // ... and now the validation code
-               $valCode = generateRandomCodde($length, sha1(SURFBAR_GET_SALT().':'.$urlId), getUserId());
+               $valCode = generateRandomCode($length, sha1(SURFBAR_GET_SALT().':'.$urlId), getUserId());
                //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "valCode={$valCode}", false);
        } // END - while
 
@@ -987,22 +994,22 @@ function SURFBAR_CHECK_VALIDATION_CODE ($urlId, $check, $salt) {
        $code = SURFBAR_GENERATE_VALIDATION_CODE($urlId, $salt);
 
        // Return result of checking hashes and salts
-       //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, '---'.$code."|".$check.'---', false);
-       //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "+++".$salt."|".SURFBAR_GET_DATA('last_salt')."+++", false);
+       //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, '---'.$code.'|'.$check.'---', false);
+       //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "+++".$salt.'|'.SURFBAR_GET_DATA('last_salt')."+++", false);
        return (($code == $check) && ($salt == SURFBAR_GET_DATA('last_salt')));
 }
 
 // Lockdown the userid/id combination (reload lock)
 function SURFBAR_LOCKDOWN_ID ($urlId) {
-       //* DEBUG: */ print "LOCK!");
+       //* DEBUG: */ print "LOCK!";
        ///* DEBUG: */ return;
        // Just add it to the database
-       SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_surfbar_locks` (userid, url_id) VALUES (%s, %s)",
-       array(getUserId(), bigintval($urlId)), __FUNCTION__, __LINE__);
+       SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_surfbar_locks` (`userid`, `url_id`) VALUES (%s, %s)",
+               array(getUserId(), bigintval($urlId)), __FUNCTION__, __LINE__);
 
        // Remove the salt from database
-       SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_surfbar_salts` WHERE url_id=%s AND `userid`=%s LIMIT 1",
-       array(bigintval($urlId), getUserId()), __FUNCTION__, __LINE__);
+       SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM `{!_MYSQL_PREFIX!}_surfbar_salts` WHERE `url_id`=%s AND `userid`=%s LIMIT 1",
+               array(bigintval($urlId), getUserId()), __FUNCTION__, __LINE__);
 }
 
 // Pay points to the user and remove it from the sender if userid is given else it is a "sponsored surf"
@@ -1029,16 +1036,16 @@ function SURFBAR_UPDATE_INSERT_STATS_RECORD () {
        // Do we have a limit?
        if ($allowed > 0) {
                // Then count views_max down!
-               $add .= ",views_max=views_max-1";
+               $add .= ", `views_max`=`views_max`-1";
        } // END - if
 
        // Update URL stats
-       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_surfbar_urls` SET views_total=views_total+1".$add." WHERE `id`=%s LIMIT 1",
-       array(SURFBAR_GET_ID()), __FUNCTION__, __LINE__);
+       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_surfbar_urls` SET `views_total`=`views_total`+1".$add." WHERE `id`=%s LIMIT 1",
+               array(SURFBAR_GET_ID()), __FUNCTION__, __LINE__);
 
        // Update the stats entry
-       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_surfbar_stats` SET count=count+1 WHERE userid=%s AND url_id=%s LIMIT 1",
-       array(getUserId(), SURFBAR_GET_ID()), __FUNCTION__, __LINE__);
+       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_surfbar_stats` SET `count`=`count`+1 WHERE `userid`=%s AND `url_id`=%s LIMIT 1",
+               array(getUserId(), SURFBAR_GET_ID()), __FUNCTION__, __LINE__);
 
        // Was that update okay?
        if (SQL_AFFECTEDROWS() < 1) {
@@ -1063,8 +1070,8 @@ function SURFBAR_UPDATE_SALT_STATS () {
        SURFBAR_UPDATE_INSERT_STATS_RECORD();
 
        // Simply store the salt from cache away in database...
-       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_surfbar_salts` SET last_salt='%s' WHERE url_id=%s AND `userid`=%s LIMIT 1",
-       array(SURFBAR_GET_SALT(), SURFBAR_GET_ID(), getUserId()), __FUNCTION__, __LINE__);
+       SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_surfbar_salts` SET `last_salt`='%s' WHERE `url_id`=%s AND `userid`=%s LIMIT 1",
+               array(SURFBAR_GET_SALT(), SURFBAR_GET_ID(), getUserId()), __FUNCTION__, __LINE__);
 
        // Debug message
        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "salt=".SURFBAR_GET_SALT().",id=".SURFBAR_GET_ID().",uid=".getUserId()."", false);
@@ -1072,8 +1079,8 @@ function SURFBAR_UPDATE_SALT_STATS () {
        // Was that okay?
        if (SQL_AFFECTEDROWS() < 1) {
                // Insert missing entry!
-               SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_surfbar_salts` (url_id,userid,last_salt) VALUES (%s, %s, '%s')",
-               array(SURFBAR_GET_ID(), getUserId(), SURFBAR_GET_SALT()), __FUNCTION__, __LINE__);
+               SQL_QUERY_ESC("INSERT INTO `{!_MYSQL_PREFIX!}_surfbar_salts` (`url_id`, `userid`, `last_salt`) VALUES (%s, %s, '%s')",
+                       array(SURFBAR_GET_ID(), getUserId(), SURFBAR_GET_SALT()), __FUNCTION__, __LINE__);
        } // END - if
 
        // Debug message
@@ -1087,12 +1094,15 @@ function SURFBAR_UPDATE_SALT_STATS () {
 function SURFBAR_CHECK_RELOAD_LOCK ($urlId) {
        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "id={$urlId}", false);
        // Ask the database
-       $result = SQL_QUERY_ESC("SELECT COUNT(id) AS cnt
-FROM `{!_MYSQL_PREFIX!}_surfbar_locks`
-WHERE userid=%s AND url_id=%s AND (UNIX_TIMESTAMP() - ".SURFBAR_GET_SURF_LOCK().") < UNIX_TIMESTAMP(last_surfed)
-ORDER BY last_surfed ASC
+       $result = SQL_QUERY_ESC("SELECT COUNT(`id`) AS cnt
+FROM
+       `{!_MYSQL_PREFIX!}_surfbar_locks`
+WHERE
+       `userid`=%s AND `url_id`=%s AND (UNIX_TIMESTAMP() - ".SURFBAR_GET_SURF_LOCK().") < UNIX_TIMESTAMP(`last_surfed`)
+ORDER BY
+       `last_surfed` ASC
 LIMIT 1",
-       array(getUserId(), bigintval($urlId)), __FUNCTION__, __LINE__
+               array(getUserId(), bigintval($urlId)), __FUNCTION__, __LINE__
        );
 
        // Fetch counter
@@ -1119,33 +1129,47 @@ function SURFBAR_DETERMINE_DEPLETED_USERIDS ($limit=0) {
        if ((IS_MEMBER()) && ($limit == 0)) {
                // Then add this as well
                $UIDs['uid'][getUserId()]      = getUserId();
-               $UIDs['points'][getUserId()]   = GET_TOTAL_DATA(getUserId(), "user_points", "points") - GET_TOTAL_DATA(getUserId(), "user_data", "used_points");
+               $UIDs['points'][getUserId()]   = GET_TOTAL_DATA(getUserId(), 'user_points', 'points') - GET_TOTAL_DATA(getUserId(), 'user_data', 'used_points');
                $UIDs['notified'][getUserId()] = 0;
 
                // Get all userid except logged in one
-               $result = SQL_QUERY_ESC("SELECT u.userid, UNIX_TIMESTAMP(d.surfbar_low_notified) AS notified
-FROM `{!_MYSQL_PREFIX!}_surfbar_urls` AS u
-INNER JOIN `{!_MYSQL_PREFIX!}_user_data` AS d
-ON u.userid=d.userid
-WHERE u.userid NOT IN (%s,0) AND u.`status`='ACTIVE'
-GROUP BY u.userid
-ORDER BY u.userid ASC",
-               array(getUserId()), __FUNCTION__, __LINE__);
+               $result = SQL_QUERY_ESC("SELECT
+       u.userid, UNIX_TIMESTAMP(d.surfbar_low_notified) AS notified
+FROM
+       `{!_MYSQL_PREFIX!}_surfbar_urls` AS u
+INNER JOIN
+       `{!_MYSQL_PREFIX!}_user_data` AS d
+ON
+       u.userid=d.userid
+WHERE
+       u.userid NOT IN (%s,0) AND u.`status`='ACTIVE'
+GROUP BY
+       u.userid
+ORDER BY
+       u.userid ASC",
+                       array(getUserId()), __FUNCTION__, __LINE__);
        } else {
                // Get all userid
-               $result = SQL_QUERY("SELECT u.userid, UNIX_TIMESTAMP(d.surfbar_low_notified) AS notified
-FROM `{!_MYSQL_PREFIX!}_surfbar_urls` AS u
-INNER JOIN `{!_MYSQL_PREFIX!}_user_data` AS d
-ON u.userid=d.userid
-WHERE u.`status`='ACTIVE'
-GROUP BY u.userid
-ORDER BY u.userid ASC", __FUNCTION__, __LINE__);
+               $result = SQL_QUERY("SELECT
+       u.userid, UNIX_TIMESTAMP(d.surfbar_low_notified) AS notified
+FROM
+       `{!_MYSQL_PREFIX!}_surfbar_urls` AS u
+INNER JOIN
+       `{!_MYSQL_PREFIX!}_user_data` AS d
+ON
+       u.userid=d.userid
+WHERE
+       u.`status`='ACTIVE'
+GROUP BY
+       u.userid
+ORDER BY
+       u.userid ASC", __FUNCTION__, __LINE__);
        }
 
        // Load all userid
        while ($content = SQL_FETCHARRAY($result)) {
                // Get total points
-               $points = GET_TOTAL_DATA($content['userid'], "user_points", "points") - GET_TOTAL_DATA($content['userid'], "user_data", "used_points");
+               $points = GET_TOTAL_DATA($content['userid'], 'user_points', 'points') - GET_TOTAL_DATA($content['userid'], 'user_data', 'used_points');
                //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "uid={$content['userid']},points={$points}", false);
 
                // Shall we add this to ignore?
@@ -1561,37 +1585,37 @@ LIMIT 1",
        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "lastQuery=".getConfig('db_last_query')."|numRows=".SQL_NUMROWS($result)."|Affected=".SQL_AFFECTEDROWS()."", false);
        if (SQL_NUMROWS($result) == 1) {
                // Load/cache data
-               //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "count(".count($GLOBALS['cache_array']['surfbar']).") - BEFORE", false);
-               $GLOBALS['cache_array']['surfbar'] = merge_array($GLOBALS['cache_array']['surfbar'], SQL_FETCHARRAY($result));
-               //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "count(".count($GLOBALS['cache_array']['surfbar']).") - AFTER", false);
+               //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "count(".count($GLOBALS['surfbar_cache']).") - BEFORE", false);
+               $GLOBALS['surfbar_cache'] = merge_array($GLOBALS['surfbar_cache'], SQL_FETCHARRAY($result));
+               //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "count(".count($GLOBALS['surfbar_cache']).") - AFTER", false);
 
                // Determine waiting time
-               $GLOBALS['cache_array']['surfbar']['time'] = SURFBAR_DETERMINE_WAIT_TIME();
+               $GLOBALS['surfbar_cache']['time'] = SURFBAR_DETERMINE_WAIT_TIME();
 
                // Is the last salt there?
-               if (is_null($GLOBALS['cache_array']['surfbar']['last_salt'])) {
+               if (is_null($GLOBALS['surfbar_cache']['last_salt'])) {
                        // Then repair it wit the static!
                        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "last_salt - FIXED!", false);
-                       $GLOBALS['cache_array']['surfbar']['last_salt'] = '';
+                       $GLOBALS['surfbar_cache']['last_salt'] = '';
                } // END - if
 
                // Fix missing last_surfed
-               if ((!isset($GLOBALS['cache_array']['surfbar']['last_surfed'])) || (is_null($GLOBALS['cache_array']['surfbar']['last_surfed']))) {
+               if ((!isset($GLOBALS['surfbar_cache']['last_surfed'])) || (is_null($GLOBALS['surfbar_cache']['last_surfed']))) {
                        // Fix it here
                        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "last_surfed - FIXED!", false);
-                       $GLOBALS['cache_array']['surfbar']['last_surfed'] = 0;
+                       $GLOBALS['surfbar_cache']['last_surfed'] = 0;
                } // END - if
 
                // Get base/fixed reward and costs
-               $GLOBALS['cache_array']['surfbar']['reward'] = SURFBAR_DETERMINE_REWARD();
-               $GLOBALS['cache_array']['surfbar']['costs']  = SURFBAR_DETERMINE_COSTS();
+               $GLOBALS['surfbar_cache']['reward'] = SURFBAR_DETERMINE_REWARD();
+               $GLOBALS['surfbar_cache']['costs']  = SURFBAR_DETERMINE_COSTS();
                //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "BASE/STATIC - reward=".SURFBAR_GET_REWARD()."|costs=".SURFBAR_GET_COSTS()."", false);
 
                // Only in dynamic model add the dynamic bonus!
                if (getConfig('surfbar_pay_model') == 'DYNAMIC') {
                        // Calculate dynamic reward/costs and add it
-                       $GLOBALS['cache_array']['surfbar']['reward'] += SURFBAR_CALCULATE_DYNAMIC_ADD();
-                       $GLOBALS['cache_array']['surfbar']['costs']  += SURFBAR_CALCULATE_DYNAMIC_ADD();
+                       $GLOBALS['surfbar_cache']['reward'] += SURFBAR_CALCULATE_DYNAMIC_ADD();
+                       $GLOBALS['surfbar_cache']['costs']  += SURFBAR_CALCULATE_DYNAMIC_ADD();
                        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "DYNAMIC+ - reward=".SURFBAR_GET_REWARD()."|costs=".SURFBAR_GET_COSTS()."", false);
                } // END - if
 
@@ -1609,8 +1633,15 @@ LIMIT 1",
 
 // -----------------------------------------------------------------------------
 // PLEASE DO NOT ADD ANY OTHER FUNCTIONS BELOW THIS LINE IF THEY DON'T "WRAP"
-// THE $GLOBALS['cache_array']['surfbar'] ARRAY!
+// THE $GLOBALS['surfbar_cache'] ARRAY!
 // -----------------------------------------------------------------------------
+
+// Initializes the surfbar
+function SURFBAR_INIT () {
+       // Init cache array
+       $GLOBALS['surfbar_cache'] = array();
+}
+
 // Private getter for data elements
 function SURFBAR_GET_DATA ($element) {
        //* DEBUG: */ DEBUG_LOG(__FUNCTION__, __LINE__, "element={$element}", false);
@@ -1619,12 +1650,12 @@ function SURFBAR_GET_DATA ($element) {
        $data = null;
 
        // Is the entry there?
-       if (isset($GLOBALS['cache_array']['surfbar'][$element])) {
+       if (isset($GLOBALS['surfbar_cache'][$element])) {
                // Then take it
-               $data = $GLOBALS['cache_array']['surfbar'][$element];
+               $data = $GLOBALS['surfbar_cache'][$element];
        } else { // END - if
                print("<pre>");
-               print_r($GLOBALS['cache_array']['surfbar']);
+               print_r($GLOBALS['surfbar_cache']);
                print("</pre>");
                debug_report_bug();
        }
@@ -1700,5 +1731,11 @@ function SURFBAR_GET_SURF_LOCK () {
        return SURFBAR_GET_DATA('surf_lock');
 }
 
+// Getter for new status
+function SURFBAR_GET_NEW_STATUS () {
+       // Get data element and return its contents
+       return SURFBAR_GET_DATA('new_status');
+}
+
 // [EOF]
 ?>