_parentPlugin = $parentPlugin; parent::__construct(); } /** * Hide this plugin from the management interface (it's subsidiary) */ public function getHideManagement() { return true; } /** * Get the name of this plugin. The name must be unique within * its category. * * @return string name of plugin */ public function getName() { return 'AnnouncementFeedBlockPlugin'; } /** * Get the display name of this plugin. * * @return string */ public function getDisplayName() { return __('plugins.generic.announcementfeed.displayName'); } /** * Get a description of the plugin. */ public function getDescription() { return __('plugins.generic.announcementfeed.description'); } /** * Override the builtin to get the correct plugin path. * * @return string */ public function getPluginPath() { return $this->_parentPlugin->getPluginPath(); } /** * @see BlockPlugin::getContents * * @param null|mixed $request */ public function getContents($templateMgr, $request = null) { $journal = $request->getJournal(); if (!$journal) { return ''; } if (!$journal->getData('enableAnnouncements')) { return ''; } $displayPage = $this->_parentPlugin->getSetting($journal->getId(), 'displayPage'); $requestedPage = $request->getRequestedPage(); if (($displayPage == 'all') || ($displayPage == 'homepage' && (empty($requestedPage) || $requestedPage == 'index' || $requestedPage == 'announcement')) || ($displayPage == $requestedPage)) { return parent::getContents($templateMgr, $request); } else { return ''; } } }