generateDateTime($data['primera_timestamp'], 2), 'points' => translateComma($data['primera_amount']), 'primera_account' => SQL_ESCAPE($data['primera_account']), 'status' => PRIMERA_TRANSFER_STATUS($data['primera_type']), 'raw_type' => strtolower($data['primera_type']), 'sw' => $SW, ); // Load row template $content['rows'] .= loadTemplate('member_primera_mode_list_row', true, $rowContent); $SW = 3 - $SW; } // Free result SQL_FREERESULT($result); } else { // Mode pay setGetRequestParameter('mode', 'pay'); } } // END - if if (getRequestParameter('mode') == 'pay') { // Get total points and check if the user can request a payout $points = countSumTotalData(getMemberId(), 'user_points', 'points') - countSumTotalData(getMemberId(), 'user_data', 'used_points'); // No dots here... $points = explode('.', $points); $points = bigintval($points[0]); // Remove the registration fee $points = $points - getConfig('points_register'); // Is this enougth for a payout? if ($points < getConfig('primera_min_payout')) { // No, then abort here loadTemplate('admin_settings_saved', false, getMessage('MEMBER_PRIMERA_MIN_PAYOUT_PAYOUT')); return; } // Add points to content array $content['points'] = $points; } else { // Invalid mode! loadTemplate('admin_settings_saved', false, getMaskedMessage('MEMBER_PRIMERA_MODE_INVALID', getRequestParameter('mode'))); return; } // Is the formular sent? if ((isFormSent()) && (isGetRequestParameterSet('mode'))) { // Check input data depending on the mode and execute the requested mode switch (getRequestParameter('mode')) { case 'pay': // Payout this exchange -> Primus // Is the user id and password set? if (!isPostRequestParameterSet(('primera_nickname'))) { // Nothing entered in Primus nickname loadTemplate('admin_settings_saved', false, getMessage('MEMBER_PRIMERA_EMPTY_USERNAME')); } elseif (!isPostRequestParameterSet(('primera_password'))) { // Nothing entered in Primera password loadTemplate('admin_settings_saved', false, getMessage('MEMBER_PRIMERA_EMPTY_PASSWORD')); } elseif (!isPostRequestParameterSet(('amount'))) { // Nothing entered in amount loadTemplate('admin_settings_saved', false, getMessage('MEMBER_PRIMERA_EMPTY_AMOUNT')); } elseif (postRequestParameter('amount') != bigintval(postRequestParameter('amount'))) { // Only numbers in amount! loadTemplate('admin_settings_saved', false, getMessage('MEMBER_PRIMERA_INVALID_AMOUNT')); } elseif (postRequestParameter('amount') < getConfig('primera_min_payout')) { // Not enougth entered! loadTemplate('admin_settings_saved', false, getMessage('MEMBER_PRIMERA_AMOUNT_SMALLER_MIN')); } elseif (postRequestParameter('amount') > $points) { // Not enougth points left! loadTemplate('admin_settings_saved', false, sprintf(getMessage('MEMBER_PRIMERA_PAYOUT_POINTS_DEPLETED'), bigintval(postRequestParameter('amount')), bigintval($points))); } else { // All is fine here so do the payout $success = executePrimeraPayout(postRequestParameter('primera_nickname'), md5(postRequestParameter('primera_password')), postRequestParameter('amount')); if ($success) { // Default is locked! $locked = true; // Shall I 'pay' the referal points imidiately? if (getConfig('ref_payout') == '0') { // Yes, 'pay' it now $locked = false; } // END - if // Remove points from account subtractPoints('primera_payout', getMemberId(), postRequestParameter('amount')); // Update primera nickname SQL_QUERY_ESC("UPDATE `{?_MYSQL_PREFIX?}_user_data` SET `primera_nickname`=%s WHERE `userid`=%s LIMIT 1", array(postRequestParameter('primera_nickname'), getMemberId()), __FILE__, __LINE__); // All done! loadTemplate('admin_settings_saved', false, getMessage('MEMBER_PRIMERA_PAYOUT_DONE')); return; } elseif ((GET_PRIMERA_ERROR_CODE() == 'user_failed') || (GET_PRIMERA_ERROR_CODE() == 'own_failed') || (GET_PRIMERA_ERROR_CODE() == 'amount_failed') || (GET_PRIMERA_ERROR_CODE() == 'api_amount_failed')) { // Wrong login data loadTemplate('admin_settings_saved', false, GET_PRIMERA_ERROR_MESSAGE()); } else { // Something went wrong loadTemplate('admin_settings_saved', false, getMaskedMessage('MEMBER_PRIMERA_PAYOUT_FAILED', GET_PRIMERA_ERROR_MESSAGE())); } } break; default: // Invalid mode! logDebugMessage(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", getRequestParameter('mode'))); loadTemplate('admin_settings_saved', false, getMaskedMessage('MEMBER_PRIMERA_MODE_INVALID', getRequestParameter('mode'))); return; } } // END - if // Prepare mode for template name $mode = sprintf("member_primera_mode_%s", getRequestParameter('mode')); // Load the template loadTemplate($mode, false, $content); // ?>