Newer
Older
* Service UserControllerFactory
*
* PHP version 7
*
* 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.
*
* @category VuFind
* @package Controller
* @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
* @link https://vufind.org/wiki/development Wiki
*/
namespace fid\Controller;
use fid\Service\Client;
use Psr\Container\ContainerInterface;
use VuFind\Auth\Manager as AuthManager;
use VuFind\Config\PluginManager as ConfigManager;
use Zend\ServiceManager\ServiceLocatorInterface;
/**
* Service UserControllerFactory
*
* @category VuFind
* @package Controller
* @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
* @link https://vufind.org/wiki/development Wiki
*/
class UserControllerFactory
{
/**

Dorian Merz
committed
* @param ContainerInterface $container Service container
* @param string $requestedName Name of the class to instantiate
* (must inherit fid\Controller\UserController)
*
* @return UserController
*/

Dorian Merz
committed
public function __invoke(ContainerInterface $container, $requestedName)
{
$client = $container->get(Client::class);
$authManager = $container->get(AuthManager::class);
$config = $container->get(ConfigManager::class)->get('fid')->toArray();

Dorian Merz
committed
return new $requestedName($container, $authManager, $client, $config);