Ejemplo n.º 1
0
 /**
  * 
  */
 public function getItemInfo()
 {
     $ps_search = str_replace('"', '', $this->request->getParameter('search', pString));
     $va_values = array();
     $t_item = new ca_commerce_order_items();
     $o_search = new ObjectSearch();
     $qr_res = $o_search->search("ca_objects.idno:\"{$ps_search}\"");
     if (!$qr_res->numHits()) {
         $qr_res = $o_search->search($ps_search);
     }
     $va_object_ids = array();
     while ($qr_res->nextHit()) {
         $va_object_ids[] = (int) $qr_res->get('ca_objects.object_id');
     }
     $va_items = array('search' => $ps_search, 'matches' => array());
     if (sizeof($va_object_ids)) {
         $o_db = new Db();
         $qr_items = $o_db->query("\n\t\t\t\t\tSELECT i.item_id, o.order_id\n\t\t\t\t\tFROM ca_commerce_order_items i\n\t\t\t\t\tINNER JOIN ca_commerce_orders AS o ON o.order_id = i.order_id\n\t\t\t\t\tWHERE\n\t\t\t\t\t\tobject_id IN (?) AND o.order_type = 'L' AND i.loan_return_date IS NULL\n\t\t\t\t", array($va_object_ids));
         while ($qr_items->nextRow()) {
             $t_item = new ca_commerce_order_items($qr_items->get('item_id'));
             $t_order = $t_item->getOrder();
             $va_values = $t_item->getFieldValuesArray();
             $va_values['user'] = $t_order->getOrderTransactionUserName();
             // get object label
             $t_object = $t_item->getItemObject();
             $va_values['object'] = $t_object->get('ca_objects.preferred_labels.name');
             $va_values['idno'] = $t_object->get('ca_objects.idno');
             // generate display dates
             $va_values['loan_checkout_date_raw'] = $va_values['loan_checkout_date'];
             $va_values['loan_checkout_date'] = caGetLocalizedDate($va_values['loan_checkout_date'], array('dateFormat' => 'delimited', 'timeOmit' => true));
             $va_values['loan_due_date_raw'] = $va_values['loan_due_date'];
             $va_values['loan_due_date'] = caGetLocalizedDate($va_values['loan_due_date'], array('dateFormat' => 'delimited', 'timeOmit' => true));
             if ($va_values['loan_due_date_raw'] < time()) {
                 $va_values['loan_due_date'] .= " (<em>" . _t("Overdue by %1", caFormatInterval(time() - $va_values['loan_due_date_raw'], 2)) . "</em>)";
             }
             $va_values['order_number'] = $t_order->getOrderNumber();
             $va_rep = $t_object->getPrimaryRepresentation(array('thumbnail'));
             $va_values['thumbnail_tag'] = $va_rep['tags']['thumbnail'];
             $va_items['matches'][] = $va_values;
         }
     }
     $this->view->setVar('items', $va_items);
     return $this->render('ajax_order_item_info_json.php');
 }