diff --git a/module/fid/src/View/Helper/Root/GetIt.php b/module/fid/src/View/Helper/Root/GetIt.php index aee1bc4139d749fbad1c5d9841e4eb60a32fa827..a47a8c51c4058522b364ffed800f3118219b1b06 100644 --- a/module/fid/src/View/Helper/Root/GetIt.php +++ b/module/fid/src/View/Helper/Root/GetIt.php @@ -55,6 +55,22 @@ class GetIt extends AbstractHelper */ protected $driver; + /** + * @var array list of available source ID definitions from config + */ + protected $sids = [ + 'source_idsV1', + 'source_idsV3', + 'source_idsV4', + 'source_idsV5', + 'source_idsV6', + 'source_idsV7', + 'source_idsV8', + 'source_idsV9', + 'source_idsV10', + 'source_idsV11', + ]; + /** * FID API Client * @@ -72,6 +88,11 @@ class GetIt extends AbstractHelper protected $isbn; protected $issn; + protected $accordeonColorDefault; + protected $accordeonColorAlternative; + protected $accordeonHeadlineDefault; + protected $accordeonHeadlineAlternative; + /** * GetIt constructor. * @@ -100,10 +121,17 @@ class GetIt extends AbstractHelper $this->isbn = $this->driver->tryMethod('getISBNs'); $this->issn = $this->driver->tryMethod('getISSNs'); + $this->accordeonColorDefault = 'azure'; + $this->accordeonColorAlternative = 'amber'; + $this->accordeonHeadlineDefault = $this->translate('getit_infos'); + $this->accordeonHeadlineAlternative = $this->translate('getit_links'); + return $this; } /** + * Retrieve SIDs from config (getit.ini) + * * @param $value * * @return array @@ -115,6 +143,8 @@ class GetIt extends AbstractHelper } /** + * Retrieve NonSIDs from config (getit.ini) + * * @param $value * * @return string @@ -126,323 +156,583 @@ class GetIt extends AbstractHelper } /** - * @param $defaultval - * @param $additionalval + * Read specific config of given record + * Set default Values of getit box * - * @return mixed + * @return array config of given record */ - private function _accordeon($defaultval, $additionalval) + public function getConfig() { - if (in_array($this->sid, $this->_getSourceIds('source_idsV1'))) { - return $additionalval; - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV3'))) { - return $additionalval; - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV5'))) { - return $additionalval; - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV7'))) { - return $additionalval; - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV8'))) { - if (in_array('Free', $this->facetAvail)) { - return $additionalval; - } elseif (in_array('Online', $this->facetAvail) - && (preg_grep($this->_getNonSourceIds('source_idsV8_5'), $this->format) - || preg_grep($this->_getNonSourceIds('source_idsV8_6'), $this->format) - || preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format)) - ) { - return $additionalval; + //set default values + $accordeonColor = $this->accordeonColorDefault; + $accordeonHeadline = $this->accordeonHeadlineDefault; + $boxHeadline = $this->translate('Get it'); + $notice = $this->translate('getit_text_default'); + $showLinks = true; + $showOrderButton = false; + $showPartCopyButton = false; + $bossData = false; + $isEBCEBooks = false; + $hideNotice = false; + $isAiSidRecord = false; + + // let specific functions override defaults where necessary + foreach ($this->sids as $sid_config) { + if (in_array($this->sid, $sid = $this->_getSourceIds($sid_config))) + { + $foo = 'get_config_'.$sid_config; + $this->$foo( + $accordeonColor, + $accordeonHeadline, + $boxHeadline, + $notice, + $showLinks, + $showOrderButton, + $showPartCopyButton, + $bossData, + $isEBCEBooks, + $hideNotice, + $isAiSidRecord + ); + if ($this->sid !== '0') + { + //special case for source ID 0 + // this is th only SID that is contained in multiple configs (V8 + V9) + break; + } } - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV10'))) { - return $additionalval; } - return $defaultval; + return compact( + 'accordeonColor', + 'accordeonHeadline', + 'boxHeadline', + 'notice', + 'showLinks', + 'showOrderButton', + 'showPartCopyButton', + 'bossData', + 'isEBCEBooks', + 'hideNotice', + 'isAiSidRecord' + ); } /** - * @return string + * Configuration of SIDs 13,22,26,28,30,34,53,80,84,87,88,99,101,150,153,170 + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record */ - public function getAccordeonColor() + public function get_config_source_idsV1( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) { - return $this->_accordeon('azure', 'amber'); + $accordeonColor = $this->accordeonColorAlternative; + $accordeonHeadline = $this->accordeonHeadlineAlternative; + $notice = $this->translate('getit_text_1'); } /** - * @return mixed + * Configuration of SID 49,55,68,105 + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record */ - public function getAccordeonHeadline() + public function get_config_source_idsV3( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) { - $links = $this->translate('getit_links'); - $infos = $this->translate('getit_infos'); - return $this->_accordeon($infos, $links); + $accordeonColor = $this->accordeonColorAlternative; + $accordeonHeadline = $this->accordeonHeadlineAlternative; + $boxHeadline = $this->fidClient->isLoggedOn() ? $this->translate('Get it') : $this->translate('getit_logged_not'); + $notice = ''; + $isAiSidRecord = true; } /** - * @return string + * Configuration of SID 51 + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record */ - public function getBoxHeadline() + public function get_config_source_idsV4( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) { - if (in_array($this->sid, $this->_getSourceIds('source_idsV3'))) { - if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_logged_not'); - } - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV4'))) { - if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_logged_not'); - } - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV5'))) { - if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_logged_not'); - } - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV8'))) { - $isLogin = false; - if (in_array('Local', $this->facetAvail) - && ((preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) - && !in_array($this->_getNonSourceIds('source_idsV8_1'), $this->institution)) - || preg_grep($this->_getNonSourceIds('source_idsV8_3'), $this->format) - ) - ) { - $isLogin = true; - } elseif (in_array('Online', $this->facetAvail) - && !in_array('Free', $this->facetAvail) - && (preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format)) - ) { - $isLogin = true; - } - if (in_array($this->sid, $this->_getSourceIds('source_idsV9')) - && preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->format) - ) { - $isLogin = true; - } - if ($isLogin && !$this->fidClient->isLoggedOn()) { - return $this->translate('getit_logged_not'); - } - } - return $this->translate('Get it'); + $boxHeadline = $this->fidClient->isLoggedOn() ? $this->translate('Get it') : $this->translate('getit_logged_not'); + $notice = $this->fidClient->isLoggedOn() ? $this->translate('getit_text_12') : $this->translate('getit_text_2'); } /** - * @return string + * Configuration of SID 76 + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record */ - public function getNotices() + public function get_config_source_idsV5( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) { - if (in_array($this->sid, $this->_getSourceIds('source_idsV1'))) { - return $this->translate('getit_text_1'); - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV3'))) { - return; - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV4'))) { - if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_text_2'); - } else { - return $this->translate('getit_text_12'); + $accordeonColor = $this->accordeonColorAlternative; + $accordeonHeadline = $this->accordeonHeadlineAlternative; + $notice = !$this->fidClient->isLoggedOn() ? $this->translate('getit_text_3_1') : $this->translate('getit_text_13'); + $boxHeadline = $this->fidClient->isLoggedOn() ? $this->translate('Get it') : $this->translate('getit_logged_not'); + $showLinks = $this->fidClient->isLoggedOn(); + } + + /** + * Configuration of SID 78 + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record + */ + public function get_config_source_idsV6( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) + { + $notice = $this->translate('getit_text_4'); + } + + /** + * Configuration of SID 103 + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record + */ + public function get_config_source_idsV7( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) + { + $accordeonColor = $this->accordeonColorAlternative; + $accordeonHeadline = $this->accordeonHeadlineAlternative; + $notice = $this->translate('getit_text_5'); + } + + /** + * Configuration of SID 0,109,117,119,127,142,148,151,155 + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record + */ + public function get_config_source_idsV8( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) + { + //accordeon + if (in_array('Free', $this->facetAvail)) { + $accordeonHeadline = $this->accordeonHeadlineAlternative; + $accordeonColor = $this->accordeonColorAlternative; + } elseif (in_array('Online', $this->facetAvail) + && (preg_grep($this->_getNonSourceIds('source_idsV8_5'), $this->format) + || preg_grep($this->_getNonSourceIds('source_idsV8_6'), $this->format) + || preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format)) + ) { + $accordeonHeadline = $this->accordeonHeadlineAlternative; + $accordeonColor = $this->accordeonColorAlternative; + } + //END accordeon + //box headline + $isLogin = false; + if (in_array($this->sid, $this->_getSourceIds('source_idsV9')) + && preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->format) + ) { + $isLogin = true; + } + elseif (in_array('Local', $this->facetAvail) + && ((preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) + && !in_array($this->_getNonSourceIds('source_idsV8_9'), $this->institution)) + || preg_grep($this->_getNonSourceIds('source_idsV8_3'), $this->format) + ) + ) { + $isLogin = true; + } elseif (in_array('Online', $this->facetAvail) + && !in_array('Free', $this->facetAvail) + && (preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format)) + ) { + $isLogin = true; + } + if ($isLogin && !$this->fidClient->isLoggedOn()) { + $boxHeadline = $this->translate('getit_logged_not'); + } + //END boxheadline + //notice + if (in_array($this->sid, $this->_getSourceIds('source_idsV9'))) { + if (preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection)) { + if (!$this->fidClient->isLoggedOn()) { + $notice = $this->translate('getit_text_3_1'); + } else { + $notice = $this->translate('getit_text_13'); + } } - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV5'))) { - if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_text_3_1'); - } else { - return $this->translate('getit_text_13'); + elseif ($this->isCollection) { + $notice = $this->translate('getit_text_11',['%%hierarchy_tree%%' => $this->translate('hierarchy_tree')]); } - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV6'))) { - return $this->translate('getit_text_4'); - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV7'))) { - return $this->translate('getit_text_5'); - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV10'))) { - return $this->translate('getit_text_6'); - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV11'))) { - return $this->translate('getit_text_7'); - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV8'))) { - if (in_array($this->sid, $this->_getSourceIds('source_idsV9'))) { - if (preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection)) { - if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_text_3_1'); - } else { - return $this->translate('getit_text_13'); - } - } - if ($this->isCollection) { - return $this->translate('getit_text_11',['%%hierarchy_tree%%' => $this->translate('hierarchy_tree')]); - } - if (preg_grep($this->_getNonSourceIds('source_idsV8_7'), $this->megacollection) - ) { - return $this->translate('getit_text_1'); - } - if (in_array('Local', $this->facetAvail) - && (preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) - || preg_grep($this->_getNonSourceIds('source_idsV8_3'), $this->format)) - ) { - if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_text_10'); - } elseif (preg_grep($this->_getNonSourceIds('source_idsV8_3'), $this->format)) { - return $this->translate('getit_text_14'); - } else { - return ''; - } - } - if (in_array('Local', $this->facetAvail) - && preg_grep($this->_getNonSourceIds('source_idsV8_2'), $this->format) - ) { - return $this->translate('getit_text_8'); - } - if (in_array('Free', $this->facetAvail)) { - return $this->translate('getit_text_1'); - } - if (in_array('Online', $this->facetAvail) - && (preg_grep($this->_getNonSourceIds('source_idsV8_5'), $this->format) - || preg_grep($this->_getNonSourceIds('source_idsV8_6'), $this->format)) - ) { - return $this->translate('getit_text_9'); - } elseif (in_array('Online', $this->facetAvail) - && preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) - ) { - if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_text_10'); - } else { - return $this->translate('getit_text_15'); - } - } - } elseif ($this->isCollection) { - return $this->translate('getit_text_11',['%%hierarchy_tree%%' => $this->translate('hierarchy_tree')]); - } elseif (in_array('Local', $this->facetAvail) - && preg_grep($this->_getNonSourceIds('source_idsV8_2'), $this->format) + elseif (preg_grep($this->_getNonSourceIds('source_idsV8_7'), $this->megacollection) + ) { + $notice = $this->translate('getit_text_1'); + } + elseif (in_array('Local', $this->facetAvail) + && (preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) + || preg_grep($this->_getNonSourceIds('source_idsV8_3'), $this->format)) ) { - return $this->translate('getit_text_8'); - } elseif (in_array('Local', $this->facetAvail)) { if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_text_10'); + $notice = $this->translate('getit_text_10'); } elseif (preg_grep($this->_getNonSourceIds('source_idsV8_3'), $this->format)) { - return $this->translate('getit_text_14'); + $notice = $this->translate('getit_text_14'); } else { - return ''; + $notice = ''; } - } elseif (in_array('Free', $this->facetAvail)) { - return $this->translate('getit_text_1'); - } elseif (in_array('Online', $this->facetAvail) + } + elseif (in_array('Local', $this->facetAvail) + && preg_grep($this->_getNonSourceIds('source_idsV8_2'), $this->format) + ) { + $notice = $this->translate('getit_text_8'); + } + elseif (in_array('Free', $this->facetAvail)) { + $notice = $this->translate('getit_text_1'); + } + elseif (in_array('Online', $this->facetAvail) && (preg_grep($this->_getNonSourceIds('source_idsV8_5'), $this->format) || preg_grep($this->_getNonSourceIds('source_idsV8_6'), $this->format)) ) { - return $this->translate('getit_text_9'); + $notice = $this->translate('getit_text_9'); } elseif (in_array('Online', $this->facetAvail) && preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) ) { if (!$this->fidClient->isLoggedOn()) { - return $this->translate('getit_text_10'); + $notice = $this->translate('getit_text_10'); } else { - return $this->translate('getit_text_15'); + $notice = $this->translate('getit_text_15'); } } - } - return $this->translate('getit_text_default'); - } - - /** - * @return bool - */ - public function showLinks() - { - if (in_array($this->sid, $this->_getSourceIds('source_idsV5')) - || (in_array($this->sid, $this->_getSourceIds('source_idsV9')) - && preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection)) + } elseif ($this->isCollection) { + $notice = $this->translate('getit_text_11',['%%hierarchy_tree%%' => $this->translate('hierarchy_tree')]); + } elseif (in_array('Local', $this->facetAvail) + && preg_grep($this->_getNonSourceIds('source_idsV8_2'), $this->format) ) { + $notice = $this->translate('getit_text_8'); + } elseif (in_array('Local', $this->facetAvail)) { if (!$this->fidClient->isLoggedOn()) { - return false; + $notice = $this->translate('getit_text_10'); + } elseif (preg_grep($this->_getNonSourceIds('source_idsV8_3'), $this->format)) { + $notice = $this->translate('getit_text_14'); + } elseif (!preg_grep($this->_getNonSourceIds('source_idsV8_10'), $this->format)) { + $notice = ''; } - } - return true; - } - - /** - * @return bool - */ - public function showOrderButton() - { - if (in_array($this->sid, $this->_getSourceIds('source_idsV9')) - && preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) - && !in_array($this->_getNonSourceIds('source_idsV8_9'), $this->institution) - && !$this->isCollection - && !preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection) + } elseif (in_array('Free', $this->facetAvail)) { + $notice = $this->translate('getit_text_1'); + } elseif (in_array('Online', $this->facetAvail) + && (preg_grep($this->_getNonSourceIds('source_idsV8_5'), $this->format) + || preg_grep($this->_getNonSourceIds('source_idsV8_6'), $this->format)) ) { - return true; - } - return false; - } - - /** - * @return bool - */ - public function showPartCopyButton() - { - if (!in_array('Free', $this->facetAvail) - && in_array($this->sid, $this->_getSourceIds('source_idsV8')) + $notice = $this->translate('getit_text_9'); + } elseif (in_array('Online', $this->facetAvail) && preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) - && !$this->isCollection - && !preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection) ) { - return true; + if (!$this->fidClient->isLoggedOn()) { + $notice = $this->translate('getit_text_10'); + } else { + $notice = $this->translate('getit_text_15'); + } } - return false; - } - - /** - * @return bool - */ - public function showBOSSData() - { + //END notice + //bossData if (!in_array('Free', $this->facetAvail) - && in_array($this->sid, $this->_getSourceIds('source_idsV8')) //&& (!empty($this->isbn) || !empty($this->issn)) && !preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection) ) { if (preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) ) { - return true; + $bossData = true; + if (!$this->isCollection) { + $showPartCopyButton = true; + } } elseif (in_array('Local', $this->facetAvail) && preg_grep($this->_getNonSourceIds('source_idsV8_3'), $this->format) ) { - return true; + $bossData = true; + } + } + //END bossData + //hideNotice + if ($this->fidClient->isLoggedOn()) { + if (in_array('Local', $this->facetAvail)) + { + if (preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) + && empty($this->isbn) + && !preg_grep($this->_getNonSourceIds('source_idsV8_9'), $this->institution) + && !preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection) + ) { + $hideNotice = true; + } + if ($this->isCollection) { + $hideNotice = false; + } } } - return false; + //END hideNotice } - public function isEBCEBooks() + /** + * Configuration of SID 0 (special cases) + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record + */ + public function get_config_source_idsV9( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) { + //accordeon + if (preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection) + || preg_grep($this->_getNonSourceIds('source_idsV8_7'), $this->megacollection) + ) { + $accordeonHeadline = $this->accordeonHeadlineAlternative; + $accordeonColor = $this->accordeonColorAlternative; + } + //END accordeon + //showLinks + if ( + preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection) + ) { + if (!$this->fidClient->isLoggedOn()) { + $showLinks = false; + } + } + //END showLinks + //orderButton + if (preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) + && !preg_grep($this->_getNonSourceIds('source_idsV8_9'), $this->institution) + && !$this->isCollection + && !preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection) + ) { + $showOrderButton = true; + } + //END orderButton + //EBCEbooks if (in_array('Online', $this->facetAvail) - && in_array($this->sid, $this->_getSourceIds('source_idsV9')) && preg_grep($this->_getNonSourceIds('source_idsV8_8'), $this->collection) ) { - return true; + $isEBCEBooks = true; } - return false; + //END EBCEbooks } - public function hideNotice() + /** + * Configuration of SID 169 + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record + */ + public function get_config_source_idsV10( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) { - if (in_array($this->sid, $this->_getSourceIds('source_idsV8'))) { - if (in_array('Online', $this->facetAvail) - && (preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) - || preg_grep($this->_getNonSourceIds('source_idsV8_5'), $this->format) - || preg_grep($this->_getNonSourceIds('source_idsV8_6'), $this->format)) - ) { - return false; - } elseif (in_array('Local', $this->facetAvail) - && (preg_grep($this->_getNonSourceIds('source_idsV8_3'), $this->format) - || preg_grep($this->_getNonSourceIds('source_idsV8_2'), $this->format)) - ) { - return false; - } elseif (in_array('Local', $this->facetAvail) - && preg_grep($this->_getNonSourceIds('source_idsV8_1'), $this->format) - ) { - return false; - } - } elseif (in_array($this->sid, $this->_getSourceIds('source_idsV3'))) { - return false; - } - return true; + $accordeonColor = $this->accordeonColorAlternative; + $accordeonHeadline = $this->accordeonHeadlineAlternative; + $notice = $this->translate('getit_text_6'); } - public function isAISIDRecord() + /** + * Configuration of SID 126 + * + * @param $accordeonColor string accordeon color + * @param $accordeonHeadline string accordeon headline + * @param $boxHeadline string headline text get it box + * @param $notice string text of box version + * @param $showLinks boolean display links + * @param $showOrderButton boolean display order button + * @param $showPartCopyButton boolean display part copy button + * @param $bossData boolean display data of BOSS webservice + * @param $isEBCEBooks boolean is given record UBL-FID-EBC + * @param $hideNotice boolean hide notice + * @param $isAiSidRecord boolean is given record an ai record + */ + public function get_config_source_idsV11( + &$accordeonColor, + &$accordeonHeadline, + &$boxHeadline, + &$notice, + &$showLinks, + &$showOrderButton, + &$showPartCopyButton, + &$bossData, + &$isEBCEBooks, + &$hideNotice, + &$isAiSidRecord + ) { - if (in_array($this->sid, $this->_getSourceIds('source_idsV3'))) { - return true; - } - return false; + $notice = $this->translate('getit_text_7'); } }