]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/surfbar_functions.php
Renamed more templates
[mailer.git] / inc / libs / surfbar_functions.php
index 7a0760d4054ddd3356f56e9062b429571151fbf5..bc559acfac87d3b147aa5b5739ead40ea4a624b8 100644 (file)
@@ -45,7 +45,7 @@ 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
@@ -71,10 +71,14 @@ function doSurfbarAdminAddUrl ($url, $limit, $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;
+       } 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
@@ -229,19 +233,19 @@ function doSurfbarMemberByFormData ($formData, $urlArray) {
        // Is this a member?
        if (!isMember()) {
                // No member!
-               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Cannot add URL: isMember()=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');
+               //* 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');
+               //* 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']);
+               //* 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;
        }
 
@@ -472,7 +476,7 @@ function executeSurfbarMemberEditAction ($urlData) {
 
        // Has the URL or limit changed?
        if (TRUE) {
-               //if (($urlData['url_views_allowed'] != $urlData['edit']['limit']) || ($url1 != $url2)) {
+               // @TODO if (($urlData['url_views_allowed'] != $urlData['edit']['limit']) || ($url1 != $url2)) {
                // Run the query
                SQL_QUERY_ESC("UPDATE
        `{?_MYSQL_PREFIX?}_surfbar_urls`
@@ -522,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) {
@@ -597,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`,
@@ -614,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
@@ -673,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);
@@ -707,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__
        );
 
@@ -859,7 +869,7 @@ function translateMemberSurfbarActionToSubmit ($action) {
 // Determine reward
 function determineSurfbarReward ($onlyMin = FALSE) {
        // Static values are default
-       $reward = getConfig('surfbar_static_reward');
+       $reward = getSurfbarStaticReward();
 
        // Is there static or dynamic?
        if (getSurfbarPaymentModel() == 'DYNAMIC') {
@@ -945,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,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__
@@ -980,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;
 }
 
@@ -996,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__
@@ -1137,7 +1147,7 @@ function addSurfbarReloadLockById ($urlId) {
 function doSurfbarPayPoints () {
        // Remove it from the URL owner
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'userid='.getSurfbarUserid().',costs='.getSurfbarCosts() . ' - ENTERED!');
-       if (isValidUserId(getSurfbarUserid())) {
+       if (isValidId(getSurfbarUserid())) {
                // Subtract points and ignore return status
                subtractPoints(sprintf("surfbar_%s", getSurfbarPaymentModel()), getSurfbarUserid(), getSurfbarCosts());
        } // END - if
@@ -1211,12 +1221,14 @@ function updateSurfbarSaltStatistics () {
        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(
-                       getSurfbarSalt(),
-                       getSurfbarId(),
-                       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=' . getSurfbarSalt() . ',id=' . getSurfbarId() . ',userid=' . getMemberId() . ',SQL_AFFECTEDROWS()=' . SQL_AFFECTEDROWS() . ' - UPDATE!');
@@ -1224,12 +1236,17 @@ function updateSurfbarSaltStatistics () {
        // 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(
-                               getSurfbarId(),
-                               getMemberId(),
-                               getSurfbarSalt()
-                       ), __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
@@ -1243,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() - ".getSurfbarSurfLock().") < 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__
        );
 
@@ -1285,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
@@ -1371,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') {
@@ -1405,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,
@@ -1587,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());
@@ -1626,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?
@@ -1718,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.',';
@@ -1743,65 +1763,67 @@ function determineSurfbarNextId ($urlId = NULL) {
                // And query the database
                //* 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))
+       (`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__
                );
@@ -1816,7 +1838,7 @@ LIMIT 1",
                //* 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'])) {
@@ -1857,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
 //-----------------------------------------------------------------------------
@@ -1933,6 +1973,102 @@ function getSurfbarStatsReload () {
        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
 //------------------------------------------------------------------------------
@@ -2013,22 +2149,18 @@ 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])) {
-               print('surfbar_cache=<pre>');
-               print_r($GLOBALS['surfbar_cache']);
-               print('</pre>');
-               reportBug(__FUNCTION__, __LINE__, 'Element ' . $element . ' not found.');
+       if (isset($GLOBALS['surfbar_cache'][$element])) {
+               // Then take it
+               $data = $GLOBALS['surfbar_cache'][$element];
        } // END - if
 
-       // Then take it
-       $data = $GLOBALS['surfbar_cache'][$element];
-
        // Return result
        //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element[' . $element . ']=[' . gettype($data) . ']' . $data . ' - EXIT!');
        return $data;
@@ -2077,9 +2209,9 @@ function getSurfbarUserLocks () {
 }
 
 // Getter for reload time
-function getSurfbarReloadTime () {
+function getSurfbarWaitingTime () {
        // Get data element and return its contents
-       return getSurfbarData('time');
+       return getSurfbarData('waiting');
 }
 
 // Getter for allowed views
@@ -2100,6 +2232,18 @@ 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 getSurfbarSurfLock () {
        // Get data element and return its contents