function fn_reward_points_rma_recalculate_order(&$item, &$mirror_item, &$type, &$ex_data, &$amount) { if (!isset($item['extra']['exclude_from_calculate'])) { if (isset($mirror_item['extra']['points_info']['reward'])) { $item['extra']['points_info']['reward'] = floor((isset($item['primordial_amount']) ? $item['primordial_amount'] : $item['amount']) * ($mirror_item['extra']['points_info']['reward'] / $mirror_item['amount'])); } if (isset($mirror_item['extra']['points_info']['price'])) { $item['extra']['points_info']['price'] = floor((isset($item['primordial_amount']) ? $item['primordial_amount'] : $item['amount']) * ($mirror_item['extra']['points_info']['price'] / $mirror_item['amount'])); } if (in_array($type, array('O-', 'M-O+'))) { if (isset($item['extra']['points_info']['reward'])) { $points = ($type == 'O-' ? 1 : -1) * floor($amount * (!empty($item['amount']) ? $item['extra']['points_info']['reward'] / $item['amount'] : $mirror_item['extra']['points_info']['reward'] / $mirror_item['amount'])); $additional_data = db_get_hash_single_array("SELECT type,data FROM ?:order_data WHERE order_id = ?i", array('type', 'data'), $ex_data['order_id']); if (!empty($additional_data[POINTS])) { db_query('UPDATE ?:order_data SET ?u WHERE order_id = ?i AND type = ?s', array('data' => $additional_data[POINTS] + $points), $ex_data['order_id'], POINTS); } if (!empty($additional_data[ORDER_DATA_POINTS_GAIN]) && $additional_data[ORDER_DATA_POINTS_GAIN] == 'Y') { $user_id = db_get_field("SELECT user_id FROM ?:orders WHERE order_id = ?i", $ex_data['order_id']); $reason = array('return_id' => $ex_data['return_id'], 'to' => $ex_data['status_to'], 'from' => $ex_data['status_from']); fn_change_user_points($points, $user_id, serialize($reason), CHANGE_DUE_RMA); } } } } }
* PLEASE READ THE FULL TEXT OF THE SOFTWARE LICENSE AGREEMENT IN THE * * "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. * ****************************************************************************/ use Tygh\Mailer; use Tygh\Registry; if (!defined('BOOTSTRAP')) { die('Access denied'); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { // //Change points // if ($mode == 'change_points') { $amount = intval($_REQUEST['reason']['amount']); if (!empty($amount)) { fn_change_user_points($_REQUEST['reason']['action'] == 'A' ? abs($amount) : -abs($amount), $_REQUEST['user_id'], $_REQUEST['reason']['reason'], $_REQUEST['reason']['action']); $force_notification = fn_get_notification_rules($_REQUEST); if (!empty($force_notification['C'])) { $user_data = db_get_row("SELECT firstname, email, lang_code FROM ?:users WHERE user_id = ?i", $_REQUEST['user_id']); Mailer::sendMail(array('to' => $user_data['email'], 'from' => 'default_company_users_department', 'data' => array('user_data' => $user_data, 'reason' => $_REQUEST['reason']), 'tpl' => 'addons/reward_points/notification.tpl', 'company_id' => empty($user_data['company_id']) ? 0 : $user_data['company_id']), 'C', $user_data['lang_code']); } } } if ($mode == 'm_delete') { foreach ($_REQUEST['change_ids'] as $change_id) { db_query("DELETE FROM ?:reward_point_changes WHERE change_id = ?i", $change_id); } } if ($mode == 'cleanup_logs') { db_query("DELETE FROM ?:reward_point_changes WHERE user_id = ?i", $_REQUEST['user_id']); }