Beispiel #1
0
 function getWorkInfo()
 {
     global $interface;
     //Indicate we are showing search results so we don't get hold buttons
     $interface->assign('displayingSearchResults', true);
     require_once ROOT_DIR . '/RecordDrivers/GroupedWorkDriver.php';
     $id = $_REQUEST['id'];
     $recordDriver = new GroupedWorkDriver($id);
     if (isset($_REQUEST['browseCategoryId'])) {
         require_once ROOT_DIR . '/sys/Browse/BrowseCategory.php';
         $browseCategory = new BrowseCategory();
         $browseCategory->textId = $_REQUEST['browseCategoryId'];
         if ($browseCategory->find(true)) {
             $browseCategory->numTitlesClickedOn++;
             $browseCategory->update();
         }
     }
     $interface->assign('recordDriver', $recordDriver);
     //		// if the grouped work consists of only 1 related item, return the record url, otherwise return the grouped-work url
     $relatedRecords = $recordDriver->getRelatedRecords();
     //		// long version, for unlikely case that $relatedRecords[0] won't work
     //		if (count($relatedRecords) == 1) {
     //			$onlyRecord = reset($relatedRecords);
     //			$url = $onlyRecord['url'];
     //		} else {
     //			$url = $recordDriver->getLinkUrl();
     //		}
     // short version
     $url = count($relatedRecords) == 1 ? $relatedRecords[0]['url'] : $recordDriver->getLinkUrl();
     $escapedId = htmlentities($recordDriver->getPermanentId());
     // escape for html
     $buttonLabel = translate('Add to favorites');
     $results = array('title' => "<a href='{$url}'>{$recordDriver->getTitle()}</a>", 'modalBody' => $interface->fetch("GroupedWork/work-details.tpl"), 'modalButtons' => "<span onclick=\"return VuFind.GroupedWork.showSaveToListForm(this, '{$escapedId}');\" class=\"modal-buttons btn btn-primary\" style='float: left'>{$buttonLabel}</span>" . "<a href='{$url}'><span class='modal-buttons btn btn-primary'>More Info</span></a>");
     return json_encode($results);
 }
Beispiel #2
0
 /**
  *  Updates the displayed Browse Category's Shown Stats. Use near the end of
  *  your actions.
  */
 private function upBrowseCategoryCounter()
 {
     if ($this->browseCategory) {
         $this->browseCategory->numTimesShown += 1;
         if ($this->subCategories) {
             // Avoid unneeded sql update calls of subBrowseCategories
             unset($this->browseCategory->subBrowseCategories);
         }
         $this->browseCategory->update();
     }
 }