Пример #1
0
 /**
  * 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);
 }