X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Flibs%2Fsurfbar_functions.php;h=164813300eff020e93abbc78d0b90e599769ebb2;hp=321a76a64e8b1f1947fe9dd14304886bbc41fee6;hb=3df5cfd765d32de200a4db2a21a04cb2fde40b23;hpb=e49ee20d8174b780048a140cf575ad930e662d86 diff --git a/inc/libs/surfbar_functions.php b/inc/libs/surfbar_functions.php index 321a76a64e..164813300e 100644 --- a/inc/libs/surfbar_functions.php +++ b/inc/libs/surfbar_functions.php @@ -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, $limit) { +function SURFBAR_ADMIN_ADD_URL ($url, $limit, $reload) { // Do some pre-checks if (!IS_ADMIN()) { // Not an admin @@ -59,10 +59,13 @@ function SURFBAR_ADMIN_ADD_URL ($url, $limit) { } elseif ("".($limit + 0)."" != "".$limit."") { // Invalid amount entered return false; + } elseif ("".($reload + 0)."" != "".$reload."") { + // Invalid amount entered + return false; } // Register the new URL - return SURFBAR_REGISTER_URL($url, "0", "ACTIVE", "unlock", $limit); + return SURFBAR_REGISTER_URL($url, "0", "ACTIVE", "unlock", array('limit' => $limit, 'reload' => $reload)); } // Admin unlocked an email so we can migrate the URL function SURFBAR_ADMIN_MIGRATE_URL ($url, $uid) { @@ -164,7 +167,7 @@ function SURFBAR_MEMBER_ADD_URL ($url, $limit) { } // Register the new URL - return SURFBAR_REGISTER_URL($url, $GLOBALS['userid'], "PENDING", "reg", $limit); + return SURFBAR_REGISTER_URL($url, $GLOBALS['userid'], "PENDING", "reg", array('limit' => $limit)); } // Create list of actions depending on status for the user function SURFBAR_MEMBER_ACTIONS ($urlId, $status) { @@ -326,6 +329,24 @@ function SURFBAR_MEMBER_DELETE_ACTION ($urlData) { // Display form return SURFBAR_MEMBER_DISPLAY_ACTION_FORM("delete", $urlData); } +// Pause active banner +function SURFBAR_MEMBER_PAUSE_ACTION ($urlData) { + return SURFBAR_CHANGE_STATUS($urlData['id'], $urlData['status'], $urlData['new_status'], array($urlData['id'] => $urlData)); +} +// Unpause stopped banner +function SURFBAR_MEMBER_UNPAUSE_ACTION ($urlData) { + // Fix missing entry for template + $urlData['edit'] = $urlData['unpause']; + $urlData['edit']['url'] = $urlData['url']; + $urlData['edit']['limit'] = $urlData['views_max']; + + // Return status change + return SURFBAR_CHANGE_STATUS($urlData['id'], $urlData['status'], $urlData['new_status'], array($urlData['id'] => $urlData)); +} +// Resubmit locked URL +function SURFBAR_MEMBER_RESUBMIT_ACTION ($urlData) { + return SURFBAR_CHANGE_STATUS($urlData['id'], $urlData['status'], $urlData['new_status'], array($urlData['id'] => $urlData)); +} // Display selected "action form" function SURFBAR_MEMBER_DISPLAY_ACTION_FORM ($action, $urlData) { // Translate some data @@ -341,17 +362,20 @@ function SURFBAR_MEMBER_DISPLAY_ACTION_FORM ($action, $urlData) { $urlData['lock_reason'] = "---"; } // END - if - // Default is not limited - $urlData['limited_yes'] = ""; - $urlData['limited_no'] = " checked=\"checked\""; - $urlData['limited'] = "false"; - - // Is this URL limited? - if ($urlData['views_max'] > 0) { - // Then rewrite form data - $urlData['limited_yes'] = " checked=\"checked\""; - $urlData['limited_no'] = ""; - $urlData['limited'] = "true"; + // Include fields only for action 'edit' + if ($action == "edit") { + // Default is not limited + $urlData['limited_yes'] = ""; + $urlData['limited_no'] = " checked=\"checked\""; + $urlData['limited'] = "false"; + + // Is this URL limited? + if ($urlData['views_max'] > 0) { + // Then rewrite form data + $urlData['limited_yes'] = " checked=\"checked\""; + $urlData['limited_no'] = ""; + $urlData['limited'] = "true"; + } // END - if } // END - if // Load the form and display it @@ -397,33 +421,31 @@ function SURFBAR_MEMBER_EXECUTE_ACTION ($action, $urlData) { } // "Execute edit" function: Update changed data function SURFBAR_MEMBER_EXECUTE_EDIT_ACTION ($urlData) { + // Default is nothing done + $status = false; + // Translate URLs for testing $url1 = COMPILE_CODE($urlData['url']); $url2 = COMPILE_CODE($urlData['edit']['url']); // Has the URL or limit changed? - if (($urlData['views_allowed'] != $urlData['edit']['limit']) || ($url1 != $url2)) { + if (true) { + //if (($urlData['views_allowed'] != $urlData['edit']['limit']) || ($url1 != $url2)) { // Run the query SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_surfbar_urls SET url='%s', views_allowed=%s, views_max=%s WHERE id=%s AND status='%s' LIMIT 1", array($urlData['url'], $urlData['edit']['limit'], $urlData['edit']['limit'], $urlData['id'], $urlData['status']), __FILE__, __LINE__); - // Prepare new data - $urlData['new_url'] = $urlData['edit']['url']; - $urlData['new_limit'] = $urlData['edit']['limit']; - unset($urlData['edit']); - - // Send admin notification - SURFBAR_NOTIFY_ADMIN("url_edited", $urlData); - - // Send user notification - SURFBAR_NOTIFY_USER("url_edited", $urlData); - // All fine - return true; + $status = true; } - // Not updated - return false; + // Return status + return $status; +} +// "Execute delete" function: Does nothing... +function SURFBAR_MEMBER_EXECUTE_DELETE_ACTION ($urlData) { + // Nothing special to do (see above function for such "special actions" to perform) + return true; } // // ----------------------------------------------------------------------------- @@ -520,7 +542,7 @@ function SURFBAR_GET_URL_DATA ($searchTerm, $column="id", $order="id", $sort="AS } // END - if // Look up the record - $result = SQL_QUERY_ESC("SELECT id, userid, url, views_total, views_max, views_allowed, status, registered, last_locked, lock_reason, views_max, views_allowed + $result = SQL_QUERY_ESC("SELECT id, userid, url, views_total, views_max, views_allowed, status, registered, last_locked, lock_reason, views_max, views_allowed, fixed_reload FROM "._MYSQL_PREFIX."_surfbar_urls WHERE %s='%s'".$add." ORDER BY %s %s @@ -549,20 +571,23 @@ 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", $limit=0) { +function SURFBAR_REGISTER_URL ($url, $uid, $status="PENDING", $addMode="reg", $extraFields = array()) { global $_CONFIG; // Make sure by the user registered URLs are always pending if ($addMode == "reg") $status = "PENDING"; // Prepare content - $content = array( + $content = array_merge($extraFields, array( 'url' => $url, 'frametester' => FRAMETESTER($url), 'uid' => $uid, 'status' => $status, - 'limit' => $limit - ); + )); + + // Is limit/reload set? + if (!isset($config['limit'])) $content['limit'] = 0; + if (!isset($config['reload'])) $content['reload'] = 0; // Insert the URL into database $content['insert_id'] = SURFBAR_INSERT_URL_BY_ARRAY($content); @@ -574,7 +599,6 @@ function SURFBAR_REGISTER_URL ($url, $uid, $status="PENDING", $addMode="reg", $l } // 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 @@ -598,13 +622,14 @@ 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,views_max,views_allowed) VALUES (%s,'%s','%s',%s,%s)", + SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_surfbar_urls (userid,url,status,views_max,views_allowed,fixed_reload) VALUES (%s,'%s','%s',%s,%s,%s)", array( $uid, $urlData['url'], $urlData['status'], $urlData['limit'], - $urlData['limit'] + $urlData['limit'], + $urlData['reload'] ), __FILE__, __LINE__ ); @@ -667,6 +692,14 @@ function SURFBAR_NOTIFY_USER ($messageType, $content) { ADD_FATAL(MEMBER_SURFBAR_NOTIFY_SUBJECT_404, $constantName); } + // Translate some data if present + if (isset($content['status'])) $content['status'] = SURFBAR_TRANSLATE_STATUS($content['status']); + if (isset($content['registered'])) $content['registered'] = MAKE_DATETIME($content['registered'], "2"); + if (isset($content['last_locked'])) $content['last_locked'] = MAKE_DATETIME($content['last_locked'], "2"); + if (isset($content['views_total'])) $content['views_total'] = TRANSLATE_COMMA($content['views_total']); + if (isset($content['views_allowed'])) $content['views_allowed'] = TRANSLATE_COMMA($content['views_allowed']); + if (isset($content['views_max'])) $content['views_max'] = TRANSLATE_COMMA($content['views_max']); + // Load template $mailText = LOAD_EMAIL_TEMPLATE($templateName, $content, $content['uid']); @@ -1151,6 +1184,15 @@ GROUP BY userid", function SURFBAR_DETERMINE_WAIT_TIME () { global $_CONFIG; + // Get fixed reload lock + $fixed = SURFBAR_GET_FIXED_RELOAD(); + + // Is the fixed reload time set? + if ($fixed > 0) { + // Return it + return $fixed; + } // END - if + // Static time is default $time = $_CONFIG['surfbar_static_time']; @@ -1196,23 +1238,28 @@ function SURFBAR_CHANGE_STATUS ($urlId, $prevStatus, $newStatus, $data=array()) // ---------- Comment out for debugging/developing member actions! --------- // Was that fine? - if (SQL_AFFECTEDROWS() != 1) { - // No, something went wrong - return false; - } // END - if + //if (SQL_AFFECTEDROWS() != 1) { + // // No, something went wrong + // return false; + //} // END - if // Prepare content for notification routines $data[$urlId]['uid'] = $data[$urlId]['userid']; $data[$urlId]['frametester'] = FRAMETESTER($data[$urlId]['url']); $data[$urlId]['reward'] = TRANSLATE_COMMA($_CONFIG['surfbar_static_reward']); $data[$urlId]['costs'] = TRANSLATE_COMMA($_CONFIG['surfbar_static_costs']); - $data[$urlId]['status'] = SURFBAR_TRANSLATE_STATUS($newStatus); + + // Do some dirt fixing here: + if (($data[$urlId]['status'] == "STOPPED") && ($newStatus == "pending")) { + // Fix for template change + $newStatus = "continued"; + } // END - if // Send admin notification - SURFBAR_NOTIFY_ADMIN("url_{$newStatus}", $data[$urlId]); + SURFBAR_NOTIFY_ADMIN("url_{$data[$urlId]['status']}_{$newStatus}", $data[$urlId]); // Send user notification - SURFBAR_NOTIFY_USER("url_{$newStatus}", $data[$urlId]); + SURFBAR_NOTIFY_USER("url_{$data[$urlId]['status']}_{$newStatus}", $data[$urlId]); // All done! return true; @@ -1480,7 +1527,7 @@ function SURFBAR_DETERMINE_NEXT_ID ($urlId = 0) { // And query the database //DEBUG_LOG(__FUNCTION__, __LINE__, "randNum={$randNum},maxRand={$maxRand},surfLock=".SURFBAR_GET_DATA('surf_lock')."", false); - $result = SQL_QUERY_ESC("SELECT sbu.id, sbu.userid, sbu.url, sbs.last_salt, sbu.views_total, sbu.views_max, sbu.views_allowed, UNIX_TIMESTAMP(l.last_surfed) AS last_surfed + $result = SQL_QUERY_ESC("SELECT sbu.id, sbu.userid, sbu.url, sbs.last_salt, sbu.views_total, sbu.views_max, sbu.views_allowed, UNIX_TIMESTAMP(l.last_surfed) AS last_surfed, sbu.fixed_reload FROM "._MYSQL_PREFIX."_surfbar_urls AS sbu LEFT JOIN "._MYSQL_PREFIX."_surfbar_salts AS sbs ON sbu.id=sbs.url_id @@ -1494,7 +1541,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.views_total, sbu.views_max, sbu.views_allowed, UNIX_TIMESTAMP(l.last_surfed) AS last_surfed + $result = SQL_QUERY_ESC("SELECT sbu.id, sbu.userid, sbu.url, sbs.last_salt, sbu.views_total, sbu.views_max, sbu.views_allowed, UNIX_TIMESTAMP(l.last_surfed) AS last_surfed, sbu.fixed_reload FROM "._MYSQL_PREFIX."_surfbar_urls AS sbu LEFT JOIN "._MYSQL_PREFIX."_surfbar_salts AS sbs ON sbu.id=sbs.url_id @@ -1627,5 +1674,10 @@ function SURFBAR_GET_ALLOWED_VIEWS () { // Get data element and return its contents return SURFBAR_GET_DATA('views_allowed'); } +// Getter for fixed reload +function SURFBAR_GET_FIXED_RELOAD () { + // Get data element and return its contents + return SURFBAR_GET_DATA('fixed_reload'); +} // ?>