X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-wernis.php;h=af105f761c8a6ac67032135830e3d1accef5585c;hp=02be8e2703a7040af351d755edf1d42b0b25fac6;hb=330dbb3e2b34450cd1665497506455e195a0a166;hpb=c99c15da4f0f45ea20be40a1320112e7af83af90 diff --git a/inc/modules/member/what-wernis.php b/inc/modules/member/what-wernis.php index 02be8e2703..af105f761c 100644 --- a/inc/modules/member/what-wernis.php +++ b/inc/modules/member/what-wernis.php @@ -1,7 +1,7 @@ generateDateTime($data['wernis_timestamp'], 2), + 'wernis_amount' => $data['wernis_amount'], + 'wernis_account' => $data['wernis_account'], + 'wernis_type' => $data['wernis_type'], + ); + + // Load row template + $content['rows'] .= loadTemplate('member_wernis_mode_list_row', true, $rowContent); + } // END - while + + // Free result + SQL_FREERESULT($result); + } else { + // Default links are not active! + $content['payout_link'] = '{--MEMBER_WERNIS_PAYOUT_DISABLED--}'; + $content['withdraw_link'] = '{--MEMBER_WERNIS_WITHDRAW_DISABLED--}'; + + // Is the payout mode active? + if (getConfig('wernis_payout_active') == 'Y') { + // Add link + $content['payout_link'] = '
{--MEMBER_WERNIS_MODE_PAYOUT--}
'; + } // END - if + + // Is the withdraw mode active? + if (isWernisWithdrawActive()) { + // Add link + $content['withdraw_link'] = '
{--MEMBER_WERNIS_MODE_WITHDRAW--}
'; + } // END - if + + // Mode chooser! ;-) + setGetRequestParameter('mode', 'choose'); + } +} elseif ((getRequestParameter('mode') == 'payout') && (getConfig('wernis_payout_active') == 'Y')) { + // Get user's total points and remove the registration fee + $points = getTotalPoints(getMemberId()) - getPointsRegister(); + + // Is there a percentage or fixed fee? + $points = WERNIS_TAKE_FEE($points, 'payout'); + + // Is this enougth for a payout? + if ($points < getConfig('wernis_min_payout')) { + // No, then abort here + displayMessage('{%message,MEMBER_WERNIS_MIN_PAYOUT=' . $points . '%}'); + return; + } // END - if + + // No dots here... + $points = explode('.', $points); + $points = bigintval($points[0]); + + // Add points to content array + $content['points'] = $points; +} elseif ((getRequestParameter('mode') == 'withdraw') && (isWernisWithdrawActive())) { + // Prepare data for the template + $content['points'] = getTotalPoints(getMemberId()); + $content['wernis_userid'] = ''; + + // Fetch id + $content['wernis_userid'] = getUserData('wernis_userid'); +} else { + // Invalid mode! + displayMessage('{%message,MEMBER_WERNIS_MODE_INVALID=' . getRequestParameter('mode') . '%}'); + return; } -// +// Is the formular sent? +if ((isFormSent()) && (isGetRequestParameterSet('mode'))) { + // Is the user id and password set? + if (!isPostRequestParameterSet('wernis_userid')) { + // Nothing entered in WDS66 user id + displayMessage('{--MEMBER_WERNIS_EMPTY_USERNAME--}'); + } elseif (!isPostRequestParameterSet('wds66_password')) { + // Nothing entered in WDS66 password + displayMessage('{--MEMBER_WERNIS_EMPTY_PASSWORD--}'); + } elseif (!isPostRequestParameterSet('amount')) { + // Nothing entered in amount + displayMessage('{--MEMBER_WERNIS_EMPTY_AMOUNT--}'); + } elseif (postRequestParameter('wernis_userid') != bigintval(postRequestParameter('wernis_userid'))) { + // Only numbers in account id! + displayMessage('{--MEMBER_WERNIS_INVALID_USERNAME'); + } elseif (postRequestParameter('amount') != bigintval(postRequestParameter('amount'))) { + // Only numbers in amount! + displayMessage('{--MEMBER_WERNIS_INVALID_AMOUNT--}'); + } else { + // Check input data depending on the mode and execute the requested mode + switch (getRequestParameter('mode')) { + case 'withdraw': // Widthdraws WDS66 -> This exchange + if (postRequestParameter('amount') < getConfig('wernis_min_withdraw')) { + // Not enougth entered! + displayMessage('{--MEMBER_WERNIS_WITHDRAW_AMOUNT_SMALLER_MIN--}'); + } else { + // All is fine here so do the withdraw + $success = WERNIS_EXECUTE_WITHDRAW(postRequestParameter('wernis_userid'), md5(postRequestParameter('wds66_password')), postRequestParameter('amount')); + if ($success === true) { + // Add it to this amount + addPointsDirectly('wernis_withdraw', getMemberId(), bigintval(postRequestParameter('amount'))); + + // Update the user data as well.. + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `wernis_userid`=%s WHERE `userid`=%s LIMIT 1", + array(bigintval(postRequestParameter('wernis_userid')), getMemberId()), __FILE__, __LINE__); + + // All done! + displayMessage('{--MEMBER_WERNIS_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 + displayMessage(GET_WERNIS_ERROR_MESSAGE()); + } else { + // Something went wrong + displayMessage('{--MEMBER_WERNIS_WITHDRAW_FAILED--}'); + } + } + break; + + case 'payout': // Payout this exchange -> WDS66 + if (postRequestParameter('amount') < getConfig('wernis_min_payout')) { + // Not enougth entered! + displayMessage('{--MEMBER_WERNIS_PAYOUT_AMOUNT_SMALLER_MIN--}'); + } elseif (postRequestParameter('amount') > $points) { + // Not enougth points left! + displayMessage(sprintf(getMessage('MEMBER_WERNIS_PAYOUT_POINTS_DEPLETED'), bigintval(postRequestParameter('amount')), bigintval($points))); + } else { + // All is fine here so do the withdraw + $success = WERNIS_EXECUTE_PAYOUT(postRequestParameter('wernis_userid'), postRequestParameter('amount')); + if ($success === true) { + // Sub points + subtractPoints('wernis_payout', getMemberId(), postRequestParameter('amount')); + + // Update WDS66 id + SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `wernis_userid`=%s WHERE `userid`=%s LIMIT 1", + array(bigintval(postRequestParameter('wernis_userid')), getMemberId()), __FILE__, __LINE__); + + // All done! + displayMessage('{--MEMBER_WERNIS_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 + displayMessage(GET_WERNIS_ERROR_MESSAGE()); + } else { + // Something went wrong + displayMessage('{--MEMBER_WERNIS_PAYOUT_FAILED--}'); + } + } + break; + + default: // Invalid mode! + logDebugMessage(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", getRequestParameter('mode'))); + displayMessage('{%message,MEMBER_WERNIS_MODE_INVALID=' . getRequestParameter('mode') . '%}'); + return; + } // END - switch + } +} // END - if + +// Prepare mode for template name +$mode = sprintf("member_wernis_mode_%s", getRequestParameter('mode')); + +// Load the template +loadTemplate($mode, false, $content); + +// [EOF] ?>