<?php /** * Copyright (C) 2019 Leipzig University Library * * PHP Version 7 * * 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 ILS * @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\VuFind\ILS; use fid\Service\Client; use fid\Service\ClientException; use VuFind\Exception\ILS as ILSException; use VuFind\ILS\Driver\AbstractBase; /** * Class Fid * * @category VuFind * @package ILS * @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 Fid extends AbstractBase { /** * Fid client * * @var Client */ protected $client; /** * Fid constructor. * * @param Client $client fid client */ public function __construct(Client $client) { $this->client = $client; } /** * Initialize the Fid object * * @return void */ public function init() { // intentionally left blank } /** * Login user * * @return array|null * @throws ClientException */ public function patronLogin(): ?array { $user = $this->client->requestUserDetails(); if (!$user) { return null; } return ['id' => $user->getId()]; } /** * Method should not be called * * @param string $id Record id * * @return mixed|void * @throws ILSException */ public function getStatus($id) { throw new ILSException('Method not available'); } /** * Method should not be called * * @param array $ids Record ids * * @return array|void * @throws ILSException */ public function getStatuses($ids) { throw new ILSException('Method not available'); } /** * Method should not be called * * @param string $id Record id * @param array|null $patron patron data * * @return array|void * @throws ILSException */ public function getHolding($id, array $patron = null, array $options = []) { throw new ILSException('Method not available'); } /** * Method should not be called * * @param string $id Record id * * @return array|void * @throws ILSException */ public function getPurchaseHistory($id) { throw new ILSException('Method not available'); } /** * Return patron data as is * * @param mixed $patron patron data * * @return mixed */ public function getMyProfile($patron) { return $patron; } }