diff --git a/module/VuFind/src/VuFind/View/Helper/Root/SyndeticsPlus.php b/module/VuFind/src/VuFind/View/Helper/Root/SyndeticsPlus.php index 3fd33e623c7385354d6b348041f5d32756315796..98ed3116dc765ce305377514d8ce29914d127039 100644 --- a/module/VuFind/src/VuFind/View/Helper/Root/SyndeticsPlus.php +++ b/module/VuFind/src/VuFind/View/Helper/Root/SyndeticsPlus.php @@ -26,7 +26,6 @@ * @link http://vufind.org Main Site */ namespace VuFind\View\Helper\Root; -use VuFind\Config\Reader as ConfigReader, Zend\View\Helper\AbstractHelper; /** * SyndeticsPlus view helper @@ -37,19 +36,26 @@ use VuFind\Config\Reader as ConfigReader, Zend\View\Helper\AbstractHelper; * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link http://vufind.org Main Site */ -class SyndeticsPlus extends AbstractHelper +class SyndeticsPlus extends \Zend\View\Helper\AbstractHelper { + /** + * Syndetics configuration + * + * \Zend\Config\Config + */ protected $config; /** - * Provides access to other class methods. + * Constructor * - * @return SyndeticsPlus + * @param \Zend\Config\Config $config Syndetics configuration (should contain + * 'plus' boolean value (true if Syndetics Plus is enabled) and 'plus_id' string + * value (Syndetics Plus user ID). If these values are absent, SyndeticsPlus + * will be disabled. */ - public function __invoke() + public function __construct($config) { - $this->config = ConfigReader::getConfig(); - return $this; + $this->config = $config; } /** @@ -59,8 +65,8 @@ class SyndeticsPlus extends AbstractHelper */ public function isActive() { - return isset($this->config->Syndetics->plus) - ? $this->config->Syndetics->plus : false; + return isset($this->config->plus) + ? $this->config->plus : false; } /** @@ -70,10 +76,10 @@ class SyndeticsPlus extends AbstractHelper */ public function getScript() { - // Determine whether to include script tag for syndetics plus - if (isset($this->config->Syndetics->plus_id)) { + // Determine whether to include script tag for SyndeticsPlus + if (isset($this->config->plus_id)) { return "http://plus.syndetics.com/widget.php?id=" - . urlencode($this->config->Syndetics->plus_id); + . urlencode($this->config->plus_id); } return null; diff --git a/themes/root/theme.config.php b/themes/root/theme.config.php index c0730b447c291d20daa38133087e42348536d64e..b3385163dd7142f480e9c48ccc1b5d9dd1b4095f 100644 --- a/themes/root/theme.config.php +++ b/themes/root/theme.config.php @@ -33,6 +33,12 @@ return array( $sm->getServiceLocator()->get('SearchManager') ); }, + 'syndeticsplus' => function ($sm) { + $config = \VuFind\Config\Reader::getConfig(); + return new \VuFind\View\Helper\Root\SyndeticsPlus( + isset($config->Syndetics) ? $config->Syndetics : null + ); + } ), 'invokables' => array( 'addellipsis' => 'VuFind\View\Helper\Root\AddEllipsis', @@ -60,7 +66,6 @@ return array( 'safemoneyformat' => 'VuFind\View\Helper\Root\SafeMoneyFormat', 'sortfacetlist' => 'VuFind\View\Helper\Root\SortFacetList', 'summon' => 'VuFind\View\Helper\Root\Summon', - 'syndeticsplus' => 'VuFind\View\Helper\Root\SyndeticsPlus', 'systememail' => 'VuFind\View\Helper\Root\SystemEmail', 'transesc' => 'VuFind\View\Helper\Root\TransEsc', 'translate' => 'VuFind\View\Helper\Root\Translate',