Newer
Older
<?php
/**
* Copyright (C) 2019 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 Gregor Gawol <gawol@ub.uni-leipzig.de>
* @author Sebastian Kehr <kehr@ub.uni-leipzig.de>
* @license http://opensource.org/licenses/gpl-2.0.php GNU GPLv2
*/

Alexander Purr
committed
use fid\Controller\RecordControllerDelegatorFactory;
use fid\FormModel\PasswordChangeModel;
use fid_adlr\Controller\FeedbackController;
Robert Lange
committed
use fid_adlr\Controller\MyResearchController;
use fid_adlr\Controller\MyResearchControllerFactory;

Alexander Purr
committed
use fid_adlr\Controller\RecordController;
use fid_adlr\Helper\Rss;
use fid_adlr\Hierarchy\TreeRenderer\JSTree as AdlrJSTree;

Alexander Purr
committed
use VuFind\Controller\AbstractBaseWithConfigFactory;
Robert Lange
committed
use Zend\Router\Http\Regex;
use Zend\ServiceManager\Factory\InvokableFactory;
Robert Lange
committed
'forms' => [
'user-create-form' => require 'user-create-form.php',
'user-update-form' => require 'user-update-form.php',
'admin-edit-form' => require 'admin-edit-form.php',
PasswordChangeModel::class => require 'password-change-form.php',
],
'controllers' => [
Robert Lange
committed
'factories' => [
MyResearchController::class => MyResearchControllerFactory::class,
FeedbackController::class => 'VuFind\Controller\AbstractBaseFactory',

Alexander Purr
committed
RecordController::class => AbstractBaseWithConfigFactory::class,
Robert Lange
committed
],
'aliases' => [
Robert Lange
committed
'my-research' => MyResearchController::class,
'feedback' => FeedbackController::class,

Alexander Purr
committed
'Feedback' => FeedbackController::class,
\VuFind\Controller\RecordController::class => RecordController::class,
],
'delegators' => [
RecordController::class => [
RecordControllerDelegatorFactory::class,
],
Robert Lange
committed
],
],
'view_helpers' => [
'aliases' => [
'rss' => Rss::class,
],
'factories' => [
Rss::class => InvokableFactory::class,
],
],
'router' => [
Robert Lange
committed
'routes' => [
'myresearch' => [
'type' => Regex::class,
'options' => [
'regex' => '/(?i)myresearch',
'spec' => '/myresearch'
Robert Lange
committed
],
'may_terminate' => true,
'child_routes' => [
'databases' => [
'type' => Regex::class,
'options' => [
Robert Lange
committed
'regex' => '/(?i)(databases|dbis|licenses)',
'defaults' => [
'controller' => MyResearchController::class,
'action' => 'databases',
],
'spec' => '/databases'
Robert Lange
committed
],
],
],
],
],
],
'vufind' => [
'plugin_managers' => [
'recorddriver' => [
'factories' => [
'solrdefault' => 'finc\RecordDriver\Factory::getSolrDefault',
'solrmarc' => 'finc\RecordDriver\Factory::getSolrMarc',
'solrmarcfinc' => 'finc\RecordDriver\Factory::getSolrMarcFinc',
'solrmarcfincpda' => 'finc\RecordDriver\Factory::getSolrMarcFincPDA',
'solrmarcremote' => 'finc\RecordDriver\Factory::getSolrMarcRemote',
'solrmarcremotefinc' => 'finc\RecordDriver\Factory::getSolrMarcRemoteFinc',
'solrai' => 'finc\RecordDriver\Factory::getSolrAI',
'solris' => 'finc\RecordDriver\Factory::getSolrIS',
'solrlido' => 'finc\RecordDriver\Factory::getSolrLido',
'solrlidondl' => 'finc\RecordDriver\Factory::getSolrLidoNdl'
],
],
'recordtab' => [
'factories' => [
'hierarchytree' => 'finc\RecordTab\Factory::getHierarchyTree',
],
'invokables' => [
'staffviewai' => 'finc\RecordTab\StaffViewAI',
'acquisitionpda' => 'finc\RecordTab\AcquisitionPDA',
'topics' => 'finc\RecordTab\Topics',
'descriptionlido' => 'finc\RecordTab\DescriptionLido',
'toc' => 'fid_adlr\RecordTab\TOC'
'hierarchy_treerenderer' => [
'factories' => [
AdlrJSTree::class => 'VuFind\Hierarchy\TreeRenderer\JSTreeFactory'
],
'aliases' => [
'jstree' => AdlrJSTree::class
],
],
],
'recorddriver_tabs' => [
'finc\RecordDriver\SolrDefault' => [
'tabs' => [
'Description' => 'Description',
'Holdings' => 'HoldingsILS',
'AcquisitionPDA' => 'AcquisitionPDA',
'TOC' => 'TOC',
'UserComments' => 'UserComments',
'Reviews' => 'Reviews',
'Excerpt' => 'Excerpt',
'Preview' => 'preview',
'HierarchyTree' => 'HierarchyTree',
'Map' => 'Map',
'Similar' => null,
'Details' => 'StaffViewArray',
],
'defaultTab' => null,
],
'finc\RecordDriver\SolrMarcFinc' => [
'tabs' => [
'Description' => 'Description',
'Holdings' => 'HoldingsILS',
'AcquisitionPDA' => 'AcquisitionPDA',
'TOC' => 'TOC',
'UserComments' => 'UserComments',
'Reviews' => 'Reviews',
'Excerpt' => 'Excerpt',
'Preview' => 'preview',
'HierarchyTree' => 'HierarchyTree',
'Map' => 'Map',
'Similar' => null,
'Details' => 'StaffViewMARC',
],
'defaultTab' => null,
],
'finc\RecordDriver\SolrAI' => [
'tabs' => [
'Description' => 'Description',
'Holdings' => 'HoldingsILS',
'AcquisitionPDA' => 'AcquisitionPDA',
'TOC' => 'TOC',
'UserComments' => 'UserComments',
'Reviews' => 'Reviews',
'Excerpt' => 'Excerpt',
'Preview' => 'preview',
'HierarchyTree' => 'HierarchyTree',
'Map' => 'Map',
'Similar' => null,
'Details' => 'StaffViewAI',
],
'defaultTab' => null,
],
],
'recorddriver_collection_tabs' => [
'VuFind\RecordDriver\AbstractBase' => [
'tabs' => [
'CollectionList' => 'CollectionList',
'HierarchyTree' => 'CollectionHierarchyTree',
'Details' => 'StaffViewArray',
],
'defaultTab' => null,
],
],
],
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
$nonTabRecordActions = [
'PDA',
'EmailHold',
'ReportErrors',
'Acquisition'
];
// 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',
'Record/EblLink',
'Search/Sources'
];
$routeGenerator = new \VuFind\Route\RouteGenerator($nonTabRecordActions);
$routeGenerator->addRecordRoutes($config, $recordRoutes);
$routeGenerator->addStaticRoutes($config, $staticRoutes);
return $config;