Exemple #1
0
 public function display($tpl = null)
 {
     $this->items = $this->get('Items');
     $this->pagination = $this->get('Pagination');
     $this->state = $this->get('State');
     $this->ordering = $this->get('Ordering');
     $categories = new DJMediatoolsModelCategories();
     $this->category_options = $categories->getSelectOptions();
     // Check for errors.
     if (count($errors = $this->get('Errors'))) {
         JError::raiseError(500, implode("\n", $errors));
         return false;
     }
     foreach ($this->items as $item) {
         if (!($item->thumb = DJImageResizer::createThumbnail($item->image, 'media/djmediatools/cache', 60, 40, 'crop', 80))) {
             $item->thumb = 'administrator/components/com_djmediatools/assets/icon-48-category.png';
         }
         if (strcasecmp(substr($item->image, 0, 4), 'http') != 0 && !empty($item->image)) {
             $item->image = JURI::root(true) . '/' . $item->image;
         }
         if (strcasecmp(substr($item->thumb, 0, 4), 'http') != 0 && !empty($item->thumb)) {
             $item->thumb = JURI::root(true) . '/' . $item->thumb;
         }
     }
     // We don't need toolbar in the modal window.
     if ($this->getLayout() !== 'modal') {
         $this->addToolbar();
     }
     parent::display($tpl);
 }
Exemple #2
0
 function display($tpl = null)
 {
     // Initialise variables
     $category = $this->get('Item');
     $categories = $this->get('Items');
     $pagination = $this->get('Pagination');
     $params = $this->get('Params');
     // 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;
     }
     foreach ($categories 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;
         }
     }
     //Escape strings for HTML output
     $this->pageclass_sfx = htmlspecialchars($params->get('pageclass_sfx'));
     $this->assignRef('params', $params);
     $this->assignRef('category', $category);
     $this->assignRef('categories', $categories);
     $this->assignRef('pagination', $pagination);
     $this->_prepareDocument();
     parent::display($tpl);
 }
Exemple #3
0
 public function display($tpl = null)
 {
     $this->items = $this->get('Items');
     $this->pagination = $this->get('Pagination');
     $this->state = $this->get('State');
     $categories = new DJMediatoolsModelCategories();
     $this->category_options = $categories->getSelectOptions(true, false, 0, true);
     // Check for errors.
     if (count($errors = $this->get('Errors'))) {
         JError::raiseError(500, implode("\n", $errors));
         return false;
     }
     foreach ($this->items as $item) {
         if (!($item->thumb = DJImageResizer::createThumbnail($item->image, 'media/djmediatools/cache', 60, 40, 'crop', 80))) {
             $item->thumb = $item->image;
         }
         if (strcasecmp(substr($item->image, 0, 4), 'http') != 0 && !empty($item->image)) {
             $item->image = JURI::root(true) . '/' . $item->image;
         }
         if (strcasecmp(substr($item->thumb, 0, 4), 'http') != 0 && !empty($item->thumb)) {
             $item->thumb = JURI::root(true) . '/' . $item->thumb;
         }
     }
     $this->addToolbar();
     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);
 }
Exemple #5
0
 public function getSlides(&$params)
 {
     $slides = parent::getSlides($params);
     $juri_root = JURI::root(true);
     if (is_array($slides) && count($slides) > 0) {
         foreach ($slides as $key => $slide) {
             $resized = !empty($juri_root) ? str_replace($juri_root . '/', '', $slide->resized_image) : $slide->resized_image;
             if (!($slide->grayscale_image = DJImageResizer::grayscaleImage($resized, 'media/djmediatools/cache'))) {
                 $slide->grayscale_image = $resized;
             }
             // fix path for SEF links but not for external image urls
             if (strcasecmp(substr($slide->grayscale_image, 0, 4), 'http') != 0 && !empty($slide->grayscale_image)) {
                 $slide->grayscale_image = $juri_root . '/' . $slide->grayscale_image;
             }
         }
     }
     return $slides;
 }
 public function display($tpl = null)
 {
     $this->items = $this->get('Items');
     $this->pagination = $this->get('Pagination');
     $this->state = $this->get('State');
     // Check for errors.
     if (count($errors = $this->get('Errors'))) {
         JError::raiseError(500, implode("\n", $errors));
         return false;
     }
     foreach ($this->items as $item) {
         if (!($item->thumb = DJImageResizer::createThumbnail($item->image, 'media/com_djimageslider/cache', 60, 40, 'crop'))) {
             $item->thumb = $item->image;
         }
         if (strcasecmp(substr($item->image, 0, 4), 'http') != 0 && !empty($item->image)) {
             $item->image = JURI::root(true) . '/' . $item->image;
             $item->thumb = JURI::root(true) . '/' . $item->thumb;
         }
     }
     $this->addToolbar();
     parent::display($tpl);
 }
 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];
 }
Exemple #8
0
 public function getSlides(&$params)
 {
     // taking the slides from the source
     $app = JFactory::getApplication();
     $slides = null;
     $source = $params->get('source');
     switch ($source) {
         case 'component':
             $slides = $this->getImagesFromDJMediatools($params);
             break;
         default:
             $dispatcher = JDispatcher::getInstance();
             JPluginHelper::importPlugin('djmediatools', $source);
             $results = $dispatcher->trigger('onAlbumPrepare', array(&$source, &$params));
             if (isset($results[0])) {
                 $slides = $results[0];
             }
             break;
     }
     if (is_array($slides) && count($slides) > 0) {
         foreach ($slides as $key => $slide) {
             if (!($slide->resized_image = DJImageResizer::createThumbnail($slide->image, 'media/djmediatools/cache', $params->get('image_width'), $params->get('image_height'), $params->get('resizing', 'crop'), $params->get('quality', 90)))) {
                 $slide->resized_image = $slide->image;
             }
             if (!($slide->thumb_image = DJImageResizer::createThumbnail($slide->image, 'media/djmediatools/cache', $params->get('thumb_width'), $params->get('thumb_height'), 'crop', 80))) {
                 $slide->thumb_image = $slide->resized_image;
             }
             // fix path for SEF links but not for external image urls
             if (strcasecmp(substr($slide->image, 0, 4), 'http') != 0 && !empty($slide->image)) {
                 $slide->image = JURI::root(true) . '/' . $slide->image;
             }
             if (strcasecmp(substr($slide->resized_image, 0, 4), 'http') != 0 && !empty($slide->resized_image)) {
                 $slide->resized_image = JURI::root(true) . '/' . $slide->resized_image;
             }
             if (strcasecmp(substr($slide->thumb_image, 0, 4), 'http') != 0 && !empty($slide->thumb_image)) {
                 $slide->thumb_image = JURI::root(true) . '/' . $slide->thumb_image;
             }
             if (!isset($slide->full_desc)) {
                 $slide->full_desc = $slide->description;
             }
             $slide->description = $this->truncateDescription($slide->description, $params->get('limit_desc'));
             if (!isset($slide->target)) {
                 $slide->target = $this->getSlideTarget($slide->link);
             }
             if (!isset($slide->alt)) {
                 $slide->alt = $slide->title;
             }
             if ($params->get('link_image', 1) == 3) {
                 $slide->item_link = JRoute::_('index.php?option=com_djmediatools&view=item&cid=' . $params->get('category') . '&id=' . $key . '&tmpl=component');
             }
         }
     } else {
         $slides = null;
     }
     if ($params->get('link_image', 1) == 3) {
         $this->addModal($params);
     }
     return $slides;
 }
Exemple #9
0
    public function display($tpl = null)
    {
        // Initialiase variables.
        $this->form = $this->get('Form');
        $this->item = $this->get('Item');
        $this->state = $this->get('State');
        $this->plgParams = $this->get('plgParams');
        // Check for errors.
        if (count($errors = $this->get('Errors'))) {
            JError::raiseError(500, implode("\n", $errors));
            return false;
        }
        $version = new JVersion();
        if (version_compare($version->getShortVersion(), '3.0.0', '<')) {
            $tpl = 'legacy';
            $btnclass = 'button';
            $btn2class = 'button-link';
        } else {
            $btnclass = 'btn btn-primary btn-large';
            $btn2class = 'btn btn-link btn-large';
        }
        if ($this->item->id && $this->item->source == 'component') {
            $this->items = $this->get('Items');
            foreach ($this->items as $item) {
                if (!($item->thumb = DJImageResizer::createThumbnail($item->image, 'media/djmediatools/cache', 200, 150, 'toHeight', 80))) {
                    $item->thumb = $item->image;
                }
                if (strcasecmp(substr($item->image, 0, 4), 'http') != 0 && !empty($item->image)) {
                    $item->image = JURI::root(true) . '/' . $item->image;
                }
                if (strcasecmp(substr($item->thumb, 0, 4), 'http') != 0 && !empty($item->thumb)) {
                    $item->thumb = JURI::root(true) . '/' . $item->thumb;
                }
            }
        }
        // include uploader events and simple managing of album items
        $this->document->addScript(JURI::base(true) . '/components/com_djmediatools/assets/album.js');
        $params = JComponentHelper::getParams('com_djmediatools');
        $settings = array();
        $settings['max_file_size'] = $params->get('upload_max_size', '10240') . 'kb';
        $settings['chunk_size'] = $params->get('upload_chunk_size', '1024') . 'kb';
        $settings['resize'] = true;
        $settings['width'] = $params->get('upload_width', '1600');
        $settings['height'] = $params->get('upload_height', '1200');
        $settings['quality'] = $params->get('upload_quality', '90');
        $settings['filter'] = 'jpg,png,gif';
        $settings['onUploadedEvent'] = 'injectUploaded';
        $settings['onAddedEvent'] = 'startUpload';
        //$settings['debug'] = true;
        $this->uploader = DJUploadHelper::getUploader('uploader', $settings);
        if (JRequest::getVar('tmpl') != 'component') {
            $this->addToolbar();
        } else {
            $function = JRequest::getVar('f_name');
            //die('dupa przed');
            $this->button = "\r\n\t\t\t\t\r\n\t\t\t\t<script type='text/javascript'>\r\n\t\t\t\t\tfunction save2insert(cover) {\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\tif (document.formvalidator.isValid(document.id('item-form'))) {\r\n\t\t\t\t\t\t\t" . $this->form->getField('description')->save() . "\r\n\t\t\t\t\t\t\tdocument.getElementById('item-form').task.value='category.save';\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tvar loader = new Element('div', {\r\n\t\t\t\t\t\t\t\tstyles: {\r\n\t\t\t\t\t\t\t\t\tbackground: '#fff url(components/com_djmediatools/assets/bigloader.gif) center center no-repeat',\r\n\t\t\t\t\t\t\t\t\tposition: 'fixed', top: 0, left: 0, width: '100%', height: '100%', 'z-index': 9999\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tloader.fade('hide');\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tdocument.id('item-form').set('send',{\r\n\t\t\t\t\t\t\t\tonRequest: function(){\r\n\t\t\t\t\t\t\t\t\tloader.inject(document.id(document.body));\r\n\t\t\t\t\t\t\t\t\tloader.fade(0.8);\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tonSuccess: function(responseText){\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tvar rsp = responseText.trim();\r\n\t\t\t\t\t\t\t\t\tif(rsp){\r\n\t\t\t\t\t\t\t\t\t\tvar json = rsp;\r\n\t\t\t\t\t\t\t\t\t\tif(rsp.charAt(0) != '[' && rsp.charAt(0) != '{'){\r\n\t\t\t\t\t\t\t\t\t\t\tjson = rsp.match(/{.*?}/);\r\n\t\t\t\t\t\t\t\t\t\t\tif(json && json[0]){\r\n\t\t\t\t\t\t\t\t\t\t\t\tjson = json[0];\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tif(json && typeof json == 'string'){\r\n\t\t\t\t\t\t\t\t\t\t\tjson = JSON.decode(json);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tif (window.parent) window.parent." . $function . "(json.id,json.image,json.title, cover);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tonFailure: function(){\r\n\t\t\t\t\t\t\t\t\tloader.destroy();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tdocument.id('item-form').send();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\talert('" . $this->escape(JText::_('COM_DJMEDIATOOLS_VALIDATION_FORM_FAILED')) . "');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t</script>\r\n\t\t\t\t\n\t\t\t";
            //if (window.parent) window.parent.".$function."('".$item->id."','".$item->image ? $item->image : $item->thumb."','".$this->escape($item->title)."');
            //die('dupa po');
            //die($this->button);
            $this->button .= '
				<div class="modalAlbum">
					<input type="hidden" name="tmpl" value="component" />
					<input type="hidden" name="f_name" value="' . $function . '" />
					<input type="button" class="' . $btnclass . '" value="' . JText::_('COM_DJMEDIATOOLS_MODAL_SAVE_INSERT') . '" onclick="return save2insert();" />
					<input type="button" class="' . $btnclass . ' hasTip" title="::' . JText::_('COM_DJMEDIATOOLS_INSERT_LINKED_COVER_DESC') . '" value="' . JText::_('COM_DJMEDIATOOLS_MODAL_SAVE_INSERT_COVER') . '" onclick="return save2insert(true);" />
					<a class="' . $btn2class . '" href="index.php?option=com_djmediatools&amp;view=categories&amp;layout=modal&amp;tmpl=component&amp;f_name=' . $function . '">' . JText::_('JCANCEL') . '</a>
				</div>';
        }
        parent::display($tpl);
    }
Exemple #10
0
 public function getSlides(&$params)
 {
     // taking the slides from the source
     $app = JFactory::getApplication();
     $slides = null;
     $source = $params->get('source');
     switch ($source) {
         case 'component':
             $slides = $this->getImagesFromDJMediatools($params);
             break;
         default:
             $dispatcher = JDispatcher::getInstance();
             JPluginHelper::importPlugin('djmediatools', $source);
             $results = $dispatcher->trigger('onAlbumPrepare', array(&$source, &$params));
             if (isset($results[0])) {
                 $slides = $results[0];
             }
             break;
     }
     $comments = (int) $params->get('comments', 0);
     $host = str_replace(JURI::root(true), '', JURI::root());
     $host = preg_replace('/\\/$/', '', $host);
     $item_link = $params->get('link_image', 1) == 3 ? true : false;
     if (is_array($slides) && count($slides) > 0) {
         foreach ($slides as $key => $slide) {
             if (!($slide->resized_image = DJImageResizer::createThumbnail($slide->image, 'media/djmediatools/cache', $params->get('image_width'), $params->get('image_height'), $params->get('resizing', 'crop'), $params->get('quality', 90)))) {
                 $slide->resized_image = $slide->image;
             }
             if (!($slide->thumb_image = DJImageResizer::createThumbnail($slide->image, 'media/djmediatools/cache', $params->get('thumb_width'), $params->get('thumb_height'), 'crop', 80))) {
                 $slide->thumb_image = $slide->resized_image;
             }
             // fix path for SEF links but not for external image urls
             if (strcasecmp(substr($slide->image, 0, 4), 'http') != 0 && !empty($slide->image)) {
                 $slide->image = JURI::root(true) . '/' . $slide->image;
             }
             if (strcasecmp(substr($slide->resized_image, 0, 4), 'http') != 0 && !empty($slide->resized_image)) {
                 $slide->resized_image = JURI::root(true) . '/' . $slide->resized_image;
             }
             if (strcasecmp(substr($slide->thumb_image, 0, 4), 'http') != 0 && !empty($slide->thumb_image)) {
                 $slide->thumb_image = JURI::root(true) . '/' . $slide->thumb_image;
             }
             if (!isset($slide->full_desc)) {
                 $slide->full_desc = $slide->description;
             }
             $slide->description = $this->truncateDescription($slide->description, $params->get('limit_desc'));
             if (!isset($slide->target)) {
                 $slide->target = $this->getSlideTarget($slide->link);
             }
             if (!isset($slide->alt)) {
                 $slide->alt = $slide->title;
             }
             // id has to be defined in source plugin otherwise the array index and title will be used
             if (!isset($slide->id)) {
                 $slide->id = $key . ':' . JFilterOutput::stringURLSafe($slide->title);
             }
             if ($item_link || $comments) {
                 $slide->item_link = JRoute::_(DJMediatoolsHelperRoute::getItemRoute($slide->id, $params->get('category')));
             }
             if (empty($slide->comments)) {
                 switch ($comments) {
                     // comments should be declared in source plugin to display the same comments which are assigned to the original item
                     case 1:
                         // jcomments
                         $slide->comments = array('id' => (int) $slide->id, 'group' => 'djmediatool-' . $source . '-a' . (int) $params->get('category'));
                         break;
                     case 2:
                         // disqus
                         $disqus_shortname = $params->get('disqus_shortname', '');
                         if (!empty($disqus_shortname)) {
                             $slide->comments = array();
                             $slide->comments['url'] = $host . $slide->item_link;
                             $slide->comments['identifier'] = $disqus_shortname . '-djmt-' . $source . '-a' . (int) $params->get('category') . '-id' . (int) $slide->id;
                         }
                         break;
                     case 3:
                         // facebook
                         $slide->comments = $host . $slide->item_link;
                         break;
                     case 4:
                         //komento
                         // not implemented
                         break;
                 }
             }
         }
     } else {
         $slides = null;
     }
     if ($params->get('link_image', 1) == 3) {
         $this->addModal($params);
     }
     return $slides;
 }
Exemple #11
0
 public function getSlides(&$params)
 {
     // taking the slides from the source
     $app = JFactory::getApplication();
     $slides = null;
     $source = $params->get('source');
     switch ($source) {
         case 'component':
             $slides = $this->getImagesFromDJMediatools($params);
             break;
         default:
             $dispatcher = JDispatcher::getInstance();
             JPluginHelper::importPlugin('djmediatools', $source);
             $results = $dispatcher->trigger('onAlbumPrepare', array(&$source, &$params));
             if (isset($results[0])) {
                 $slides = $results[0];
             }
             break;
     }
     //djdebug($params);
     $root = JURI::root(true);
     $host = str_replace($root, '', JURI::root());
     $host = preg_replace('/\\/$/', '', $host);
     $item_link = $params->get('link_image', 1) == 3 ? true : false;
     $comments = (int) $params->get('comments', 0);
     // we need to calculate slider width for calculation of 'sizes' image attribute
     $slider_width = $params->get('image_width') + $params->get('space_between_images');
     if ($params->get('show_desc') && in_array($params->get('desc_position'), array('left', 'right'))) {
         $slider_width += $params->get('desc_width');
     }
     $slider_width *= $params->get('visible_images');
     $slider_width -= $params->get('space_between_images');
     if ($this->_prefix == 'tabber') {
         $slider_width += $params->get('tab_width');
     }
     if (is_array($slides) && count($slides) > 0) {
         foreach ($slides as $key => $slide) {
             $resized = true;
             if (!($slide->resized_image = DJImageResizer::createThumbnail($slide->image, 'media/djmediatools/cache', $params->get('image_width'), $params->get('image_height'), $params->get('resizing', 'crop'), $params->get('quality', 90), true))) {
                 $slide->resized_image = $slide->image;
                 $resized = false;
             }
             $path = JPath::clean(JPATH_ROOT . DS . str_replace('/', DS, $slide->resized_image));
             $size = @getimagesize($path);
             $slide->size = (object) array('w' => $size[0], 'h' => $size[1]);
             $srcset = array();
             if ($resized) {
                 $srcset[$slide->size->w] = $root . '/' . $slide->resized_image . ' ' . $slide->size->w . 'w';
                 $filename = JFile::getName($slide->resized_image);
                 $folder = str_replace($filename, '', $slide->resized_image);
                 foreach (DJImageResizer::$widths as $w) {
                     if ($slide->size->w <= $w) {
                         continue;
                     }
                     // create path to image of $w width and add 'w' descriptor
                     $wpath = '/' . $folder . '_' . $w . 'w/' . $filename;
                     if (JFile::exists(JPATH_ROOT . $wpath)) {
                         $srcset[$w] = $root . $wpath . ' ' . $w . 'w';
                     }
                 }
                 $slide->srcset = implode(', ', $srcset);
                 $slide->sizes = floor(100 * $slide->size->w / $slider_width) . 'vw';
             }
             if (!($slide->thumb_image = DJImageResizer::createThumbnail($slide->resized_image, 'media/djmediatools/cache', $params->get('thumb_width'), $params->get('thumb_height'), 'crop', 80))) {
                 $slide->thumb_image = $slide->resized_image;
             }
             // fix path for SEF links but not for external image urls
             if (strcasecmp(substr($slide->image, 0, 4), 'http') != 0 && !empty($slide->image)) {
                 $slide->image = $root . '/' . $slide->image;
             }
             if (strcasecmp(substr($slide->resized_image, 0, 4), 'http') != 0 && !empty($slide->resized_image)) {
                 $slide->resized_image = $root . '/' . $slide->resized_image;
             }
             if (strcasecmp(substr($slide->thumb_image, 0, 4), 'http') != 0 && !empty($slide->thumb_image)) {
                 $slide->thumb_image = $root . '/' . $slide->thumb_image;
             }
             if (!isset($slide->full_desc)) {
                 $slide->full_desc = $slide->description;
             }
             $slide->description = $this->truncateDescription($slide->description, $params->get('limit_desc'));
             if (!isset($slide->target)) {
                 $slide->target = $this->getSlideTarget($slide->link);
             }
             if (!isset($slide->alt)) {
                 $slide->alt = $slide->title;
             }
             // id has to be defined in source plugin otherwise the array index and title will be used
             if (!isset($slide->id)) {
                 $slide->id = $key . ':' . JFilterOutput::stringURLSafe($slide->title);
             }
             if ($item_link || $comments) {
                 $slide->item_link = JRoute::_(DJMediatoolsHelperRoute::getItemRoute($slide->id, $params->get('category')));
             }
             if (empty($slide->comments)) {
                 switch ($comments) {
                     // comments should be declared in source plugin to display the same comments which are assigned to the original item
                     case 1:
                         // jcomments
                         $slide->comments = array('id' => (int) $slide->id, 'group' => 'djmediatool-' . $source . '-a' . (int) $params->get('category'));
                         break;
                     case 2:
                         // disqus
                         $disqus_shortname = $params->get('disqus_shortname', '');
                         if (!empty($disqus_shortname)) {
                             $slide->comments = array();
                             $slide->comments['url'] = $host . $slide->item_link;
                             $slide->comments['identifier'] = $disqus_shortname . '-djmt-' . $source . '-a' . (int) $params->get('category') . '-id' . (int) $slide->id;
                         }
                         break;
                     case 3:
                         // facebook
                         $slide->comments = $host . $slide->item_link;
                         break;
                     case 4:
                         //komento
                         // not implemented
                         break;
                 }
             }
         }
     } else {
         $slides = null;
     }
     if ($params->get('link_image', 1) == 3) {
         $this->addModal($params);
     }
     return $slides;
 }