1752171309 gFFBC%2BJB4H%3AphpDocumentor-projectDescriptor-files-0051072bbfdd605f38f6c937893a4827 O:39:"phpDocumentor\Descriptor\FileDescriptor":23:{s:8:"*fqsen";N;s:7:"*name";s:13:"Syndetics.php";s:12:"*namespace";s:0:"";s:10:"*package";s:7:"Content";s:10:"*summary";s:32:"Syndetics review content loader.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:676:"PHP version 8 Copyright (C) Villanova University 2010. 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";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:0;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:5:{s:8:"category";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:8:"category";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:6:"VuFind";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:7:"package";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:7:"package";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:7:"Content";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:6:"author";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\AuthorDescriptor":3:{s:7:"*name";s:6:"author";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:39:"Demian Katz ";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:7:"license";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:7:"license";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:69:"http://opensource.org/licenses/gpl-2.0.php GNU General Public License";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:4:"link";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:43:"phpDocumentor\Descriptor\Tag\LinkDescriptor":4:{s:7:"*name";s:4:"link";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:4:"Wiki";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:7:"*link";s:35:"https://vufind.org/wiki/development";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:7:"*hash";s:32:"75aa77c6e372507b206138a904f635db";s:7:"*path";s:47:"VuFind/src/VuFind/Content/Reviews/Syndetics.php";s:9:"*source";s:7895:" * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link https://vufind.org/wiki/development Wiki */ namespace VuFind\Content\Reviews; /** * Syndetics review content loader. * * @category VuFind * @package Content * @author Demian Katz * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link https://vufind.org/wiki/development Wiki */ class Syndetics extends \VuFind\Content\AbstractSyndetics { /** * List of syndetic review sources * * @var array */ protected $sourceList = [ 'CHREVIEW' => ['title' => 'Choice Review', 'file' => 'CHREVIEW.XML', 'div' => '
'], 'NYREVIEW' => ['title' => 'New York Times Review', 'file' => 'NYREVIEW.XML', 'div' => '
'], 'BLREVIEW' => ['title' => 'Booklist Review', 'file' => 'BLREVIEW.XML', 'div' => '
'], 'PWREVIEW' => ['title' => "Publisher's Weekly Review", 'file' => 'PWREVIEW.XML', 'div' => '
'], 'LJREVIEW' => ['title' => 'Library Journal Review', 'file' => 'LJREVIEW.XML', 'div' => '
'], 'SLJREVIEW' => ['title' => 'School Library Journal Review', 'file' => 'SLJREVIEW.XML', 'div' => '
'], 'HBREVIEW' => ['title' => 'Horn Book Review', 'file' => 'HBREVIEW.XML', 'div' => '
'], 'KIRKREVIEW' => ['title' => 'Kirkus Book Review', 'file' => 'KIRKREVIEW.XML', 'div' => '
'], 'CRITICASREVIEW' => ['title' => 'Criticas Review', 'file' => 'CRITICASREVIEW.XML', 'div' => '
'], // These last two entries are probably typos -- retained for legacy // compatibility just in case they're actually used for something! 'KIREVIEW' => ['title' => 'Kirkus Book Review', 'file' => 'KIREVIEW.XML'], 'CRITICASEREVIEW' => ['title' => 'Criti Case Review', 'file' => 'CRITICASEREVIEW.XML'], ]; /** * This method is responsible for connecting to Syndetics and abstracting * reviews from multiple providers. * * It first queries the master url for the ISBN entry seeking a review URL. * If a review URL is found, the script will then use HTTP request to * retrieve the script. The script will then parse the review according to * US MARC (I believe). It will provide a link to the URL master HTML page * for more information. * Configuration: Sources are processed in order - refer to $sourceList above. * If your library prefers one reviewer over another change the order. * If your library does not like a reviewer, remove it. If there are more * syndetics reviewers add another entry. * * @param string $key API key (unused here) * @param \VuFindCode\ISBN $isbnObj ISBN object * * @throws \Exception * @return array Returns array with review data. * @author Joel Timothy Norman * @author Andrew Nagy */ public function loadByIsbn($key, \VuFindCode\ISBN $isbnObj) { // Initialize return value $review = []; // Find out if there are any reviews $isbn = $this->getIsbn10($isbnObj); $url = $this->getIsbnUrl($isbn, $key); $result = $this->getHttpClient($url)->send(); if (!$result->isSuccess()) { return $review; } // Test XML Response if (!($xmldoc = $this->xmlToDOMDocument($result->getBody()))) { throw new \Exception('Invalid XML'); } $i = 0; foreach ($this->sourceList as $source => $sourceInfo) { $nodes = $xmldoc->getElementsByTagName($source); if ($nodes->length) { // Load reviews $url = $this->getIsbnUrl($isbn, $key, $sourceInfo['file']); $result2 = $this->getHttpClient($url)->send(); if (!$result2->isSuccess()) { continue; } // Test XML Response $xmldoc2 = $this->xmlToDOMDocument($result2->getBody()); if (!$xmldoc2) { throw new \Exception('Invalid XML'); } // If we have syndetics plus, we don't actually want the content // we'll just stick in the relevant div if ($this->usePlus) { $review[$i]['Content'] = $sourceInfo['div']; } else { // Get the marc field for reviews (520) $nodes = $xmldoc2->GetElementsbyTagName('Fld520'); if (!$nodes->length) { // Skip reviews with missing text continue; } // Decode the content and strip unwanted tags: $review[$i]['Content'] = preg_replace( '/|]*>|<\/a>/', '', html_entity_decode($xmldoc2->saveXML($nodes->item(0))) ); // Get the marc field for copyright (997) $nodes = $xmldoc2->GetElementsbyTagName('Fld997'); if ($nodes->length) { $review[$i]['Copyright'] = html_entity_decode($xmldoc2->saveXML($nodes->item(0))); } else { $review[$i]['Copyright'] = null; } if ($review[$i]['Copyright']) { //stop duplicate copyrights $location = strripos( $review[0]['Content'], (string)$review[0]['Copyright'] ); if ($location > 0) { $review[$i]['Content'] = substr($review[0]['Content'], 0, $location); } } } //change the xml to actual title: $review[$i]['Source'] = $sourceInfo['title']; $review[$i]['ISBN'] = $isbn; $i++; } } return $review; } } ";s:19:"*namespaceAliases";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:23:"\VuFind\Content\Reviews";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:23:"\VuFind\Content\Reviews";s:36:"phpDocumentor\Reflection\Fqsenname";s:7:"Reviews";}}}s:11:"*includes";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:12:"*constants";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:12:"*functions";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:10:"*classes";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:33:"\VuFind\Content\Reviews\Syndetics";O:40:"phpDocumentor\Descriptor\ClassDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:33:"\VuFind\Content\Reviews\Syndetics";s:36:"phpDocumentor\Reflection\Fqsenname";s:9:"Syndetics";}s:7:"*name";s:9:"Syndetics";s:12:"*namespace";s:23:"\VuFind\Content\Reviews";s:10:"*package";s:7:"Content";s:10:"*summary";s:32:"Syndetics review content loader.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";r:1;s:7:"*line";i:41;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:5:{s:8:"category";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:8:"category";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:6:"VuFind";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:7:"package";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:7:"package";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:7:"Content";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:6:"author";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\AuthorDescriptor":3:{s:7:"*name";s:6:"author";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:39:"Demian Katz ";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:7:"license";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:7:"license";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:69:"http://opensource.org/licenses/gpl-2.0.php GNU General Public License";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:4:"link";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:43:"phpDocumentor\Descriptor\Tag\LinkDescriptor":4:{s:7:"*name";s:4:"link";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:4:"Wiki";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:7:"*link";s:35:"https://vufind.org/wiki/development";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:33:"\VuFind\Content\AbstractSyndetics";s:36:"phpDocumentor\Reflection\Fqsenname";s:17:"AbstractSyndetics";}s:13:"*implements";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:11:"*abstract";b:0;s:8:"*final";b:0;s:12:"*constants";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:13:"*properties";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:10:"sourceList";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":18:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:46:"\VuFind\Content\Reviews\Syndetics::$sourceList";s:36:"phpDocumentor\Reflection\Fqsenname";s:10:"sourceList";}s:7:"*name";s:10:"sourceList";s:12:"*namespace";s:33:"\VuFind\Content\Reviews\Syndetics";s:10:"*package";N;s:10:"*summary";s:31:"List of syndetic review sources";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:48;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:42:"phpDocumentor\Descriptor\Tag\VarDescriptor":5:{s:7:"*name";s:3:"var";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:15:"*variableName";s:0:"";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:7:"*type";N;s:10:"*default";s:1443:"[ 'CHREVIEW' => ['title' => 'Choice Review', 'file' => 'CHREVIEW.XML', 'div' => '
'], 'NYREVIEW' => ['title' => 'New York Times Review', 'file' => 'NYREVIEW.XML', 'div' => '
'], 'BLREVIEW' => ['title' => 'Booklist Review', 'file' => 'BLREVIEW.XML', 'div' => '
'], 'PWREVIEW' => ['title' => "Publisher's Weekly Review", 'file' => 'PWREVIEW.XML', 'div' => '
'], 'LJREVIEW' => ['title' => 'Library Journal Review', 'file' => 'LJREVIEW.XML', 'div' => '
'], 'SLJREVIEW' => ['title' => 'School Library Journal Review', 'file' => 'SLJREVIEW.XML', 'div' => '
'], 'HBREVIEW' => ['title' => 'Horn Book Review', 'file' => 'HBREVIEW.XML', 'div' => '
'], 'KIRKREVIEW' => ['title' => 'Kirkus Book Review', 'file' => 'KIRKREVIEW.XML', 'div' => '
'], 'CRITICASREVIEW' => ['title' => 'Criticas Review', 'file' => 'CRITICASREVIEW.XML', 'div' => '
'], // These last two entries are probably typos -- retained for legacy // compatibility just in case they're actually used for something! 'KIREVIEW' => ['title' => 'Kirkus Book Review', 'file' => 'KIREVIEW.XML'], 'CRITICASEREVIEW' => ['title' => 'Criti Case Review', 'file' => 'CRITICASEREVIEW.XML'], ]";s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:53:"phpDocumentor\Descriptor\PropertyDescriptorreadOnly";b:0;s:54:"phpDocumentor\Descriptor\PropertyDescriptorwriteOnly";b:0;}}}s:10:"*methods";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:10:"loadByIsbn";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:47:"\VuFind\Content\Reviews\Syndetics::loadByIsbn()";s:36:"phpDocumentor\Reflection\Fqsenname";s:10:"loadByIsbn";}s:7:"*name";s:10:"loadByIsbn";s:12:"*namespace";s:23:"\VuFind\Content\Reviews";s:10:"*package";N;s:10:"*summary";s:103:"This method is responsible for connecting to Syndetics and abstracting reviews from multiple providers.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:560:"It first queries the master url for the ISBN entry seeking a review URL. If a review URL is found, the script will then use HTTP request to retrieve the script. The script will then parse the review according to US MARC (I believe). It will provide a link to the URL master HTML page for more information. Configuration: Sources are processed in order - refer to $sourceList above. If your library prefers one reviewer over another change the order. If your library does not like a reviewer, remove it. If there are more syndetics reviewers add another entry.";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:106;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:4:{s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:2:{i:0;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:7:"*name";s:5:"param";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:21:"API key (unused here)";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:38:"phpDocumentor\Reflection\Types\String_":0:{}s:15:"*variableName";s:3:"key";}i:1;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:7:"*name";s:5:"param";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:11:"ISBN object";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:38:"phpDocumentor\Reflection\Types\Object_":1:{s:45:"phpDocumentor\Reflection\Types\Object_fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:16:"\VuFindCode\ISBN";s:36:"phpDocumentor\Reflection\Fqsenname";s:4:"ISBN";}}s:15:"*variableName";s:7:"isbnObj";}}}s:6:"throws";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ThrowsDescriptor":4:{s:7:"*name";s:6:"throws";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:38:"phpDocumentor\Reflection\Types\Object_":1:{s:45:"phpDocumentor\Reflection\Types\Object_fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:10:"\Exception";s:36:"phpDocumentor\Reflection\Fqsenname";s:9:"Exception";}}}}}s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:31:"Returns array with review data.";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}}}}s:6:"author";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:2:{i:0;O:45:"phpDocumentor\Descriptor\Tag\AuthorDescriptor":3:{s:7:"*name";s:6:"author";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:45:"Joel Timothy Norman ";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}i:1;O:45:"phpDocumentor\Descriptor\Tag\AuthorDescriptor":3:{s:7:"*name";s:6:"author";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:47:"Andrew Nagy ";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:2:{s:3:"key";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":16:{s:8:"*fqsen";N;s:7:"*name";s:3:"key";s:12:"*namespace";s:0:"";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";r:248;s:17:"*fileDescriptor";N;s:7:"*line";i:106;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*method";r:227;s:7:"*type";r:255;s:10:"*default";N;s:14:"*byReference";b:0;s:13:"*isVariadic";b:0;}s:7:"isbnObj";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":16:{s:8:"*fqsen";N;s:7:"*name";s:7:"isbnObj";s:12:"*namespace";s:0:"";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";r:259;s:17:"*fileDescriptor";N;s:7:"*line";i:106;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*method";r:227;s:7:"*type";r:266;s:10:"*default";N;s:14:"*byReference";b:0;s:13:"*isVariadic";b:0;}}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}}}s:13:"*usedTraits";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:13:"*interfaces";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:9:"*traits";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:10:"*markers";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:46:"phpDocumentor\Descriptor\FileDescriptorenums";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}