/** * */ 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'); }