. */ use Alledia\OSMap\Component\Helper as ComponentHelper; use Alledia\OSMap\Factory; use Alledia\OSMap\Sitemap\SitemapInterface; use Joomla\CMS\Language\Text; use Joomla\CMS\MVC\View\HtmlView; use Joomla\Input\Input; use Joomla\Registry\Registry; defined('_JEXEC') or die(); class OSMapViewAdminSitemapItems extends HtmlView { /** * @var Registry */ protected $params = null; /** * @var SitemapInterface */ protected $sitemap = null; /** * @var Registry */ protected $osmapParams = null; /** * @var string */ protected $message = null; /** * @inheritDoc * @throws Exception */ public function display($tpl = null) { $this->checkAccess(); $container = Factory::getPimpleContainer(); try { $id = $container->input->getInt('id'); $this->params = Factory::getApplication()->getParams(); // Load the sitemap instance $this->sitemap = Factory::getSitemap($id); $this->osmapParams = ComponentHelper::getParams(); } catch (Exception $e) { $this->message = $e->getMessage(); } parent::display($tpl); } /** * This view should only be available from the backend * * @return void * @throws Exception */ protected function checkAccess() { $server = new Input(array_change_key_case($_SERVER, CASE_LOWER)); $referer = parse_url($server->getString('http_referer')); if (empty($referer['query']) == false) { parse_str($referer['query'], $query); $option = empty($query['option']) ? null : $query['option']; $view = empty($query['view']) ? null : $query['view']; if ($option == 'com_osmap' && $view == 'sitemapitems') { // Good enough return; } } throw new Exception(Text::_('JERROR_PAGE_NOT_FOUND'), 404); } }