/** * Returns history of client orders. Orders are sorted most recent first. * * @param string $ps_order_type Type of order to return history for. L=loans, O=sales orders. If set to any other value all types of orders will be returned. * @return array List of orders */ public function getClientHistory($ps_order_type) { if (!$this->getPrimaryKey()) { return null; } $vn_object_id = $this->getPrimaryKey(); $ps_order_type = strtoupper($ps_order_type); $va_options = array(); if (!in_array($ps_order_type, array('O', 'L'))) { $ps_order_type = null; } else { $va_options['type'] = $ps_order_type; } $va_orders = ca_commerce_orders::getUsageOfItemInOrders($vn_object_id, $va_options); $va_history = array(); foreach ($va_orders as $vn_id => $va_order) { $va_order['loan_checkout_date_raw'] = $va_order['loan_checkout_date']; $va_order['loan_checkout_date'] = caGetLocalizedDate($va_order['loan_checkout_date'], array('timeOmit' => true, 'dateFormat' => 'delimited')); $va_order['loan_due_date_raw'] = $va_order['loan_due_date']; $va_order['loan_due_date'] = $va_order['loan_due_date'] ? caGetLocalizedDate($va_order['loan_due_date'], array('timeOmit' => true, 'dateFormat' => 'delimited')) : ''; $va_order['loan_return_date_raw'] = $va_order['loan_return_date']; $va_order['loan_return_date'] = $va_order['loan_return_date'] ? caGetLocalizedDate($va_order['loan_return_date'], array('timeOmit' => true, 'dateFormat' => 'delimited')) : ''; $va_order['order_number'] = ca_commerce_orders::generateOrderNumber($va_order['order_id'], $va_order['created_on']); $va_history[$va_order['loan_checkout_date']] = $va_order; } ksort($va_history); return array_reverse($va_history); }