$company_id = Registry::get('runtime.company_id'); if (!empty($gift_cert_code)) { if (true == fn_check_gift_certificate_code($gift_cert_code, true, $company_id)) { $_SESSION['promotion_notices']['gift_certificates'] = array('applied' => true, 'messages' => array()); if (!isset($_SESSION['cart']['use_gift_certificates'][$gift_cert_code])) { $_SESSION['cart']['use_gift_certificates'][$gift_cert_code] = 'Y'; $_SESSION['cart']['pending_certificates'][] = $gift_cert_code; $_SESSION['promotion_notices']['gift_certificates']['messages'][] = 'text_gift_cert_applied'; if (isset($cart['pending_coupon'])) { unset($cart['pending_coupon']); } } else { $_SESSION['promotion_notices']['gift_certificates']['messages'][] = 'certificate_already_used'; } } else { $_SESSION['promotion_notices']['gift_certificates'] = array('applied' => false, 'messages' => array()); $status = db_get_field("SELECT status FROM ?:gift_certificates WHERE gift_cert_code = ?s ?p", $gift_cert_code, fn_get_gift_certificate_company_condition('?:gift_certificates.company_id')); $_SESSION['promotion_notices']['gift_certificates']['messages'][] = 'no_such_coupon'; } } return array(CONTROLLER_STATUS_REDIRECT, 'checkout.' . (!empty($_REQUEST['redirect_mode']) ? $_REQUEST['redirect_mode'] : 'cart')); } if ($mode == 'delete_use_certificate' && !empty($gift_cert_code)) { fn_delete_gift_certificate_in_use($gift_cert_code, $_SESSION['cart']); if (fn_cart_is_empty($_SESSION['cart']) && defined('AJAX_REQUEST')) { Tygh::$app['ajax']->assign('force_redirection', fn_url('checkout.cart')); } return array(CONTROLLER_STATUS_REDIRECT, 'checkout.' . (!empty($_REQUEST['redirect_mode']) ? $_REQUEST['redirect_mode'] : 'checkout') . '.show_payment_options'); } return; }
$cart =& $_SESSION['cart']; fn_delete_cart_gift_certificate($cart, $_REQUEST['gift_cert_id']); if (fn_cart_is_empty($cart) == true) { fn_clear_cart($cart); } fn_save_cart_content($cart, $auth['user_id']); $cart['recalculate'] = true; fn_calculate_cart_content($cart, $auth, 'A', true, 'F', true); return array(CONTROLLER_STATUS_REDIRECT); } } return array(CONTROLLER_STATUS_OK, 'checkout.cart'); } if ($mode == 'verify') { fn_add_breadcrumb(__('gift_certificate_verification')); $verify_id = db_get_field("SELECT gift_cert_id FROM ?:gift_certificates WHERE gift_cert_code = ?s ?p", $_REQUEST['verify_code'], fn_get_gift_certificate_company_condition('?:gift_certificates.company_id')); if (!empty($verify_id)) { Registry::set('navigation.tabs', array('detailed' => array('title' => __('detailed_info'), 'js' => true), 'log' => array('title' => __('history'), 'js' => true))); $params = $_REQUEST; $params['gift_cert_id'] = $verify_id; list($log, $search) = fn_get_gift_certificate_log($params, Registry::get('settings.Appearance.elements_per_page')); Tygh::$app['view']->assign('log', $log); Tygh::$app['view']->assign('search', $search); $verify_data = fn_get_gift_certificate_info($verify_id, 'B'); if (false != ($last_item = reset($log))) { $verify_data['amount'] = $last_item['debit']; $verify_data['products'] = $last_item['debit_products']; } Tygh::$app['view']->assign('verify_data', $verify_data); } else { fn_set_notification('W', __('warning'), __('error_gift_cert_code'));
function fn_get_gift_certificates($params, $items_per_page = 0) { // Init filter $params = LastView::instance()->update('gift_certs', $params); // Set default values to input params $default_params = array('page' => 1, 'items_per_page' => $items_per_page); $params = array_merge($default_params, $params); // Define fields that should be retrieved $fields = array('?:gift_certificates.gift_cert_id', '?:gift_certificates.gift_cert_code', '?:gift_certificates.timestamp', '?:gift_certificates.amount', '?:gift_certificates.status', '?:gift_certificates.recipient', '?:gift_certificates.sender', '?:gift_certificates.send_via', '?:gift_certificates.email'); if (fn_allowed_for('ULTIMATE')) { $fields[] = '?:gift_certificates.company_id'; } // Define sort fields $sortings = array('timestamp' => "?:gift_certificates.timestamp", 'amount' => "?:gift_certificates.amount", 'recipient' => "?:gift_certificates.recipient", 'sender' => "?:gift_certificates.sender", 'status' => "?:gift_certificates.status", 'gift_cert_code' => "?:gift_certificates.gift_cert_code", 'send_via' => "?:gift_certificates.send_via"); $sorting = db_sort($params, $sortings, 'timestamp', 'desc'); $condition = $join = ''; if (isset($params['sender']) && fn_string_not_empty($params['sender'])) { $condition .= db_quote(" AND ?:gift_certificates.sender LIKE ?l", "%" . trim($params['sender']) . "%"); } if (isset($params['recipient']) && fn_string_not_empty($params['recipient'])) { $condition .= db_quote(" AND ?:gift_certificates.recipient LIKE ?l", "%" . trim($params['recipient']) . "%"); } if (isset($params['email']) && fn_string_not_empty($params['email'])) { $condition .= db_quote(" AND ?:gift_certificates.email LIKE ?l", "%" . trim($params['email']) . "%"); } if (!empty($params['amount_from'])) { $condition .= db_quote(" AND ?:gift_certificates.amount >= ?d", $params['amount_from']); } if (!empty($params['amount_to'])) { $condition .= db_quote(" AND ?:gift_certificates.amount <= ?d", $params['amount_to']); } if (!empty($params['gift_cert_ids'])) { $condition .= db_quote(" AND ?:gift_certificates.gift_cert_id IN (?n)", $params['gift_cert_ids']); } if (!empty($params['status'])) { $condition .= db_quote(" AND ?:gift_certificates.status IN (?a)", $params['status']); } if (isset($params['gift_cert_code']) && fn_string_not_empty($params['gift_cert_code'])) { $condition .= db_quote(" AND ?:gift_certificates.gift_cert_code LIKE ?l", "%" . trim($params['gift_cert_code']) . "%"); } if (!empty($params['period']) && $params['period'] != 'A') { list($params['time_from'], $params['time_to']) = fn_create_periods($params); $condition .= db_quote(" AND (?:gift_certificates.timestamp >= ?i AND ?:gift_certificates.timestamp <= ?i)", $params['time_from'], $params['time_to']); } $limit = ''; if (!empty($params['items_per_page'])) { $params['total_items'] = db_get_field("SELECT COUNT(*) FROM ?:gift_certificates WHERE 1 ?p", $condition . fn_get_gift_certificate_company_condition('?:gift_certificates.company_id')); $limit = db_paginate($params['page'], $params['items_per_page'], $params['total_items']); } $gift_certificates = db_get_array("SELECT ?p FROM ?:gift_certificates WHERE 1 ?p ?p ?p", implode(',', $fields), $condition . fn_get_gift_certificate_company_condition('?:gift_certificates.company_id'), $sorting, $limit); foreach ($gift_certificates as $k => $v) { $debit_balance = db_get_row("SELECT debit, debit_products FROM ?:gift_certificates_log WHERE gift_cert_id = ?i ORDER BY log_id DESC", $v['gift_cert_id']); $gift_certificates[$k]['debit'] = empty($debit_balance) ? $v['amount'] : $debit_balance['debit']; } LastView::instance()->processResults('gift_certificates', $gift_certificates, $params); return array($gift_certificates, $params); }
* "copyright.txt" FILE PROVIDED WITH THIS DISTRIBUTION PACKAGE. * ****************************************************************************/ use Tygh\Registry; if (!defined('BOOTSTRAP')) { die('Access denied'); } $cart =& $_SESSION['cart']; $suffix = !empty($cart['order_id']) ? '.update' : '.add'; if ($_SERVER['REQUEST_METHOD'] == 'POST') { // // Delete attached certificate // if ($mode == 'delete_use_certificate') { fn_delete_gift_certificate_in_use($_REQUEST['gift_cert_code'], $cart); return array(CONTROLLER_STATUS_REDIRECT, 'order_management' . $suffix); } if ($mode == 'delete_certificate') { if (!empty($_REQUEST['gift_cert_cart_id'])) { fn_delete_cart_gift_certificate($cart, $_REQUEST['gift_cert_cart_id']); return array(CONTROLLER_STATUS_REDIRECT, 'order_management' . $suffix); } } return; } // // Display totals // if ($mode == 'update' || $mode == 'add') { $gift_certificate_condition = !empty($cart['use_gift_certificates']) ? db_quote(" AND gift_cert_code NOT IN (?a)", array_keys($cart['use_gift_certificates'])) : ''; Registry::get('view')->assign('gift_certificates', db_get_fields("SELECT gift_cert_code FROM ?:gift_certificates WHERE status = 'A' ?p", $gift_certificate_condition . fn_get_gift_certificate_company_condition('?:gift_certificates.company_id'))); }