X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-payout.php;h=8db1add8eec3f395088e332ae3afecb487848b6a;hp=dbf4c50f2feda5d498f3f51944191b144a0c026e;hb=0f3a135204757cc8750262871c8e62c42300acb4;hpb=c2e17d983fcbc0c3bd1dd37908d87c678f0367df diff --git a/inc/modules/member/what-payout.php b/inc/modules/member/what-payout.php index dbf4c50f2f..8db1add8ee 100644 --- a/inc/modules/member/what-payout.php +++ b/inc/modules/member/what-payout.php @@ -1,7 +1,7 @@ = min_points -ORDER BY type ASC", - array($totalPoints), __FILE__, __LINE__); - if (SQL_NUMROWS($result) > 0) { + $result = SQL_QUERY_ESC("SELECT + `id`,`type`,`rate`,`min_points`,`allow_url` +FROM + `{?_MYSQL_PREFIX?}_payout_types` +WHERE + %s >= `min_points` +ORDER BY + `type` ASC", + array($payoutPoints), __FILE__, __LINE__); + if (!SQL_HASZERONUMS($result)) { // Free memory SQL_FREERESULT($result); // Check for his payouts - $result_payouts = SQL_QUERY_ESC("SELECT p.id, p.payout_total, p.target_account, p.target_bank, t.type, p.payout_timestamp, p.status, t.allow_url AS allow, p.target_url AS url, p.link_text AS alt, p.banner_url AS banner -FROM `{?_MYSQL_PREFIX?}_user_payouts` AS p -LEFT JOIN `{?_MYSQL_PREFIX?}_payout_types` AS t -ON p.payout_id = t.id -WHERE p.userid = %s -ORDER BY p.payout_timestamp DESC", - array(getUserId()), __FILE__, __LINE__); - if (SQL_NUMROWS($result_payouts) > 0) { + $result_payouts = SQL_QUERY_ESC("SELECT + p.id, p.payout_total, p.target_account, p.target_bank, t.type, p.payout_timestamp, p.status, t.allow_url AS allow, p.target_url AS url, p.link_text, p.banner_url AS banner +FROM + `{?_MYSQL_PREFIX?}_user_payouts` AS p +LEFT JOIN + `{?_MYSQL_PREFIX?}_payout_types` AS t +ON + p.payout_id = t.id +WHERE + p.userid = %s +ORDER BY + p.payout_timestamp DESC", + array(getMemberId()), __FILE__, __LINE__); + if (!SQL_HASZERONUMS($result_payouts)) { // List all his requests - $OUT = ''; $SW = 2; + $OUT = ''; while ($content = SQL_FETCHARRAY($result_payouts)) { - // Translate status - $content['status'] = getMessage('PAYOUT_MEMBER_STATUS_'.strtoupper($content['status']).''); - $content['status'] = "
".$content['status']."
"; - // Nothing entered must be secured in member/what-payputs.php ! if ($content['allow'] == 'Y') { // Banner/Textlink views/clicks request if (!empty($content['banner'])) { // Banner - $content['target_account'] = "\"".$content['alt']."\""; + $content['target_account'] = '' . $content['link_text'] . ''; } else { // Textlink - $content['target_account'] = $content['alt']; + $content['target_account'] = $content['link_text']; } - $content['target_bank'] = "{--CLICK_HERE--}"; - } else { - // e-currency payout request - if (empty($content['target_account'])) $content['target_account'] = '---'; - if (empty($content['target_bank'])) $content['target_bank'] = '---'; - } + $content['target_bank'] = '{--CLICK_HERE--}'; + } // END - if // Prepare data for the template - // @TODO Rewritings: acc->target_account,bank->target_bank in templates - $content = array( - 'sw' => $SW, - 'acc' => $content['target_account'], - 'points' => translateComma($content['payout_total']) . ' ' . $content['type'], - 'bank' => $content['target_bank'], - 'stamp' => generateDateTime($content['payout_timestamp'], 2), - 'status' => $content['status'] - ); + $content['payout_timestamp'] = generateDateTime($content['payout_timestamp'], 2); // Load row template and switch colors $OUT .= loadTemplate('member_payout_row', true, $content); - $SW = 3 - $SW; - } + } // END - while // Load template loadTemplate('member_payout', false, $OUT); - } + } // END - if // Free memory SQL_FREERESULT($result_payouts); // Output payout list - outputPayoutList($totalPoints); + outputPayoutList($payoutPoints); + } else { + // No payout types setup + displayMessage('{--MEMBER_PAYOUT_SETUP_INCOMPLETE--}'); } } else { // Chedk if he can get paid by selected type - $result = SQL_QUERY_ESC("SELECT type, rate, min_points, allow_url AS allow FROM `{?_MYSQL_PREFIX?}_payout_types` WHERE `id`=%s LIMIT 1", - array(bigintval(getRequestElement('payout'))), __FILE__, __LINE__); + $result = SQL_QUERY_ESC("SELECT `type`,`rate`,`min_points`,`allow_url` AS allow FROM `{?_MYSQL_PREFIX?}_payout_types` WHERE `id`=%s LIMIT 1", + array(bigintval(getRequestParameter('payout'))), __FILE__, __LINE__); if (SQL_NUMROWS($result) == 1) { - // ID is valid so load the data + // id is valid so load the data $content = SQL_FETCHARRAY($result); - SQL_FREERESULT($result); // Calculate maximum value - $max = round($totalPoints * $content['rate'] - 0.5); - $PAY_MAX = 0; + $max = round($payoutPoints * $content['rate'] - 0.5); + $PAY_MAX = '0'; // Calulcate points from submitted amount - $points = 0; - if (isPostRequestElementSet('payout')) { - $points = bigintval(postRequestElement('payout')) / $content['rate']; + $points = '0'; + if (isPostRequestParameterSet('payout')) { + $points = bigintval(postRequestParameter('payout')) / $content['rate']; $PAY_MAX = $max / $content['rate']; } // Has enougth points to payout? - if ($totalPoints >= $content['min_points']) { + if ($payoutPoints >= $content['min_points']) { // Ok, he can get be paid if ((isFormSent()) && ($points <= $PAY_MAX) && ($points >= $content['min_points'])) { // Remember points in array - setRequestPostElement('payout_points', translateComma($points)); - setRequestPostElement('type' , $content['type']); + setPostRequestParameter('payout_points', $points); + setPostRequestParameter('type' , $content['type']); - // Subtract points from member's account - subtractPoints('payout', getUserId(), $points); + // Subtract points from member's account and ignore return status + subtractPoints('payout', getMemberId(), $points); // Add entry to his tranfer history if ($content['allow'] == 'Y') { // Banner/textlink ordered - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_payouts` (`userid`, `payout_total`, `payout_id`, `payout_timestamp`, `status`, `target_url`, `link_text`, `banner_url`) + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_payouts` (`userid`,`payout_total`,`payout_id`,`payout_timestamp`,`status`,`target_url`,`link_text`,`banner_url`) VALUES (%s,%s,%s, UNIX_TIMESTAMP(), 'NEW','%s','%s','%s')", array( - getUserId(), - bigintval(postRequestElement('payout')), - bigintval(getRequestElement('payout')), - postRequestElement('turl'), - postRequestElement('alt'), - postRequestElement('banner') + getMemberId(), + bigintval(postRequestParameter('payout')), + bigintval(getRequestParameter('payout')), + postRequestParameter('turl'), + postRequestParameter('link_text'), + postRequestParameter('banner') ), __FILE__, __LINE__); // Load templates - $message_mem = loadEmailTemplate('member_payout_request_banner', postRequestArray(), getUserId()); - if (getExtensionVersion('admins') >= '0.4.1') { + $message_mem = loadEmailTemplate('member_payout_request_banner', postRequestArray(), getMemberId()); + if (isExtensionInstalledAndNewer('admins', '0.4.1')) { $adm_tpl = 'admin_payout_request_banner'; } else { - $message_adm = loadEmailTemplate('admin_payout_request_banner', postRequestArray(), getUserId()); + $message_adm = loadEmailTemplate('admin_payout_request_banner', postRequestArray(), getMemberId()); } } else { // e-currency payout requested - SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_payouts` (`userid`, `payout_total`, `target_account`, `target_bank`, `payout_id`, `payout_timestamp`, `status`, `password`) + SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_payouts` (`userid`,`payout_total`,`target_account`,`target_bank`,`payout_id`,`payout_timestamp`,`status`,`password`) VALUES (%s,%s,%s,'%s',%s, UNIX_TIMESTAMP(), 'NEW','%s')", array( - getUserId(), - bigintval(postRequestElement('payout')), - bigintval(postRequestElement('account')), - postRequestElement('bank'), - bigintval(getRequestElement('payout')), - postRequestElement('pass') + getMemberId(), + bigintval(postRequestParameter('payout')), + bigintval(postRequestParameter('account')), + postRequestParameter('bank'), + bigintval(getRequestParameter('payout')), + postRequestParameter('password') ), __FILE__, __LINE__); // Load templates - $message_mem = loadEmailTemplate('member_payout_request', postRequestArray(), getUserId()); - $message_adm = loadEmailTemplate('admin_payout_request', postRequestArray(), getUserId()); + $message_mem = loadEmailTemplate('member_payout_request', postRequestArray(), getMemberId()); + $message_adm = loadEmailTemplate('admin_payout_request', postRequestArray(), getMemberId()); $admin_tpl = ''; // @TODO Rewrite this to a filter - if (getExtensionVersion('admins') >= '0.4.1') { + if (isExtensionInstalledAndNewer('admins', '0.4.1')) { $admin_tpl = 'admin_payout_request'; } // END - if } - // Generate task - createNewTask('[payout:] {--PAYOUT_REQUEST_ADMIN--}', $message_adm, 'PAYOUT_REQUEST', getUserId()); + // Generate task (we ignore the task id here) + createNewTask('[payout:] {--ADMIN_PAYOUY_REQUEST_SUBJECT--}', $message_adm, 'PAYOUT_REQUEST', getMemberId()); // Send out mails - sendEmail(getUserId(), getMessage('PAYOUT_REQUEST_MEMBER'), $message_mem); + sendEmail(getMemberId(), '{--MEMBER_PAYOUT_REQUEST_SUBJECT--}', $message_mem); // To admin(s) - sendAdminNotification(getMessage('PAYOUT_REQUEST_ADMIN'), $admin_tpl, postRequestArray(), getUserId()); + sendAdminNotification('{--ADMIN_PAYOUY_REQUEST_SUBJECT--}', $admin_tpl, postRequestArray(), getMemberId()); // Load template and output it - loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_REQUEST_SENT')); + displayMessage('{--MEMBER_PAYOUT_REQUEST_SENT--}'); } elseif ($content['allow'] == 'Y') { // Prepare content $content = array( 'max' => $max, 'type' => $content['type'], - 'payout' => bigintval(getRequestElement('payout')) + 'payout' => bigintval(getRequestParameter('payout')) ); // Generate banner order form @@ -258,7 +223,7 @@ VALUES (%s,%s,%s,'%s',%s, UNIX_TIMESTAMP(), 'NEW','%s')", $content = array( 'max' => $max, 'type' => $content['type'], - 'payout' => bigintval(getRequestElement('payout')) + 'payout' => bigintval(getRequestParameter('payout')) ); // Generate normal form @@ -266,12 +231,15 @@ VALUES (%s,%s,%s,'%s',%s, UNIX_TIMESTAMP(), 'NEW','%s')", } } else { // Not enougth points - loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_POINTS_NOT_ENOUGTH')); + displayMessage('{--MEMBER_PAYOUT_POINTS_NOT_ENOUGTH--}'); } } else { - // ID is invalid - loadTemplate('admin_settings_saved', false, getMessage('PAYOUT_ID_INVALID')); + // id is invalid + displayMessage('{--MEMBER_PAYOUT_ID_INVALID--}'); } + + // Free result + SQL_FREERESULT($result); } // [EOF]