예제 #1
0
 /**
  * Load information about circulation statuses from the database
  * so we can perform translations easily and so we can determine
  * what is available and what is not available
  *
  * @return void
  */
 private function loadCircStatusInfo()
 {
     if (is_null($this->holdableStatiRegex)) {
         $circStatus = new CirculationStatus();
         $circStatus->find();
         $holdableStati = array();
         $availableStati = array();
         if ($circStatus->N > 0) {
             while ($circStatus->fetch()) {
                 if ($circStatus->holdable == 1) {
                     $holdableStati[] = $circStatus->millenniumName;
                 }
                 if ($circStatus->available == 1) {
                     $availableStati[] = $circStatus->millenniumName;
                 }
                 if (isset($circStatus->displayName) && is_string($circStatus->displayName) && strlen($circStatus->displayName) > 0) {
                     $this->statusTranslations[$circStatus->millenniumName] = $circStatus->displayName;
                 }
             }
         }
         //Holdable statuses are statuses where the patron could get the item in a reasonable amount of time if they place a hold.
         $this->holdableStatiRegex = implode('|', $holdableStati);
         //Available statuses are statuses where the patron can walk into the library and get it pretty much immediately.
         $this->availableStatiRegex = implode('|', $availableStati);
     }
 }
 function getObjectStructure()
 {
     return CirculationStatus::getObjectStructure();
 }