コード例 #1
0
ファイル: func.php プロジェクト: arpad9/bygmarket
function fn_get_gift_certificate_log($params, $items_per_page = 0)
{
    if (empty($params['gift_cert_id'])) {
        return array(array(), $params);
    }
    $default_params = array('page' => 1, 'items_per_page' => $items_per_page);
    $params = array_merge($default_params, $params);
    $sortings = array('log_id' => "?:gift_certificates_log.log_id", 'timestamp' => "?:gift_certificates_log.timestamp", 'amount' => "?:gift_certificates_log.amount", 'debit' => "?:gift_certificates_log.debit", 'username' => "?:users.user_login", 'name' => "?:users.lastname", 'email' => "?:users.email", 'order_id' => "?:gift_certificates_log.order_id");
    $sorting = db_sort($params, $sortings, 'log_id', 'desc');
    $q_fields = array("?:gift_certificates_log.*", "?:users.user_login", "?:users.email", "?:users.firstname", "?:users.lastname", "?:orders.email as order_email", "?:orders.firstname as order_firstname", "?:orders.lastname as order_lastname");
    $limit = '';
    if (!empty($params['items_per_page'])) {
        $params['total_items'] = db_get_field("SELECT COUNT(*) FROM ?:gift_certificates_log WHERE gift_cert_id = ?i", $params['gift_cert_id']);
        $limit = db_paginate($params['page'], $params['items_per_page'], $params['total_items']);
    }
    $log = db_get_array("SELECT " . implode(',', $q_fields) . " FROM ?:gift_certificates_log LEFT JOIN ?:users ON ?:users.user_id = ?:gift_certificates_log.user_id LEFT JOIN ?:orders ON ?:orders.order_id = ?:gift_certificates_log.order_id WHERE gift_cert_id = ?i {$sorting} {$limit}", $params['gift_cert_id']);
    foreach ($log as $k => $v) {
        $prepared_log = fn_prepare_gift_certificate_log('products, debit_products', $v);
        $log[$k] = fn_array_merge($v, $prepared_log);
    }
    return array($log, $params);
}
コード例 #2
0
ファイル: func.php プロジェクト: diedsmiling/busenika
function fn_get_gift_certificate_log($gift_cert_id, $params)
{
    if (empty($gift_cert_id)) {
        return false;
    }
    $params['page'] = empty($params['page']) ? 1 : $params['page'];
    $sortings = array('timestamp' => "?:gift_certificates_log.timestamp", 'amount' => "?:gift_certificates_log.amount", 'debit' => "?:gift_certificates_log.debit", 'username' => "?:users.user_login", 'name' => "?:users.lastname", 'email' => "?:users.email", 'order_id' => "?:gift_certificates_log.order_id");
    $directions = array('asc' => 'asc', 'desc' => 'desc');
    $sort_order = !empty($params['sort_order']) ? $params['sort_order'] : '';
    $sort_by = !empty($params['sort_by']) ? $params['sort_by'] : '';
    if (empty($sort_order) || empty($directions[$sort_order])) {
        $sort_order = 'desc';
    }
    if (empty($sort_by) || empty($sortings[$sort_by])) {
        $sort_by = 'timestamp';
    }
    $sort = "ORDER BY " . $sortings[$sort_by] . " " . $directions[$sort_order];
    $q_fields = array("?:gift_certificates_log.*", "?:users.user_login", "?:users.email", "?:users.firstname", "?:users.lastname", "?:orders.email as order_email", "?:orders.firstname as order_firstname", "?:orders.lastname as order_lastname");
    $total_items = db_get_field("SELECT COUNT(*) FROM ?:gift_certificates_log WHERE gift_cert_id = ?i", $gift_cert_id);
    $items_per_page = Registry::get('settings.Appearance.' . (AREA == 'A') ? 'admin_elements_per_page' : 'elements_per_page');
    $limit = fn_paginate($params['page'], $total_items, $items_per_page);
    $log = db_get_array("SELECT " . implode(',', $q_fields) . " FROM ?:gift_certificates_log LEFT JOIN ?:users ON ?:users.user_id = ?:gift_certificates_log.user_id LEFT JOIN ?:orders ON ?:orders.order_id = ?:gift_certificates_log.order_id WHERE gift_cert_id = ?i {$sort} {$limit}", $gift_cert_id);
    foreach ($log as $k => $v) {
        $prepared_log = fn_prepare_gift_certificate_log('products, debit_products', $v);
        $log[$k] = fn_array_merge($v, $prepared_log);
    }
    return array($log, $sort_order == 'asc' ? 'desc' : 'asc', $sort_by);
}