X-Git-Url: https://git.mxchange.org/?p=mailer.git;a=blobdiff_plain;f=inc%2Fmodules%2Fmember%2Fwhat-payout.php;h=8db1add8eec3f395088e332ae3afecb487848b6a;hp=c7eb1fbaf6a3546b89e5fe067497e0851d79cfc7;hb=0f3a135204757cc8750262871c8e62c42300acb4;hpb=60494e212a67fe360bfbb481eb4928480a6f379b diff --git a/inc/modules/member/what-payout.php b/inc/modules/member/what-payout.php index c7eb1fbaf6..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", array(str_replace(",", ".", $TPTS)), __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 DISTINCT 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 bannerm -FROM "._MYSQL_PREFIX."_user_payouts AS p -LEFT JOIN "._MYSQL_PREFIX."_payout_types AS t -ON p.payout_id = t.id -WHERE p.userid = %d -ORDER BY p.payout_timestamp DESC", - array($GLOBALS['userid']), __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 - $SW = 2; $OUT = ""; - while (list($pid, $total, $account, $bank, $type, $tstamp, $status, $allow, $url, $alt, $banner) = SQL_FETCHROW($result_payouts)) - { - // Translate status - $evl = "\$status = PAYOUT_MEMBER_STATUS_".strtoupper($status).";"; - eval($evl); - $status = "".$status.""; - + $OUT = ''; + while ($content = SQL_FETCHARRAY($result_payouts)) { // Nothing entered must be secured in member/what-payputs.php ! - if ($allow == 'Y') - { + if ($content['allow'] == 'Y') { // Banner/Textlink views/clicks request - if (!empty($banner)) - { + if (!empty($content['banner'])) { // Banner - $account = "\"".$alt."\""; - } - else - { + $content['target_account'] = '' . $content['link_text'] . ''; + } else { // Textlink - $account = $alt; + $content['target_account'] = $content['link_text']; } - $bank = "".CLICK_HERE.""; - } - else - { - // e-currency payout request - if (empty($account)) $account = "---"; - if (empty($bank)) $bank = "---"; - } + $content['target_bank'] = '{--CLICK_HERE--}'; + } // END - if // Prepare data for the template - $content = array( - 'sw' => $SW, - 'acc' => $account, - 'points' => TRANSLATE_COMMA($total)." ".COMPILE_CODE($type), - 'bank' => $bank, - 'stamp' => MAKE_DATETIME($tstamp, "2"), - 'status' => $status - ); - // Load row template and switch colors - $OUT .= LOAD_TEMPLATE("member_payout_row", true, $content); - $SW = 3 - $SW; - } + $content['payout_timestamp'] = generateDateTime($content['payout_timestamp'], 2); - // Remember rows in constant - define('__PAYOUT_ROWS', $OUT); + // Load row template and switch colors + $OUT .= loadTemplate('member_payout_row', true, $content); + } // END - while // Load template - LOAD_TEMPLATE("member_payout"); - } + loadTemplate('member_payout', false, $OUT); + } // END - if // Free memory SQL_FREERESULT($result_payouts); // Output payout list - PAYOUT_OUTPUT_PAYOUT_LIST($TPTS); + outputPayoutList($payoutPoints); + } else { + // No payout types setup + displayMessage('{--MEMBER_PAYOUT_SETUP_INCOMPLETE--}'); } -} - else -{ +} else { // Chedk if he can get paid by selected type - $result = SQL_QUERY_ESC("SELECT type, rate, min_points, allow_url FROM "._MYSQL_PREFIX."_payout_types WHERE id=%d LIMIT 1", - array(bigintval($_GET['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 - list($type, $rate, $min, $allow) = SQL_FETCHROW($result); - SQL_FREERESULT($result); + if (SQL_NUMROWS($result) == 1) { + // id is valid so load the data + $content = SQL_FETCHARRAY($result); // Calculate maximum value - $max = round($TPTS * $rate - 0.5); + $max = round($payoutPoints * $content['rate'] - 0.5); + $PAY_MAX = '0'; // Calulcate points from submitted amount - $PAYOUT = 0; - if (!empty($_POST['payout'])) - { - $PAYOUT = bigintval($_POST['payout']) / $rate; - $PAY_MAX = $max / $rate; + $points = '0'; + if (isPostRequestParameterSet('payout')) { + $points = bigintval(postRequestParameter('payout')) / $content['rate']; + $PAY_MAX = $max / $content['rate']; } - // Move variables into constants for templates - define('PAYOUT_MAX_VALUE' , $max); - define('PAYOUT_TYPE_VALUE', COMPILE_CODE($type)); - - if (str_replace(",", ".", $TPTS) >= $min) - { + // Has enougth points to payout? + if ($payoutPoints >= $content['min_points']) { // Ok, he can get be paid - if ((isset($_POST['ok'])) && ($PAYOUT <= $PAY_MAX) && ($PAYOUT >= $min)) - { - // Calculate exact value - define('PAYOUT_POINTS_VALUE', $PAYOUT); - - // Subtract points from member's account - $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_user_data SET used_points=used_points+%s WHERE userid=%d LIMIT 1", - array($PAYOUT, $GLOBALS['userid']), __FILE__, __LINE__); + if ((isFormSent()) && ($points <= $PAY_MAX) && ($points >= $content['min_points'])) { + // Remember points in array + setPostRequestParameter('payout_points', $points); + setPostRequestParameter('type' , $content['type']); - // Update mediadata as well - if (GET_EXT_VERSION("mediadata") >= "0.0.4") - { - // Update database - MEDIA_UPDATE_ENTRY(array("total_points"), "sub", $PAYOUT); - } + // Subtract points from member's account and ignore return status + subtractPoints('payout', getMemberId(), $points); // Add entry to his tranfer history - if ($allow == 'Y') - { + if ($content['allow'] == 'Y') { // Banner/textlink ordered - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_payouts (userid, payout_total, payout_id, payout_timestamp, status, target_url, link_text, banner_url) -VALUES (%d, %d, %d, UNIX_TIMESTAMP(), 'NEW', '%s', '%s', '%s')", - array( - $GLOBALS['userid'], - bigintval($_POST['payout']), - bigintval($_GET['payout']), - $_POST['turl'], - $_POST['alt'], - $_POST['banner'] -), __FILE__, __LINE__); + 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( + getMemberId(), + bigintval(postRequestParameter('payout')), + bigintval(getRequestParameter('payout')), + postRequestParameter('turl'), + postRequestParameter('link_text'), + postRequestParameter('banner') + ), __FILE__, __LINE__); // Load templates - $msg_mem = LOAD_EMAIL_TEMPLATE("member_payout_request_banner", "", $GLOBALS['userid']); - if (GET_EXT_VERSION("admins") >= "0.4.1") - { - $adm_tpl = "admin_payout_request_banner"; + $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(), getMemberId()); } - else - { - $msg_adm = addslashes(LOAD_EMAIL_TEMPLATE("admin_payout_request_banner", "", $GLOBALS['userid'])); - } - } - else - { + } else { // e-currency payout requested - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_user_payouts (userid, payout_total, target_account, target_bank, payout_id, payout_timestamp, status, password) -VALUES (%d, %d, %d, '%s', %d, UNIX_TIMESTAMP(), 'NEW', '%s')", - array( - $GLOBALS['userid'], - bigintval($_POST['payout']), - bigintval($_POST['account']), - $_POST['bank'], - bigintval($_GET['payout']), - $_POST['pass'] -), __FILE__, __LINE__); + 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( + getMemberId(), + bigintval(postRequestParameter('payout')), + bigintval(postRequestParameter('account')), + postRequestParameter('bank'), + bigintval(getRequestParameter('payout')), + postRequestParameter('password') + ), __FILE__, __LINE__); // Load templates - $msg_mem = LOAD_EMAIL_TEMPLATE("member_payout_request", "", $GLOBALS['userid']); - $msg_adm = addslashes(LOAD_EMAIL_TEMPLATE("admin_payout_request", "", $GLOBALS['userid'])); - $admin_tpl = ""; - if (GET_EXT_VERSION("admins") >= "0.4.1") - { - $admin_tpl = "admin_payout_request"; - } + $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 (isExtensionInstalledAndNewer('admins', '0.4.1')) { + $admin_tpl = 'admin_payout_request'; + } // END - if } - // Generate task - $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_task_system (assigned_admin, status, task_type, subject, text, task_created, userid) -VALUES (0, 'NEW', 'PAYOUT_REQUEST', '[payout:] ".PAYOUT_REQUEST_ADMIN."', '%s', UNIX_TIMESTAMP(), %d)", - array( - $msg_adm, - $GLOBALS['userid'] -), __FILE__, __LINE__); + // Generate task (we ignore the task id here) + createNewTask('[payout:] {--ADMIN_PAYOUY_REQUEST_SUBJECT--}', $message_adm, 'PAYOUT_REQUEST', getMemberId()); // Send out mails - SEND_EMAIL($GLOBALS['userid'], PAYOUT_REQUEST_MEMBER, $msg_mem); + sendEmail(getMemberId(), '{--MEMBER_PAYOUT_REQUEST_SUBJECT--}', $message_mem); // To admin(s) - if (GET_EXT_VERSION("admins") >= "0.4.1") - { - // Use new method - SEND_ADMIN_EMAILS_PRO(PAYOUT_REQUEST_ADMIN, $admin_tpl, "", $GLOBALS['userid']); - } - else - { - // Use old method - SEND_ADMIN_EMAILS(PAYOUT_REQUEST_ADMIN, $msg_adm); - } + sendAdminNotification('{--ADMIN_PAYOUY_REQUEST_SUBJECT--}', $admin_tpl, postRequestArray(), getMemberId()); // Load template and output it - LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_REQUEST_SENT); - } - elseif ($allow == 'Y') - { + displayMessage('{--MEMBER_PAYOUT_REQUEST_SENT--}'); + } elseif ($content['allow'] == 'Y') { + // Prepare content + $content = array( + 'max' => $max, + 'type' => $content['type'], + 'payout' => bigintval(getRequestParameter('payout')) + ); + // Generate banner order form - LOAD_TEMPLATE("member_payout_form_banner"); - } - else - { + loadTemplate('member_payout_form_banner', false, $content); + } else { + // Prepare content + $content = array( + 'max' => $max, + 'type' => $content['type'], + 'payout' => bigintval(getRequestParameter('payout')) + ); + // Generate normal form - LOAD_TEMPLATE("member_payout_form"); + loadTemplate('member_payout_form', false, $content); } - } - else - { + } else { // Not enougth points - LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_POINTS_NOT_ENOUGTH); + displayMessage('{--MEMBER_PAYOUT_POINTS_NOT_ENOUGTH--}'); } + } else { + // id is invalid + displayMessage('{--MEMBER_PAYOUT_ID_INVALID--}'); } - else - { - // ID is invalid - LOAD_TEMPLATE("admin_settings_saved", false, PAYOUT_ID_INVALID); - } + + // Free result + SQL_FREERESULT($result); } -// + +// [EOF] ?>