X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=0.2.1%2Fdoubler.php;h=a630b2a4f484309aba4b47e28f3d1941311e1665;hb=7bc25dd08431c94ce9edca131d56c1a36b13c28a;hp=eb0e9dc8f425542b80903328be220ec88729a318;hpb=4696b799ced069ba2a264fa3b38fc033e3dc31dc;p=mailer.git diff --git a/0.2.1/doubler.php b/0.2.1/doubler.php index eb0e9dc8f4..a630b2a4f4 100644 --- a/0.2.1/doubler.php +++ b/0.2.1/doubler.php @@ -1,326 +1,326 @@ -= $CONFIG['doubler_min']) && ($_POST['points'] <= $CONFIG['doubler_max'])); - - // Check all together - if ((!empty($uid)) && ($password == generateHash($_POST['pass'], substr($password, 0, -40))) && ($status == "CONFIRMED") && ($probe_points)) - { - // Nickname resolved to a unique userid or direct userid entered by the member - $DOUBLER_UID = $uid; - - // Calulcate points - $POINTS = GET_TOTAL_DATA($uid, "user_points", "points") - GET_TOTAL_DATA($uid, "user_data", "used_points"); - - // So let's continue with probing his points amount - if (($POINTS - $CONFIG['doubler_left'] - $_POST['points'] * $CONFIG['doubler_charge']) >= 0) - { - // Enough points are left so let's continue with the doubling process - // Create doubling "account" width *DOUBLED* points - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_doubler (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s', '%s', '%s', '".$_SERVER['REMOTE_ADDR']."', UNIX_TIMESTAMP(), 'N', 'N')", - array($uid, bigintval($GLOBALS['refid']), bigintval($_POST['points'] * 2)), __FILE__, __LINE__); - - // Subtract entered points - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid=%d LIMIT 1", - array($_POST['points'], $uid), __FILE__, __LINE__); - - // Update mediadata as well - if (GET_EXT_VERSION("mediadata") >= "0.0.4") - { - // Update database - MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $_POST['points']); - } - - // Add points to "total payed" including charge - $points = $_POST['points'] - $_POST['points'] * $CONFIG['doubler_charge']; - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_config SET doubler_points=doubler_points+%s WHERE config='0' LIMIT 1", - array($points), __FILE__, __LINE__); - $CONFIG['doubler_points'] += $points; - - // Destroy cache - if (GET_EXT_VERSION("cache") >= "0.1.2") - { - if ($CACHE->cache_file("config", true)) $CACHE->cache_destroy(); - } - - // Add second line for the referral but only when uid != refid - if (($GLOBALS['refid'] > 0) && ($GLOBALS['refid'] != $uid)) - { - // Okay add a refid line and apply refid percents - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_doubler (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s', '0', '%s', '".$_SERVER['REMOTE_ADDR']."', UNIX_TIMESTAMP(), 'N', 'Y')", - array(bigintval($GLOBALS['refid']), bigintval($_POST['points'] * 2 * $CONFIG['doubler_ref'])), __FILE__, __LINE__); - - // And that's why we dont't want to you more than one referral level of doubler-points. ^^^ - } - - // Update usage counter - $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_config SET doubler_counter=doubler_counter+1 WHERE config='0' LIMIT 1", __FILE__, __LINE__); - $CONFIG['doubler_counter']++; - - // Set constant - define('__DOUBLER_MSG', LOAD_TEMPLATE("doubler_reflink", true, $_POST['userid'])); - } - else - { - // Not enougth points left - define('__ERROR_MSG', DOUBLER_FORM_NO_POINTS_LEFT); - } - - } - elseif ($status == "CONFIRMED") - { - // Account is unconfirmed! - define('__ERROR_MSG', DOUBLER_FORM_WRONG_PASS); - } - elseif ($status == "UNCONFIRMED") - { - // Account is unconfirmed! - define('__ERROR_MSG', DOUBLER_FORM_STATUS_UNCONFIRMED); - } - elseif ($status == "LOCKED") - { - // Account is locked by admin / holiday! - define('__ERROR_MSG', DOUBLER_FORM_STATUS_LOCKED); - } - elseif ($_POST['points'] < $CONFIG['doubler_min']) - { - // Not enougth points entered - define('__ERROR_MSG', DOUBLER_FORM_POINTS_MIN); - } - elseif ($_POST['points'] > $CONFIG['doubler_max']) - { - // Too much points entered - define('__ERROR_MSG', DOUBLER_FORM_POINTS_MAX); - } - elseif ($probe_nickname) - { - // Cannot resolv nickname -> userid - define('__ERROR_MSG', DOUBLER_FORM_404_NICKNAME); - } - else - { - // Wrong password or account not found - define('__ERROR_MSG', DOUBLER_FORM_404_MEMBER); - } - } - elseif (empty($_POST['userid'])) - { - // Login not entered - define('__ERROR_MSG', DOUBLER_FORM_404_LOGIN); - } - elseif (empty($_POST['pass'])) - { - // Password not entered - define('__ERROR_MSG', DOUBLER_FORM_404_PASSWORD); - } - elseif (empty($_POST['points'])) - { - // points not entered - define('__ERROR_MSG', DOUBLER_FORM_404_POINTS); - } - } - - // Set messages to nothing - if (!defined('__DOUBLER_MSG')) define('__DOUBLER_MSG', ""); - if (!defined('__ERROR_MSG')) define('__ERROR_MSG' , ""); - - // Shall I check for points immediately? - if ($CONFIG['doubler_send_mode'] == "DIRECT") require(PATH."inc/doubler_send.php"); - - // Output header - include(PATH."inc/header.php"); - - // Banner in text - define('__DOUBLER_BANNER', LOAD_TEMPLATE("doubler_banner", true)); - - // Load header/footer templates - define('__DOUBLER_HEADER', LOAD_TEMPLATE("doubler_header", true)); - define('__DOUBLER_FOOTER', LOAD_TEMPLATE("doubler_footer", true)); - - if (!empty($uid)) - { - // Transfer userid/nickname to constant - define('__REFID', $uid); - } - elseif (!empty($GLOBALS['refid'])) - { - // Transfer userid/nickname to constant - define('__REFID', $GLOBALS['refid']); - } - else - { - // Transfer default refid to constant - define('__REFID', $CONFIG['def_refid']); - } - - // Percent values etc. - define('__CHARGE_VALUE', TRANSLATE_COMMA($CONFIG['doubler_charge'] * 100)); - define('__REF_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_ref'] * 100)); - define('__TOTAL_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_points'])); - define('__MIN_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_min'])); - define('__MAX_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_max'])); - - // Text "Enter login" - if (EXT_IS_ACTIVE("nickname")) - { - // Choose login/nickname - define('DOUBLER_ENTER_LOGIN', GUEST_ENTER_LOGIN_NICKNAME); - } - else - { - // Simple login ID - define('DOUBLER_ENTER_LOGIN', GUEST_ENTER_LOGIN); - } - - // Which mail-send-mode did the admin setup? - switch ($CONFIG['doubler_send_mode']) - { - case "DIRECT": - define('DOUBLER_PAYOUT_TIME', DOUBLER_PAYOUT_TIME_DIRECT); - break; - - case "RESET": - define('DOUBLER_PAYOUT_TIME', DOUBLER_PAYOUT_TIME_RESET); - break; - } - - // Generate table with already payed out doubles - define('__DOUBLER_PAYOUT_HISTORY', DOUBLER_GENERATE_TABLE("0", "Y", "N", "DESC")); - - // Generate timemark - define('__TIMEOUT_MARK', CREATE_FANCY_TIME($CONFIG['doubler_timeout'])); - - // Usage counter - define('__DOUBLER_COUNTER', $CONFIG['doubler_counter']); - - // Points left to doubler - define('__LEFT_VALUE', TRANSLATE_COMMA(DOUBLER_GET_TOTAL_POINTS_LEFT())); - - // Output neccessary form for this - LOAD_TEMPLATE("doubler_index"); - - // Output footer - include(PATH."inc/footer.php"); -} - else -{ - // You have to configure first! - LOAD_URL(URL."/install.php"); -} - -// Really all done here... ;-) -?> += $CONFIG['doubler_min']) && ($_POST['points'] <= $CONFIG['doubler_max'])); + + // Check all together + if ((!empty($uid)) && ($password == generateHash($_POST['pass'], substr($password, 0, -40))) && ($status == "CONFIRMED") && ($probe_points)) + { + // Nickname resolved to a unique userid or direct userid entered by the member + $DOUBLER_UID = $uid; + + // Calulcate points + $POINTS = GET_TOTAL_DATA($uid, "user_points", "points") - GET_TOTAL_DATA($uid, "user_data", "used_points"); + + // So let's continue with probing his points amount + if (($POINTS - $CONFIG['doubler_left'] - $_POST['points'] * $CONFIG['doubler_charge']) >= 0) + { + // Enough points are left so let's continue with the doubling process + // Create doubling "account" width *DOUBLED* points + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_doubler (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s', '%s', '%s', '".$_SERVER['REMOTE_ADDR']."', UNIX_TIMESTAMP(), 'N', 'N')", + array($uid, bigintval($GLOBALS['refid']), bigintval($_POST['points'] * 2)), __FILE__, __LINE__); + + // Subtract entered points + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid=%d LIMIT 1", + array($_POST['points'], $uid), __FILE__, __LINE__); + + // Update mediadata as well + if (GET_EXT_VERSION("mediadata") >= "0.0.4") + { + // Update database + MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $_POST['points']); + } + + // Add points to "total payed" including charge + $points = $_POST['points'] - $_POST['points'] * $CONFIG['doubler_charge']; + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_config SET doubler_points=doubler_points+%s WHERE config='0' LIMIT 1", + array($points), __FILE__, __LINE__); + $CONFIG['doubler_points'] += $points; + + // Destroy cache + if (GET_EXT_VERSION("cache") >= "0.1.2") + { + if ($CACHE->cache_file("config", true)) $CACHE->cache_destroy(); + } + + // Add second line for the referral but only when uid != refid + if (($GLOBALS['refid'] > 0) && ($GLOBALS['refid'] != $uid)) + { + // Okay add a refid line and apply refid percents + $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_doubler (userid, refid, points, remote_ip, timemark, completed, is_ref) VALUES ('%s', '0', '%s', '".$_SERVER['REMOTE_ADDR']."', UNIX_TIMESTAMP(), 'N', 'Y')", + array(bigintval($GLOBALS['refid']), bigintval($_POST['points'] * 2 * $CONFIG['doubler_ref'])), __FILE__, __LINE__); + + // And that's why we dont't want to you more than one referral level of doubler-points. ^^^ + } + + // Update usage counter + $result = SQL_QUERY("UPDATE "._MYSQL_PREFIX."_config SET doubler_counter=doubler_counter+1 WHERE config='0' LIMIT 1", __FILE__, __LINE__); + $CONFIG['doubler_counter']++; + + // Set constant + define('__DOUBLER_MSG', LOAD_TEMPLATE("doubler_reflink", true, $_POST['userid'])); + } + else + { + // Not enougth points left + define('__ERROR_MSG', DOUBLER_FORM_NO_POINTS_LEFT); + } + + } + elseif ($status == "CONFIRMED") + { + // Account is unconfirmed! + define('__ERROR_MSG', DOUBLER_FORM_WRONG_PASS); + } + elseif ($status == "UNCONFIRMED") + { + // Account is unconfirmed! + define('__ERROR_MSG', DOUBLER_FORM_STATUS_UNCONFIRMED); + } + elseif ($status == "LOCKED") + { + // Account is locked by admin / holiday! + define('__ERROR_MSG', DOUBLER_FORM_STATUS_LOCKED); + } + elseif ($_POST['points'] < $CONFIG['doubler_min']) + { + // Not enougth points entered + define('__ERROR_MSG', DOUBLER_FORM_POINTS_MIN); + } + elseif ($_POST['points'] > $CONFIG['doubler_max']) + { + // Too much points entered + define('__ERROR_MSG', DOUBLER_FORM_POINTS_MAX); + } + elseif ($probe_nickname) + { + // Cannot resolv nickname -> userid + define('__ERROR_MSG', DOUBLER_FORM_404_NICKNAME); + } + else + { + // Wrong password or account not found + define('__ERROR_MSG', DOUBLER_FORM_404_MEMBER); + } + } + elseif (empty($_POST['userid'])) + { + // Login not entered + define('__ERROR_MSG', DOUBLER_FORM_404_LOGIN); + } + elseif (empty($_POST['pass'])) + { + // Password not entered + define('__ERROR_MSG', DOUBLER_FORM_404_PASSWORD); + } + elseif (empty($_POST['points'])) + { + // points not entered + define('__ERROR_MSG', DOUBLER_FORM_404_POINTS); + } + } + + // Set messages to nothing + if (!defined('__DOUBLER_MSG')) define('__DOUBLER_MSG', ""); + if (!defined('__ERROR_MSG')) define('__ERROR_MSG' , ""); + + // Shall I check for points immediately? + if ($CONFIG['doubler_send_mode'] == "DIRECT") require(PATH."inc/doubler_send.php"); + + // Output header + include(PATH."inc/header.php"); + + // Banner in text + define('__DOUBLER_BANNER', LOAD_TEMPLATE("doubler_banner", true)); + + // Load header/footer templates + define('__DOUBLER_HEADER', LOAD_TEMPLATE("doubler_header", true)); + define('__DOUBLER_FOOTER', LOAD_TEMPLATE("doubler_footer", true)); + + if (!empty($uid)) + { + // Transfer userid/nickname to constant + define('__REFID', $uid); + } + elseif (!empty($GLOBALS['refid'])) + { + // Transfer userid/nickname to constant + define('__REFID', $GLOBALS['refid']); + } + else + { + // Transfer default refid to constant + define('__REFID', $CONFIG['def_refid']); + } + + // Percent values etc. + define('__CHARGE_VALUE', TRANSLATE_COMMA($CONFIG['doubler_charge'] * 100)); + define('__REF_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_ref'] * 100)); + define('__TOTAL_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_points'])); + define('__MIN_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_min'])); + define('__MAX_VALUE' , TRANSLATE_COMMA($CONFIG['doubler_max'])); + + // Text "Enter login" + if (EXT_IS_ACTIVE("nickname")) + { + // Choose login/nickname + define('DOUBLER_ENTER_LOGIN', GUEST_ENTER_LOGIN_NICKNAME); + } + else + { + // Simple login ID + define('DOUBLER_ENTER_LOGIN', GUEST_ENTER_LOGIN); + } + + // Which mail-send-mode did the admin setup? + switch ($CONFIG['doubler_send_mode']) + { + case "DIRECT": + define('DOUBLER_PAYOUT_TIME', DOUBLER_PAYOUT_TIME_DIRECT); + break; + + case "RESET": + define('DOUBLER_PAYOUT_TIME', DOUBLER_PAYOUT_TIME_RESET); + break; + } + + // Generate table with already payed out doubles + define('__DOUBLER_PAYOUT_HISTORY', DOUBLER_GENERATE_TABLE("0", "Y", "N", "DESC")); + + // Generate timemark + define('__TIMEOUT_MARK', CREATE_FANCY_TIME($CONFIG['doubler_timeout'])); + + // Usage counter + define('__DOUBLER_COUNTER', $CONFIG['doubler_counter']); + + // Points left to doubler + define('__LEFT_VALUE', TRANSLATE_COMMA(DOUBLER_GET_TOTAL_POINTS_LEFT())); + + // Output neccessary form for this + LOAD_TEMPLATE("doubler_index"); + + // Output footer + include(PATH."inc/footer.php"); +} + else +{ + // You have to configure first! + LOAD_URL(URL."/install.php"); +} + +// Really all done here... ;-) +?>