/** @return $items [OmekaItem] Returns the 'items' Resource as instances of OmekaItems. This method obeys $dbUsage. */ public function getItems() { if ($this->items === null) { if ($this->getDbUsage()) { $this->items = OmekaItem::getItemsFromDb(); } else { $this->items = array(); $res = $this->getResource('items'); $is = $this->httpGet($res->getUrl()); foreach ($is as $i) { $item = new OmekaItem($i); $this->items[$item->getUrn()] = $item; } } } return $this->items; }
/** @param $stmt mysqli_stmt @return $items [urn => OmekaItem] Helper method for self::getItem{,s}FromDb. Closes $stmt. */ private static function itemsFromDbData($stmt) { $items = array(); $stmt->execute(); $stmt->bind_result($urn, $url, $featured, $public, $dublinCoreJSON); while ($stmt->fetch()) { $item = new OmekaItem(array('url' => $url, 'featured' => $featured, 'public' => $public)); $item->dublinCore = json_decode($dublinCoreJSON, true); $items[$item->getUrn()] = $item; } $stmt->close(); return $items; }