= "0.3.5") && ($CONFIG['bonus_mode'] != "ADD") && ($points > 0)) BONUS_POINTS_HANDLER($points); } // function BONUS_MAKE_RANK_ROWS($data, $type, $uid) { global $CONFIG; $self = false; $OUT = ""; // How many ranks do we have? $ranks = sizeof(explode(";", $CONFIG['bonus_rates'])) + 1; // Load current user's data $result = SQL_QUERY_ESC("SELECT level, points, timemark FROM "._MYSQL_PREFIX."_bonus_turbo WHERE %s=%s AND userid=%d LIMIT 1", array($type, $data, $uid), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { // Load data list($rank, $points, $mark) = SQL_FETCHROW($result); // Remember all values for later use $self = true; $points = TRANSLATE_COMMA($points); // Transfer data to template define('__YR_LEVEL' , $rank); define('__YR_POINTS', $points); define('__YR_TMARK' , MAKE_DATETIME($mark, "1")); // Load template define('__YOUR_RANKING_LINE', LOAD_TEMPLATE("show_bonus_yr", true)); } // Load rankings $result = SQL_QUERY_ESC("SELECT id FROM "._MYSQL_PREFIX."_bonus_turbo WHERE %s=%s ORDER BY level LIMIT %s", array($type, $data, $CONFIG['bonus_lines']), __FILE__, __LINE__); if (SQL_NUMROWS($result) > 0) { // Start generating the ranking list $max = SQL_NUMROWS($result); $SW = 2; for ($rank = 1; $rank <= $max; $rank++) { // Load data $result_users = SQL_QUERY_ESC("SELECT userid, points, timemark FROM "._MYSQL_PREFIX."_bonus_turbo WHERE %s=%s AND level='%s' LIMIT 1", array($type, $data, $rank), __FILE__, __LINE__); list($userid, $points, $mark) = SQL_FETCHROW($result_users); // Are you one of them? if (empty($userid)) { // Nothing found $userid = "---"; $points = "---"; } else { // Translate comma $points = TRANSLATE_COMMA($points); } // Output row $OUT .= "  ".$rank.". ".$userid." ".$points." \n"; $SW = 3 - $SW; } if (!$self) { // If current user was not found set constant define('__YOUR_RANKING_LINE', BONUS_RANK_YOU_ARE_NOT_FOUND); } } else { // No entries found! $OUT = " ".BONUS_NO_RANKS_1.$data.BONUS_NO_RANKS_2." \n"; define('__YOUR_RANKING_LINE', ""); } return $OUT; } // function BONUS_POINTS_HANDLER($MODE) { global $CONFIG; // Shall we add bonus points? if ($CONFIG['bonus_active'] == "N") return; // Switch to jackpot-mode when no UID is supplied but userid-mode is selected if (($CONFIG['bonus_mode'] == "UID") && ($CONFIG['bonus_uid'] == "0")) $CONFIG['bonus_mode'] = "JACKPOT"; if ($MODE == "login_bonus") { // Login bonus detected $POINTS = $CONFIG['login_bonus']; } else { // Direct points supplied $POINTS = $MODE; } // Subtract points from... switch ($CONFIG['bonus_mode']) { case "JACKPOT": // ... jackpot if ((SUB_JACKPOT($POINTS) == -1) && ($CONFIG['bonus_uid'] > 0)) { // Check points amount first... $TOTAL = GET_TOTAL_DATA($CONFIG['bonus_uid'], "user_points", "points") - GET_TOTAL_DATA($CONFIG['bonus_uid'], "user_data", "used_points"); if ($TOTAL >= $POINTS) { // Subtract points from userid's account $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid=%d LIMIT 1", array(bigintval($POINTS), bigintval($CONFIG['bonus_uid'])), __FILE__, __LINE__); // Update mediadata as well if (GET_EXT_VERSION("mediadata") >= "0.0.4") { // Update database MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $POINTS); } } } break; case "UID": // ... userid's account // Check his amount first $TOTAL = GET_TOTAL_DATA($CONFIG['bonus_uid'], "user_points", "points") - GET_TOTAL_DATA($CONFIG['bonus_uid'], "user_data", "used_points"); if ($TOTAL >= $POINTS) { // Subtract points from userid's account $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid=%d LIMIT 1", array(bigintval($POINTS), bigintval($CONFIG['bonus_uid'])), __FILE__, __LINE__); // Update mediadata as well if (GET_EXT_VERSION("mediadata") >= "0.0.4") { // Update database MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $POINTS); } } else { // Try to subtract from jackpot $DUMMY = SUB_JACKPOT($POINTS); } break; } } // function BONUS_PURGE_EXPIRED_TURBO_BONUS() { global $CONFIG; // Remove entries $result = SQL_QUERY("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_bonus_turbo WHERE timemark < ".(time() - $CONFIG['bonus_timeout']), __FILE__, __LINE__); $DELETED = SQL_AFFECTEDROWS($result); if ($DELETED > 0) { // Send out email to admin if (GET_EXT_VERSION("admins") >= "0.4.1") { SEND_ADMIN_EMAILS_PRO(AUTOPURGE_ADMIN_TURBO_SUBJECT, "admin_autopurge_turbo", $DELETED, ""); } else { $msg = LOAD_EMAIL_TEMPLATE("admin_autopurge_turbo", $DELETED, ""); SEND_ADMIN_EMAILS(AUTOPURGE_ADMIN_TURBO_SUBJECT, $msg); } } } // ?>