function display($tpl = NULL) { /** * @var JSite $app */ $app = JFactory::getApplication(); $this->state = $this->get('State'); $this->params = $app->getParams(); $model = $this->getModel('singleimage'); $model->getData(JRequest::getString('folder'), JRequest::getString('file')); $this->model = $model; $this->file = $model->file; if (!isset($this->file) || strlen($this->file->getFileName()) == 0 || $this->file->isPublished() != 1) { JError::raiseError(404, JText::_('COM_EVENTGALLERY_SINGLEIMAGE_NO_PUBLISHED_MESSAGE')); } $this->folder = $this->file->getFolder(); if (!isset($this->file) || strlen($this->file->getFileName()) == 0 || $this->file->isPublished() != 1) { JError::raiseError(404, JText::_('COM_EVENTGALLERY_SINGLEIMAGE_NO_PUBLISHED_MESSAGE')); } $this->position = $model->position; /* Default Page fallback*/ $active = $app->getMenu()->getActive(); if (NULL == $active) { $this->params->merge($app->getMenu()->getDefault()->params); $active = $app->getMenu()->getDefault(); } $this->currentItemid = $active->id; $this->use_comments = $this->params->get('use_comments'); if (!$this->folder->isVisible()) { $user = JFactory::getUser(); if ($user->guest) { $redirectUrl = JRoute::_("index.php?option=com_eventgallery&view=singleimage&folder=" . $this->folder->getFolderName() . "&file=" . $this->file->getFileName(), false); $redirectUrl = urlencode(base64_encode($redirectUrl)); $redirectUrl = '&return=' . $redirectUrl; $joomlaLoginUrl = 'index.php?option=com_users&view=login'; $finalUrl = JRoute::_($joomlaLoginUrl . $redirectUrl, false); $app->redirect($finalUrl); } else { $this->setLayout('noaccess'); } } $password = JRequest::getString('password', ''); $accessAllowed = EventgalleryHelpersFolderprotection::isAccessAllowed($this->folder, $password); if (!$accessAllowed) { $app->redirect(JRoute::_("index.php?option=com_eventgallery&view=password&folder=" . $this->folder->getFolderName(), false)); } $this->setLayout(JRequest::getString('layout', 'minipage')); parent::display($tpl); }
public function display($cachable = false, $urlparams = array()) { $password = JRequest::getString('password', ''); $folder = JRequest::getString('folder', ''); /** * @var EventgalleryLibraryManagerFolder $folderMgr */ $folderMgr = EventgalleryLibraryManagerFolder::getInstance(); $folder = $folderMgr->getFolder($folder); // we need to do this only if someone entered a password. // the views will protect themselfs $accessAllowed = EventgalleryHelpersFolderprotection::isAccessAllowed($folder, $password); if (strlen($password) > 0 && !$accessAllowed) { $msg = JText::_('COM_EVENTGALLERY_PASSWORD_FORM_ERROR'); $this->setRedirect(JRoute::_("index.php?option=com_eventgallery&view=password&folder=" . $folder->getFolderName(), false), $msg); $this->redirect(); } parent::display($cachable, $urlparams); }
function display($tpl = NULL) { /** * @var JSite $app */ $app = JFactory::getApplication(); $this->state = $this->get('State'); $this->params = $app->getParams(); $model = $this->getModel('singleimage'); $modelComment = JModelLegacy::getInstance('Comment', 'EventgalleryModel'); $model->getData(JRequest::getString('folder'), JRequest::getString('file')); $this->model = $model; $this->file = $model->file; if (!is_object($this->file) || $this->file->isPublished() != 1) { JError::raiseError(404, JText::_('COM_EVENTGALLERY_SINGLEIMAGE_NO_PUBLISHED_MESSAGE')); } $this->folder = $this->file->getFolder(); $this->position = $model->position; /** Default Page fallback * @var JMenu $active */ $active = $app->getMenu()->getActive(); if (NULL == $active) { $this->params->merge($app->getMenu()->getDefault()->params); $active = $app->getMenu()->getDefault(); } $this->currentItemid = $active->id; $this->use_comments = $this->params->get('use_comments'); if ($this->use_comments) { $this->commentform = $modelComment->getForm(); } if (!is_object($this->folder) || $this->folder->isPublished() != 1) { JError::raiseError(404, JText::_('COM_EVENTGALLERY_EVENT_NO_PUBLISHED_MESSAGE')); } if (!isset($this->file) || strlen($this->file->getFileName()) == 0 || $this->file->isPublished() != 1) { JError::raiseError(404, JText::_('COM_EVENTGALLERY_SINGLEIMAGE_NO_PUBLISHED_MESSAGE')); } if (!$this->folder->isVisible()) { $user = JFactory::getUser(); if ($user->guest) { $redirectUrl = JRoute::_("index.php?option=com_eventgallery&view=singleimage&folder=" . $this->folder->getFolderName() . "&file=" . $this->file->getFileName(), false); $redirectUrl = urlencode(base64_encode($redirectUrl)); $redirectUrl = '&return=' . $redirectUrl; $joomlaLoginUrl = 'index.php?option=com_users&view=login'; $finalUrl = JRoute::_($joomlaLoginUrl . $redirectUrl, false); $app->redirect($finalUrl); } else { $this->setLayout('noaccess'); } } $password = JRequest::getString('password', ''); $accessAllowed = EventgalleryHelpersFolderprotection::isAccessAllowed($this->folder, $password); if (!$accessAllowed) { $app->redirect(JRoute::_("index.php?option=com_eventgallery&view=password&folder=" . $this->folder->getFolderName(), false)); } // remove the password from the url if (strlen($password) > 0) { $app->redirect(JRoute::_("index.php?option=com_eventgallery&view=singleimage&folder=" . $this->folder->getFolderName() . "&file=" . $this->file->getFileName(), false)); } $this->imageset = $this->folder->getImageTypeSet(); $pathway = $app->getPathWay(); if ($active->query['view'] == 'categories') { EventgalleryHelpersCategories::addCategoryPathToPathway($pathway, JRequest::getInt('catid', 0), $this->folder->getCategoryId(), $this->currentItemid); } $pathway->addItem($this->folder->getDisplayName(), JRoute::_('index.php?option=com_eventgallery&view=event&folder=' . $this->folder->getFolderName())); $pathway->addItem($model->position . ' / ' . $model->overallcount); $this->_prepareDocument(); parent::display($tpl); }
function display($tpl = NULL) { /** * @var JSite $app */ $app = JFactory::getApplication(); $this->state = $this->get('State'); $this->params = $app->getParams(); /* Default Page fallback*/ $active = $app->getMenu()->getActive(); if (NULL == $active) { $this->params->merge($app->getMenu()->getDefault()->params); $active = $app->getMenu()->getDefault(); //just in case the default menu item sets something else. $this->setLayout('default'); } $this->currentItemid = $active->id; if ($this->getLayout() == 'default' && ($layout = $this->params->get('event_layout'))) { //override the layout with the menu item setting in case we link directly to an event if ($active != null && isset($active->query['layout']) && $active->component == 'com_eventgallery') { $layout = $active->query['layout']; } $this->setLayout($layout); } // legacy fix since I renamed default to pageable if ($this->getLayout() == 'default') { $this->setLayout('pageable'); } $model = $this->getModel('event'); $pageNav = $model->getPagination(JRequest::getVar('folder', '')); if ($this->getLayout() == 'ajaxpaging' || $this->params->get('use_event_paging', 0) == 0) { $entries = $model->getEntries(JRequest::getVar('folder', ''), -1, -1); } else { $entries = $model->getEntries(JRequest::getVar('folder', '')); } /** * @var EventgalleryLibraryManagerFolder $folderMgr */ $folderMgr = EventgalleryLibraryManagerFolder::getInstance(); $folder = $folderMgr->getFolder(JRequest::getVar('folder', '')); if (!is_object($folder) || $folder->isPublished() != 1) { JError::raiseError(404, JText::_('COM_EVENTGALLERY_EVENT_NO_PUBLISHED_MESSAGE')); } if (!$folder->isVisible()) { $user = JFactory::getUser(); if ($user->guest) { $redirectUrl = JRoute::_("index.php?option=com_eventgallery&view=event&folder=" . $folder->getFolderName(), false); $redirectUrl = urlencode(base64_encode($redirectUrl)); $redirectUrl = '&return=' . $redirectUrl; $joomlaLoginUrl = 'index.php?option=com_users&view=login'; $finalUrl = JRoute::_($joomlaLoginUrl . $redirectUrl, false); $app->redirect($finalUrl); } else { $this->setLayout('noaccess'); } } $password = JRequest::getString('password', ''); $accessAllowed = EventgalleryHelpersFolderprotection::isAccessAllowed($folder, $password); if (!$accessAllowed) { $app->redirect(JRoute::_("index.php?option=com_eventgallery&view=password&folder=" . $folder->getFolderName(), false)); } // remove the password from the url. if (strlen($password) > 0) { $app->redirect(JRoute::_("index.php?option=com_eventgallery&view=event&folder=" . $folder->getFolderName(), false)); } if (($this->params->get('shuffle_images', 0) == 1 || $folder->getAttribs()->get('shuffle_images', 0) == 1) && $this->params->get('use_event_paging', 0) != 1) { $allowedLayouts = array('ajaxpaging', 'imagelist', 'simple', 'tiles'); if (in_array($this->getLayout(), $allowedLayouts)) { shuffle($entries); } } $folder->countHits(); $this->pageNav = $pageNav; $this->entries = $entries; $this->entriesCount = count($entries); $this->folder = $folder; $this->use_comments = $this->params->get('use_comments'); $this->imageset = $folder->getImageTypeSet(); /** * @var JPathway $pathway */ $pathway = $app->getPathway(); if ($active->query['view'] == 'categories') { EventgalleryHelpersCategories::addCategoryPathToPathway($pathway, JRequest::getInt('catid', 0), $folder->getCategoryId(), $this->currentItemid); } // add the event $pathway->addItem($folder->getDisplayName()); $this->_prepareDocument(); parent::display($tpl); }