Example #1
0
 /**
  * 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);
 }
Example #3
0
 /**
  * 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();
 }
Example #4
0
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);
Example #5
0
 /**
  * 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;
 }
Example #6
0
 /**
  * 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');
 }