Exemplo n.º 1
0
 /**
  * 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();
     }
 }
Exemplo n.º 2
0
 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();
         }
     }
 }
Exemplo n.º 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');
     $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);
 }
Exemplo n.º 4
0
 /**
  * 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;
     }
 }
Exemplo n.º 5
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);
 }