]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/surfbar_functions.php
Renamed more templates
[mailer.git] / inc / libs / surfbar_functions.php
index a2a040bacf762163a69a2b0b4ed4ebce29e9af98..bc559acfac87d3b147aa5b5739ead40ea4a624b8 100644 (file)
@@ -45,36 +45,40 @@ if (!defined('__SECURITY')) {
 //------------------------------------------------------------------------------
 
 // Admin has added an URL with given user id and so on
-function doSurfbarAdminAddUrl ($url, $limit, $reload) {
+function doSurfbarAdminAddUrl ($url, $limit, $reload, $waiting) {
        // Do some pre-checks
        if (!isAdmin()) {
                // Not an admin
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s: Not admin.", $url, $limit, $reload));
-               return false;
+               return FALSE;
        } elseif (!isUrlValid($url)) {
                // URL invalid
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s: Invalid URL.", $url, $limit, $reload));
-               return false;
+               return FALSE;
        } elseif (ifSurfbarHasUrlUserId($url, 0)) {
                // URL already found in surfbar!
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s: Already added.", $url, $limit, $reload));
-               return false;
+               return FALSE;
        } elseif (!ifSurfbarMemberAllowedMoreUrls()) {
                // No more allowed!
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s: No more URLs allowed.", $url, $limit, $reload));
-               return false;
+               return FALSE;
        } elseif ('' . ($limit + 0) . '' != '' . $limit . '') {
                // Invalid limit entered
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s: Invalid limit entered.", $url, $limit, $reload));
-               return false;
+               return FALSE;
        } elseif ('' . ($reload + 0) . '' != '' . $reload . '') {
                // Invalid amount entered
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,reload=%s: Invalid reload entered.", $url, $limit, $reload));
-               return false;
+               return FALSE;
+       } elseif ('' . ($waiting + 0) . '' != '' . $waiting . '') {
+               // Invalid amount entered
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, sprintf("Cannot add URL=%s,limit=%s,waiting=%s: Invalid waiting entered.", $url, $limit, $waiting));
+               return FALSE;
        }
 
        // Register the new URL
-       return doSurfbarRegisterUrl($url, 0, 'ACTIVE', 'unlock', array('limit' => $limit, 'reload' => $reload));
+       return doSurfbarRegisterUrl($url, 0, 'ACTIVE', 'unlock', array('limit' => $limit, 'reload' => $reload, 'waiting' => $waiting));
 }
 
 // Admin unlocked an email so we can migrate the URL
@@ -83,19 +87,19 @@ function doSurfbarAdminMigrateUrl ($url, $userid) {
        if (!isAdmin()) {
                // Not an admin
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot migrate URL: Not admin, url=' . $url . ',userid=' . $userid);
-               return false;
+               return FALSE;
        } elseif (!isUrlValid($url)) {
                // URL invalid
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot migrate URL: Invalid URL, url=' . $url . ',userid=' . $userid);
-               return false;
+               return FALSE;
        } elseif (ifSurfbarHasUrlUserId($url, $userid)) {
                // URL already found in surfbar!
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot migrate URL: Already added, url=' . $url . ',userid=' . $userid);
-               return false;
+               return FALSE;
        } elseif (!ifSurfbarMemberAllowedMoreUrls($userid)) {
                // No more allowed!
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot migrate URL: Maximum exceeded, url=' . $url . ',userid=' . $userid);
-               return false;
+               return FALSE;
        }
 
        // Register the new URL
@@ -108,19 +112,19 @@ function doSurfbarAdminUnlockUrlIds ($IDs) {
        if (!isAdmin()) {
                // Not admin or invalid ids array
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Not admin');
-               return false;
+               return FALSE;
        } elseif (!is_array($IDs)) {
                // No array
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: IDs type ' . gettype($IDs) . '!=array');
-               return false;
+               return FALSE;
        } elseif (count($IDs) == 0) {
                // Empty array
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: IDs is empty');
-               return false;
+               return FALSE;
        }
 
        // Set to true to make AND expression valid if first URL got unlocked
-       $done = true;
+       $done = TRUE;
 
        // Update the status for all ids
        foreach ($IDs as $id => $dummy) {
@@ -138,19 +142,19 @@ function doSurfbarAdminRejectUrlIds ($IDs) {
        if (!isAdmin()) {
                // Not admin or invalid ids array
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Not admin');
-               return false;
+               return FALSE;
        } elseif (!is_array($IDs)) {
                // No array
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: IDs type ' . gettype($IDs) . '!=array');
-               return false;
+               return FALSE;
        } elseif (count($IDs) == 0) {
                // Empty array
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: IDs is empty');
-               return false;
+               return FALSE;
        }
 
        // Set to true to make AND expression valid if first URL got unlocked
-       $done = true;
+       $done = TRUE;
 
        // Update the status for all ids
        foreach ($IDs as $id => $dummy) {
@@ -172,23 +176,23 @@ function doSurfbarMemberAddUrl ($url, $limit) {
        if (!isMember()) {
                // Not a member
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: isMember()=false');
-               return false;
+               return FALSE;
        } elseif ((!isUrlValid($url)) && (!isAdmin())) {
                // URL invalid
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Invalid, url=' . $url . ',limit=' . $limit);
-               return false;
+               return FALSE;
        } elseif (ifSurfbarHasUrlUserId($url, getMemberId())) {
                // URL already found in surfbar!
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Already found, url=' . $url . ',limit=' . $limit);
-               return false;
+               return FALSE;
        } elseif (!ifSurfbarMemberAllowedMoreUrls(getMemberId())) {
                // No more allowed!
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Maximum exceeded, url=' . $url . ',limit=' . $limit);
-               return false;
+               return FALSE;
        } elseif (''.($limit + 0).'' != ''.$limit.'') {
                // Invalid amount entered
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Invalid limit, url=' . $url . ',limit=' . $limit);
-               return false;
+               return FALSE;
        }
 
        // Register the new URL
@@ -207,7 +211,7 @@ function generateSurfbarMemberActions ($urlId, $status) {
        $OUT = '';
        foreach ($actionArray as $actionId => $action) {
                // Add form for this action
-               $OUT .= loadTemplate('member_list_surfbar_form', true, array(
+               $OUT .= loadTemplate('member_list_surfbar_form', TRUE, array(
                        'width'  => $width,
                        'url_id' => bigintval($urlId),
                        'action' => strtolower($action)
@@ -215,7 +219,7 @@ function generateSurfbarMemberActions ($urlId, $status) {
        } // END - foreach
 
        // Load main template
-       $output = loadTemplate('member_list_surfbar_table', true, $OUT);
+       $output = loadTemplate('member_list_surfbar_table', TRUE, $OUT);
 
        // Return code
        return $output;
@@ -224,25 +228,25 @@ function generateSurfbarMemberActions ($urlId, $status) {
 // Do the member form request
 function doSurfbarMemberByFormData ($formData, $urlArray) {
        // By default no action is performed
-       $performed = false;
+       $performed = FALSE;
 
        // Is this a member?
        if (!isMember()) {
                // No member!
-               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: isMember()=false');
-               return false;
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: isMember()=false');
+               return FALSE;
        } elseif ((!isset($formData['url_id'])) || (!isset($formData['action']))) {
                // Important form elements are missing!
-               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Invalid form data, required field id/action not found');
-               return false;
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Invalid form data, required field id/action not found');
+               return FALSE;
        } elseif (!isset($urlArray[$formData['url_id']])) {
                // Id not found in cache
-               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Field url_id not found in cache');
-               return false;
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Field url_id not found in cache');
+               return FALSE;
        } elseif (!isSurfbarMemberActionStatusValid($formData['action'], $urlArray[$formData['url_id']]['url_status'])) {
                // Action not allowed for current URL status
-               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Action not allowed to perform. action=' . $formData['action'] . ',url_status=' . $urlArray[$formData['url_id']]['url_status'] . ',url_id=' . $formData['url_id']);
-               return false;
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: Action not allowed to perform. action=' . $formData['action'] . ',url_status=' . $urlArray[$formData['url_id']]['url_status'] . ',url_id=' . $formData['url_id']);
+               return FALSE;
        }
 
        // Secure action
@@ -251,7 +255,7 @@ function doSurfbarMemberByFormData ($formData, $urlArray) {
        // Has it changed?
        if ($action != $formData['action']) {
                // Invalid data in action found
-               return false;
+               return FALSE;
        } // END - if
 
        // Create the function name for selected action
@@ -259,8 +263,12 @@ function doSurfbarMemberByFormData ($formData, $urlArray) {
 
        // Is the function there?
        if (function_exists($functionName)) {
+               // Load data and add it to globals array
+               $urlData = getSurfbarUrlData($formData['url_id']);
+               $GLOBALS['surfbar_cache'] = merge_array($GLOBALS['surfbar_cache'], $urlData[$formData['url_id']]);
+
                // Add new status
-               $urlArray[$formData['url_id']]['new_status'] = gerSurfbarNewStatus('new_status');
+               $urlArray[$formData['url_id']]['new_status'] = getSurfbarNewStatus('new_status');
 
                // Extract URL data for call-back
                $urlData = array(merge_array($urlArray[$formData['url_id']], array($action => $formData)));
@@ -320,7 +328,7 @@ function isSurfbarMemberActionStatusValid ($action, $status) {
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'action=' . $action . ',status=' . $status . ',isValid=' . intval($isValid));
 
        // Fetch the new status if found
-       if ($isValid === true) {
+       if ($isValid === TRUE) {
                // Load new status
                list($GLOBALS['surfbar_cache']['new_status']) = SQL_FETCHROW($result);
        } // END - if
@@ -392,7 +400,7 @@ function doSurfbarMemberUnpauseAction ($urlData) {
        // Fix missing entry for template
        $urlData['edit'] = $urlData['unpause'];
        $urlData['edit']['url'] = $urlData['url'];
-       $urlData['edit']['limit'] = gerSurfbarViewsMax();
+       $urlData['edit']['limit'] = getSurfbarViewsMax();
 
        // Return status change
        return changeSurfbarUrlStatus($urlData['url_id'], $urlData['url_status'], $urlData['new_status'], array($urlData['url_id'] => $urlData));
@@ -406,7 +414,7 @@ function doSurfbarMemberResubmitAction ($urlData) {
 // Display selected "action form"
 function displaySurfbarMemberActionForm ($action, $urlData) {
        // Translate some data if present
-       $content = prepareSurfbarContentForTemplate($content);
+       $content = prepareSurfbarContentForTemplate($urlData);
 
        // Include fields only for action 'edit'
        if ($action == 'edit') {
@@ -416,7 +424,7 @@ function displaySurfbarMemberActionForm ($action, $urlData) {
                $urlData['limited']     = 'false';
 
                // Is this URL limited?
-               if (gerSurfbarViewsMax() > 0) {
+               if (getSurfbarViewsMax() > 0) {
                        // Then rewrite form data
                        $urlData['limited_yes'] = ' checked="checked"';
                        $urlData['limited_no']  = '';
@@ -425,16 +433,16 @@ function displaySurfbarMemberActionForm ($action, $urlData) {
        } // END - if
 
        // Load the form and display it
-       loadTemplate(sprintf("member_surfbar_%s_action_form", $action), false, $urlData);
+       loadTemplate(sprintf("member_surfbar_%s_action_form", $action), FALSE, $urlData);
 
        // All fine by default ... ;-)
-       return true;
+       return TRUE;
 }
 
 // Execute choosen action
 function executeSurfbarMemberAction ($action, $urlData) {
        // By default nothing is executed
-       $executed = false;
+       $executed = FALSE;
 
        // Is limitation "no" and "limit" is > 0?
        if ((isset($urlData[$action]['limited'])) && ($urlData[$action]['limited'] != 'Y') && ((isset($urlData[$action]['limit'])) && ($urlData[$action]['limit'] > 0)) || (!isset($urlData[$action]['limit']))) {
@@ -448,7 +456,7 @@ function executeSurfbarMemberAction ($action, $urlData) {
        // Is that function there?
        if (function_exists($functionName)) {
                // Execute the function
-               if (call_user_func_array($functionName, array($urlData)) == true) {
+               if (call_user_func_array($functionName, array($urlData)) == TRUE) {
                        // Update status as well
                        $executed = changeSurfbarUrlStatus($urlData['url_id'], $urlData['url_status'], $urlData['new_status'], array($urlData['url_id'] => $urlData));
                } // END - if
@@ -464,11 +472,11 @@ function executeSurfbarMemberAction ($action, $urlData) {
 // "Execute edit" function: Update changed data
 function executeSurfbarMemberEditAction ($urlData) {
        // Default is nothing done
-       $status = false;
+       $status = FALSE;
 
        // Has the URL or limit changed?
-       if (true) {
-               //if (($urlData['url_views_allowed'] != $urlData['edit']['limit']) || ($url1 != $url2)) {
+       if (TRUE) {
+               // @TODO if (($urlData['url_views_allowed'] != $urlData['edit']['limit']) || ($url1 != $url2)) {
                // Run the query
                SQL_QUERY_ESC("UPDATE
        `{?_MYSQL_PREFIX?}_surfbar_urls`
@@ -478,7 +486,7 @@ SET
        `url_views_max`=%s
 WHERE
        `url_id`=%s AND
-       `status`='%s'
+       `url_status`='%s'
 LIMIT 1",
                        array(
                                $urlData['url'],
@@ -489,7 +497,7 @@ LIMIT 1",
                        ), __FUNCTION__, __LINE__);
 
                // All fine
-               $status = true;
+               $status = TRUE;
        } // END - if
 
        // Return status
@@ -499,7 +507,7 @@ LIMIT 1",
 // "Execute delete" function: Does nothing...
 function executeSurfbarMemberDeleteAction ($urlData) {
        // Nothing special to do (see above function for such "special actions" to perform)
-       return true;
+       return TRUE;
 }
 
 //------------------------------------------------------------------------------
@@ -518,7 +526,7 @@ function doSurfbarSelfMaintenance () {
 // Handle URLs which limit has depleted
 function doHandleSurfbarDepletedViews () {
        // Get all URLs
-       $urlArray = getSurfbarUrlData(0, 'url_views_max', 'url_id', 'ASC', 'url_id', " AND `url_views_allowed` > 0 AND `url_status`='ACTIVE'");
+       $urlArray = getSurfbarUrlData('0', 'url_views_max', 'url_id', 'ASC', 'url_id', " AND `url_views_allowed` > 0 AND `url_status`='ACTIVE'");
 
        // Are there some entries?
        if (count($urlArray) > 0) {
@@ -593,13 +601,14 @@ function getSurfbarUrlData ($searchTerm, $column = 'url_id', $order = 'url_id',
        // If the column is 'url_id' there can be only one entry
        $limit = '';
        if ($column == 'url_id') {
-               $limit = "LIMIT 1";
+               $limit = 'LIMIT 1';
        } // END - if
 
        // Look up the record
        $result = SQL_QUERY_ESC("SELECT
        `url_id`,
        `url_userid`,
+       `url_package_id`,
        `url`,
        `url_views_total`,
        `url_views_max`,
@@ -610,7 +619,8 @@ function getSurfbarUrlData ($searchTerm, $column = 'url_id', $order = 'url_id',
        `url_lock_reason`,
        `url_views_max`,
        `url_views_allowed`,
-       `url_fixed_reload`
+       `url_fixed_reload`,
+       `url_fixed_waiting`
 FROM
        `{?_MYSQL_PREFIX?}_surfbar_urls`
 WHERE
@@ -669,6 +679,9 @@ function doSurfbarRegisterUrl ($url, $userid, $status = 'PENDING', $addMode = 'r
        if (!isset($content['reload'])) {
                $content['reload'] = '0';
        } // END - if
+       if (!isset($content['waiting'])) {
+               $content['waiting'] = '0';
+       } // END - if
 
        // Insert the URL into database
        $content['insert_id'] = insertSurfbarUrlByArray($content);
@@ -676,7 +689,7 @@ function doSurfbarRegisterUrl ($url, $userid, $status = 'PENDING', $addMode = 'r
        // Is this id valid?
        if ($content['insert_id'] == '0') {
                // INSERT did not insert any data!
-               return false;
+               return FALSE;
        } // END - if
 
        // If in reg-mode we notify admin
@@ -703,14 +716,15 @@ function insertSurfbarUrlByArray ($urlData) {
        } // END - if
 
        // Just run the insert query for now
-       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_urls` (`url_userid`,`url`,`url_status`,`url_views_max`,`url_views_allowed`,`url_fixed_reload`) VALUES (%s,'%s','%s',%s,%s,%s)",
+       SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_urls` (`url_userid`, `url`, `url_status`, `url_views_max`, `url_views_allowed`, `url_fixed_reload`, `url_fixed_waiting`) VALUES (%s, '%s', '%s', %s, %s, %s, %s)",
                array(
                        $userid,
                        $urlData['url'],
                        $urlData['url_status'],
                        $urlData['limit'],
                        $urlData['limit'],
-                       $urlData['reload']
+                       $urlData['reload'],
+                       $urlData['waiting']
                ), __FUNCTION__, __LINE__
        );
 
@@ -745,7 +759,7 @@ function doSurfbarNotifyAdmin ($messageType, $content) {
 function doSurfbarNotifyMember ($messageType, $content) {
        // Skip notification if userid is zero
        if ($content['url_userid'] == '0') {
-               return false;
+               return FALSE;
        } // END - if
 
        // Prepare template name
@@ -853,14 +867,14 @@ function translateMemberSurfbarActionToSubmit ($action) {
 }
 
 // Determine reward
-function determineSurfbarReward ($onlyMin = false) {
+function determineSurfbarReward ($onlyMin = FALSE) {
        // Static values are default
-       $reward = getConfig('surfbar_static_reward');
+       $reward = getSurfbarStaticReward();
 
        // Is there static or dynamic?
        if (getSurfbarPaymentModel() == 'DYNAMIC') {
                // "Calculate" dynamic reward
-               if ($onlyMin === true) {
+               if ($onlyMin === TRUE) {
                        $reward += calculateSurfbarDynamicMininumValue();
                } else {
                        $reward += calculateSurfbarDynamicAddValue();
@@ -924,7 +938,7 @@ function determineSurfbarTemplateName() {
 function isSurfbarReloadFull () {
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Fixed surf lock is ' . getConfig('surfbar_static_lock') . ' - ENTERED!');
        // Default is full!
-       $isFull = true;
+       $isFull = TRUE;
 
        // Cache static reload lock
        $GLOBALS['surfbar_cache']['surf_lock'] = getConfig('surfbar_static_lock');
@@ -941,17 +955,17 @@ function isSurfbarReloadFull () {
        $result = SQL_QUERY_ESC("SELECT
        COUNT(l.`locks_id`) AS `cnt`
 FROM
-       `{?_MYSQL_PREFIX?}_surfbar_locks` AS l
+       `{?_MYSQL_PREFIX?}_surfbar_locks` AS `l`
 INNER JOIN
-       `{?_MYSQL_PREFIX?}_surfbar_urls` AS u
+       `{?_MYSQL_PREFIX?}_surfbar_urls` AS `u`
 ON
-       u.`url_id`=l.`locks_url_id`
+       `u`.`url_id`=l.`locks_url_id`
 WHERE
        l.`locks_userid`=%s AND
-       (UNIX_TIMESTAMP() - {%%pipe,gerSurfbarSurfLock%%}) < UNIX_TIMESTAMP(l.`locks_last_surfed`) AND
+       (UNIX_TIMESTAMP() - {%%pipe,getSurfbarSurfLock%%}) < UNIX_TIMESTAMP(l.`locks_last_surfed`) AND
        (
-               ((UNIX_TIMESTAMP(l.`locks_last_surfed`) - u.`url_fixed_reload`) < 0 AND u.`url_fixed_reload` > 0) OR
-               u.`url_fixed_reload` = 0
+               ((UNIX_TIMESTAMP(l.`locks_last_surfed`) - `u`.`url_fixed_reload`) < 0 AND `u`.`url_fixed_reload` > 0) OR
+               `u`.`url_fixed_reload` = 0
        )
 LIMIT 1",
                array(getMemberId()), __FUNCTION__, __LINE__
@@ -976,7 +990,7 @@ LIMIT 1",
        $isFull = ((getSurfbarUserLocks() == $total) && ($total > 0));
 
        // Return result
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userLocks=' . getSurfbarUserLocks() . ',total=' . $total . 'isFull=' . intval($isFull) . ' - EXIT!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userLocks=' . getSurfbarUserLocks() . ',total=' . $total . ',isFull=' . intval($isFull) . ' - EXIT!');
        return $isFull;
 }
 
@@ -992,18 +1006,18 @@ function getSurfbarTotalUrls ($status = 'ACTIVE', $excludeUserId = NULL) {
        } // END - if
 
        // Is the exlude userid set?
-       if (isValidUserId($excludeUserId)) {
+       if (isValidId($excludeUserId)) {
                // Then add it
                $userids['url_userid'][$excludeUserId] = $excludeUserId;
        } // END - if
 
        // Get amount from database
        $result = SQL_QUERY_ESC("SELECT
-       COUNT(`url_id`) AS cnt
+       COUNT(`url_id`) AS `cnt`
 FROM
        `{?_MYSQL_PREFIX?}_surfbar_urls`
 WHERE
-       (`url_userid` NOT IN (".implode(', ', $userids['url_userid']).") OR `url_userid` IS NULL) AND
+       (`url_userid` NOT IN (" . implode(', ', $userids['url_userid']) . ") OR `url_userid` IS NULL) AND
        `url_status`='%s'
 LIMIT 1",
                array($status), __FUNCTION__, __LINE__
@@ -1058,7 +1072,7 @@ function getSurfbarTotalUserUrls ($userid = NULL, $status = '', $exclude = '') {
        }
 
        // Get amount from database
-       $count = countSumTotalData($userid, 'surfbar_urls', 'url_id', 'url_userid', true, $add);
+       $count = countSumTotalData($userid, 'surfbar_urls', 'url_id', 'url_userid', TRUE, $add);
 
        // Return result
        return $count;
@@ -1071,15 +1085,15 @@ function generateSurfbarValidationCode ($urlId, $salt = '') {
        if (empty($salt)) {
                 // Generate random hashed string
                $GLOBALS['surfbar_cache']['salt'] = sha1(generatePassword(mt_rand(200, 255)));
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'newSalt='.gerSurfbarSalt().'', false);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'newSalt='.getSurfbarSalt().'', FALSE);
        } else {
                // Use this as salt!
                $GLOBALS['surfbar_cache']['salt'] = $salt;
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'oldSalt='.gerSurfbarSalt().'', false);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'oldSalt='.getSurfbarSalt().'', FALSE);
        }
 
        // Hash it with md5() and salt it with the random string
-       $hashedCode = generateHash(md5($urlId . getEncryptSeparator() . getMemberId()), gerSurfbarSalt());
+       $hashedCode = generateHash(md5($urlId . getEncryptSeparator() . getMemberId()), getSurfbarSalt());
 
        // Finally encrypt it PGP-like and return it
        $valHashedCode = encodeHashForCookie($hashedCode);
@@ -1107,12 +1121,12 @@ function isSurfbarValidationCodeValid ($urlId, $check, $salt) {
 function addSurfbarReloadLockById ($urlId) {
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'urlId=' . $urlId . ',getMemberId()=' . getMemberId() . ' - ENTERED!');
        // Search for an entry
-       $countLock = countSumTotalData(getMemberId(), 'surfbar_locks', 'locks_id', 'locks_userid', true, ' AND `locks_url_id`=' . bigintval($urlId));
+       $countLock = countSumTotalData(getMemberId(), 'surfbar_locks', 'locks_id', 'locks_userid', TRUE, ' AND `locks_url_id`=' . bigintval($urlId));
 
        // Is there no record?
        if ($countLock == 0) {
                // Just add it to the database
-               SQL_QUERY_ESC('INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_locks` (`locks_userid`,`locks_url_id`) VALUES (%s, %s)',
+               SQL_QUERY_ESC('INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_locks` (`locks_userid`, `locks_url_id`) VALUES (%s, %s)',
                        array(
                                getMemberId(),
                                bigintval($urlId)
@@ -1132,19 +1146,19 @@ function addSurfbarReloadLockById ($urlId) {
 // Pay points to the user and remove it from the sender if userid is given else it is a "sponsored surf"
 function doSurfbarPayPoints () {
        // Remove it from the URL owner
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.gerSurfbarUserid().',costs='.gerSurfbarCosts() . ' - ENTERED!');
-       if (isValidUserId(gerSurfbarUserid())) {
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.getSurfbarUserid().',costs='.getSurfbarCosts() . ' - ENTERED!');
+       if (isValidId(getSurfbarUserid())) {
                // Subtract points and ignore return status
-               subtractPoints(sprintf("surfbar_%s", getSurfbarPaymentModel()), gerSurfbarUserid(), gerSurfbarCosts());
+               subtractPoints(sprintf("surfbar_%s", getSurfbarPaymentModel()), getSurfbarUserid(), getSurfbarCosts());
        } // END - if
 
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.getMemberId().',reward='.gerSurfbarReward());
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.getMemberId().',reward='.getSurfbarReward());
        // Init referral system here
        initReferralSystem();
 
        // Book it to the user and ignore return status
-       addPointsThroughReferralSystem(sprintf("surfbar:%s", getSurfbarPaymentModel()), getMemberId(), gerSurfbarReward());
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.gerSurfbarUserid().',costs='.gerSurfbarCosts() . ' - EXIT!');
+       addPointsThroughReferralSystem(sprintf("surfbar:%s", getSurfbarPaymentModel()), getMemberId(), getSurfbarReward());
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.getSurfbarUserid().',costs='.getSurfbarCosts() . ' - EXIT!');
 }
 
 // Updates the statistics of current URL/userid
@@ -1153,7 +1167,7 @@ function updateInsertSurfbarStatisticsRecord () {
        $add = '';
 
        // Get allowed views
-       $allowed = gerSurfbarViewsAllowed();
+       $allowed = getSurfbarViewsAllowed();
 
        // Is there a limit?
        if ($allowed > 0) {
@@ -1163,22 +1177,22 @@ function updateInsertSurfbarStatisticsRecord () {
 
        // Update URL stats
        SQL_QUERY_ESC('UPDATE `{?_MYSQL_PREFIX?}_surfbar_urls` SET `url_views_total`=`url_views_total`+1' . $add . ' WHERE `url_id`=%s LIMIT 1',
-               array(gerSurfbarId()), __FUNCTION__, __LINE__);
+               array(getSurfbarId()), __FUNCTION__, __LINE__);
 
        // Update the stats entry
        SQL_QUERY_ESC('UPDATE `{?_MYSQL_PREFIX?}_surfbar_stats` SET `stats_count`=`stats_count`+1 WHERE `stats_userid`=%s AND `stats_url_id`=%s LIMIT 1',
                array(
                        getMemberId(),
-                       gerSurfbarId()
+                       getSurfbarId()
                ), __FUNCTION__, __LINE__);
 
        // Was that update okay?
        if (SQL_HASZEROAFFECTED()) {
                // No, then insert entry
-               SQL_QUERY_ESC('INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_stats` (`stats_userid`,`stats_url_id`,`stats_count`) VALUES (%s,%s,1)',
+               SQL_QUERY_ESC('INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_stats` (`stats_userid`, `stats_url_id`, `stats_count`) VALUES (%s,%s,1)',
                        array(
                                getMemberId(),
-                               gerSurfbarId()
+                               getSurfbarId()
                        ), __FUNCTION__, __LINE__);
        } // END - if
 
@@ -1195,37 +1209,44 @@ function updateInsertSurfbarStatisticsRecord () {
 // Update the salt for validation and statistics
 function updateSurfbarSaltStatistics () {
        // Update salt
-       generateSurfbarValidationCode(gerSurfbarId());
+       generateSurfbarValidationCode(getSurfbarId());
 
        // Make sure only valid salts can pass
-       if (gerSurfbarSalt() == 'INVALID') {
+       if (getSurfbarSalt() == 'INVALID') {
                // Invalid provided
-               reportBug(__FUNCTION__, __LINE__, 'Invalid salt provided, id=' . gerSurfbarId() . ',getMemberId()=' . getMemberId());
+               reportBug(__FUNCTION__, __LINE__, 'Invalid salt provided, id=' . getSurfbarId() . ',getMemberId()=' . getMemberId());
        } // END - if
 
        // Update statistics record
        updateInsertSurfbarStatisticsRecord();
 
        // Simply store the salt from cache away in database...
-       SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_surfbar_salts` SET `salts_last_salt`='%s' WHERE `salts_url_id`=%s AND `salts_userid`=%s LIMIT 1",
-               array(
-                       gerSurfbarSalt(),
-                       gerSurfbarId(),
-                       getMemberId()
-               ), __FUNCTION__, __LINE__);
+       SQL_QUERY("UPDATE
+       `{?_MYSQL_PREFIX?}_surfbar_salts`
+SET
+       `salts_last_salt`='{%pipe,getSurfbarSalt%}'
+WHERE
+       `salts_url_id`={%pipe,getSurfbarId%} AND
+       `salts_userid`={%pipe,getMemberId%}
+LIMIT 1", __FUNCTION__, __LINE__);
 
        // Debug message
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'salt=' . gerSurfbarSalt() . ',id=' . gerSurfbarId() . ',userid=' . getMemberId() . ',SQL_AFFECTEDROWS()=' . SQL_AFFECTEDROWS() . ' - UPDATE!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'salt=' . getSurfbarSalt() . ',id=' . getSurfbarId() . ',userid=' . getMemberId() . ',SQL_AFFECTEDROWS()=' . SQL_AFFECTEDROWS() . ' - UPDATE!');
 
        // Was that okay?
        if (SQL_HASZEROAFFECTED()) {
                // Insert missing entry!
-               SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_surfbar_salts` (`salts_url_id`,`salts_userid`,`salts_last_salt`) VALUES (%s, %s, '%s')",
-                       array(
-                               gerSurfbarId(),
-                               getMemberId(),
-                               gerSurfbarSalt()
-                       ), __FUNCTION__, __LINE__);
+               SQL_QUERY("INSERT INTO
+       `{?_MYSQL_PREFIX?}_surfbar_salts`
+(
+       `salts_url_id`,
+       `salts_userid`,
+       `salts_last_salt`
+) VALUES (
+       {%pipe,getSurfbarId%},
+       {%pipe,getMemberId%},
+       '{%pipe,getSurfbarSalt%}'
+)", __FUNCTION__, __LINE__);
        } // END - if
 
        // Debug message
@@ -1239,16 +1260,16 @@ function updateSurfbarSaltStatistics () {
 function ifSurfbarReloadLock ($urlId) {
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'id=' . $urlId . ' -  ENTERED!');
        // Ask the database
-       $result = SQL_QUERY_ESC("SELECT COUNT(`locks_id`) AS cnt
+       $result = SQL_QUERY_ESC('SELECT COUNT(`locks_id`) AS `cnt`
 FROM
        `{?_MYSQL_PREFIX?}_surfbar_locks`
 WHERE
        `locks_userid`=%s AND
        `locks_url_id`=%s AND
-       (UNIX_TIMESTAMP() - ".gerSurfbarSurfLock().") < UNIX_TIMESTAMP(`locks_last_surfed`)
+       (UNIX_TIMESTAMP() - {%%pipe,getSurfbarSurfLock%%}) < UNIX_TIMESTAMP(`locks_last_surfed`)
 ORDER BY
        `locks_last_surfed` ASC
-LIMIT 1",
+LIMIT 1',
                array(getMemberId(), bigintval($urlId)), __FUNCTION__, __LINE__
        );
 
@@ -1259,7 +1280,7 @@ LIMIT 1",
        SQL_FREERESULT($result);
 
        // Return check
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'urlId=' . $urlId . ',count=' . $count . ',gerSurfbarSurfLock()=' . gerSurfbarSurfLock() . ' - EXIT!');
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'urlId=' . $urlId . ',count=' . $count . ',getSurfbarSurfLock()=' . getSurfbarSurfLock() . ' - EXIT!');
        return ($count == 1);
 }
 
@@ -1281,39 +1302,41 @@ function determineSurfbarDepletedUserids ($limit=0) {
 
                // Get all userid except logged in one
                $result = SQL_QUERY_ESC("SELECT
-       u.url_userid, UNIX_TIMESTAMP(d.surfbar_low_notified) AS notified
+       `u`.`url_userid`,
+       UNIX_TIMESTAMP(`d`.`surfbar_low_notified`) AS `notified`
 FROM
-       `{?_MYSQL_PREFIX?}_surfbar_urls` AS u
+       `{?_MYSQL_PREFIX?}_surfbar_urls` AS `u`
 INNER JOIN
-       `{?_MYSQL_PREFIX?}_user_data` AS d
+       `{?_MYSQL_PREFIX?}_user_data` AS `d`
 ON
-       u.`url_userid`=d.`userid`
+       `u`.`url_userid`=`d`.`userid`
 WHERE
-       u.`url_userid` NOT IN (%s) AND
-       u.`url_userid` IS NOT NULL AND
-       u.`url_status`='ACTIVE'
+       `u`.`url_userid` NOT IN (%s) AND
+       `u`.`url_userid` IS NOT NULL AND
+       `u`.`url_status`='ACTIVE'
 GROUP BY
-       u.`url_userid`
+       `u`.`url_userid`
 ORDER BY
-       u.`url_userid` ASC",
+       `u`.`url_userid` ASC",
                        array(getMemberId()), __FUNCTION__, __LINE__);
        } else {
                // Get all userid
                $result = SQL_QUERY("SELECT
-       u.url_userid, UNIX_TIMESTAMP(d.surfbar_low_notified) AS notified
+       `u`.`url_userid`,
+       UNIX_TIMESTAMP(`d`.`surfbar_low_notified`) AS `notified`
 FROM
-       `{?_MYSQL_PREFIX?}_surfbar_urls` AS u
+       `{?_MYSQL_PREFIX?}_surfbar_urls` AS `u`
 INNER JOIN
-       `{?_MYSQL_PREFIX?}_user_data` AS d
+       `{?_MYSQL_PREFIX?}_user_data` AS `d`
 ON
-       u.`url_userid`=d.`userid`
+       `u`.`url_userid`=`d`.`userid`
 WHERE
-       u.`url_userid` > 0 AND
-       u.`url_status`='ACTIVE'
+       `u`.`url_userid` > 0 AND
+       `u`.`url_status`='ACTIVE'
 GROUP BY
-       u.`url_userid`
+       `u`.`url_userid`
 ORDER BY
-       u.`url_userid` ASC", __FUNCTION__, __LINE__);
+       `u`.`url_userid` ASC", __FUNCTION__, __LINE__);
        }
 
        // Load all userid
@@ -1367,16 +1390,16 @@ GROUP BY
 // Determine waiting time for one URL
 function determineSurfbarWaitingTime () {
        // Get fixed reload lock
-       $fixed = getSurfbarFixedReload();
+       $fixed = getSurfbarFixedWaitingTime();
 
-       // Is the fixed reload time set?
+       // Is the URL's fixed waiting time set?
        if ($fixed > 0) {
                // Return it
                return $fixed;
        } // END - if
 
        // Static time is default
-       $time = getConfig('surfbar_static_time');
+       $time = getSurfbarStaticTime();
 
        // Which payment model do we have?
        if (getSurfbarPaymentModel() == 'DYNAMIC') {
@@ -1401,7 +1424,7 @@ function changeSurfbarUrlStatus ($urlId, $prevStatus, $newStatus, $data = array(
        } // END - if
 
        // Prepare array
-       $filterData =  array(
+       $filterData = array(
                'url_id'      => $urlId,
                'prev_status' => $prevStatus,
                'new_status'  => $newStatus,
@@ -1431,7 +1454,7 @@ function changeSurfbarUrlStatus ($urlId, $prevStatus, $newStatus, $data = array(
        // ---------- Comment out for debugging/developing member actions! ---------
        if (SQL_AFFECTEDROWS() != 1) {
                // No, something went wrong
-               return false;
+               return FALSE;
        } // END - if
        // ---------- Comment out for debugging/developing member actions! ---------
 
@@ -1443,7 +1466,7 @@ function changeSurfbarUrlStatus ($urlId, $prevStatus, $newStatus, $data = array(
 
        // All done!
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'urlId=' . $urlId . ',prevStatus=' . $prevStatus . ',newStatus=' . $newStatus . ' - EXIT!');
-       return true;
+       return TRUE;
 }
 
 // Calculate minimum value for dynamic payment model
@@ -1545,10 +1568,10 @@ ORDER BY
        // Load all entries
        while ($content = SQL_FETCHARRAY($result)) {
                // Debug message
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'next - lid='.$content['locks_id'].',url='.$content['locks_url_id'].',rest='.(time() - $content['last_surfed']).'/'.gerSurfbarSurfLock());
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'next - lid='.$content['locks_id'].',url='.$content['locks_url_id'].',rest='.(time() - $content['last_surfed']).'/'.getSurfbarSurfLock());
 
                // Skip entries that are too old
-               if (($content['last_surfed'] > (time() - gerSurfbarSurfLock())) && (!in_array($content['locks_url_id'], $ignored))) {
+               if (($content['last_surfed'] > (time() - getSurfbarSurfLock())) && (!in_array($content['locks_url_id'], $ignored))) {
                        // Debug message
                        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'okay - lid='.$content['locks_id'].',url='.$content['locks_url_id'].',last='.$content['last_surfed']);
 
@@ -1583,24 +1606,24 @@ ORDER BY
 function getSurfbarMaximumRandom ($userids, $add) {
        // Count max availabe entries
        $result = SQL_QUERY("SELECT
-       sbu.url_id AS cnt
+       `sbu`.`url_id` AS `cnt`
 FROM
-       `{?_MYSQL_PREFIX?}_surfbar_urls` AS sbu
+       `{?_MYSQL_PREFIX?}_surfbar_urls` AS `sbu`
 LEFT JOIN
-       `{?_MYSQL_PREFIX?}_surfbar_salts` AS sbs
+       `{?_MYSQL_PREFIX?}_surfbar_salts` AS `sbs`
 ON
-       sbu.url_id=sbs.salts_url_id
+       `sbu`.`url_id`=`sbs`.`salts_url_id`
 LEFT JOIN
-       `{?_MYSQL_PREFIX?}_surfbar_locks` AS l
+       `{?_MYSQL_PREFIX?}_surfbar_locks` AS `l`
 ON
-       sbu.url_id=l.locks_url_id
+       `sbu`.`url_id`=l.`locks_url_id`
 WHERE
-       sbu.url_userid NOT IN (" . implode(',', $userids) . ") AND
-       (sbu.url_views_allowed=0 OR (sbu.url_views_allowed > 0 AND sbu.url_views_max > 0)) AND
-       sbu.url_status='ACTIVE'
+       `sbu`.`url_userid` NOT IN (" . implode(',', $userids) . ") AND
+       (`sbu`.`url_views_allowed`=0 OR (`sbu`.`url_views_allowed` > 0 AND `sbu`.`url_views_max` > 0)) AND
+       `sbu`.`url_status`='ACTIVE'
        " . $add . "
 GROUP BY
-       sbu.url_id ASC", __FUNCTION__, __LINE__);
+       `sbu`.`url_id` ASC", __FUNCTION__, __LINE__);
 
        // Log last query
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'lastQuery='.getConfig('db_last_query').'|numRows='.SQL_NUMROWS($result).'|Affected='.SQL_AFFECTEDROWS());
@@ -1622,23 +1645,24 @@ function getSurfbarUserUrls () {
 
        // Begin the query
        $result = SQL_QUERY_ESC("SELECT
-       u.`url_id`,
-       u.`url_userid`,
-       u.`url`,
-       u.`url_status`,
-       u.`url_views_total`,
-       u.`url_views_max`,
-       u.`url_views_allowed`,
-       UNIX_TIMESTAMP(u.`url_registered`) AS `url_registered`,
-       UNIX_TIMESTAMP(u.`url_last_locked`) AS `url_last_locked`,
-       u.`url_lock_reason`
+       `u`.`url_id`,
+       `u`.`url_userid`,
+       `u`.`url_package_id`,
+       `u`.`url`,
+       `u`.`url_status`,
+       `u`.`url_views_total`,
+       `u`.`url_views_max`,
+       `u`.`url_views_allowed`,
+       UNIX_TIMESTAMP(`u`.`url_registered`) AS `url_registered`,
+       UNIX_TIMESTAMP(`u`.`url_last_locked`) AS `url_last_locked`,
+       `u`.`url_lock_reason`
 FROM
-       `{?_MYSQL_PREFIX?}_surfbar_urls` AS u
+       `{?_MYSQL_PREFIX?}_surfbar_urls` AS `u`
 WHERE
-       u.`url_userid`=%s AND
-       u.`url_status` != 'DELETED'
+       `u`.`url_userid`=%s AND
+       `u`.`url_status` != 'DELETED'
 ORDER BY
-       u.`url_id` ASC",
+       `u`.`url_id` ASC",
                array(getMemberId()), __FUNCTION__, __LINE__);
 
        // Are there entries?
@@ -1714,7 +1738,7 @@ function determineSurfbarNextId ($urlId = NULL) {
                $add = '';
                if (count($USE) > 0) {
                        // Ignore some!
-                       $add = " AND sbu.`url_id` NOT IN (";
+                       $add = " AND `sbu`.`url_id` NOT IN (";
                        foreach ($USE as $url_id => $lid) {
                                // Add URL id
                                $add .= $url_id.',';
@@ -1737,67 +1761,69 @@ function determineSurfbarNextId ($urlId = NULL) {
                } // END - if
 
                // And query the database
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'randNum='.$randNum.',maxRand='.$maxRand.',surfLock='.gerSurfbarSurfLock());
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'randNum='.$randNum.',maxRand='.$maxRand.',surfLock='.getSurfbarSurfLock());
                $result = SQL_QUERY_ESC("SELECT
-       sbu.url_id,
-       sbu.url_userid,
-       sbu.url,
-       sbs.salts_last_salt,
-       sbu.url_views_total,
-       sbu.url_views_max,
-       sbu.url_views_allowed,
-       UNIX_TIMESTAMP(l.locks_last_surfed) AS last_surfed,
-       sbu.url_fixed_reload
+       `sbu`.`url_id`,
+       `sbu`.`url_userid`,
+       `sbu`.`url_package_id`,
+       `sbu`.`url`,
+       `sbs`.`salts_last_salt`,
+       `sbu`.`url_views_total`,
+       `sbu`.`url_views_max`,
+       `sbu`.`url_views_allowed`,
+       UNIX_TIMESTAMP(l.`locks_last_surfed`) AS `last_surfed`,
+       `sbu`.`url_fixed_reload`
 FROM
-       `{?_MYSQL_PREFIX?}_surfbar_urls` AS sbu
+       `{?_MYSQL_PREFIX?}_surfbar_urls` AS `sbu`
 LEFT JOIN
-       `{?_MYSQL_PREFIX?}_surfbar_salts` AS sbs
+       `{?_MYSQL_PREFIX?}_surfbar_salts` AS `sbs`
 ON
-       sbu.url_id=sbs.salts_url_id
+       `sbu`.`url_id`=`sbs`.`salts_url_id`
 LEFT JOIN
-       `{?_MYSQL_PREFIX?}_surfbar_locks` AS l
+       `{?_MYSQL_PREFIX?}_surfbar_locks` AS `l`
 ON
-       sbu.url_id=l.locks_url_id
+       `sbu`.`url_id`=l.`locks_url_id`
 WHERE
-       (sbu.`url_userid` NOT IN (".implode(',', $userids['url_userid']).") OR sbu.`url_userid` IS NULL) AND
-       sbu.url_status='ACTIVE' AND
-       (sbu.url_views_allowed=0 OR (sbu.url_views_allowed > 0 AND sbu.url_views_max > 0))
-       ".$add."
+       (`sbu`.`url_userid` NOT IN (" . implode(',', $userids['url_userid']) . ") OR `sbu`.`url_userid` IS NULL) AND
+       `sbu`.`url_status`='ACTIVE' AND
+       (`sbu`.`url_views_allowed`=0 OR (`sbu`.`url_views_allowed` > 0 AND `sbu`.`url_views_max` > 0))
+       " . $add . "
 GROUP BY
-       sbu.`url_id`
+       `sbu`.`url_id`
 ORDER BY
-       l.locks_last_surfed ASC,
-       sbu.url_id ASC
+       l.`locks_last_surfed` ASC,
+       `sbu`.`url_id` ASC
 LIMIT %s,1",
                        array($randNum), __FUNCTION__, __LINE__
                );
        } else {
                // Get data from specified id number
                $result = SQL_QUERY_ESC("SELECT
-       sbu.url_id,
-       sbu.url_userid,
-       sbu.url,
-       sbs.salts_last_salt,
-       sbu.url_views_total,
-       sbu.url_views_max,
-       sbu.url_views_allowed,
-       UNIX_TIMESTAMP(l.locks_last_surfed) AS last_surfed,
-       sbu.url_fixed_reload
+       `sbu`.`url_id`,
+       `sbu`.`url_userid`,
+       `sbu`.`url_package_id`,
+       `sbu`.`url`,
+       `sbs`.`salts_last_salt`,
+       `sbu`.`url_views_total`,
+       `sbu`.`url_views_max`,
+       `sbu`.`url_views_allowed`,
+       UNIX_TIMESTAMP(l.`locks_last_surfed`) AS `last_surfed`,
+       `sbu`.`url_fixed_reload`
 FROM
-       `{?_MYSQL_PREFIX?}_surfbar_urls` AS sbu
+       `{?_MYSQL_PREFIX?}_surfbar_urls` AS `sbu`
 LEFT JOIN
-       `{?_MYSQL_PREFIX?}_surfbar_salts` AS sbs
+       `{?_MYSQL_PREFIX?}_surfbar_salts` AS `sbs`
 ON
-       sbu.url_id=sbs.salts_url_id
+       `sbu`.`url_id`=`sbs`.`salts_url_id`
 LEFT JOIN
-       `{?_MYSQL_PREFIX?}_surfbar_locks` AS l
+       `{?_MYSQL_PREFIX?}_surfbar_locks` AS `l`
 ON
-       sbu.url_id=l.locks_url_id
+       `sbu`.`url_id`=l.`locks_url_id`
 WHERE
-       (sbu.url_userid != %s OR sbu.url_userid IS NULL) AND
-       sbu.url_status='ACTIVE' AND
-       sbu.url_id=%s AND
-       (sbu.url_views_allowed=0 OR (sbu.url_views_allowed > 0 AND sbu.url_views_max > 0))
+       (`sbu`.`url_userid` != %s OR `sbu`.`url_userid` IS NULL) AND
+       `sbu`.`url_status`='ACTIVE' AND
+       `sbu`.`url_id`=%s AND
+       (`sbu`.`url_views_allowed` = 0 OR (`sbu`.`url_views_allowed` > 0 AND `sbu`.`url_views_max` > 0))
 LIMIT 1",
                        array(getMemberId(), bigintval($urlId)), __FUNCTION__, __LINE__
                );
@@ -1807,42 +1833,42 @@ LIMIT 1",
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'lastQuery='.getConfig('db_last_query').'|numRows='.SQL_NUMROWS($result).'|Affected='.SQL_AFFECTEDROWS());
        if (SQL_NUMROWS($result) == 1) {
                // Load/cache data
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'count('.count($GLOBALS['surfbar_cache']).') - BEFORE', false);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'count('.count($GLOBALS['surfbar_cache']).') - BEFORE', FALSE);
                $GLOBALS['surfbar_cache'] = merge_array($GLOBALS['surfbar_cache'], SQL_FETCHARRAY($result));
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'count('.count($GLOBALS['surfbar_cache']).') - AFTER', false);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'count('.count($GLOBALS['surfbar_cache']).') - AFTER', FALSE);
 
                // Determine waiting time
-               $GLOBALS['surfbar_cache']['time'] = determineSurfbarWaitingTime();
+               $GLOBALS['surfbar_cache']['waiting'] = determineSurfbarWaitingTime();
 
                // Is the last salt there?
                if (is_null($GLOBALS['surfbar_cache']['salts_last_salt'])) {
                        // Then repair it wit the static!
-                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'last_salt - FIXED!', false);
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'last_salt - FIXED!', FALSE);
                        $GLOBALS['surfbar_cache']['salts_last_salt'] = '';
                } // END - if
 
                // Fix missing last_surfed
                if ((!isset($GLOBALS['surfbar_cache']['last_surfed'])) || (is_null($GLOBALS['surfbar_cache']['last_surfed']))) {
                        // Fix it here
-                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'last_surfed - FIXED!', false);
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'last_surfed - FIXED!', FALSE);
                        $GLOBALS['surfbar_cache']['last_surfed'] = '0';
                } // END - if
 
                // Get base/fixed reward and costs
                $GLOBALS['surfbar_cache']['reward'] = determineSurfbarReward();
                $GLOBALS['surfbar_cache']['costs']  = determineSurfbarCosts();
-               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'BASE/STATIC - reward='.gerSurfbarReward().'|costs='.gerSurfbarCosts());
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'BASE/STATIC - reward='.getSurfbarReward().'|costs='.getSurfbarCosts());
 
                // Only in dynamic model add the dynamic bonus!
                if (getSurfbarPaymentModel() == 'DYNAMIC') {
                        // Calculate dynamic reward/costs and add it
                        $GLOBALS['surfbar_cache']['reward'] += calculateSurfbarDynamicAddValue();
                        $GLOBALS['surfbar_cache']['costs']  += calculateSurfbarDynamicAddValue();
-                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'DYNAMIC+ - reward='.gerSurfbarReward().'|costs='.gerSurfbarCosts());
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'DYNAMIC+ - reward='.getSurfbarReward().'|costs='.getSurfbarCosts());
                } // END - if
 
                // Now get the id
-               $nextId = gerSurfbarId();
+               $nextId = getSurfbarId();
        } // END - if
 
        // Free result
@@ -1853,6 +1879,24 @@ LIMIT 1",
        return $nextId;
 }
 
+// Generates an URL to the given booking package
+function generateSurfbarPackageLink ($packageId) {
+       // Base URL
+       $url  = '{%url=modules.php?module=admin&amp;what=list_surfbar_packages';
+
+       // Is package id given?
+       if (isValidId($packageId)) {
+               // Then add it
+               $url .= '&amp;package_id=' . bigintval($packageId);
+       } // END - if
+
+       // Finish URL EL code
+       $url .= '%}';
+
+       // Return it
+       return $url;
+}
+
 //-----------------------------------------------------------------------------
 // Wrapper function
 //-----------------------------------------------------------------------------
@@ -1917,12 +1961,120 @@ function getSurfbarPaymentModel () {
        return $GLOBALS[__FUNCTION__];
 }
 
+// "Getter" for surfbar_stats_reload
+function getSurfbarStatsReload () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = getConfig('surfbar_stats_reload');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for surfbar_restart_time
+function getSurfbarRestartTime () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = getConfig('surfbar_restart_time');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for surfbar_auto_start
+function getSurfbarAutoStart () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = getConfig('surfbar_auto_start');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// Checks whether auto-start is enabled
+function isSurfbarAutoStartEnabled () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = (getSurfbarAutoStart() == 'Y');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for surfbar_daily_counter
+function getSurfbarDailyCounter () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = getConfig('surfbar_daily_counter');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for surfbar_yester_counter
+function getSurfbarYesterCounter () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = getConfig('surfbar_yester_counter');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for surfbar_weekly_counter
+function getSurfbarWeeklyCounter () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = getConfig('surfbar_weekly_counter');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for surfbar_monthly_counter
+function getSurfbarMonthlyCounter () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = getConfig('surfbar_monthly_counter');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
+// "Getter" for surfbar_total_counter
+function getSurfbarTotalCounter () {
+       // Is there cache?
+       if (!isset($GLOBALS[__FUNCTION__])) {
+               // Determine it
+               $GLOBALS[__FUNCTION__] = getConfig('surfbar_total_counter');
+       } // END - if
+
+       // Return cache
+       return $GLOBALS[__FUNCTION__];
+}
+
 //------------------------------------------------------------------------------
 //                             Template helper functions
 //------------------------------------------------------------------------------
 
 // Template helper to generate a selection box for surfbar actions
-function doTemplateSurfbarActionsActionSelectionBox ($templateName, $clear = false, $default = NULL) {
+function doTemplateSurfbarActionsActionSelectionBox ($templateName, $clear = FALSE, $default = NULL) {
        // Init array
        $actionsAction = array(
                0 => array('actions_action' => 'EDIT'),
@@ -1936,14 +2088,14 @@ function doTemplateSurfbarActionsActionSelectionBox ($templateName, $clear = fal
        );
 
        // Handle it over to generateSelectionBoxFromArray()
-       $content = generateSelectionBoxFromArray($actionsAction, 'surfbar_actions_action', 'actions_action', '', '', '', $default, '', false, true);
+       $content = generateSelectionBoxFromArray($actionsAction, 'actions_action', 'actions_action', '', '_surfbar', '', $default, '', FALSE, TRUE);
 
        // Return prepared content
        return $content;
 }
 
 // Template helper to generate a selection box for surfbar status
-function doTemplateSurfbarActionsStatusSelectionBox ($templateName, $clear = false, $default = NULL) {
+function doTemplateSurfbarActionsStatusSelectionBox ($templateName, $clear = FALSE, $default = NULL) {
        // Init array
        $status = array(
                0 => array('actions_status' => 'PENDING'),
@@ -1957,14 +2109,14 @@ function doTemplateSurfbarActionsStatusSelectionBox ($templateName, $clear = fal
        );
 
        // Handle it over to generateSelectionBoxFromArray()
-       $content = generateSelectionBoxFromArray($status, 'surfbar_actions_status', 'actions_status', '', '', '', $default, '', false, true);
+       $content = generateSelectionBoxFromArray($status, 'actions_status', 'actions_status', '', '_surfbar', '', $default, '', FALSE, TRUE);
 
        // Return prepared content
        return $content;
 }
 
 // Template helper to generate a selection box for surfbar status
-function doTemplateSurfbarActionsNewStatusSelectionBox ($templateName, $clear = false, $default = NULL) {
+function doTemplateSurfbarActionsNewStatusSelectionBox ($templateName, $clear = FALSE, $default = NULL) {
        // Init array
        $status = array(
                0 => array('actions_new_status' => 'PENDING'),
@@ -1978,7 +2130,7 @@ function doTemplateSurfbarActionsNewStatusSelectionBox ($templateName, $clear =
        );
 
        // Handle it over to generateSelectionBoxFromArray()
-       $content = generateSelectionBoxFromArray($status, 'surfbar_actions_new_status', 'actions_new_status', '', '', '', $default, '', true, true);
+       $content = generateSelectionBoxFromArray($status, 'actions_new_status', 'actions_new_status', '', '_surfbar', '', $default, '', TRUE, TRUE);
 
        // Return prepared content
        return $content;
@@ -1997,21 +2149,17 @@ function initSurfbar () {
 
 // Private getter for data elements
 function getSurfbarData ($element) {
+       // Debug message
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ' - ENTERED!');
 
        // Default is null
        $data = NULL;
 
        // Is the entry there?
-       if ((isset($GLOBALS['surfbar_cache'][$element])) || (is_null($GLOBALS['surfbar_cache'][$element]))) {
+       if (isset($GLOBALS['surfbar_cache'][$element])) {
                // Then take it
                $data = $GLOBALS['surfbar_cache'][$element];
-       } else { // END - if
-               print('surfbar_cache=<pre>');
-               print_r($GLOBALS['surfbar_cache']);
-               print('</pre>');
-               reportBug(__FUNCTION__, __LINE__, 'Element ' . $element . ' not found.');
-       }
+       } // END - if
 
        // Return result
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element[' . $element . ']=[' . gettype($data) . ']' . $data . ' - EXIT!');
@@ -2019,37 +2167,37 @@ function getSurfbarData ($element) {
 }
 
 // Getter for reward from cache
-function gerSurfbarReward () {
+function getSurfbarReward () {
        // Get data element and return its contents
        return getSurfbarData('reward');
 }
 
 // Getter for costs from cache
-function gerSurfbarCosts () {
+function getSurfbarCosts () {
        // Get data element and return its contents
        return getSurfbarData('costs');
 }
 
 // Getter for URL from cache
-function gerSurfbarUrl () {
+function getSurfbarUrl () {
        // Get data element and return its contents
        return getSurfbarData('url');
 }
 
 // Getter for salt from cache
-function gerSurfbarSalt () {
+function getSurfbarSalt () {
        // Get data element and return its contents
        return getSurfbarData('salt');
 }
 
 // Getter for id from cache
-function gerSurfbarId () {
+function getSurfbarId () {
        // Get data element and return its contents
        return getSurfbarData('url_id');
 }
 
 // Getter for userid from cache
-function gerSurfbarUserid () {
+function getSurfbarUserid () {
        // Get data element and return its contents
        return getSurfbarData('url_userid');
 }
@@ -2061,19 +2209,19 @@ function getSurfbarUserLocks () {
 }
 
 // Getter for reload time
-function gerSurfbarReloadTime () {
+function getSurfbarWaitingTime () {
        // Get data element and return its contents
-       return getSurfbarData('time');
+       return getSurfbarData('waiting');
 }
 
 // Getter for allowed views
-function gerSurfbarViewsAllowed () {
+function getSurfbarViewsAllowed () {
        // Get data element and return its contents
        return getSurfbarData('url_views_allowed');
 }
 
 // Getter for maximum views
-function gerSurfbarViewsMax () {
+function getSurfbarViewsMax () {
        // Get data element and return its contents
        return getSurfbarData('url_views_max');
 }
@@ -2084,20 +2232,32 @@ function getSurfbarFixedReload () {
        return getSurfbarData('url_fixed_reload');
 }
 
+// Getter for fixed waiting time
+function getSurfbarFixedWaitingTime () {
+       // Get data element and return its contents
+       return getSurfbarData('url_fixed_waiting');
+}
+
+// Getter for package id
+function getSurfbarPackageId () {
+       // Get data element and return its contents
+       return getSurfbarData('url_package_id');
+}
+
 // Getter for surf lock
-function gerSurfbarSurfLock () {
+function getSurfbarSurfLock () {
        // Get data element and return its contents
        return getSurfbarData('surf_lock');
 }
 
 // Getter for new status
-function gerSurfbarNewStatus () {
+function getSurfbarNewStatus () {
        // Get data element and return its contents
        return getSurfbarData('new_status');
 }
 
 // Getter for last salt
-function gerSurfbarLastSalt () {
+function getSurfbarLastSalt () {
        // Get data element and return its contents
        return getSurfbarData('salts_last_salt');
 }