function display($tpl = null) { // Initialise variables JModelLegacy::addIncludePath(JPATH_COMPONENT . '/models'); $model = JModelLegacy::getInstance('Categories', 'DJMediaToolsModel', array('ignore_request' => true)); $model->setState('category.id', JRequest::getVar('cid', 0, '', 'int')); $id = JRequest::getVar('id', 0, '', 'int'); $params = $model->getParams(); $category = $model->getItem(); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseWarning(500, implode("\n", $errors)); return false; } if ($category === false) { JError::raiseError(404, JText::_('COM_DJMEDIATOOLS_ERROR_CATEGORY_NOT_FOUND')); return false; } // get gallery slides and layout $helper = DJMediatoolsLayoutHelper::getInstance('slideshow'); $params->def('category', $category->id . ':' . $category->alias); $params->def('source', $category->source); $params = $helper->getParams($params); $this->slides = $helper->getSlides($params); foreach ($this->slides as $key => $slide) { if ($id == (int) $slide->id) { $this->current = $key; break; } } if (is_null($this->current)) { JError::raiseError(404, JText::_('COM_DJMEDIATOOLS_ERROR_ITEM_NOT_FOUND')); return false; } //Escape strings for HTML output $this->pageclass_sfx = htmlspecialchars($params->get('pageclass_sfx')); $this->assignRef('params', $params); $this->assignRef('album', $category); // render modules // $document = JFactory::getDocument(); $renderer = $this->document->loadRenderer('module'); $position = 'djmt-item-desc'; $modules = JModuleHelper::getModules($position); $mparams = array('style' => 'xhtml'); ob_start(); foreach ($modules as $module) { echo $renderer->render($module, $mparams); } $this->modules[$position] = ob_get_clean(); $this->_prepareDocument(); parent::display($tpl); }
function display($tpl = null) { // Initialise variables JModelLegacy::addIncludePath(JPATH_COMPONENT . '/models'); $model = JModelLegacy::getInstance('Categories', 'DJMediaToolsModel', array('ignore_request' => false)); $params = $model->getParams(); $category = $model->getItem(); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseWarning(500, implode("\n", $errors)); return false; } if ($category === false) { JError::raiseError(404, JText::_('COM_DJMEDIATOOLS_ERROR_CATEGORY_NOT_FOUND')); return false; } // get gallery slides and layout $helper = DJMediatoolsLayoutHelper::getInstance($params->get('layout', 'slideshow')); $params->def('gallery_id', $category->id . 'c'); $params->def('category', $category->id . ':' . $category->alias); $params->def('source', $category->source); $params = $helper->getParams($params); $slides = $helper->getSlides($params); if ($slides) { $helper->addScripts($params); $helper->addStyles($params); $navigation = $helper->getNavigation($params); $this->assignRef('slides', $slides); $this->assignRef('navigation', $navigation); } if ($params->get('show_subcategories') != 'hide') { $subcategories = $model->getItems(); $pagination = $model->getPagination(); foreach ($subcategories as $item) { if (!($item->thumb = DJImageResizer::createThumbnail($item->image, 'media/djmediatools/cache', $params->get('cwidth', 200), $params->get('cheight', 150), $params->get('cresizing', 'crop'), $params->get('cquality', 80)))) { $item->thumb = 'administrator/components/com_djmediatools/assets/icon-album.png'; } if (strcasecmp(substr($item->thumb, 0, 4), 'http') != 0 && !empty($item->thumb)) { $item->thumb = JURI::root(true) . '/' . $item->thumb; } } $this->assignRef('subcategories', $subcategories); $this->assignRef('pagination', $pagination); } //Escape strings for HTML output $this->pageclass_sfx = htmlspecialchars($params->get('pageclass_sfx')); $this->assignRef('params', $params); $this->assignRef('category', $category); $this->_prepareDocument(); parent::display($tpl); }
protected function _load($cid) { if (!isset(self::$galleries[$cid])) { self::$galleries[$cid] = ''; jimport('joomla.application.module.helper'); // Include the syndicate functions only once require_once JPATH_ROOT . '/components/com_djmediatools/helpers/helper.php'; JModelLegacy::addIncludePath(JPATH_ROOT . '/components/com_djmediatools/models'); JModelLegacy::addTablePath(JPATH_ADMINISTRATOR . '/components/com_djmediatools/tables'); $model = JModelLegacy::getInstance('Categories', 'DJMediatoolsModel', array('ignore_request' => true)); $model->setState('category.id', $cid); $model->setState('filter.published', 1); $params = $model->getParams(false); $category = $model->getItem(); if ($category === false) { //JError::raiseError(404, JText::_('COM_DJMEDIATOOLS_ERROR_CATEGORY_NOT_FOUND')); return null; } $lang = JFactory::getLanguage(); $lang->load('com_djmediatools', JPATH_SITE, 'en-GB', false, false); $lang->load('com_djmediatools', JPATH_SITE . '/components/com_djmediatools', 'en-GB', false, false); $lang->load('com_djmediatools', JPATH_SITE, null, true, false); $lang->load('com_djmediatools', JPATH_SITE . '/components/com_djmediatools', null, true, false); // get gallery slides and layout $helper = DJMediatoolsLayoutHelper::getInstance($params->get('layout', 'slideshow')); $mid = $category->id . 'p'; $params->set('gallery_id', $mid); $params->set('category', $category->id); $params->set('source', $category->source); $params = $helper->getParams($params); $slides = $helper->getSlides($params); if ($slides) { $helper->addScripts($params); $helper->addStyles($params); $navigation = $helper->getNavigation($params); } else { return JText::_('COM_DJMEDIATOOLS_EMPTY_CATEGORY'); } ob_start(); require JModuleHelper::getLayoutPath('mod_djmediatools', $params->get('layout', 'slideshow')); self::$galleries[$cid] = ob_get_clean(); } return self::$galleries[$cid]; }
$lang->load('com_djmediatools', JPATH_SITE . '/components/com_djmediatools', 'en-GB', false, false); $lang->load('com_djmediatools', JPATH_SITE, null, true, false); $lang->load('com_djmediatools', JPATH_SITE . '/components/com_djmediatools', null, true, false); $model = JModelLegacy::getInstance('Categories', 'DJMediatoolsModel', array('ignore_request' => true)); $model->setState('category.id', $params->get('catid')); $model->setState('filter.published', 1); $cparams = $model->getParams(false); $category = $model->getItem($params->get('catid')); $cparams->merge($params); $params = $cparams; if ($category === false) { //JError::raiseError(404, JText::_('COM_DJMEDIATOOLS_ERROR_CATEGORY_NOT_FOUND')); return false; } // get gallery slides and layout $helper = DJMediatoolsLayoutHelper::getInstance($params->get('layout', 'slideshow')); $mid = $category->id . 'm' . $module->id; $params->set('gallery_id', $mid); $params->set('category', $category->id); $params->set('source', $category->source); $params = $helper->getParams($params); $slides = $helper->getSlides($params); if ($slides) { $helper->addScripts($params); $helper->addStyles($params); $navigation = $helper->getNavigation($params); } else { echo JText::_('COM_DJMEDIATOOLS_EMPTY_CATEGORY'); return false; } require JModuleHelper::getLayoutPath('mod_djmediatools', $params->get('layout', 'slideshow'));
protected function _getLinkedCover($match) { $id = $match[1]; preg_match('/src="([^"]+)"/i', $match[0], $tmp); $src = isset($tmp[1]) ? $tmp[1] : ''; preg_match('/style="([^"]+)"/i', $match[0], $tmp); $style = isset($tmp[1]) ? $tmp[1] : ''; preg_match('/title="([^"]+)"/i', $match[0], $tmp); $title = isset($tmp[1]) ? $tmp[1] : ''; preg_match('/width="([^"]+)"/i', $match[0], $tmp); $width = isset($tmp[1]) ? $tmp[1] : '600'; if (!isset(self::$covers[$id])) { $app = JFactory::getApplication(); $document = JFactory::getDocument(); $model = JModelLegacy::getInstance('Categories', 'DJMediatoolsModel', array('ignore_request' => true)); $model->setState('category.id', $id); $model->setState('filter.published', 1); $params = $model->getParams(false); $category = $model->getItem(); if ($category === false) { return ''; // no category } // get layout helper $helper = DJMediatoolsLayoutHelper::getInstance($params->get('layout', 'slideshow')); $mid = $category->id . 'p'; $params->set('gallery_id', $mid); $params->set('category', $category->id . ':' . $category->alias); $params->set('source', $category->source); $params = $helper->getParams($params); $slides = $helper->getSlides($params); if (!isset($slides[0])) { return ''; // no items } $helper->addModal($params); $document->addStyleSheet('components/com_djmediatools/assets/css/default.css'); $juri_root = JURI::root(true); $src = !empty($juri_root) ? str_replace($juri_root . '/', '', $src) : $src; if (!($image = DJImageResizer::createThumbnail($src, 'media/djmediatools/cache', $width, 0, 'toWidth', 75))) { $image = $src; } if (strcasecmp(substr($image, 0, 4), 'http') != 0 && !empty($image)) { $image = JURI::root(true) . '/' . $image; } $link = JRoute::_(DJMediatoolsHelperRoute::getItemRoute($slides[0]->id, $params->get('category'))); self::$covers[$id] = '<img class="djalbum_img" src="' . $image . '" alt="' . $title . '" width="' . $width . '" />'; self::$covers[$id] = '<a class="djmodal" href="' . $link . '">' . self::$covers[$id] . '<span class="djalbum_link_tip">' . JText::_('COM_DJMEDIATOOLS_SHOW_GALLERY') . '</span>' . '</a>'; self::$covers[$id] = '<span class="djalbum_link" style="' . $style . ' width:' . $width . 'px;">' . self::$covers[$id] . '</span>'; } return self::$covers[$id]; }