]> git.mxchange.org Git - mailer.git/blobdiff - inc/libs/surfbar_functions.php
- Notification mode added to surfbar (dummy!)
[mailer.git] / inc / libs / surfbar_functions.php
index bdc6cd749c177e0cced6d370078b6194327d633e..da1f944f503b10dea2f7ce8b4218828f0e4dbd86 100644 (file)
@@ -42,7 +42,7 @@ if (!defined('__SECURITY')) {
 // -----------------------------------------------------------------------------
 //
 // Admin has added an URL with given user id and so on
-function SURFBAR_ADMIN_ADD_URL ($url) {
+function SURFBAR_ADMIN_ADD_URL ($url, $limit) {
        // Do some pre-checks
        if (!IS_ADMIN()) {
                // Not an admin
@@ -56,10 +56,13 @@ function SURFBAR_ADMIN_ADD_URL ($url) {
        } elseif (!SURFBAR_IF_USER_BOOK_MORE_URLS()) {
                // No more allowed!
                return false;
+       } elseif ("".bigintval($limit)."" != "".$limit."") {
+               // Invalid amount entered
+               return false;
        }
 
        // Register the new URL
-       return SURFBAR_REGISTER_URL($url, "0", "ACTIVE", "unlock");
+       return SURFBAR_REGISTER_URL($url, "0", "ACTIVE", "unlock", $limit);
 }
 // Admin unlocked an email so we can migrate the URL
 function SURFBAR_ADMIN_MIGRATE_URL ($url, $uid) {
@@ -139,7 +142,7 @@ function SURFBAR_ADMIN_REJECT_URL_IDS ($IDs) {
 // -----------------------------------------------------------------------------
 //
 // Member has added an URL
-function SURFBAR_MEMBER_ADD_URL ($url) {
+function SURFBAR_MEMBER_ADD_URL ($url, $limit) {
        global $_CONFIG;
 
        // Do some pre-checks
@@ -155,10 +158,13 @@ function SURFBAR_MEMBER_ADD_URL ($url) {
        } elseif (!SURFBAR_IF_USER_BOOK_MORE_URLS($GLOBALS['userid'])) {
                // No more allowed!
                return false;
+       } elseif ("".bigintval($limit)."" != "".$limit."") {
+               // Invalid amount entered
+               return false;
        }
 
        // Register the new URL
-       return SURFBAR_REGISTER_URL($url, $GLOBALS['userid']);
+       return SURFBAR_REGISTER_URL($url, $GLOBALS['userid'], "PENDING", "reg", $limit);
 }
 // Create list of actions depending on status for the user
 function SURFBAR_MEMBER_ACTIONS ($urlId, $status) {
@@ -349,7 +355,7 @@ ORDER BY %s %s
        return $lastUrlData;
 }
 // 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") {
+function SURFBAR_REGISTER_URL ($url, $uid, $status="PENDING", $addMode="reg", $limit=0) {
        global $_CONFIG;
 
        // Make sure by the user registered URLs are always pending
@@ -360,14 +366,22 @@ function SURFBAR_REGISTER_URL ($url, $uid, $status="PENDING", $addMode="reg") {
                'url'         => $url,
                'frametester' => FRAMETESTER($url),
                'uid'         => $uid,
-               'status'      => $status
+               'status'      => $status,
+               'limit'       => $limit
        );
 
        // Insert the URL into database
        $content['insert_id'] = SURFBAR_INSERT_URL_BY_ARRAY($content);
 
-       // Translate status, reward and costs
+       // Is this ID valid?
+       if ($content['insert_id'] == 0) {
+               // INSERT did not insert any data!
+               return false;
+       } // END - if
+
+       // Translate status and limit
        $content['status'] = SURFBAR_TRANSLATE_STATUS($content['status']);
+       $content['limit'] = SURFBAR_TRANSLATE_LIMIT($content['limit']);
 
        // If in reg-mode we notify admin
        if (($addMode == "reg") || ($_CONFIG['surfbar_notify_admin_unlock'] == "Y")) {
@@ -390,11 +404,13 @@ function SURFBAR_INSERT_URL_BY_ARRAY ($urlData) {
        if (empty($uid)) $uid = 0;
 
        // Just run the insert query for now
-       SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_surfbar_urls (userid, url, status) VALUES(%s, '%s', '%s')",
+       SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_surfbar_urls (userid,url,status,views_max,views_allowed) VALUES(%s,'%s','%s','%s','%s')",
                array(
                        $uid,
                        $urlData['url'],
-                       $urlData['status']
+                       $urlData['status'],
+                       $urlData['limit'],
+                       $urlData['limit']
                ), __FILE__, __LINE__
        );
 
@@ -443,6 +459,20 @@ function SURFBAR_NOTIFY_USER ($messageType, $content) {
        // Send the email
        return SEND_EMAIL($content['uid'], $subject, $mailText);
 }
+// Translates the limit
+function SURFBAR_TRANSLATE_LIMIT ($limit) {
+       // Is this zero?
+       if ($limit == 0) {
+               // Unlimited!
+               $return = MEMBER_SURFBAR_UNLIMITED_VIEWS;
+       } else {
+               // Translate comma
+               $return = TRANSLATE_COMMA($limit);
+       }
+
+       // Return value
+       return $return;
+}
 // Translate the URL status
 function SURFBAR_TRANSLATE_STATUS ($status) {
        // Create constant name
@@ -737,8 +767,20 @@ function SURFBAR_PAY_POINTS ($urlId) {
 function SURFBAR_UPDATE_INSERT_STATS_RECORD () {
        global $_CONFIG;
 
-       // Update views_total
-       SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_surfbar_urls SET views_total=views_total+1 WHERE id=%s LIMIT 1",
+       // Init add
+       $ADD = "";
+
+       // Get allowed views
+       $allowed = SURFBAR_GET_ALLOWED_VIEWS();
+
+       // Do we have a limit?
+       if ($allowed > 0) {
+               // Then count views_max down!
+               $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()), __FILE__, __LINE__);
 
        // Update the stats entry
@@ -1200,7 +1242,7 @@ function SURFBAR_DETERMINE_NEXT_ID ($urlId = 0) {
 
                // And query the database
                //DEBUG_LOG(__FUNCTION__.":randNum={$randNum},maxRand={$maxRand},surfLock=".SURFBAR_GET_DATA('surf_lock')."");
-               $result = SQL_QUERY_ESC("SELECT sbu.id, sbu.userid, sbu.url, sbs.last_salt, sbu.reward, sbu.costs, sbu.views_total, UNIX_TIMESTAMP(l.last_surfed) AS last_surfed
+               $result = SQL_QUERY_ESC("SELECT sbu.id, sbu.userid, sbu.url, sbs.last_salt, sbu.reward, sbu.costs, sbu.views_total, sbu.views_max, sbu.views_allowed, UNIX_TIMESTAMP(l.last_surfed) AS last_surfed
 FROM "._MYSQL_PREFIX."_surfbar_urls AS sbu
 LEFT JOIN "._MYSQL_PREFIX."_surfbar_salts AS sbs
 ON sbu.id=sbs.url_id
@@ -1214,7 +1256,7 @@ LIMIT %s,1",
                );
        } else {
                // Get data from specified id number
-               $result = SQL_QUERY_ESC("SELECT sbu.id, sbu.userid, sbu.url, sbs.last_salt, sbu.reward, sbu.costs, sbu.views_total, UNIX_TIMESTAMP(l.last_surfed) AS last_surfed
+               $result = SQL_QUERY_ESC("SELECT sbu.id, sbu.userid, sbu.url, sbs.last_salt, sbu.reward, sbu.costs, sbu.views_total, sbu.views_max, sbu.views_allowed, UNIX_TIMESTAMP(l.last_surfed) AS last_surfed
 FROM "._MYSQL_PREFIX."_surfbar_urls AS sbu
 LEFT JOIN "._MYSQL_PREFIX."_surfbar_salts AS sbs
 ON sbu.id=sbs.url_id
@@ -1342,5 +1384,10 @@ function SURFBAR_GET_RELOAD_TIME () {
        // Get data element and return its contents
        return SURFBAR_GET_DATA('time');
 }
+// Getter for allowed views
+function SURFBAR_GET_ALLOWED_VIEWS () {
+       // Get data element and return its contents
+       return SURFBAR_GET_DATA('views_allowed');
+}
 //
 ?>