Пример #1
0
 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);
 }
Пример #2
0
 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);
 }
Пример #3
0
 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);
 }
Пример #4
0
 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);
 }