+ function get_order_state_string($order_state = null) {
+ global $states;
+
+ if (is_null($order_state)) return null;
+
+ for ($i = 0; $i < count($states); $i++) {
+ if ($order_state->getState() & (1 << $i)) {
+ return $states[$i];
+ }
+ }
+
+ return "unknown";
+ }
+
+ function get_order_state($order) {
+ $q = new OrderStateQuery();
+ return $q->filterByOrderId($order->getId())->orderByUpdated('desc')->findOne();
+ }
+
+ function get_order_summary($order) {
+ $ret = "Order ";
+ $order_state = get_order_state($order);
+ if ($order_state) $ret = "<strong>" . ucfirst(get_order_state_string($order_state)) . "</strong> order ";
+ $ret .= $order->getStrongLink($order->getId()) . ": " . get_order_displayname($order);
+
+ if (check_admin(1)) $ret .= " " . $order->getDeleteLink();
+
+ /* XXX: Should pull from query. */
+ $q = new ContactQuery;
+ $contact = $q->findOneById($order->getRequesterId());
+ if ($contact) {
+ $ret .= " referred by " . $contact->getLink();
+ $area = get_contact_area($contact);
+ if ($area) $ret .= " in " . $area->getLink();
+ }
+
+ $q = new ContactQuery;
+ $contact = $q->findOneById($order->getBeneficiaryId());
+ if ($contact) {
+ $ret .= " for " . $contact->getLink();
+ $area = get_contact_area($contact);
+ if ($area) $ret .= " in " . $area->getLink();
+ }
+
+ if ($order->getHubId()) {
+ $q = new HubQuery;
+ $hub = $q->findOneById($order->getHubId());
+ if ($hub) $ret .= " to hub " . $hub->getLink();
+ $area = get_hub_area($hub);
+ if ($area) $ret .= " in " . $area->getLink();
+ }
+
+ return $ret;
+ }
+