X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Flibs%2Fbonus_functions.php;h=2487665b87adeafff19855f71cef87f75c7c49e5;hb=d476e02cca701687022b734b396ca49267c5e103;hp=3daf1a0e456bb072211cacd18b56100890ea0669;hpb=e01fcf1ca8ddeb72af76465df3ef72301a1cdae7;p=mailer.git diff --git a/inc/libs/bonus_functions.php b/inc/libs/bonus_functions.php index 3daf1a0e45..2487665b87 100644 --- a/inc/libs/bonus_functions.php +++ b/inc/libs/bonus_functions.php @@ -1,7 +1,7 @@ = "0.3.5") && (getConfig('bonus_mode') != "ADD") && ($points > 0)) BONUS_POINTS_HANDLER($points); + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_bonus_turbo` (`userid`, `mail_id`, `bonus_id`, `level`, `points`, `timemark`) VALUES (%s, %s, %s, %s, %s, UNIX_TIMESTAMP())", + array( + bigintval($userid), + bigintval($mail), + bigintval($bonus), + $rank, + $points + ), __FUNCTION__, __LINE__); + + if ((getExtensionVersion('bonus') >= '0.3.5') && (getConfig('bonus_mode') != "ADD") && ($points > 0)) handleBonusPoints($points); } + // -function BONUS_MAKE_RANK_ROWS ($data, $type, $uid) { - $self = false; $OUT = ""; +function addBonusRanks ($data, $type, $userid) { + // Init variables + $self = false; $OUT = ''; $GLOBALS['ranking_content'] = array(); + + // Clear rankings by default + $GLOBALS['ranking_content']['rankings'] = ''; // How many ranks do we have? - $ranks = count(explode(";", getConfig('turbo_rates'))) + 1; + $ranks = count(explode(';', getConfig('turbo_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=%s LIMIT 1", - array($type, $data, $uid), __FUNCTION__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `level`, `points`, `timemark` FROM `{?_MYSQL_PREFIX?}_bonus_turbo` WHERE `%s`=%s AND `userid`=%s LIMIT 1", + array( + $type, + $data, + $userid + ), __FUNCTION__, __LINE__); + + // Entry found? if (SQL_NUMROWS($result) == 1) { // Load data - list($rank, $points, $mark) = SQL_FETCHROW($result); + $GLOBALS['ranking_content'] = merge_array($GLOBALS['ranking_content'], SQL_FETCHARRAY($result)); // Remember all values for later use - $self = true; $points = TRANSLATE_COMMA($points); + $self = true; // Transfer data to template - define('__YR_LEVEL' , $rank); - define('__YR_POINTS', $points); - define('__YR_TMARK' , MAKE_DATETIME($mark, "1")); + $GLOBALS['ranking_content']['yr_level'] = $GLOBALS['ranking_content']['level']; + $GLOBALS['ranking_content']['yr_points'] = translateComma($GLOBALS['ranking_content']['points']); + $GLOBALS['ranking_content']['yr_tmark'] = generateDateTime($GLOBALS['ranking_content']['timemark'], 1); // Load template - define('__YOUR_RANKING_LINE', LOAD_TEMPLATE("show_bonus_yr", true)); + $GLOBALS['ranking_content']['own'] = loadTemplate('show_bonus_yr', true, $GLOBALS['ranking_content']); } // END - if // Load rankings - $result = SQL_QUERY_ESC("SELECT id FROM `{!_MYSQL_PREFIX!}_bonus_turbo` WHERE %s=%s ORDER BY level LIMIT %s", - array($type, $data, getConfig('bonus_lines')), __FUNCTION__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `id` FROM `{?_MYSQL_PREFIX?}_bonus_turbo` WHERE %s=%s ORDER BY `level` ASC LIMIT {?bonus_lines?}", + array($type, $data), __FUNCTION__, __LINE__); if (SQL_NUMROWS($result) > 0) { // Start generating the ranking list $max = SQL_NUMROWS($result); + // Init variables $SW = 2; + + // Output all ranks (levels) 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", + $result_users = SQL_QUERY_ESC("SELECT + `userid`, `points` +FROM + `{?_MYSQL_PREFIX?}_bonus_turbo` +WHERE + `%s`=%s AND + `level`=%s +LIMIT 1", array($type, $data, $rank), __FUNCTION__, __LINE__); // Nothing found by default - $userid = "---"; $points = "---"; + $rows['userid'] = '---'; + $rows['points'] = '---'; // Are you one of them? if (SQL_NUMROWS($result_users) == 1) { // Load data - list($userid, $points, $mark) = SQL_FETCHROW($result_users); + $rows = merge_array($rows, SQL_FETCHARRAY($result_users)); + + // Is ext-nickname active? + if (isExtensionActive('nickname')) { + // Then get the nickname + $nick = getNickname($rows['userid']); + + // Is it not empty? Then use it + if (!empty($nick)) $rows['userid'] = $nick; + } // END - if // Translate comma - $points = TRANSLATE_COMMA($points); + $rows['points'] = translateComma($rows['points']); } // END - if + // Free result + SQL_FREERESULT($result_users); + + // Add more + $rows['rank'] = $rank; + $rows['sw'] = $SW; + // Output row $OUT .= "