// Add description as navigation point
addYouAreHereLink('member', __FILE__);
+// Extension ext-transfer must be avtive
if ((!isExtensionActive('transfer')) && (!isAdmin())) {
- displayMessage(generateExtensionInactiveNotInstalledMessage('transfer'));
+ displayMessage('{%pipe,generateExtensionInactiveNotInstalledMessage=transfer%}');
return;
} // END - if
// Test if a recipient is selected
$valid_recipient = isValidUserId(postRequestParameter('to_userid'));
- // Check for nickname extension and set additional data
- // @TODO Rewrite this to a filter
- $add = '';
- if (isExtensionActive('nickname')) {
- $add = ', `nickname`';
- } // END - if
-
// Re-check receivers and own personal data
- $result = SQL_QUERY_ESC("SELECT `userid`, `gender`, `surname`, `family`, `email`".$add." FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid` IN ('%s','%s') AND `status`='CONFIRMED' LIMIT 2",
+ $result = SQL_QUERY_ESC("SELECT `userid`,`gender`,`surname`,`family`,`email` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `userid` IN ('%s','%s') AND `status`='CONFIRMED' LIMIT 2",
array(
getMemberId(),
bigintval(postRequestParameter('to_userid'))
$content['trans_id'] = bigintval(generateRandomCode('10', mt_rand(0, 99999), getMemberId(), postRequestParameter('reason')));
// Add entries to both tables
- SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_transfers_in` (`userid`, `from_userid`, `points`, `reason`, `time_trans`, `trans_id`) VALUES (%s,%s,%s,'%s', UNIX_TIMESTAMP(),%s)",
- array(bigintval(postRequestParameter('to_userid')), getMemberId(), bigintval(postRequestParameter('points')), postRequestParameter('reason'), $content['trans_id']), __FILE__, __LINE__);
- SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_transfers_out` (`userid`, `to_userid`, `points`, `reason`, `time_trans`, `trans_id`) VALUES (%s,%s,%s,'%s', UNIX_TIMESTAMP(),%s)",
- array(getMemberId(), bigintval(postRequestParameter('to_userid')), bigintval(postRequestParameter('points')), postRequestParameter('reason'), $content['trans_id']), __FILE__, __LINE__);
+ SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_transfers_in` (`userid`,`from_userid`,`points`,`reason`,`time_trans`,`trans_id`) VALUES (%s,%s,%s,'%s', UNIX_TIMESTAMP(),%s)",
+ array(
+ bigintval(postRequestParameter('to_userid')),
+ getMemberId(),
+ bigintval(postRequestParameter('points')),
+ postRequestParameter('reason'),
+ $content['trans_id']
+ ), __FILE__, __LINE__);
+ SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_user_transfers_out` (`userid`,`to_userid`,`points`,`reason`,`time_trans`,`trans_id`) VALUES (%s,%s,%s,'%s', UNIX_TIMESTAMP(),%s)",
+ array(
+ getMemberId(),
+ bigintval(postRequestParameter('to_userid')),
+ bigintval(postRequestParameter('points')),
+ postRequestParameter('reason'),
+ $content['trans_id']
+ ), __FILE__, __LINE__);
// Add points to account *directly* ...
- addPointsDirectly('transfer', bigintval(postRequestParameter('to_userid')), bigintval(postRequestParameter('points')));
+ initReferalSystem();
+ addPointsThroughReferalSystem('transfer', bigintval(postRequestParameter('to_userid')), bigintval(postRequestParameter('points')));
- // ... and add it to current user's used points
+ // ... and add it to current user's used points and ignore return status
subtractPoints('transfer', getMemberId(), postRequestParameter('points'));
// First send email to recipient
$message = loadEmailTemplate('member_transfer_recipient', $content, postRequestParameter('to_userid'));
- sendEmail($content['recipient']['email'], '{--TRANSFER_MEMBER_RECIPIENT_SUBJECT--}' . ': ' . $SENDER, $message);
+ sendEmail($content['recipient']['userid'], '{--TRANSFER_MEMBER_RECIPIENT_SUBJECT--}' . ': ' . $SENDER, $message);
// Second send email to sender
$message = loadEmailTemplate('member_transfer_sender', $content, getMemberId());
- sendEmail($content['sender']['email'], '{--TRANSFER_MEMBER_SENDER_SUBJECT--}' . ': ' . $RECIPIENT, $message);
+ sendEmail($content['sender']['userid'], '{--TRANSFER_MEMBER_SENDER_SUBJECT--}' . ': ' . $RECIPIENT, $message);
// At last send admin mail(s)
$adminSubject = sprintf("%s (%s->%s)", '{--TRANSFER_ADMIN_SUBJECT--}', $SENDER, $RECIPIENT);
if (!isFormSent()) {
// Load member list
- if (isExtensionActive('nickname')) {
- // Load userid and nickname
- $result = SQL_QUERY_ESC("SELECT `userid`, `nickname` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `status`='CONFIRMED' AND `opt_in`='Y' AND `userid` != '%s' ORDER BY `userid` ASC",
- array(getMemberId()), __FILE__, __LINE__);
- } else {
- // Load only userid
- $result = SQL_QUERY_ESC("SELECT `userid`, `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `status`='CONFIRMED' AND `opt_in`='Y' AND `userid` != '%s' ORDER BY `userid` ASC",
- array(getMemberId()), __FILE__, __LINE__);
- }
+ $result = SQL_QUERY_ESC("SELECT `userid` FROM `{?_MYSQL_PREFIX?}_user_data` WHERE `status`='CONFIRMED' AND `opt_in`='Y' AND `userid` != '%s' ORDER BY `userid` ASC",
+ array(getMemberId()), __FILE__, __LINE__);
if (!SQL_HASZERONUMS($result)) {
// Load list
$OUT = '<select name="to_userid" size="1" class="form_select">
<option value="0">{--SELECT_NONE--}</option>';
- // @TODO Try to rewrite his to $content = SQL_FETCHARRAY(), see some lines above for two different queries
- while (list($userid, $nick) = SQL_FETCHROW($result)) {
+ while (list($userid) = SQL_FETCHROW($result)) {
$OUT .= ' <option value="' . $userid . '"';
- if ((isPostRequestParameterSet('to_userid')) && (postRequestParameter('to_userid') == $userid)) $OUT .= ' selected="selected"';
- $OUT .= '>';
- if (($nick != $userid) && (!empty($nick))) {
- // Output nickname
- $OUT .= $nick;
- } else {
- // Output userid
- $OUT .= $userid;
- }
- $OUT .= '</option>';
- }
+ if ((isPostRequestParameterSet('to_userid')) && (postRequestParameter('to_userid') == $userid)) {
+ $OUT .= ' selected="selected"';
+ } // END - if
+ $OUT .= '>' . $userid . ' ({%user,nickname,fixEmptyContentToDashes=' . $userid . '%})</option>';
+ } // END - while
$OUT .= '</select>';
$content['to_disabled'] = '';
$nothingMessage = '';
switch ($mode) {
case 'list_in':
- $sql = 'SELECT `trans_id`, `from_userid` AS party_userid, `points`, `reason`, `time_trans` FROM `{?_MYSQL_PREFIX?}_user_transfers_in` WHERE `userid`=%s ORDER BY `time_trans` DESC LIMIT {?transfer_max?}';
+ $sql = 'SELECT `trans_id`,`from_userid` AS party_userid, `points`,`reason`,`time_trans` FROM `{?_MYSQL_PREFIX?}_user_transfers_in` WHERE `userid`=%s ORDER BY `time_trans` DESC LIMIT {?transfer_max?}';
$nothingMessage = '{--TRANSFER_NO_INCOMING_TRANSFERS--}';
$content['balance'] = '{--TRANSFER_TOTAL_INCOMING--}';
$content['title'] = '{--TRANSFER_LIST_INCOMING--}';
break;
case 'list_out':
- $sql = 'SELECT `trans_id`, `to_userid` AS party_userid, `points`, `reason`, `time_trans` FROM `{?_MYSQL_PREFIX?}_user_transfers_out` WHERE `userid`=%s ORDER BY `time_trans` DESC LIMIT {?transfer_max?}';
+ $sql = 'SELECT `trans_id`,`to_userid` AS party_userid, `points`,`reason`,`time_trans` FROM `{?_MYSQL_PREFIX?}_user_transfers_out` WHERE `userid`=%s ORDER BY `time_trans` DESC LIMIT {?transfer_max?}';
$nothingMessage = '{--TRANSFER_NO_OUTGOING_TRANSFERS--}';
$content['balance'] = '{--TRANSFER_TOTAL_OUTGOING--}';
$content['title'] = '{--TRANSFER_LIST_OUTGOING--}';
$content['rows'] = $OUT;
// Remeber total amount
- $content['total'] = $totalPoints;
+ $content['total_points'] = $totalPoints;
// Load final template
loadTemplate('member_transfer_list', false, $content);
`reason` VARCHAR(255) NOT NULL DEFAULT '',
`time_trans` VARCHAR(10) NOT NULL DEFAULT 0,
`trans_type` ENUM('IN','OUT') NOT NULL DEFAULT 'IN',
-KEY (`party_userid`)
-) TYPE = HEAP COMMENT = 'Temporary transfer table'", array(getMemberId()), __FILE__, __LINE__);
+INDEX (`party_userid`)
+) ENGINE = HEAP COMMENT = 'Temporary transfer table'", array(getMemberId()), __FILE__, __LINE__);
// Let's begin with the incoming list
- $result = SQL_QUERY_ESC("SELECT `trans_id`, `from_userid`, `points`, `reason`, `time_trans` FROM `{?_MYSQL_PREFIX?}_user_transfers_in` WHERE `userid`=%s ORDER BY `id` ASC LIMIT {?transfer_max?}",
+ $result = SQL_QUERY_ESC("SELECT `trans_id`,`from_userid`,`points`,`reason`,`time_trans` FROM `{?_MYSQL_PREFIX?}_user_transfers_in` WHERE `userid`=%s ORDER BY `id` ASC LIMIT {?transfer_max?}",
array(getMemberId()), __FILE__, __LINE__);
- while ($DATA = SQL_FETCHROW($result)) {
- $DATA[] = 'IN';
- $DATA = implode("','", $DATA);
- $res_temp = SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_%s_transfers_tmp` (`trans_id`, `party_userid`, `points`, `reason`, `time_trans`, `trans_type`) VALUES ('" . $DATA . "')", array(getMemberId()), __FILE__, __LINE__);
+ while ($content = SQL_FETCHROW($result)) {
+ $content[] = 'IN';
+ $content = implode("','", $content);
+ $res_temp = SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_%s_transfers_tmp` (`trans_id`,`party_userid`,`points`,`reason`,`time_trans`,`trans_type`) VALUES ('" . $content . "')", array(getMemberId()), __FILE__, __LINE__);
} // END - while
// Free memory
SQL_FREERESULT($result);
// As the last table transfer data from outgoing table to temporary
- $result = SQL_QUERY_ESC("SELECT `trans_id`, `to_userid`, `points`, `reason`, `time_trans` FROM `{?_MYSQL_PREFIX?}_user_transfers_out` WHERE `userid`=%s ORDER BY `id` LIMIT {?transfer_max?}",
+ $result = SQL_QUERY_ESC("SELECT `trans_id`,`to_userid`,`points`,`reason`,`time_trans` FROM `{?_MYSQL_PREFIX?}_user_transfers_out` WHERE `userid`=%s ORDER BY `id` LIMIT {?transfer_max?}",
array(getMemberId()), __FILE__, __LINE__);
- while ($DATA = SQL_FETCHROW($result)) {
- $DATA[] = 'OUT';
- $DATA = implode("','", $DATA);
- $res_temp = SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_%s_transfers_tmp` (`trans_id`, `party_userid`, `points`, `reason`, `time_trans`, `trans_type`) VALUES ('" . $DATA . "')", array(getMemberId()), __FILE__, __LINE__);
+ while ($content = SQL_FETCHROW($result)) {
+ $content[] = 'OUT';
+ $content = implode("','", $content);
+ $res_temp = SQL_QUERY_ESC("INSERT INTO `{?_MYSQL_PREFIX?}_%s_transfers_tmp` (`trans_id`,`party_userid`,`points`,`reason`,`time_trans`,`trans_type`) VALUES ('" . $content . "')", array(getMemberId()), __FILE__, __LINE__);
} // END - while
// Free memory
SQL_FREERESULT($result);
// Search for entries
- $result = SQL_QUERY_ESC("SELECT `party_userid`, `trans_id`, `points`, `reason`, `time_trans`, `trans_type` FROM `{?_MYSQL_PREFIX?}_%s_transfers_tmp` ORDER BY `time_trans` DESC",
+ $result = SQL_QUERY_ESC("SELECT `party_userid`,`trans_id`,`points`,`reason`,`time_trans`,`trans_type` FROM `{?_MYSQL_PREFIX?}_%s_transfers_tmp` ORDER BY `time_trans` DESC",
array(getMemberId()), __FILE__, __LINE__);
$total = '0';
$content['rows'] = $OUT;
// Remeber total amount
- $content['total'] = $total;
+ $content['total_points'] = $total;
// Set title
$content['title'] = '{--TRANSFER_LIST_ALL--}';
FROM
`{?_MYSQL_PREFIX?}_user_transfers_out`
WHERE
- `time_trans` > (UNIX_TIMESTAMP() - {?transfer_timeout?}) AND
+ (UNIX_TIMESTAMP() - `time_trans`) >= {?transfer_timeout?} AND
`userid`=%s
ORDER BY
`time_trans` DESC
if (SQL_NUMROWS($result) == 1) {
// Load newest transaction
list($newest) = SQL_FETCHROW($result);
- $content['settings'] = getMaskedMessage('TRANSFER_LATEST_IS', generateDateTime($newest, 3));
+ $content['settings'] = '{%message,TRANSFER_LATEST_IS=' . generateDateTime($newest, '3') . '%}';
} else {
// Load template
$content['settings'] = loadTemplate('member_transfer_settings', true, $content);