generateDateTime($data['wernis_timestamp'], '2'), 'points' => translateComma($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 $content['rows'] .= LOAD_TEMPLATE("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! ;-) REQUEST_SET_GET('mode', "choose"); } } elseif ((REQUEST_GET('mode') == 'payout') && (getConfig('wernis_payout_active') == 'Y')) { // Get total points and check if the user can request a payout $points = GET_TOTAL_DATA(getUserId(), "user_points", "points") - GET_TOTAL_DATA(getUserId(), "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 LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_MIN_PAYOUT'), translateComma(getConfig('wernis_min_payout')))); return; } // END - if // No dots here... $points = explode('.', $points); $points = bigintval($points[0]); // Add points to content array $content['points'] = translateComma($points); $content['min_points'] = translateComma(getConfig('wernis_min_payout')); // Add fees to array WERNIS_ADD_FEES_TO_ARRAY($content); // Get WDS66 id $content['wds66_id'] = ''; $result = SQL_QUERY_ESC("SELECT wernis_userid FROM `{!_MYSQL_PREFIX!}_user_data` WHERE userid=%s LIMIT 1", array(getUserId()), __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); } elseif ((REQUEST_GET('mode') == "withdraw") && (getConfig('wernis_withdraw_active') == 'Y')) { // Get total points for just displaying them $points = GET_TOTAL_DATA(getUserId(), "user_points", "points") - GET_TOTAL_DATA(getUserId(), "user_data", "used_points"); // Prepare data for the template $content['points'] = translateComma($points); $content['min_points'] = translateComma(getConfig('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(getUserId()), __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); } else { // Invalid mode! LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_MODE_INVALID'), REQUEST_GET(('mode')))); return; } // Is the formular sent? if ((IS_FORM_SENT()) && (REQUEST_ISSET_GET(('mode')))) { // Is the user ID and password set? if (!REQUEST_ISSET_POST(('wds66_id'))) { // Nothing entered in WDS66 user ID LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_USERNAME')); } elseif (!REQUEST_ISSET_POST(('wds66_password'))) { // Nothing entered in WDS66 password LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_PASSWORD')); } elseif (!REQUEST_ISSET_POST(('amount'))) { // Nothing entered in amount LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_EMPTY_AMOUNT')); } elseif (REQUEST_POST('wds66_id') != bigintval(REQUEST_POST('wds66_id'))) { // Only numbers in account ID! LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_INVALID_USERNAME')); } elseif (REQUEST_POST('amount') != bigintval(REQUEST_POST('amount'))) { // Only numbers in amount! LOAD_TEMPLATE('admin_settings_saved', false, getMessage('WERNIS_MEMBER_INVALID_AMOUNT')); } else { // Check input data depending on the mode and execute the requested mode switch (REQUEST_GET('mode')) { case "withdraw": // Widthdraws WDS66 -> This exchange if (REQUEST_POST('amount') < getConfig('wernis_min_withdraw')) { // Not enougth entered! LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_AMOUNT_SMALLER_MIN'), getConfig(('wernis_min_withdraw')))); } else { // All is fine here so do the withdraw $success = WERNIS_EXECUTE_WITHDRAW(REQUEST_POST('wds66_id'), md5(REQUEST_POST('wds66_password')), REQUEST_POST('amount')); if ($success) { // Add it to this amount unset($GLOBALS['ref_level']); ADD_POINTS_REFSYSTEM_DIRECT('wernis_withdraw', getUserId(), bigintval(REQUEST_POST('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(REQUEST_POST('wds66_id')), getUserId()), __FILE__, __LINE__); // All done! LOAD_TEMPLATE('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 LOAD_TEMPLATE('admin_settings_saved', false, GET_WERNIS_ERROR_MESSAGE()); } else { // Something went wrong LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_WITHDRAW_FAILED'), GET_WERNIS_ERROR_MESSAGE())); } } break; case 'payout': // Payout this exchange -> WDS66 if (REQUEST_POST('amount') < getConfig('wernis_min_payout')) { // Not enougth entered! LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_AMOUNT_SMALLER_MIN'), getConfig(('wernis_min_payout')))); } elseif (REQUEST_POST('amount') > $points) { // Not enougth points left! LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_PAYOUT_POINTS_DEPLETED'), bigintval(REQUEST_POST('amount')), bigintval($points))); } else { // All is fine here so do the withdraw $success = WERNIS_EXECUTE_PAYOUT(REQUEST_POST('wds66_id'), REQUEST_POST('amount')); if ($success) { // Sub points SUB_POINTS("wernis_payout", getUserId(), REQUEST_POST('amount')); // Update WDS66 id SQL_QUERY_ESC("UPDATE `{!_MYSQL_PREFIX!}_user_data` SET `wernis_userid`=%s WHERE userid=%s LIMIT 1", array(bigintval(REQUEST_POST('wds66_id')), getUserId()), __FILE__, __LINE__); // All done! LOAD_TEMPLATE('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 LOAD_TEMPLATE('admin_settings_saved', false, GET_WERNIS_ERROR_MESSAGE()); } else { // Something went wrong LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_WITHDRAW_FAILED'), GET_WERNIS_ERROR_MESSAGE())); } } break; default: // Invalid mode! DEBUG_LOG(__FILE__, __LINE__, sprintf("Invalid mode %s detected.", REQUEST_GET('mode'))); LOAD_TEMPLATE('admin_settings_saved', false, sprintf(getMessage('WERNIS_MEMBER_MODE_INVALID'), REQUEST_GET(('mode')))); return; } } } // END - if // Prepare mode for template name $mode = sprintf("member_wernis_mode_%s", REQUEST_GET(('mode'))); // Load the template LOAD_TEMPLATE($mode, false, $content); // ?>