X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-wernis.php;h=5eb2520c19ccf9b5a4457f7d26deb42baf467171;hp=02be8e2703a7040af351d755edf1d42b0b25fac6;hb=57227d33e870ec5cd271209c4a978a52b45c2dd6;hpb=c99c15da4f0f45ea20be40a1320112e7af83af90 diff --git a/inc/modules/member/what-wernis.php b/inc/modules/member/what-wernis.php index 02be8e2703..5eb2520c19 100644 --- a/inc/modules/member/what-wernis.php +++ b/inc/modules/member/what-wernis.php @@ -1,7 +1,7 @@ generateDateTime($data['wernis_timestamp'], 2), + 'points' => translateComma($data['wernis_amount']), + 'wernis_account' => bigintval($data['wernis_account']), + 'status' => WERNIS_TRANSFER_STATUS($data['wernis_type']), + 'raw_type' => strtolower($data['wernis_type']), + 'sw' => $SW, + ); + + // Load row template + $content['rows'] .= loadTemplate('member_wernis_mode_list_row', true, $rowContent); + $SW = 3 - $SW; + } + + // Free result + SQL_FREERESULT($result); + } else { + // 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 (getConfig('wernis_payout_active') == 'Y') { + // Add link + $content['payout_link'] = "
{--MEMBER_WERNIS_MODE_PAYOUT--}
"; + } // END - if + + // Is the withdraw mode active? + if (getConfig('wernis_withdraw_active') == 'Y') { + // 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 total points and check if the user can request a payout + $points = countSumTotalData(getMemberId(), 'user_points', 'points') - countSumTotalData(getMemberId(), 'user_data', 'used_points'); + + // Remove the registration fee + $points = $points - getConfig('points_register'); + + // 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 + loadTemplate('admin_settings_saved', false, sprintf( + getMessage('WERNIS_MEMBER_MIN_PAYOUT'), + translateComma(getConfig('wernis_min_payout')), + translateComma($points) + )); + return; + } // END - if + + // No dots here... + $points = explode('.', $points); + $points = bigintval($points[0]); + + // Add points to content array + $content['points'] = translateComma($points); + + // Get WDS66 username + $content['wernis_userid'] = getUserData('wernis_userid'); +} elseif ((getRequestParameter('mode') == 'withdraw') && (getConfig('wernis_withdraw_active') == 'Y')) { + // Get total points for just displaying them + $points = countSumTotalData(getMemberId(), 'user_points', 'points') - countSumTotalData(getMemberId(), 'user_data', 'used_points'); + + // Prepare data for the template + $content['points'] = translateComma($points); + $content['wernis_userid'] = ''; + + // Add fees to array + WERNIS_ADD_FEES_TO_ARRAY($content); + + // Fetch id + $content['wernis_userid'] = getUserData('wernis_userid'); +} else { + // Invalid mode! + loadTemplate('admin_settings_saved', false, getMaskedMessage('WERNIS_MEMBER_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 + loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_USERNAME')); + } elseif (!isPostRequestParameterSet(('wds66_password'))) { + // Nothing entered in WDS66 password + loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_PASSWORD')); + } elseif (!isPostRequestParameterSet(('amount'))) { + // Nothing entered in amount + loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_AMOUNT')); + } elseif (postRequestParameter('wernis_userid') != bigintval(postRequestParameter('wernis_userid'))) { + // Only numbers in account id! + loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_INVALID_USERNAME')); + } elseif (postRequestParameter('amount') != bigintval(postRequestParameter('amount'))) { + // Only numbers in amount! + loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_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! + loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_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! + loadTemplate('admin_settings_saved', false, getMessage('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 + loadTemplate('admin_settings_saved', false, GET_WERNIS_ERROR_MESSAGE()); + } else { + // Something went wrong + loadTemplate('admin_settings_saved', false, getMaskedMessage('WERNIS_MEMBER_WITHDRAW_FAILED', GET_WERNIS_ERROR_MESSAGE())); + } + } + break; + + case 'payout': // Payout this exchange -> WDS66 + if (postRequestParameter('amount') < getConfig('wernis_min_payout')) { + // Not enougth entered! + loadTemplate('admin_settings_saved', false, getMessage('WERNIS_MEMBER_PAYOUT_AMOUNT_SMALLER_MIN')); + } elseif (postRequestParameter('amount') > $points) { + // Not enougth points left! + loadTemplate('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_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! + loadTemplate('admin_settings_saved', false, getMessage('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 + loadTemplate('admin_settings_saved', false, GET_WERNIS_ERROR_MESSAGE()); + } else { + // Something went wrong + loadTemplate('admin_settings_saved', false, getMaskedMessage('WERNIS_MEMBER_WITHDRAW_FAILED', GET_WERNIS_ERROR_MESSAGE())); + } + } + break; + + default: // Invalid mode! + logDebugMessage(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", getRequestParameter('mode'))); + loadTemplate('admin_settings_saved', false, getMaskedMessage('WERNIS_MEMBER_MODE_INVALID', getRequestParameter('mode'))); + return; + } + } +} // END - if + +// Prepare mode for template name +$mode = sprintf("member_wernis_mode_%s", getRequestParameter('mode')); + +// Load the template +loadTemplate($mode, false, $content); + +// [EOF] ?>