Entire rewrite of mail part in app! Not kidding here...
[mailer.git] / inc / libs / surfbar_functions.php
index dcf0902e2ab86ce6d2b0a8dc8b8250428e9bb196..da4aba5a0c4e9a97f916fc22642469a5e71c213f 100644 (file)
@@ -59,7 +59,27 @@ function SURFBAR_ADMIN_ADD_URL ($url) {
        }
 
        // Register the new URL
-       return SURFBAR_REGISTER_URL($url, "0", "0", "ACTIVE", "unlock");
+       return SURFBAR_REGISTER_URL($url, "0", "ACTIVE", "unlock");
+}
+// Admin unlocked an email so we can migrate the URL
+function SURFBAR_ADMIN_MIGRATE_URL ($url, $uid) {
+       // Do some pre-checks
+       if (!IS_ADMIN()) {
+               // Not an admin
+               return false;
+       } elseif (!VALIDATE_URL($url)) {
+               // URL invalid
+               return false;
+       } elseif (SURFBAR_LOOKUP_BY_URL($url, $uid)) {
+               // URL already found in surfbar!
+               return false;
+       } elseif (!SURFBAR_IF_USER_BOOK_MORE_URLS($uid)) {
+               // No more allowed!
+               return false;
+       }
+
+       // Register the new URL
+       return SURFBAR_REGISTER_URL($url, $uid, "MIGRATED", "migrate");
 }
 // Admin function for unlocking URLs
 function SURFBAR_ADMIN_UNLOCK_URL_IDS ($IDs) {
@@ -319,7 +339,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, $paymentId=0, $status="PENDING", $addMode="reg") {
+function SURFBAR_REGISTER_URL ($url, $uid, $status="PENDING", $addMode="reg") {
        global $_CONFIG;
 
        // Make sure by the user registered URLs are always pending
@@ -408,7 +428,7 @@ function SURFBAR_NOTIFY_USER ($messageType, $content) {
        @eval($eval);
 
        // Load template
-       $mailText = LOAD_EMAIL_TEMPLATE($templateName, $content);
+       $mailText = LOAD_EMAIL_TEMPLATE($templateName, $content, $content['uid']);
 
        // Send the email
        return SEND_EMAIL($content['uid'], $subject, $mailText);
@@ -1049,7 +1069,7 @@ LEFT JOIN "._MYSQL_PREFIX."_surfbar_salts AS sbs
 ON sbu.id=sbs.url_id
 LEFT JOIN "._MYSQL_PREFIX."_surfbar_locks AS l
 ON sbu.id=l.url_id
-WHERE sbu.userid NOT IN (".implode(",", $UIDs).") AND sbu.status='ACTIVE'".$ADD."
+WHERE sbu.userid NOT IN (".implode(",", $UIDs).") AND (sbu.views_allowed=0 OR (sbu.views_allowed > 0 AND sbu.views_max > 0)) AND sbu.status='ACTIVE'".$ADD."
 GROUP BY sbu.id", __FILE__, __LINE__);
 
        // Log last query
@@ -1114,6 +1134,20 @@ function SURFBAR_GET_ACTION_ARRAY ($status) {
        // Return result
        return $returnArray;
 }
+// Reload to configured stop page
+function SURFBAR_RELOAD_TO_STOP_PAGE($page="stop") {
+       global $_CONFIG;
+
+       // Internal or external?
+       if (($_CONFIG['surfbar_pause_mode'] == "INTERNAL") || (empty($_CONFIG['surfbar_pause_url']))) {
+               // Reload to internal page
+               LOAD_URL("surfbar.php?frame=".$page);
+       } else {
+               // Reload to external page
+               LOAD_URL($_CONFIG['surfbar_pause_url']);
+       }
+}
+
 // Determine next id for surfbar or get data for given id, always call this before you call other
 // getters below this function!!!
 function SURFBAR_DETERMINE_NEXT_ID ($urlId = 0) {
@@ -1162,7 +1196,7 @@ LEFT JOIN "._MYSQL_PREFIX."_surfbar_salts AS sbs
 ON sbu.id=sbs.url_id
 LEFT JOIN "._MYSQL_PREFIX."_surfbar_locks AS l
 ON sbu.id=l.url_id
-WHERE sbu.userid NOT IN (".implode(",", $UIDs).") AND sbu.status='ACTIVE'".$ADD."
+WHERE sbu.userid NOT IN (".implode(",", $UIDs).") AND sbu.status='ACTIVE' AND (sbu.views_allowed=0 OR (sbu.views_allowed > 0 AND sbu.views_max > 0))".$ADD."
 GROUP BY sbu.id
 ORDER BY l.last_surfed ASC, sbu.id ASC
 LIMIT %s,1",
@@ -1176,7 +1210,7 @@ LEFT JOIN "._MYSQL_PREFIX."_surfbar_salts AS sbs
 ON sbu.id=sbs.url_id
 LEFT JOIN "._MYSQL_PREFIX."_surfbar_locks AS l
 ON sbu.id=l.url_id
-WHERE sbu.userid != %s AND sbu.status='ACTIVE' AND sbu.id=%s
+WHERE sbu.userid != %s AND sbu.status='ACTIVE' AND sbu.id=%s AND (sbu.views_allowed=0 OR (sbu.views_allowed > 0 AND sbu.views_max > 0))
 LIMIT 1",
                        array($GLOBALS['userid'], bigintval($urlId)), __FILE__, __LINE__
                );