/** * Process incoming parameters and display the page. * * @return void * @access public */ public function launch() { global $interface; global $configArray; $hierarchyType = $this->recordDriver->getHierarchyType(); $hierarchyDriver = HierarchyFactory::initHierarchy($hierarchyType); $source = $hierarchyDriver->getTreeSource(); $generator = $hierarchyDriver->getTreeGenerator(); $generator = !empty($generator) ? $generator : 'JSTree'; $template = 'view-hierarchyTree_' . $generator . '.tpl'; $showTreeSelector = true; $hasHierarchyTree = $this->recordDriver->hasHierarchyTree($hierarchyDriver); if (!$hasHierarchyTree) { $url = $configArray['Site']['url'] . "/Record/" . $_REQUEST['id'] . "/Description"; header('Location: ' . $url); } if (count($hasHierarchyTree) == 1) { $keys = array_keys($hasHierarchyTree); $hierarchyID = $keys[0]; $showTreeSelector = false; } else { $hierarchyID = isset($_REQUEST['hierarchy']) ? $_REQUEST['hierarchy'] : false; } if ($hierarchyID) { $hierarchyTree = $this->recordDriver->getHierarchyTree($hierarchyDriver, 'Record', 'List', $hierarchyID, $_GET['id']); $interface->assign('hierarchyTree', $hierarchyTree); $interface->assign('treeSettings', $hierarchyDriver->getTreeSettings()); } $interface->assign('context', "Record"); $interface->assign('hierarchyID', $hierarchyID); $interface->assign('hasHierarchyTree', $hasHierarchyTree); if (isset($configArray['Hierarchy']['search']) ? $configArray['Hierarchy']['search'] : true) { $interface->assign('showTreeSearch', true); $interface->assign('treeSearchLimit', $configArray["Hierarchy"]["treeSearchLimit"]); $interface->assign('treeSearchFullURL', $configArray["Site"]["url"] . "/Search/Results"); } $interface->assign('disablePartialHierarchy', $_REQUEST['id'] == $hierarchyID ? true : false); if (!isset($_GET['lightbox'])) { $interface->setPageTitle(translate('Hierarchy Tree') . ': ' . $this->recordDriver->getBreadcrumb()); $interface->assign('subTemplate', $template); // Set Messages $interface->assign('infoMsg', $this->infoMsg); $interface->assign('errorMsg', $this->errorMsg); } // Display Page if (isset($_GET['lightbox'])) { $interface->assign('title', $_GET['message']); $interface->assign('id', $_GET['id']); $interface->assign('lightbox', true); return $interface->fetch('Record/' . $template); } else { $interface->assign('showTreeSelector', $showTreeSelector); $interface->assign('id', $_GET['id']); // This is because if loaded from an link, // the tab will not automatically be selected $interface->assign('tab', 'Hierarchytree'); $interface->setTemplate('view.tpl'); $interface->display('layout.tpl'); } }
/** * transformCollectionXML * * Transforms Collection XML to Desired Format * * @param string $source The source of the Hierarchy Tree * @param string $context The Context in which the tree is being displayed * @param string $mode The Mode in which the tree is being displayed * @param string $hierarchyID The hierarchy to get the tree for * @param string $recordID The currently selected Record * * @return string A HTML List * @access public */ protected function transformCollectionXML($source, $context, $mode, $hierarchyID, $recordID) { global $configArray; $transformation = ucfirst($context) . ucfirst($mode); $inHierarchies = $this->recordDriver->getHierarchyTopID(); $inHierarchiesTitle = $this->recordDriver->getHierarchyTopTitle(); $hierarchyTitle = $this->getHierarchyName($hierarchyID, $inHierarchies, $inHierarchiesTitle); $hierarchyType = $this->recordDriver->getHierarchyType(); $hierarchyDriver = HierarchyFactory::initHierarchy($hierarchyType); $base = $configArray['Site']['url']; if ($source == "XMLFile") { $xmlFile = "services/Collection/xml/" . $hierarchyID . ".xml"; $xmlFile = file_get_contents($xmlFile); } elseif ($source == "Solr") { $xmlFile = $this->getXMLFromSolr($hierarchyID); } $xslFile = "services/Collection/xsl/Storeto" . $transformation . ".xsl"; if (!file_exists($xslFile) || $xmlFile == false) { return false; } $doc = new DOMDocument(); $xsl = new XSLTProcessor(); $doc->load($xslFile); $xsl->importStyleSheet($doc); $doc->loadXML($xmlFile); // Append Collection ID, Collection Title && Record ID $xsl->setParameter('', 'titleText', translate("collection_view_record")); $xsl->setParameter('', 'collectionID', $hierarchyID); $xsl->setParameter('', 'collectionTitle', $hierarchyTitle); $xsl->setParameter('', 'baseURL', $base); $xsl->setParameter('', 'context', $context); $xsl->setParameter('', 'recordID', $recordID); return $xsl->transformToXML($doc); }
/** * Check if sorting is enabled in the hierarchy Options * * Returns the configuration setting for hierarchy tree sorting * * @return bool The value of the configuration setting * @access public */ public function treeSorting() { $hierarchyType = $this->getHierarchyType(); $hierarchyDriver = isset($hierarchyDriver) ? $hierarchyDriver : HierarchyFactory::initHierarchy($hierarchyType); return $hierarchyDriver->treeSorting(); }
require_once '../../includes/global.inc.php'; require_once Environment::getBasePath() . 'includes/Interface.inc.php'; //Debug::setVerbosity( 11 ); if (!$permission->Check('hierarchy', 'enabled') or !($permission->Check('hierarchy', 'edit') or $permission->Check('hierarchy', 'edit_own'))) { $permission->Redirect(FALSE); //Redirect } $smarty->assign('title', TTi18n::gettext($title = 'Edit Hierarchy')); // See index.php /* * Get FORM variables */ extract(FormVariables::GetVariables(array('action', 'hierarchy_id', 'id', 'old_id', 'user_data'))); $ft = new FastTree($fast_tree_options); $ft->setTree($hierarchy_id); $hf = new HierarchyFactory(); $redirect = 0; $action = Misc::findSubmitButton(); switch ($action) { case 'submit': //Debug::setVerbosity( 11 ); Debug::Text('Submit!', __FILE__, __LINE__, __METHOD__, 10); if (isset($user_data['user_id'])) { foreach ($user_data['user_id'] as $user_id) { if (isset($id) and $id != '') { $hf->setId($id); } $hf->setHierarchyControl($hierarchy_id); $hf->setPreviousUser($old_id); //$hf->setUser( $user_data['user_id'] ); $hf->setUser($user_id);
/** * Check if an item has holdings in order to show or hide the holdings tab * * @param array $patron An array for patron information * * @return bool * @access public */ public function hasRealTimeHoldings($patron = false) { global $configArray; $hierarchyType = $this->getHierarchyType(); // Get ID and connect to catalog $id = $this->getUniqueID(); if ($hierarchy = HierarchyFactory::initHierarchy($hierarchyType)) { return $hierarchy->hasHolding($id, $patron); } return false; }
/** * Process incoming parameters and display the page. * * @return void * @access public */ public function launch() { global $interface; global $configArray; // Set Up Collection $this->assignCollection(); $this->assignCollectionFacets(); if (!$this->hasHierarchyTree) { $url = $configArray['Site']['url'] . "/Collection/" . $_REQUEST['collection'] . "/CollectionList"; header('Location: ' . $url); } $hierarchyType = $this->recordDriver->getHierarchyType(); $hierarchyDriver = HierarchyFactory::initHierarchy($hierarchyType); $generator = $hierarchyDriver->getTreeGenerator(); $generator = !empty($generator) ? $generator : 'JSTree'; $template = 'Collection/view-hierarchyTree_' . $generator . '.tpl'; $recordID = isset($_GET['recordID']) ? $_GET['recordID'] : false; if ($recordID) { $interface->assign('collectionRecord', $this->getRecord($recordID)); $interface->assign('recordID', $recordID); $interface->assign('id', $recordID); } if (isset($configArray['Hierarchy']['search']) ? $configArray['Hierarchy']['search'] : true) { $interface->assign('showTreeSearch', true); $interface->assign('treeSearchLimit', $configArray["Hierarchy"]["treeSearchLimit"]); $interface->assign('treeSearchFullURL', $configArray["Site"]["url"] . "/Search/Results"); } $interface->setPageTitle(translate('hierarchy_tree') . ': ' . $this->recordDriver->getBreadcrumb()); $showTreeSelector = true; if (count($this->hasHierarchyTree) == 1) { $keys = array_keys($this->hasHierarchyTree); $hierarchyID = $keys[0]; $showTreeSelector = false; } else { $hierarchyID = isset($_REQUEST['hierarchy']) ? $_REQUEST['hierarchy'] : false; } if ($hierarchyID) { $hierarchyTree = $this->recordDriver->getHierarchyTree($hierarchyDriver, 'Collection', 'List', $hierarchyID, $recordID); $interface->assign('hierarchyTree', $hierarchyTree); $interface->assign('treeSettings', $hierarchyDriver->getTreeSettings()); } $interface->assign('context', "Collection"); $interface->assign('hierarchyID', $hierarchyID); $interface->assign('hasHierarchyTree', $this->hasHierarchyTree); $interface->assign('showTreeSelector', $showTreeSelector); $interface->assign('disablePartialHierarchy', $this->id == $hierarchyID ? true : false); $interface->setTemplate('view-alt.tpl'); // Set Messages $interface->assign('infoMsg', $this->infoMsg); $interface->assign('errorMsg', $this->errorMsg); //turn off quirks mode for ie if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false) { $interface->assign('quirks', 'off'); } // Set Templates etc $interface->assign('subpage', $template); // This is because if loaded from an link, the tab will // not automatically be selected $interface->assign('tab', 'HierarchyTree'); //$interface->setTemplate('collectionview.tpl'); // Display Page $interface->display('layout.tpl'); }