Exemplo n.º 1
0
 /**
  * Get Item Statuses
  *
  * This is responsible for getting holding summary information for a list of
  * records from the database.
  *
  * @access	public
  * @author	Mark Noble <*****@*****.**>
  */
 function GetStatusSummaries()
 {
     global $configArray;
     global $interface;
     global $timer;
     global $library;
     $showOtherEditionsPopup = false;
     if ($configArray['Content']['showOtherEditionsPopup']) {
         if ($library) {
             $showOtherEditionsPopup = $library->showOtherEditionsPopup == 1;
         } else {
             $showOtherEditionsPopup = true;
         }
     }
     $interface->assign('showOtherEditionsPopup', $showOtherEditionsPopup);
     $showCopiesLineInHoldingsSummary = true;
     if ($library && $library->showCopiesLineInHoldingsSummary == 0) {
         $showCopiesLineInHoldingsSummary = false;
     }
     $interface->assign('showCopiesLineInHoldingsSummary', $showCopiesLineInHoldingsSummary);
     require_once ROOT_DIR . '/CatalogConnection.php';
     // Try to find a copy that is available
     /** @var $catalog CatalogConnection */
     $catalog = new CatalogConnection($configArray['Catalog']['driver']);
     $timer->logTime("Initialized Catalog Connection");
     $summaries = $catalog->getStatusSummaries($_GET['id'], true);
     $timer->logTime("Retrieved status summaries");
     $result = array();
     $result['items'] = array();
     // Loop through all the status information that came back
     foreach ($summaries as $id => $record) {
         // If we encountered errors, skip those problem records.
         if (PEAR_Singleton::isError($record)) {
             continue;
         }
         $itemResults = $record;
         $interface->assign('id', $id);
         $interface->assign('holdingsSummary', $record);
         $formattedHoldingsSummary = $interface->fetch('Record/holdingsSummary.tpl');
         $itemResults['formattedHoldingsSummary'] = $formattedHoldingsSummary;
         $result['items'][] = $itemResults;
     }
     echo json_encode($result);
     $timer->logTime("Formatted results");
 }