コード例 #1
0
ファイル: view.html.php プロジェクト: kidaa30/lojinha
 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);
 }
コード例 #2
0
 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);
 }
コード例 #3
0
ファイル: djmediatools.php プロジェクト: politik86/test2
 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];
 }
コード例 #4
0
ファイル: mod_djmediatools.php プロジェクト: kidaa30/lojinha
$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'));
コード例 #5
0
 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];
 }