X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-wernis.php;h=5edf6ac7a63150580d7e1a47c9bf60ce46649fce;hp=02be8e2703a7040af351d755edf1d42b0b25fac6;hb=752ebf38ef93c3b92187c5aad2c734fc5c5caf74;hpb=c99c15da4f0f45ea20be40a1320112e7af83af90 diff --git a/inc/modules/member/what-wernis.php b/inc/modules/member/what-wernis.php index 02be8e2703..5edf6ac7a6 100644 --- a/inc/modules/member/what-wernis.php +++ b/inc/modules/member/what-wernis.php @@ -35,9 +35,9 @@ if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); -} elseif (!IS_LOGGED_IN()) { +} elseif (!IS_MEMBER()) { // User is not logged in - LOAD_URL(URL."/modules.php?module=index"); + LOAD_URL("modules.php?module=index"); } elseif ((!EXT_IS_ACTIVE("wernis")) && (!IS_ADMIN())) { // Extension "wernis" is not activated ADD_FATAL(EXTENSION_PROBLEM_EXT_INACTIVE, "wernis"); @@ -47,11 +47,189 @@ if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) { // Add description as navigation point ADD_DESCR("member", basename(__FILE__)); -// Is the mode set (withdraw or payout) +// Check if the admin has entered the data +if ((empty($_CONFIG['wernis_api_id'])) || (empty($_CONFIG['wernis_api_md5']))) { + // Something important is missing... + LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_API_DATA_MISSING); + return; +} + +// Init the content array and points +$content = array(); $points = false; + +// Is the mode set (payout only!) if (!isset($_GET['mode'])) { - // Let the user choose what he wants to do - LOAD_TEMPLATE("member_wernis_mode_choose"); + // Get referal id + $content['refid'] = bigintval($_CONFIG['wernis_refid']); + + // Get WDS66 id + $result = SQL_QUERY_ESC("SELECT wernis_userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1", + array($GLOBALS['userid']), __FILE__, __LINE__); + + // Are there some entries? + if (SQL_NUMROWS($result) == 1) { + // Fetch ID + list($content['wds66_id']) = SQL_FETCHROW($result); + } + + // Free result + SQL_FREERESULT($result); + + // Is there an ID? + if ((!empty($content['wds66_id'])) && (!isset($_GET['mode']))) { + // Then use an other "mode" + $_GET['mode'] = "list"; + + // And load all rows! + $result = SQL_QUERY_ESC("SELECT `id`, `wernis_account`, `wernis_amount`, `wernis_timestamp`, `wernis_type` FROM "._MYSQL_PREFIX."_user_wernis WHERE `userid` = %s ORDER BY `wernis_timestamp` DESC", + array($GLOBALS['userid']), __FILE__, __LINE__); + + // Load all rows + $content['rows'] = ""; $SW = 2; + while ($data = SQL_FETCHARRAY($result)) { + // Prepare data for output + $rowContent = array( + 'stamp' => MAKE_DATETIME($data['wernis_timestamp'], "2"), + 'points' => TRANSLATE_COMMA($data['wernis_amount']), + 'acc' => bigintval($data['wernis_account']), + 'status' => WERNIS_TRANSFER_STATUS($data['wernis_type']), + 'raw_type' => strtolower($data['wernis_type']), + 'sw' => $SW, + ); + + // Load row template + $content['rows'] .= LOAD_TEMPLATE("member_wernis_mode_list_row", true, $rowContent); + $SW = 3 - $SW; + } + + // Free result + SQL_FREERESULT($result); + } else { + // Mode pay + $_GET['mode'] = "pay"; + } +} +if ($_GET['mode'] == "pay") { + // Get total points and check if the user can request a payout + $points = GET_TOTAL_DATA($GLOBALS['userid'], "user_points", "points") - GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points"); + + // No dots here... + $points = explode(".", $points); + $points = bigintval($points[0]); + + // Remove the registration fee + $points = $points - $_CONFIG['points_register']; + + // Is this enougth for a payout? + if ($points < $_CONFIG['wernis_min_payout']) { + // No, then abort here + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_MIN_PAYOUT_PAYOUT, TRANSLATE_COMMA($_CONFIG['wernis_min_payout']))); + return; + } + + // Add points to content array + $content['points'] = $points; + $content['min_points'] = TRANSLATE_COMMA($_CONFIG['wernis_min_payout']); + + // Get WDS66 id + $content['wds66_id'] = ""; + $result = SQL_QUERY_ESC("SELECT wernis_userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1", + array($GLOBALS['userid']), __FILE__, __LINE__); + + // Are there some entries? + if (SQL_NUMROWS($result) == 1) { + // Fetch ID + list($content['wds66_id']) = SQL_FETCHROW($result); + } + + // Free result + SQL_FREERESULT($result); +} else { + // Invalid mode! + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_MODE_INVALID, SQL_ESCAPE($_GET['mode']))); + return; } +// Is the formular sent? +if ((isset($_POST['ok'])) && (isset($_GET['mode']))) { + // Check input data depending on the mode and execute the requested mode + switch ($_GET['mode']) { + case "pay": // Payout this exchange -> WDS66 + // Is the user ID and password set? + if (empty($_POST['wds66_id'])) { + // Nothing entered in WDS66 user ID + LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_EMPTY_USERNAME); + OUTPUT_HTML("
"); + } elseif (empty($_POST['wds66_password'])) { + // Nothing entered in WDS66 password + LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_EMPTY_PASSWORD); + OUTPUT_HTML("
"); + } elseif (empty($_POST['amount'])) { + // Nothing entered in amount + LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_EMPTY_AMOUNT); + OUTPUT_HTML("
"); + } elseif ($_POST['wds66_id'] != bigintval($_POST['wds66_id'])) { + // Only numbers in account ID! + LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_INVALID_USERNAME); + OUTPUT_HTML("
"); + } elseif ($_POST['amount'] != bigintval($_POST['amount'])) { + // Only numbers in amount! + LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_INVALID_AMOUNT); + OUTPUT_HTML("
"); + } elseif ($_POST['amount'] < $_CONFIG['wernis_min_payout']) { + // Not enougth entered! + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_AMOUNT_SMALLER_MIN, bigintval($_CONFIG['wernis_min_payout']))); + OUTPUT_HTML("
"); + } elseif ($_POST['amount'] > $points) { + // Not enougth points left! + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_PAYOUT_POINTS_DEPLETED, bigintval($_POST['amount']), bigintval($points))); + OUTPUT_HTML("
"); + } else { + // All is fine here so do the payout + $success = WERNIS_EXECUTE_PAYOUT($_POST['wds66_id'], md5($_POST['wds66_password']), $_POST['amount']); + if ($success) { + // Default is locked! + $locked = true; + + // Shall I "pay" the referral points imidiately? + if ($_CONFIG['ref_payout'] == "0") { + // Yes, "pay" it now + $locked = false; + } + + // Sub points + SUB_POINTS($GLOBALS['userid'], $_POST['amount']); + + // Update WDS66 id + $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET `wernis_userid`=%s WHERE userid=%s LIMIT 1", + array(bigintval($_POST['wds66_id']), $GLOBALS['userid']), __FILE__, __LINE__); + + // All done! + LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_PAYOUT_DONE); + return; + } elseif ((GET_WERNIS_ERROR_CODE() == "user_failed") || (GET_WERNIS_ERROR_CODE() == "own_failed") || (GET_WERNIS_ERROR_CODE() == "amount_failed") || (GET_WERNIS_ERROR_CODE() == "api_amount_failed")) { + // Wrong login data + LOAD_TEMPLATE("admin_settings_saved", false, GET_WERNIS_ERROR_MESSAGE()); + OUTPUT_HTML("
"); + } else { + // Something went wrong + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_PAYOUT_FAILED, GET_WERNIS_ERROR_MESSAGE())); + OUTPUT_HTML("
"); + } + } + break; + + default: // Invalid mode! + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_MODE_INVALID, SQL_ESCAPE($_GET['mode']))); + return; + } +} + +// Prepare mode for template name +$mode = sprintf("member_wernis_mode_%s", SQL_ESCAPE($_GET['mode'])); + +// Load the template +LOAD_TEMPLATE($mode, false, $content); + // ?>