Newer
Older
* Copyright (C) 2020 Leipzig University Library
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* @author Sebastian Kehr <kehr@ub.uni-leipzig.de>
* @author Gregor Gawol <gawol@ub.uni-leipzig.de>
* @author Alexander Purr <purr@ub.uni-leipzig.de>
* @license http://opensource.org/licenses/gpl-2.0.php GNU GPLv2
*/
use VuFind\Db\Table\Tags as BaseTagsTable;
use fid_bbi\Db\Table\Tags as BBITagsTable;
use fid_bbi\Helper\Rss;
use VuFind\Db\Table\CaseSensitiveTagsFactory;
use fid_bbi\Controller\RecordController;
use fid_bbi\Controller\MyResearchController;
use fid\Controller\RecordControllerDelegatorFactory;
'forms' => [
'user-init-form' => require 'user-init-form.php',
'user-create-form' => require 'user-create-form.php',
'user-update-form' => require 'user-update-form.php',
'fid-acquisition-form' => require 'fid-acquisition-form.php',
'controllers' => [
'factories' => [
'fid_bbi\Controller\FeedbackController' => 'VuFind\Controller\AbstractBaseFactory',
Robert Lange
committed
'fid_bbi\Controller\SearchController' => 'VuFind\Controller\AbstractBaseFactory',
'fid_bbi\Controller\MyResearchController' => \fid\Controller\MyResearchControllerFactory::class,
'fid_bbi\Controller\RecordController' => 'VuFind\Controller\AbstractBaseWithConfigFactory',
'fid_bbi\Controller\BrowseController' => 'VuFind\Controller\AbstractBaseWithConfigFactory',
'aliases' => [
'feedback' => 'fid_bbi\Controller\FeedbackController',
'Feedback' => 'fid_bbi\Controller\FeedbackController',
Robert Lange
committed
'Search' => 'fid_bbi\Controller\SearchController',
'search' => 'fid_bbi\Controller\SearchController',
'Record' => 'fid_bbi\Controller\RecordController',
'record' => 'fid_bbi\Controller\RecordController',
'VuFind\Controller\MyResearchController' => 'fid_bbi\Controller\MyResearchController',
'VuFind\Controller\BrowseController' => 'fid_bbi\Controller\BrowseController',
'delegators' => [
RecordController::class => [
RecordControllerDelegatorFactory::class,
],
],
'router' => [
'routes' => [
'myresearch' => [
'type' => Regex::class,
'options' => [
'regex' => '/(?i)myresearch',
'spec' => '/myresearch'
],
'may_terminate' => true,
'child_routes' => [
'databases' => [
'type' => Regex::class,
'options' => [
'regex' => '/(?i)(databases|dbis|licenses)',
'defaults' => [
'controller' => MyResearchController::class,
'action' => 'databases',
],
'spec' => '/databases'
],
],
],
],
],
],
'view_helpers' => [
'aliases' => [
'rss' => Rss::class,
],
'factories' => [
Rss::class => 'fid_bbi\Helper\Factory::getRss',
],
],
'vufind' => [
'plugin_managers' => [
'recorddriver' => [
'factories' => [
'finc\RecordDriver\SolrMarcFinc' => 'fid_bbi\RecordDriver\Factory::getSolrMarcFinc',
'recordtab' => [
'factories' => [
'hierarchytree' => 'finc\RecordTab\Factory::getHierarchyTree',
'fid_bbi\RecordTab\Worldcat' => 'fid_bbi\RecordTab\WorldcatFactory::getWorldcat',
],
'aliases' => [
'Worldcat' => 'fid_bbi\RecordTab\Worldcat',
'fid\RecordTab\Worldcat' => 'fid_bbi\RecordTab\Worldcat',
'staffviewai' => 'finc\RecordTab\StaffViewAI',
'acquisitionpda' => 'finc\RecordTab\AcquisitionPDA',
'topics' => 'finc\RecordTab\Topics',
'descriptionlido' => 'finc\RecordTab\DescriptionLido',
'recommend' => [
'factories' => [
'fid_bbi\Recommend\FavoriteFacets' => 'fid_bbi\Recommend\Factory::getFavoriteFacets',
],
'aliases' => [
'VuFind\Recommend\FavoriteFacets' => 'fid_bbi\Recommend\FavoriteFacets',
]
],
'db_table' => [
'aliases' => [
BaseTagsTable::class => BBITagsTable::class,
'VuFind\Db\Table\ResourceTags' => 'fid_bbi\Db\Table\ResourceTags'
BBITagsTable::class => CaseSensitiveTagsFactory::class,
'fid_bbi\Db\Table\ResourceTags' => CaseSensitiveTagsFactory::class
]
],
'db_row' => [
'aliases' => [
'fid_bbi\Db\Row\Tags' => BaseTagsRow::class,
'fid_bbi\Db\Row\ResourceTags' => 'VuFind\Db\Row\ResourceTags'
'recorddriver_tabs' => [
'finc\RecordDriver\SolrDefault' => [
'tabs' => [
'Description' => 'Description',
'Holdings' => null,
'TOC' => 'TOC',
'UserComments' => 'UserComments',
'Reviews' => 'Reviews',
'Excerpt' => 'Excerpt',
'Preview' => 'preview',
'HierarchyTree' => 'HierarchyTree',
'Map' => 'Map',
'Similar' => null,
'Details' => 'StaffViewArray',
'tabs' => [
'Description' => 'Description',
'TOC' => 'TOC',
'UserComments' => 'UserComments',
'Reviews' => 'Reviews',
'Excerpt' => 'Excerpt',
'Preview' => 'preview',
'HierarchyTree' => 'HierarchyTree',
'Map' => 'Map',
'Similar' => null,
'Details' => 'StaffViewMARC',
'finc\RecordDriver\SolrAI' => [
'tabs' => [
'Description' => 'Description',
'Holdings' => 'null',
'TOC' => 'TOC',
'UserComments' => 'UserComments',
'Reviews' => 'Reviews',
'Excerpt' => 'Excerpt',
'Preview' => 'preview',
'HierarchyTree' => 'HierarchyTree',
'Map' => 'Map',
'Similar' => null,
'Details' => 'StaffViewAI',
],
],
'recorddriver_collection_tabs' => [
'VuFind\RecordDriver\AbstractBase' => [
'tabs' => [
'CollectionList' => 'CollectionList',
'HierarchyTree' => 'CollectionHierarchyTree',
'Details' => 'StaffViewArray',
],
'defaultTab' => null,
],
],
],
];
$nonTabRecordActions = [
'PDA',
'EmailHold',
];
// Define record view routes -- route name => controller
// Define record view routes once again to add new nonTabRecordActions
$recordRoutes = [
'record' => 'Record',
'export' => 'Export',
'resources' => 'Resources'
];
// Define static routes -- Controller/Action strings
$staticRoutes = [
'MyResearch/Acquisition',
'MyResearch/ResetPassword',
'dds/Home',
'dds/Email',
Robert Lange
committed
'Record/EblLink',
'Search/Sources'
];
$routeGenerator = new \VuFind\Route\RouteGenerator($nonTabRecordActions);
$routeGenerator->addRecordRoutes($config, $recordRoutes);
$routeGenerator->addStaticRoutes($config, $staticRoutes);
return $config;