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 sqlFreeResult($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! ;-) setGetRequestElement('do', 'choose'); } } elseif ((getRequestElement('do') == '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 = calculateWernisFee($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 ((getRequestElement('do') == '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=' . getRequestElement('do') . '%}'); return; } // Is the formular sent? if ((isFormSent()) && (isGetRequestElementSet('do'))) { // Is the user id and password set? if (!isPostRequestElementSet('wernis_userid')) { // Nothing entered in WDS66 user id displayMessage('{--MEMBER_WERNIS_EMPTY_USERNAME--}'); } elseif (!isPostRequestElementSet('wds66_password')) { // Nothing entered in WDS66 password displayMessage('{--MEMBER_WERNIS_EMPTY_PASSWORD--}'); } elseif (!isPostRequestElementSet('amount')) { // Nothing entered in amount displayMessage('{--MEMBER_WERNIS_EMPTY_AMOUNT--}'); } elseif (postRequestElement('wernis_userid') != bigintval(postRequestElement('wernis_userid'))) { // Only numbers in account id! displayMessage('{--MEMBER_WERNIS_INVALID_USERNAME'); } elseif (postRequestElement('amount') != bigintval(postRequestElement('amount'))) { // Only numbers in amount! displayMessage('{--MEMBER_WERNIS_INVALID_AMOUNT--}'); } else { // Check input data depending on the mode and execute the requested mode switch (getRequestElement('do')) { case 'withdraw': // Widthdraws WDS66 -> This exchange if (postRequestElement('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 = executeWernisApiWithdraw(postRequestElement('wernis_userid'), hashSha256(postRequestElement('wds66_password')), postRequestElement('amount')); if ($success === TRUE) { // Add it to this amount initReferralSystem(); addPointsThroughReferralSystem('wernis_withdraw', getMemberId(), bigintval(postRequestElement('amount'))); // Update the user data as well.. sqlQueryEscaped('UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `wernis_userid`=%s WHERE `userid`=%s LIMIT 1', array(bigintval(postRequestElement('wernis_userid')), getMemberId()), __FILE__, __LINE__); // All done! displayMessage('{--MEMBER_WERNIS_WITHDRAW_DONE--}'); return; } elseif ((getWernisErrorCode() == 'user_failed') || (getWernisErrorCode() == 'own_failed') || (getWernisErrorCode() == 'amount_failed')) { // Wrong login data displayMessage(getWernisErrorMessage()); } else { // Something went wrong displayMessage('{--MEMBER_WERNIS_WITHDRAW_FAILED--}'); } } break; case 'payout': // Payout this exchange -> WDS66 if (postRequestElement('amount') < getConfig('wernis_min_payout')) { // Not enougth entered! displayMessage('{--MEMBER_WERNIS_PAYOUT_AMOUNT_SMALLER_MIN--}'); } elseif (postRequestElement('amount') > $points) { // Not enougth points left! displayMessage(sprintf(getMessage('MEMBER_WERNIS_PAYOUT_POINTS_DEPLETED'), bigintval(postRequestElement('amount')), bigintval($points))); } else { // All is fine here so do the withdraw $success = executeWernisApiPayout(postRequestElement('wernis_userid'), postRequestElement('amount')); if ($success === TRUE) { // Sub points and ignore return status subtractPoints('wernis_payout', getMemberId(), postRequestElement('amount')); // Update WDS66 id sqlQueryEscaped('UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `wernis_userid`=%s WHERE `userid`=%s LIMIT 1', array(bigintval(postRequestElement('wernis_userid')), getMemberId()), __FILE__, __LINE__); // All done! displayMessage('{--MEMBER_WERNIS_PAYOUT_DONE--}'); return; } elseif ((getWernisErrorCode() == 'user_failed') || (getWernisErrorCode() == 'own_failed') || (getWernisErrorCode() == 'amount_failed') || (getWernisErrorCode() == 'api_amount_failed')) { // Wrong login data displayMessage(getWernisErrorMessage()); } else { // Something went wrong displayMessage('{--MEMBER_WERNIS_PAYOUT_FAILED--}'); } } break; default: // Invalid mode! logDebugMessage(__FILE__, __LINE__, sprintf('Invalid mode %s detected.', getRequestElement('do'))); displayMessage('{%message,MEMBER_WERNIS_MODE_INVALID=' . getRequestElement('do') . '%}'); return; } // END - switch } } // END - if // Prepare mode for template name $mode = sprintf('member_wernis_mode_%s', getRequestElement('do')); // Load the template loadTemplate($mode, FALSE, $content); // [EOF] ?>