X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-wernis.php;h=4d47daabe5555dc4ea1872bee940ed362eceaaef;hp=ca832333d9e8352bccfe8f406c741a5b85b5db6b;hb=1090de8d4e7bf659002468fec8571388e7487a00;hpb=50cec5fbac1b8b7427f016bf02c93cb1aa7bb9e1 diff --git a/inc/modules/member/what-wernis.php b/inc/modules/member/what-wernis.php index ca832333d9..4d47daabe5 100644 --- a/inc/modules/member/what-wernis.php +++ b/inc/modules/member/what-wernis.php @@ -32,7 +32,7 @@ ************************************************************************/ // Some security stuff... -if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) { +if (!defined('__SECURITY')) { $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php"; require($INC); } elseif (!IS_MEMBER()) { @@ -45,22 +45,23 @@ if (ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) { } // Add description as navigation point -ADD_DESCR("member", basename(__FILE__)); +ADD_DESCR("member", __FILE__); // 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; -} +} // END - if // Init the content array and points $content = array(); $points = false; -// Is the mode set (payout only!) -if (!isset($_GET['mode'])) { - // Get referal id - $content['refid'] = bigintval($_CONFIG['wernis_refid']); +// Is the mode set (withdraw or payout) +if ((!isset($_GET['mode'])) || ($_GET['mode'] == "choose")) { + // Let the user choose what he wants to do + $content['refid'] = bigintval($_CONFIG['wernis_refid']); + $content['wds66_id'] = 0; // Get WDS66 id $result = SQL_QUERY_ESC("SELECT wernis_userid FROM "._MYSQL_PREFIX."_user_data WHERE userid=%s LIMIT 1", @@ -70,7 +71,7 @@ if (!isset($_GET['mode'])) { if (SQL_NUMROWS($result) == 1) { // Fetch ID list($content['wds66_id']) = SQL_FETCHROW($result); - } + } // END - if // Free result SQL_FREERESULT($result); @@ -89,12 +90,12 @@ if (!isset($_GET['mode'])) { 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, + '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 @@ -105,31 +106,52 @@ if (!isset($_GET['mode'])) { // Free result SQL_FREERESULT($result); } else { - // Mode pay - $_GET['mode'] = "pay"; + // Default links are not active! + $content['payout_link'] = "".WERNIS_MEMBER_PAYOUT_DISABLED.""; + $content['withdraw_link'] = "".WERNIS_MEMBER_WITHDRAW_DISABLED.""; + + // Is the payout mode active? + if ($_CONFIG['wernis_payout_active'] == "Y") { + // Add link + $content['payout_link'] = "
".MEMBER_WERNIS_MODE_PAYOUT."
"; + } // END - if + + // Is the withdraw mode active? + if ($_CONFIG['wernis_withdraw_active'] == "Y") { + // Add link + $content['withdraw_link'] = "
".MEMBER_WERNIS_MODE_WITHDRAW."
"; + } // END - if + + // Mode chooser! ;-) + $_GET['mode'] = "choose"; } -} -if ($_GET['mode'] == "pay") { +} elseif (($_GET['mode'] == "payout") && ($_CONFIG['wernis_payout_active'] == "Y")) { // 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 there a percentage or fixed fee? + $points = WERNIS_TAKE_FEE($points, "payout"); + // 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']))); + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_MIN_PAYOUT, TRANSLATE_COMMA($_CONFIG['wernis_min_payout']))); return; - } + } // END - if + + // No dots here... + $points = explode(".", $points); + $points = bigintval($points[0]); // Add points to content array - $content['points'] = $points; - $content['min_points'] = TRANSLATE_COMMA($_CONFIG['wernis_min_payout']); + $content['points'] = TRANSLATE_COMMA($points); + $content['min_points'] = TRANSLATE_COMMA($_CONFIG['wernis_min_payout']); + + // Add fees to array + WERNIS_ADD_FEES_TO_ARRAY($content); // Get WDS66 id $content['wds66_id'] = ""; @@ -140,7 +162,31 @@ if ($_GET['mode'] == "pay") { if (SQL_NUMROWS($result) == 1) { // Fetch ID list($content['wds66_id']) = SQL_FETCHROW($result); - } + } // END - if + + // Free result + SQL_FREERESULT($result); +} elseif (($_GET['mode'] == "withdraw") && ($_CONFIG['wernis_withdraw_active'] == "Y")) { + // Get total points for just displaying them + $points = GET_TOTAL_DATA($GLOBALS['userid'], "user_points", "points") - GET_TOTAL_DATA($GLOBALS['userid'], "user_data", "used_points"); + + // Prepare data for the template + $content['points'] = TRANSLATE_COMMA($points); + $content['min_points'] = TRANSLATE_COMMA($_CONFIG['wernis_min_withdraw']); + $content['wds66_id'] = ""; + + // Add fees to array + WERNIS_ADD_FEES_TO_ARRAY($content); + + // 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); + } // END - if // Free result SQL_FREERESULT($result); @@ -152,73 +198,101 @@ if ($_GET['mode'] == "pay") { // 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; - } + // 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("
"); + } else { + // Check input data depending on the mode and execute the requested mode + switch ($_GET['mode']) { + case "withdraw": // Widthdraws WDS66 -> This exchange + if ($_POST['amount'] < $_CONFIG['wernis_min_withdraw']) { + // Not enougth entered! + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_AMOUNT_SMALLER_MIN, bigintval($_CONFIG['wernis_min_withdraw']))); + OUTPUT_HTML("
"); + } else { + // All is fine here so do the withdraw + $success = WERNIS_EXECUTE_WITHDRAW($_POST['wds66_id'], md5($_POST['wds66_password']), $_POST['amount']); + if ($success) { + // Add it to this amount + unset($DEPTH); + ADD_POINTS_REFSYSTEM($GLOBALS['userid'], bigintval($_POST['amount']), false, 0, false, "direct"); + + // Update the user data as well.. + $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__); - // Remove the points from the account - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET `used_points` = `used_points` + %s, `wernis_userid`=%s WHERE userid=%s LIMIT 1", - array(bigintval($_POST['amount']), bigintval($_POST['wds66_id']), $GLOBALS['userid']), __FILE__, __LINE__); + // All done! + LOAD_TEMPLATE("admin_settings_saved", false, WERNIS_MEMBER_WITHDRAW_DONE); + return; + } elseif ((GET_WERNIS_ERROR_CODE() == "user_failed") || (GET_WERNIS_ERROR_CODE() == "own_failed") || (GET_WERNIS_ERROR_CODE() == "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_WITHDRAW_FAILED, GET_WERNIS_ERROR_MESSAGE())); + OUTPUT_HTML("
"); + } + } + break; - // 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()); + case "payout": // Payout this exchange -> WDS66 + if ($_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("
"); - } else { - // Something went wrong - LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_PAYOUT_FAILED, GET_WERNIS_ERROR_MESSAGE())); + } 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 withdraw + $success = WERNIS_EXECUTE_PAYOUT($_POST['wds66_id'], md5($_POST['wds66_password']), $_POST['amount']); + if ($success) { + // 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_WITHDRAW_FAILED, GET_WERNIS_ERROR_MESSAGE())); + OUTPUT_HTML("
"); + } } - } - break; + break; - default: // Invalid mode! - LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_MODE_INVALID, SQL_ESCAPE($_GET['mode']))); - return; + default: // Invalid mode! + LOAD_TEMPLATE("admin_settings_saved", false, sprintf(WERNIS_MEMBER_MODE_INVALID, SQL_ESCAPE($_GET['mode']))); + return; + } } }