/** * creates the lineitem object. $dblineitem is the database object of this line item * * @param string $foldername * @param string $filename */ function __construct($foldername, $filename = null) { if (is_object($foldername)) { $this->_file = $foldername; $foldername = $this->_file->folder; $filename = $this->_file->file; } parent::__construct($foldername, $filename); $app = JFactory::getApplication(); $params = null; if ($app instanceof JSite) { /** * @var JSite $app */ $params = JComponentHelper::getParams('com_eventgallery'); } else { $params = JComponentHelper::getParams('com_eventgallery'); } if ($params->get('use_legacy_image_rendering', '0') == '1') { $this->_image_script_path = "index.php"; } if (isset($this->_file->exif)) { $this->exif = json_decode($this->_file->exif); } else { $this->exif = new stdClass(); } }
function loadComments() { if (!$this->comments) { $query = $this->_db->getQuery(true)->select('*')->from($this->_db->quoteName('#__eventgallery_comment'))->where('published=1')->where('file=' . $this->_db->quote($this->file->getFileName()))->where('folder=' . $this->_db->quote($this->file->getFolderName()))->order('date DESC'); $this->comments = $this->_getList($query); if (!$this->comments) { $this->comments = array(); } } }
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); }
/** * creates the lineitem object. The foldername can either be a string or a file data object * * @param string|object $foldername * @param string $filename */ function __construct($foldername, $filename = NULL) { if (is_object($foldername)) { $this->_file = $foldername; /** * @var EventgalleryLibraryManagerFolder $folderMgr */ $folderMgr = EventgalleryLibraryManagerFolder::getInstance(); $this->_folder = $folderMgr->getFolder($foldername->folder); } else { parent::__construct($foldername, $filename); } if (isset($this->_file->height)) { $this->imageRatio = $this->_file->width / $this->_file->height; } else { $this->imageRatio = 1; } }
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); }