public function display($tpl = null)
 {
     $state = $this->get('State');
     $params = $state->get('params');
     $this->params = $params;
     $item = $this->item;
     if (!$item) {
         $item = $this->get('Item');
     }
     if ($item) {
         if ($media = $item->media) {
             if (isset($media->image)) {
                 $image = clone $media->image;
                 if ($params->get('mt_image_show_feed_image', 1)) {
                     $title = $this->escape($item->title);
                     $title = html_entity_decode($title, ENT_COMPAT, 'UTF-8');
                     $link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid, true, -1));
                     if ($size = $params->get('mt_image_feed_size', 'o')) {
                         if (isset($image->url) && !empty($image->url)) {
                             $image_url_ext = JFile::getExt($image->url);
                             $image_url = str_replace('.' . $image_url_ext, '_' . $size . '.' . $image_url_ext, $image->url);
                             $image->url = JURI::root() . $image_url;
                             echo '<a href="' . $link . '"><img src="' . $image->url . '" alt="' . $title . '"/></a>';
                         } elseif (isset($image->url_hover) && !empty($image->url_hover)) {
                             $image_url_ext = JFile::getExt($image->url_hover);
                             $image_url = str_replace('.' . $image_url_ext, '_' . $size . '.' . $image_url_ext, $image->url_hover);
                             $image->url_hover = JURI::root() . $image_url;
                             echo '<a href="' . $link . '"><img src="' . $image->url . '" alt="' . $title . '"/></a>';
                         }
                     }
                 }
             }
         }
     }
 }
 /**
  * Method to get the associations for a given item
  *
  * @param   integer  $id    Id of the item
  * @param   string   $view  Name of the view
  *
  * @return  array   Array of associations for the item
  *
  * @since  3.0
  */
 public static function getAssociations($id = 0, $view = null)
 {
     jimport('helper.route', JPATH_COMPONENT_SITE);
     $app = JFactory::getApplication();
     $jinput = $app->input;
     $view = is_null($view) ? $jinput->get('view') : $view;
     $id = empty($id) ? $jinput->getInt('id') : $id;
     if ($view == 'article') {
         if ($id) {
             //				$associations = JLanguageAssociations::getAssociations('com_tz_portfolio_plus',
             //					'#__tz_portfolio_plus_content', '#__tz_portfolio_plus.item', $id);
             $associations = self::getArticleAssociations($id);
             $return = array();
             foreach ($associations as $tag => $item) {
                 $return[$tag] = TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->id, $item->catid, $item->language);
             }
             return $return;
         }
     }
     if ($view == 'category' || $view == 'categories') {
         return self::getCategoryAssociations($id, 'com_tz_portfolio_plus');
     }
     return array();
 }
Exemple #3
0
 public static function print_popup($article, $params, $attribs = array())
 {
     $app = JFactory::getApplication();
     $input = $app->input;
     $request = $input->request;
     $url = TZ_Portfolio_PlusHelperRoute::getArticleRoute($article->slug, $article->catid);
     $url .= '&amp;tmpl=component&amp;print=1&amp;layout=default&amp;page=' . @$request->limitstart;
     $status = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no';
     // checks template image directory for image, if non found default are loaded
     if ($params->get('show_cat_icons', 1)) {
         $icon = 'icon-print';
         if (count($attribs) && isset($attribs['icon'])) {
             $icon = $attribs['icon'];
             unset($attribs['icon']);
         }
         $text = '<i class="' . $icon . '"></i> ' . JText::_('JGLOBAL_PRINT');
     } else {
         $text = JText::_('JGLOBAL_PRINT');
     }
     $attribs['title'] = JText::_('JGLOBAL_PRINT');
     $attribs['onclick'] = "window.open(this.href,'win2','" . $status . "'); return false;";
     $attribs['rel'] = 'nofollow';
     return JHtml::_('link', JRoute::_($url), $text, $attribs);
 }
 public function getItems()
 {
     if ($items = parent::getItems()) {
         $user = JFactory::getUser();
         $userId = $user->get('id');
         $guest = $user->get('guest');
         $params = $this->getState('params');
         JLoader::import('category', COM_TZ_PORTFOLIO_PLUS_PATH_SITE . DIRECTORY_SEPARATOR . 'helpers');
         $_params = null;
         $threadLink = null;
         $comments = null;
         if (count($items) > 0) {
             $content_ids = JArrayHelper::getColumn($items, 'id');
             $mainCategories = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesByArticleId($content_ids, array('main' => true));
             $second_categories = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesByArticleId($content_ids, array('main' => false));
             $tags = null;
             if (count($content_ids) && $params->get('show_tags', 1)) {
                 $tags = TZ_Portfolio_PlusFrontHelperTags::getTagsByArticleId($content_ids, array('orderby' => 'm.contentid', 'menuActive' => $params->get('menu_active', 'auto'), 'reverse_contentid' => true));
             }
             $dispatcher = JDispatcher::getInstance();
             JPluginHelper::importPlugin('content');
             TZ_Portfolio_PlusPluginHelper::importPlugin('mediatype');
             TZ_Portfolio_PlusPluginHelper::importPlugin('content');
             $dispatcher->trigger('onAlwaysLoadDocument', array('com_tz_portfolio_plus.portfolio'));
             $dispatcher->trigger('onLoadData', array('com_tz_portfolio_plus.portfolio', $items, $params));
             // Get the global params
             $globalParams = JComponentHelper::getParams('com_tz_portfolio_plus', true);
             foreach ($items as $i => &$item) {
                 $_params = clone $params;
                 $item->params = clone $_params;
                 $articleParams = new JRegistry();
                 $articleParams->loadString($item->attribs);
                 if ($mainCategories && isset($mainCategories[$item->id])) {
                     $mainCategory = $mainCategories[$item->id];
                     if ($mainCategory) {
                         $item->catid = $mainCategory->id;
                         $item->category_title = $mainCategory->title;
                         $item->catslug = $mainCategory->id . ':' . $mainCategory->alias;
                         $item->category_link = $mainCategory->link;
                         // Merge main category's params to article
                         $catParams = new JRegistry($mainCategory->params);
                         if ($inheritFrom = $catParams->get('inheritFrom', 0)) {
                             if ($inheritCategory = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesById($inheritFrom)) {
                                 $inheritCatParams = new JRegistry($inheritCategory->params);
                                 $catParams = clone $inheritCatParams;
                             }
                         }
                         $item->params->merge($catParams);
                     }
                 } else {
                     // Create main category's link
                     $item->category_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getCategoryRoute($item->catid));
                     // Merge main category's params to article
                     if ($mainCategory = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesById($item->catid)) {
                         $catParams = new JRegistry($mainCategory->params);
                         if ($inheritFrom = $catParams->get('inheritFrom', 0)) {
                             if ($inheritCategory = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesById($inheritFrom)) {
                                 $inheritCatParams = new JRegistry($inheritCategory->params);
                                 $catParams = clone $inheritCatParams;
                             }
                         }
                         $item->params->merge($catParams);
                     }
                 }
                 // Merge with article params
                 $item->params->merge($articleParams);
                 // Get all second categories
                 $item->second_categories = null;
                 if (isset($second_categories[$item->id])) {
                     $item->second_categories = $second_categories[$item->id];
                 }
                 // Get article's tags
                 $item->tags = null;
                 if ($tags && count($tags) && isset($tags[$item->id])) {
                     $item->tags = $tags[$item->id];
                 }
                 /*** Start New Source ***/
                 $tmpl = null;
                 if ($item->params->get('tz_use_lightbox', 0)) {
                     $tmpl = '&tmpl=component';
                 }
                 $config = JFactory::getConfig();
                 $ssl = -1;
                 if ($config->get('force_ssl')) {
                     $ssl = 1;
                 }
                 // Create Article Link
                 $item->link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid) . $tmpl);
                 $item->fullLink = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid), true, $ssl);
                 // Create author Link
                 $item->author_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getUserRoute($item->created_by, $params->get('user_menu_active', 'auto')));
                 // Compute the asset access permissions.
                 // Technically guest could edit an article, but lets not check that to improve performance a little.
                 if (!$guest) {
                     $asset = 'com_tz_portfolio_plus.article.' . $item->id;
                     // Check general edit permission first.
                     if ($user->authorise('core.edit', $asset)) {
                         $item->params->set('access-edit', true);
                     } elseif (!empty($userId) && $user->authorise('core.edit.own', $asset)) {
                         // Check for a valid user and that they are the owner.
                         if ($userId == $item->created_by) {
                             $item->params->set('access-edit', true);
                         }
                     }
                 }
                 $media = $item->media;
                 if ($item->media && !empty($item->media)) {
                     $registry = new JRegistry($item->media);
                     $obj = $registry->toObject();
                     $item->media = clone $obj;
                 }
                 $item->mediatypes = array();
                 // Add feed links
                 if (JFactory::getApplication()->input->getCmd('format', null) != 'feed') {
                     // Old plugins: Ensure that text property is available
                     if (!isset($item->text)) {
                         $item->text = $item->introtext;
                     }
                     //
                     // Process the content plugins.
                     //
                     $dispatcher->trigger('onContentPrepare', array('com_tz_portfolio_plus.portfolio', &$item, &$item->params, $this->getState('list.start')));
                     $item->introtext = $item->text;
                     $item->event = new stdClass();
                     $results = $dispatcher->trigger('onContentAfterTitle', array('com_tz_portfolio_plus.portfolio', &$item, &$item->params, $this->getState('list.start')));
                     $item->event->afterDisplayTitle = trim(implode("\n", $results));
                     $results = $dispatcher->trigger('onContentBeforeDisplay', array('com_tz_portfolio_plus.portfolio', &$item, &$item->params, $this->getState('list.start')));
                     $item->event->beforeDisplayContent = trim(implode("\n", $results));
                     $results = $dispatcher->trigger('onContentAfterDisplay', array('com_tz_portfolio_plus.portfolio', &$item, &$item->params, $this->getState('list.start')));
                     $item->event->afterDisplayContent = trim(implode("\n", $results));
                     // Process the tz portfolio's content plugins.
                     $results = $dispatcher->trigger('onContentDisplayVote', array('com_tz_portfolio_plus.portfolio', &$item, &$item->params, $this->getState('list.start')));
                     $item->event->contentDisplayVote = trim(implode("\n", $results));
                     $results = $dispatcher->trigger('onBeforeDisplayAdditionInfo', array('com_tz_portfolio_plus.portfolio', &$item, &$item->params, $this->getState('list.start')));
                     $item->event->beforeDisplayAdditionInfo = trim(implode("\n", $results));
                     $results = $dispatcher->trigger('onAfterDisplayAdditionInfo', array('com_tz_portfolio_plus.portfolio', &$item, &$item->params, $this->getState('list.start')));
                     $item->event->afterDisplayAdditionInfo = trim(implode("\n", $results));
                     $results = $dispatcher->trigger('onContentDisplayListView', array('com_tz_portfolio_plus.portfolio', &$item, &$item->params, $this->getState('list.start')));
                     $item->event->contentDisplayListView = trim(implode("\n", $results));
                     // Process the tz portfolio's mediatype plugins.
                     $results = $dispatcher->trigger('onContentDisplayMediaType', array('com_tz_portfolio_plus.portfolio', &$item, &$item->params, $this->getState('list.start')));
                     if ($item) {
                         $item->event->onContentDisplayMediaType = trim(implode("\n", $results));
                         if ($results = $dispatcher->trigger('onAddMediaType')) {
                             $mediatypes = array();
                             foreach ($results as $result) {
                                 if (isset($result->special) && $result->special) {
                                     $mediatypes[] = $result->value;
                                 }
                             }
                             $item->mediatypes = $mediatypes;
                         }
                     } else {
                         unset($items[$i]);
                     }
                 }
                 if ($item && strlen(trim($item->introtext)) && ($introLimit = $params->get('tz_article_intro_limit'))) {
                     $item->introtext = '<p>' . JHtml::_('string.truncate', $item->introtext, $introLimit, true, false) . '</p>';
                 }
             }
             return $items;
         }
     }
     return false;
 }
    function display($tpl = null)
    {
        $doc = JFactory::getDocument();
        $menus = JMenu::getInstance('site');
        $active = $menus->getActive();
        $state = $this->get('State');
        $this->state = $state;
        $params = $state->params;
        // Set value again for option tz_portfolio_plus_redirect
        if ($params->get('tz_portfolio_plus_redirect') == 'default') {
            $params->set('tz_portfolio_plus_redirect', 'article');
        }
        $items = $this->get('Items');
        if ($items) {
            $user = JFactory::getUser();
            $userId = $user->get('id');
            $guest = $user->get('guest');
            $content_ids = array();
            if ($items) {
                $content_ids = JArrayHelper::getColumn($items, 'id');
            }
            $mainCategories = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesByArticleId($content_ids, array('main' => true));
            $second_categories = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesByArticleId($content_ids, array('main' => false));
            $tags = null;
            if (count($content_ids) && $params->get('show_tags', 1)) {
                $tags = TZ_Portfolio_PlusFrontHelperTags::getTagsByArticleId($content_ids, array('orderby' => 'm.contentid', 'reverse_contentid' => true));
            }
            $dispatcher = JDispatcher::getInstance();
            JPluginHelper::importPlugin('content');
            TZ_Portfolio_PlusPluginHelper::importPlugin('content');
            TZ_Portfolio_PlusPluginHelper::importPlugin('mediatype');
            $dispatcher->trigger('onAlwaysLoadDocument', array('com_tz_portfolio_plus.users'));
            $dispatcher->trigger('onLoadData', array('com_tz_portfolio_plus.users', $items, $params));
            foreach ($items as $i => &$item) {
                if ($mainCategories && isset($mainCategories[$item->id])) {
                    $mainCategory = $mainCategories[$item->id];
                    if ($mainCategory) {
                        $item->catid = $mainCategory->id;
                        $item->category_title = $mainCategory->title;
                        $item->catslug = $mainCategory->id . ':' . $mainCategory->alias;
                        $item->category_link = $mainCategory->link;
                    }
                } else {
                    // Create main category's link
                    $item->category_link = TZ_Portfolio_PlusHelperRoute::getCategoryRoute($item->catid);
                }
                // Get all second categories
                $item->second_categories = null;
                if (isset($second_categories[$item->id])) {
                    $item->second_categories = $second_categories[$item->id];
                }
                // Get article's tags
                $item->tags = null;
                if ($tags && count($tags) && isset($tags[$item->id])) {
                    $item->tags = $tags[$item->id];
                }
                /*** New source ***/
                $tmpl = null;
                if ($item->params->get('tz_use_lightbox', 0)) {
                    $tmpl = '&tmpl=component';
                }
                $config = JFactory::getConfig();
                $ssl = -1;
                if ($config->get('force_ssl')) {
                    $ssl = 1;
                }
                // Create article link
                $item->link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid) . $tmpl);
                $item->fullLink = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid), true, $ssl);
                // Create author link
                $item->author_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getUserRoute($item->created_by, $params->get('user_menu_active', 'auto')));
                // Compute the asset access permissions.
                // Technically guest could edit an article, but lets not check that to improve performance a little.
                if (!$guest) {
                    $asset = 'com_tz_portfolio_plus.article.' . $item->id;
                    // Check general edit permission first.
                    if ($user->authorise('core.edit', $asset)) {
                        $item->params->set('access-edit', true);
                    } elseif (!empty($userId) && $user->authorise('core.edit.own', $asset)) {
                        // Check for a valid user and that they are the owner.
                        if ($userId == $item->created_by) {
                            $item->params->set('access-edit', true);
                        }
                    }
                }
                // Old plugins: Ensure that text property is available
                if (!isset($item->text)) {
                    $item->text = $item->introtext;
                }
                if (version_compare(COM_TZ_PORTFOLIO_PLUS_VERSION, '3.1.7', '<')) {
                    $item->text = null;
                    if ($params->get('show_intro', 1)) {
                        $item->text = $item->introtext;
                    }
                }
                $item->event = new stdClass();
                //Call trigger in group content
                $results = $dispatcher->trigger('onContentPrepare', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                $item->introtext = $item->text;
                $results = $dispatcher->trigger('onContentAfterTitle', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                $item->event->afterDisplayTitle = trim(implode("\n", $results));
                $results = $dispatcher->trigger('onContentBeforeDisplay', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                $item->event->beforeDisplayContent = trim(implode("\n", $results));
                $results = $dispatcher->trigger('onContentAfterDisplay', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                $item->event->afterDisplayContent = trim(implode("\n", $results));
                $results = $dispatcher->trigger('onContentTZPortfolioVote', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                $item->event->TZPortfolioVote = trim(implode("\n", $results));
                // Process the tz portfolio's content plugins.
                $results = $dispatcher->trigger('onContentDisplayVote', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                $item->event->contentDisplayVote = trim(implode("\n", $results));
                $results = $dispatcher->trigger('onBeforeDisplayAdditionInfo', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                $item->event->beforeDisplayAdditionInfo = trim(implode("\n", $results));
                $results = $dispatcher->trigger('onAfterDisplayAdditionInfo', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                $item->event->afterDisplayAdditionInfo = trim(implode("\n", $results));
                $results = $dispatcher->trigger('onContentDisplayListView', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                $item->event->contentDisplayListView = trim(implode("\n", $results));
                //Call trigger in group tz_portfolio_plus_mediatype
                $results = $dispatcher->trigger('onContentDisplayMediaType', array('com_tz_portfolio_plus.users', &$item, &$params, $state->get('offset')));
                if ($item) {
                    $item->event->onContentDisplayMediaType = trim(implode("\n", $results));
                    if ($results = $dispatcher->trigger('onAddMediaType')) {
                        $mediatypes = array();
                        foreach ($results as $result) {
                            if (isset($result->special) && $result->special) {
                                $mediatypes[] = $result->value;
                            }
                        }
                        $item->mediatypes = $mediatypes;
                    }
                } else {
                    unset($items[$i]);
                }
            }
        }
        //Escape strings for HTML output
        $this->pageclass_sfx = htmlspecialchars($params->get('pageclass_sfx'));
        if ($active) {
            $params->def('page_heading', $params->get('page_title', $active->title));
        } else {
            $params->def('page_heading', JText::_('JGLOBAL_ARTICLES'));
        }
        $this->items = $items;
        $this->params = $params;
        $this->assign('mediaParams', $params);
        $this->assign('pagination', $this->get('Pagination'));
        if ($author = JFactory::getUser($state->get('users.id'))) {
            $author_registry = $author->getParameters();
            $author_info = new stdClass();
            $author_info->id = $author->id;
            $author_info->url = $author_registry->get('tz_portfolio_plus_user_url');
            $author_info->email = $author->email;
            $author_info->gender = $author_registry->get('tz_portfolio_plus_user_gender');
            $author_info->avatar = $author_registry->get('tz_portfolio_plus_user_avatar');
            $author_info->social_links = null;
            if ($social_links = $author_registry->get('tz_portfolio_plus_user_social_link')) {
                foreach ($social_links as &$social_link) {
                    $social_link = json_decode($social_link);
                }
                $author_info->social_links = $social_links;
            }
            $author_info->description = $author_registry->get('tz_portfolio_plus_user_description');
            $author_info->author = $author->name;
            $author_info->author_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getUserRoute($state->get('users.id'), $params->get('user_menu_active', 'auto')));
            $this->item_author = $author_info;
        }
        $params = $state->params;
        JModelLegacy::addIncludePath(COM_TZ_PORTFOLIO_PLUS_PATH_SITE . DIRECTORY_SEPARATOR . 'models');
        $model = JModelLegacy::getInstance('Portfolio', 'TZ_Portfolio_PlusModel', array('ignore_request' => true));
        $model->setState('params', $params);
        $model->setState('filter.userId', $state->get('users.id'));
        $this->char = $state->get('filter.char');
        $this->availLetter = $model->getAvailableLetter();
        if ($params->get('tz_use_lightbox', 0) == 1) {
            $doc->addCustomTag('<script type="text/javascript" src="components/com_tz_portfolio_plus/js' . '/jquery.fancybox.pack.js"></script>');
            $doc->addStyleSheet('components/com_tz_portfolio_plus/css/fancybox.min.css');
            $width = null;
            $height = null;
            $autosize = null;
            if ($params->get('tz_lightbox_width')) {
                if (preg_match('/%|px/', $params->get('tz_lightbox_width'))) {
                    $width = 'width:\'' . $params->get('tz_lightbox_width') . '\',';
                } else {
                    $width = 'width:' . $params->get('tz_lightbox_width') . ',';
                }
            }
            if ($params->get('tz_lightbox_height')) {
                if (preg_match('/%|px/', $params->get('tz_lightbox_height'))) {
                    $height = 'height:\'' . $params->get('tz_lightbox_height') . '\',';
                } else {
                    $height = 'height:' . $params->get('tz_lightbox_height') . ',';
                }
            }
            if ($width || $height) {
                $autosize = 'fitToView: false,autoSize: false,';
            }
            $scrollHidden = null;
            if ($params->get('use_custom_scrollbar', 1)) {
                $scrollHidden = ',scrolling: "no"
                                    ,iframe: {
                                        scrolling : "no",
                                    }';
            }
            $doc->addCustomTag('<script type="text/javascript">
                jQuery(\'.fancybox\').fancybox({
                    type:\'iframe\',
                    openSpeed:' . $params->get('tz_lightbox_speed', 350) . ',
                    openEffect: "' . $params->get('tz_lightbox_transition', 'elastic') . '",
                    ' . $width . $height . $autosize . '
		            helpers:  {
                        title : {
                            type : "inside"
                        },
                        overlay : {
                            css : {background: "rgba(0,0,0,' . $params->get('tz_lightbox_opacity', 0.75) . ')"}
                        }
                    }' . $scrollHidden . '
                });
                </script>
            ');
        }
        $doc->addStyleSheet('components/com_tz_portfolio_plus/css/tzportfolioplus.min.css');
        $this->_prepareDocument();
        // Add feed links
        if ($params->get('show_feed_link', 1)) {
            $link = '&format=feed&limitstart=';
            $attribs = array('type' => 'application/rss+xml', 'title' => 'RSS 2.0');
            $doc->addHeadLink(JRoute::_($link . '&type=rss'), 'alternate', 'rel', $attribs);
            $attribs = array('type' => 'application/atom+xml', 'title' => 'Atom 1.0');
            $doc->addHeadLink(JRoute::_($link . '&type=atom'), 'alternate', 'rel', $attribs);
        }
        parent::display($tpl);
    }
 function display($tpl = null)
 {
     // Initialise variables.
     $app = JFactory::getApplication();
     $doc = JFactory::getDocument();
     $doc->addStyleSheet('components/com_tz_portfolio_plus/css/tzportfolioplus.min.css');
     $tmpl = $app->input->getString('tmpl');
     if ($tmpl) {
         JHtml::_('bootstrap.framework');
         JHtml::_('jquery.framework');
     }
     $user = JFactory::getUser();
     $dispatcher = JDispatcher::getInstance();
     $this->state = $this->get('State');
     $params = $this->state->get('params');
     $this->item = $this->get('Item');
     $offset = $this->state->get('list.offset');
     $related = $this->get('ItemRelated');
     // Merge article params. If this is single-article view, menu params override article params
     // Otherwise, article params override menu item params
     $this->params = $this->state->get('params');
     $active = $app->getMenu()->getActive();
     $temp = clone $this->params;
     $tempR = clone $this->params;
     JPluginHelper::importPlugin('content');
     TZ_Portfolio_PlusPluginHelper::importPlugin('mediatype');
     TZ_Portfolio_PlusPluginHelper::importPlugin('content');
     if ($this->item->id && $params->get('show_tags', 1)) {
         $this->listTags = TZ_Portfolio_PlusFrontHelperTags::getTagsByArticleId($this->item->id, array('orderby' => 'm.contentid', 'menuActive' => $params->get('menu_active', 'auto')));
     }
     $mediatypes = array();
     if ($results = $dispatcher->trigger('onAddMediaType')) {
         foreach ($results as $result) {
             if (isset($result->special) && $result->special) {
                 $mediatypes[] = $result->value;
             }
         }
     }
     if ($tmpl) {
         $tmpl = '&amp;tmpl=' . $tmpl;
     }
     if ($params->get('tz_use_lightbox', 0) && !$tmpl) {
         $tmpl = '&amp;tmpl=component';
     }
     $this->print = $app->input->getBool('print');
     $this->user = $user;
     // Check for errors.
     if (count($errors = $this->get('Errors'))) {
         JError::raiseWarning(500, implode("\n", $errors));
         return false;
     }
     // Create a shortcut for $item.
     $item =& $this->item;
     // Get second categories
     $second_categories = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesByArticleId($item->id, array('main' => false, 'reverse_contentid' => false));
     $item->second_categories = $second_categories;
     // Add router helpers.
     $item->slug = $item->alias ? $item->id . ':' . $item->alias : $item->id;
     $item->catslug = $item->category_alias ? $item->catid . ':' . $item->category_alias : $item->catid;
     $item->parent_slug = $item->category_alias ? $item->parent_id . ':' . $item->parent_alias : $item->parent_id;
     // TODO: Change based on shownoauth
     $item->readmore_link = null;
     // Check to see which parameters should take priority
     if ($active) {
         $currentLink = $active->link;
         // If the current view is the active item and an article view for this article, then the menu item params take priority
         if (strpos($currentLink, 'view=article') && strpos($currentLink, '&id=' . (string) $item->id)) {
             // $item->params are the article params, $temp are the menu item params
             // Merge so that the menu item params take priority
             $item->params->merge($temp);
             // Load layout from active query (in case it is an alternative menu item)
             if (isset($active->query['layout'])) {
                 $this->setLayout($active->query['layout']);
             }
         } else {
             // Current view is not a single article, so the article params take priority here
             // Merge the menu item params with the article params so that the article params take priority
             $temp->merge($item->params);
             $item->params = $temp;
             // Check for alternative layouts (since we are not in a single-article menu item)
             // Single-article menu item layout takes priority over alt layout for an article
             if ($layout = $item->params->get('article_layout')) {
                 $this->setLayout($layout);
             }
         }
     } else {
         // Merge so that article params take priority
         $temp->merge($item->params);
         $item->params = $temp;
         // Check for alternative layouts (since we are not in a single-article menu item)
         // Single-article menu item layout takes priority over alt layout for an article
         if ($layout = $item->params->get('article_layout')) {
             $this->setLayout($layout);
         }
     }
     $item->params->set('show_cat_icons', $item->params->get('show_icons'));
     // Create "link" and "fullLink" for article object
     $tmpl = null;
     if ($item->params->get('tz_use_lightbox', 0)) {
         $tmpl = '&amp;tmpl=component';
     }
     $config = JFactory::getConfig();
     $ssl = -1;
     if ($config->get('force_ssl')) {
         $ssl = 1;
     }
     $item->link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid) . $tmpl, true, $ssl);
     $item->fullLink = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid), true, $ssl);
     $item->parent_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getCategoryRoute($item->parent_slug));
     $item->category_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getCategoryRoute($item->catslug));
     $item->author_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getUserRoute($item->created_by, $params->get('user_menu_active', 'auto')));
     $url = JURI::getInstance()->toString();
     $this->assign('linkCurrent', $url);
     // Check the view access to the article (the model has already computed the values).
     if ($item->params->get('access-view') != true && ($item->params->get('show_noauth') != true && $user->get('guest'))) {
         JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR'));
         return;
     }
     //
     // Process the content plugins.
     //
     $dispatcher->trigger('onAlwaysLoadDocument', array('com_tz_portfolio_plus.portfolio'));
     $dispatcher->trigger('onLoadData', array('com_tz_portfolio_plus.portfolio', $this->item, $params));
     if ($item->params->get('show_intro', 1)) {
         $item->text = $item->introtext . ' ' . $item->fulltext;
     } elseif ($item->fulltext) {
         $item->text = $item->fulltext;
     } else {
         $item->text = $item->introtext;
     }
     if ($item->params->get('show_intro', 1)) {
         $text = $item->introtext . ' ' . $item->fulltext;
     } elseif ($item->fulltext) {
         $text = $item->fulltext;
     } else {
         $text = $item->introtext;
     }
     if ($item->introtext && !empty($item->introtext)) {
         $item->text = $item->introtext;
         $results = $dispatcher->trigger('onContentPrepare', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
         $results = $dispatcher->trigger('onContentAfterTitle', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
         $results = $dispatcher->trigger('onContentBeforeDisplay', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
         $results = $dispatcher->trigger('onContentAfterDisplay', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
         $item->introtext = $item->text;
     }
     if ($item->fulltext && !empty($item->fulltext)) {
         $item->text = $item->fulltext;
         $results = $dispatcher->trigger('onContentPrepare', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
         $results = $dispatcher->trigger('onContentAfterTitle', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
         $results = $dispatcher->trigger('onContentBeforeDisplay', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
         $results = $dispatcher->trigger('onContentAfterDisplay', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
         $item->fulltext = $item->text;
     }
     $item->text = $text;
     $results = $dispatcher->trigger('onContentPrepare', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
     $item->event = new stdClass();
     $results = $dispatcher->trigger('onContentAfterTitle', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
     $item->event->afterDisplayTitle = trim(implode("\n", $results));
     $results = $dispatcher->trigger('onContentBeforeDisplay', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
     $item->event->beforeDisplayContent = trim(implode("\n", $results));
     $results = $dispatcher->trigger('onContentAfterDisplay', array('com_tz_portfolio_plus.article', &$item, &$this->params, $offset));
     $item->event->afterDisplayContent = trim(implode("\n", $results));
     // Trigger portfolio's plugin
     $results = $dispatcher->trigger('onContentDisplayCommentCount', array('com_tz_portfolio_plus.article', &$item, &$item->params, $offset));
     $item->event->contentDisplayCommentCountCount = trim(implode("\n", $results));
     $results = $dispatcher->trigger('onContentDisplayVote', array('com_tz_portfolio_plus.article', &$item, &$item->params, $offset));
     $item->event->contentDisplayVote = trim(implode("\n", $results));
     $results = $dispatcher->trigger('onBeforeDisplayAdditionInfo', array('com_tz_portfolio_plus.article', &$item, &$item->params, $offset));
     $item->event->beforeDisplayAdditionInfo = trim(implode("\n", $results));
     $results = $dispatcher->trigger('onAfterDisplayAdditionInfo', array('com_tz_portfolio_plus.article', &$item, &$item->params, $offset));
     $item->event->afterDisplayAdditionInfo = trim(implode("\n", $results));
     $results = $dispatcher->trigger('onContentDisplayMediaType', array('com_tz_portfolio_plus.article', &$item, &$item->params, $offset));
     $item->event->onContentDisplayMediaType = trim(implode("\n", $results));
     if ($template = TZ_Portfolio_PlusTemplate::getTemplate(true)) {
         $tplparams = $template->params;
         if (!$tplparams->get('use_single_layout_builder', 1)) {
             $results = $dispatcher->trigger('onContentDisplayArticleView', array('com_tz_portfolio_plus.article', &$item, &$item->params, $offset));
             $item->event->contentDisplayArticleView = trim(implode("\n", $results));
         }
     }
     // Increment the hit counter of the article.
     if (!$this->params->get('intro_only') && $offset == 0) {
         $model = $this->getModel();
         $model->hit();
     }
     foreach ($related as $i => &$itemR) {
         $itemR->link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($itemR->slug, $itemR->catid) . $tmpl);
         $media = $itemR->media;
         $registry = new JRegistry();
         $registry->loadString($media);
         $media = $registry->toObject();
         $itemR->media = $media;
         $itemR->event = new stdClass();
         $results = $dispatcher->trigger('onContentDisplayMediaType', array('com_tz_portfolio_plus.article', &$itemR, &$item->params, $offset, 'related'));
         if ($itemR) {
             $itemR->event->onContentDisplayMediaType = trim(implode("\n", $results));
             $itemR->mediatypes = $mediatypes;
         } else {
             unset($related[$i]);
         }
     }
     $this->itemsRelated = $related;
     // Get article's extrafields
     JLoader::import('extrafields', COM_TZ_PORTFOLIO_PLUS_SITE_HELPERS_PATH);
     $extraFields = TZ_Portfolio_PlusFrontHelperExtraFields::getExtraFields($this->item, $params);
     $this->item->extrafields = $extraFields;
     //Escape strings for HTML output
     $this->pageclass_sfx = htmlspecialchars($this->item->params->get('pageclass_sfx'));
     $this->_prepareDocument();
     $this->generateLayout($item, $params, $dispatcher);
     parent::display($tpl);
 }
Exemple #7
0
 public function getItems()
 {
     if ($items = parent::getItems()) {
         foreach ($items as &$item) {
             $params = clone $this->getState('params');
             $item->params = clone $params;
             // Create new options "link" and "fullLink" for article
             $tmpl = null;
             if ($item->params->get('tz_use_lightbox', 0)) {
                 $tmpl = '&amp;tmpl=component';
             }
             $config = JFactory::getConfig();
             $ssl = -1;
             if ($config->get('force_ssl')) {
                 $ssl = 1;
             }
             //Check redirect to view article
             $item->link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid) . $tmpl);
             $item->fullLink = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid), true, $ssl);
             /** End Create new options **/
             // Create author Link
             $item->author_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getUserRoute($item->created_by, $params->get('user_menu_active', 'auto')));
             $media = $item->media;
             $registry = new JRegistry();
             $registry->loadString($media);
             $obj = $registry->toObject();
             $item->media = clone $obj;
             $item->mediatypes = array();
         }
         return $items;
     }
     return false;
 }
Exemple #8
0
				<td>
					<a style="cursor: pointer;" class="pointer"
                       onclick="if (window.parent) window.parent.<?php 
    echo $this->escape($function);
    ?>
('<?php 
    echo $item->id;
    ?>
', '<?php 
    echo $this->escape(addslashes($item->title));
    ?>
', '<?php 
    echo $this->escape($item->catid);
    ?>
', null, '<?php 
    echo $this->escape(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->id));
    ?>
');">
						<?php 
    echo $this->escape($item->title);
    ?>
</a>
				</td>
                <td class="small hidden-phone">
                    <?php 
    echo $item->type;
    ?>
                </td>
				<td class="center small">
					<?php 
    echo $this->escape($item->access_level);
Exemple #9
0
 public function getItems()
 {
     if ($items = parent::getItems()) {
         $categories = new TZ_Portfolio_PlusCategories();
         foreach ($items as &$item) {
             $params = clone $this->getState('params');
             $temp = clone $this->getState('params');
             // Get the global params
             $globalParams = JComponentHelper::getParams('com_tz_portfolio_plus', true);
             /*** New source ***/
             $category = $categories->get($item->catid);
             $catParams = new JRegistry($category->params);
             $articleParams = new JRegistry();
             $articleParams->loadString($item->attribs);
             //                if($temp -> get('menuInheritFrom', 'none') == 'articles'){
             //
             //                    if($inheritCatid = $catParams -> get('inheritFrom')){
             //                        if($inheritCategory = $categories -> get($inheritCatid)){
             //                            $inheritCatParams   = new JRegistry($inheritCategory -> params);
             //                            $item -> params     = clone($inheritCatParams);
             //                        }
             //                    }else{
             //                        $item -> params = clone($catParams);
             //                    }
             //                    $item -> params -> merge($articleParams);
             //                }else{
             $item->params = clone $params;
             //                }
             // Create new options "link" and "fullLink" for article
             $tmpl = null;
             if ($item->params->get('tz_use_lightbox', 0)) {
                 $tmpl = '&amp;tmpl=component';
             }
             $config = JFactory::getConfig();
             $ssl = -1;
             if ($config->get('force_ssl')) {
                 $ssl = 1;
             }
             $item->link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid) . $tmpl);
             $item->fullLink = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid), true, $ssl);
             /** End Create new options **/
             $media = $item->media;
             $registry = new JRegistry();
             $registry->loadString($media);
             $media = $registry->toObject();
             $item->media = $media;
             $item->mediatypes = array();
         }
         return $items;
     }
     return false;
 }
// no direct access
defined('_JEXEC') or die;
?>


<div class="TzItemsMore">

<h3 class="TzItemsMoreTitle"><?php 
echo JText::_('COM_TZ_PORTFOLIO_PLUS_MORE_ARTICLES');
?>
</h3>
<ol>
<?php 
foreach ($this->link_items as &$item) {
    ?>
	<li>
		<a href="<?php 
    echo JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid));
    ?>
">
			<?php 
    echo $item->title;
    ?>
</a>
	</li>
<?php 
}
?>
</ol>
</div>
 public function display($tpl = null)
 {
     $app = JFactory::getApplication();
     $user = JFactory::getUser();
     $doc = JFactory::getDocument();
     $doc->addStyleSheet('components/com_tz_portfolio_plus/css/tzportfolioplus.min.css');
     // Get some data from the models
     $state = $this->get('State');
     $params = $state->params;
     // Set value again for option tz_portfolio_plus_redirect
     if ($params->get('tz_portfolio_plus_redirect') == 'default') {
         $params->set('tz_portfolio_plus_redirect', 'article');
     }
     $items = $this->get('Items');
     $parent = $this->get('Parent');
     $pagination = $this->get('Pagination');
     // Check for errors.
     if (count($errors = $this->get('Errors'))) {
         JError::raiseError(500, implode("\n", $errors));
         return false;
     }
     // Check whether category access level allows access.
     $user = JFactory::getUser();
     $content_ids = array();
     if ($items) {
         $content_ids = JArrayHelper::getColumn($items, 'id');
     }
     $tags = null;
     if (count($content_ids) && $params->get('show_tags', 1)) {
         $tags = TZ_Portfolio_PlusFrontHelperTags::getTagsByArticleId($content_ids, array('orderby' => 'm.contentid', 'reverse_contentid' => true));
     }
     $_params = null;
     $dispatcher = JDispatcher::getInstance();
     $mainCategories = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesByArticleId($content_ids, array('main' => true));
     $second_categories = TZ_Portfolio_PlusFrontHelperCategories::getCategoriesByArticleId($content_ids, array('main' => false));
     JPluginHelper::importPlugin('content');
     TZ_Portfolio_PlusPluginHelper::importPlugin('content');
     TZ_Portfolio_PlusPluginHelper::importPlugin('mediatype');
     $dispatcher->trigger('onAlwaysLoadDocument', array('com_tz_portfolio_plus.date'));
     $dispatcher->trigger('onLoadData', array('com_tz_portfolio_plus.date', $items, $params));
     $mediatypes = array();
     if ($results = $dispatcher->trigger('onAddMediaType')) {
         foreach ($results as $result) {
             if (isset($result->special) && $result->special) {
                 $mediatypes[] = $result->value;
             }
         }
     }
     for ($i = 0, $n = count($items); $i < $n; $i++) {
         $item =& $items[$i];
         if ($mainCategories && isset($mainCategories[$item->id])) {
             $mainCategory = $mainCategories[$item->id];
             if ($mainCategory) {
                 $item->catid = $mainCategory->id;
                 $item->category_title = $mainCategory->title;
                 $item->catslug = $mainCategory->id . ':' . $mainCategory->alias;
                 $item->category_link = $mainCategory->link;
             }
         } else {
             // Create main category's link
             $item->category_link = TZ_Portfolio_PlusHelperRoute::getCategoryRoute($item->catid);
         }
         // Get all second categories
         $item->second_categories = null;
         if (isset($second_categories[$item->id])) {
             $item->second_categories = $second_categories[$item->id];
         }
         // Get article's tags
         $item->tags = null;
         if ($tags && count($tags) && isset($tags[$item->id])) {
             $item->tags = $tags[$item->id];
         }
         /*** New source ***/
         $tmpl = null;
         if ($item->params->get('tz_use_lightbox', 0)) {
             $tmpl = '&tmpl=component';
         }
         $config = JFactory::getConfig();
         $ssl = -1;
         if ($config->get('force_ssl')) {
             $ssl = 1;
         }
         // Create article link
         $item->link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid) . $tmpl);
         $item->fullLink = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catid), true, $ssl);
         // Create author link
         $item->author_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getUserRoute($item->created_by, $params->get('user_menu_active', 'auto')));
         // No link for ROOT category
         if ($item->parent_alias == 'root') {
             $item->parent_slug = null;
         }
         $item->event = new stdClass();
         // Old plugins: Ensure that text property is available
         if (!isset($item->text)) {
             $item->text = $item->introtext;
         }
         //Call trigger in group content
         $results = $dispatcher->trigger('onContentPrepare', array('com_tz_portfolio_plus.date', &$item, &$item->params, 0));
         $item->introtext = $item->text;
         $results = $dispatcher->trigger('onContentAfterTitle', array('com_tz_portfolio_plus.date', &$item, &$item->params, 0));
         $item->event->afterDisplayTitle = trim(implode("\n", $results));
         $results = $dispatcher->trigger('onContentBeforeDisplay', array('com_tz_portfolio_plus.date', &$item, &$item->params, 0));
         $item->event->beforeDisplayContent = trim(implode("\n", $results));
         $results = $dispatcher->trigger('onContentAfterDisplay', array('com_tz_portfolio_plus.date', &$item, &$item->params, 0));
         $item->event->afterDisplayContent = trim(implode("\n", $results));
         // Process the tz portfolio's content plugins.
         $results = $dispatcher->trigger('onContentDisplayVote', array('com_tz_portfolio_plus.date', &$item, &$item->params, 0));
         $item->event->contentDisplayVote = trim(implode("\n", $results));
         $results = $dispatcher->trigger('onBeforeDisplayAdditionInfo', array('com_tz_portfolio_plus.date', &$item, &$item->params, 0));
         $item->event->beforeDisplayAdditionInfo = trim(implode("\n", $results));
         $results = $dispatcher->trigger('onAfterDisplayAdditionInfo', array('com_tz_portfolio_plus.date', &$item, &$item->params, 0));
         $item->event->afterDisplayAdditionInfo = trim(implode("\n", $results));
         $results = $dispatcher->trigger('onContentDisplayListView', array('com_tz_portfolio_plus.date', &$item, &$item->params, 0));
         $item->event->contentDisplayListView = trim(implode("\n", $results));
         //Call trigger in group tz_portfolio_plus_mediatype
         if ($item) {
             $results = $dispatcher->trigger('onContentDisplayMediaType', array('com_tz_portfolio_plus.date', &$item, &$item->params, 0));
             if ($item) {
                 $item->event->onContentDisplayMediaType = trim(implode("\n", $results));
                 if ($results = $dispatcher->trigger('onAddMediaType')) {
                     $mediatypes = array();
                     foreach ($results as $result) {
                         if (isset($result->special) && $result->special) {
                             $mediatypes[] = $result->value;
                         }
                     }
                     $item->mediatypes = $mediatypes;
                 }
             } else {
                 unset($items[$i]);
             }
         }
     }
     //Escape strings for HTML output
     $this->pageclass_sfx = htmlspecialchars($params->get('pageclass_sfx'));
     $this->state = $state;
     $this->params = $params;
     $this->items = $items;
     $this->pagination = $pagination;
     $this->assignRef('user', $user);
     $this->assign('listImage', $this->get('CatImages'));
     JModelLegacy::addIncludePath(COM_TZ_PORTFOLIO_PLUS_PATH_SITE . DIRECTORY_SEPARATOR . 'models');
     $model = JModelLegacy::getInstance('Portfolio', 'TZ_Portfolio_PlusModel', array('ignore_request' => true));
     $pParams = clone $params;
     $pParams->set('tz_catid', $params->get('tz_catid', array()));
     $model->setState('params', $pParams);
     $model->setState('filter.year', $state->get('filter.year'));
     $model->setState('filter.month', $state->get('filter.month'));
     $this->char = $state->get('filter.char');
     $this->availLetter = $model->getAvailableLetter();
     $this->assign('mediaParams', $params);
     if ($params->get('tz_use_lightbox', 0) == 1) {
         $doc->addCustomTag('<script type="text/javascript" src="components/com_tz_portfolio_plus/js' . '/jquery.fancybox.pack.js"></script>');
         $doc->addStyleSheet('components/com_tz_portfolio_plus/css/fancybox.min.css');
         $width = null;
         $height = null;
         $autosize = null;
         if ($params->get('tz_lightbox_width')) {
             if (preg_match('/%|px/', $params->get('tz_lightbox_width'))) {
                 $width = 'width:\'' . $params->get('tz_lightbox_width') . '\',';
             } else {
                 $width = 'width:' . $params->get('tz_lightbox_width') . ',';
             }
         }
         if ($params->get('tz_lightbox_height')) {
             if (preg_match('/%|px/', $params->get('tz_lightbox_height'))) {
                 $height = 'height:\'' . $params->get('tz_lightbox_height') . '\',';
             } else {
                 $height = 'height:' . $params->get('tz_lightbox_height') . ',';
             }
         }
         if ($width || $height) {
             $autosize = 'fitToView: false,autoSize: false,';
         }
         $scrollHidden = null;
         if ($params->get('use_custom_scrollbar', 1)) {
             $scrollHidden = ',scrolling: "no"
                                 ,iframe: {
                                     scrolling : "no",
                                 }';
         }
         $doc->addCustomTag('<script type="text/javascript">
             jQuery(\'.fancybox\').fancybox({
                 type:\'iframe\',
                 openSpeed:' . $params->get('tz_lightbox_speed', 350) . ',
                 openEffect: "' . $params->get('tz_lightbox_transition', 'elastic') . '",
                 ' . $width . $height . $autosize . '
                 helpers:  {
                     title : {
                         type : "inside"
                     },
                     overlay : {
                         css : {background: "rgba(0,0,0,' . $params->get('tz_lightbox_opacity', 0.75) . ')"}
                     }
                 }' . $scrollHidden . '
             });
             </script>
         ');
     }
     $doc->addStyleSheet('components/com_tz_portfolio_plus/css/tzportfolioplus.min.css');
     //        $this->_prepareDocument();
     // Add feed links
     if ($this->params->get('show_feed_link', 1)) {
         $link = '&format=feed&limitstart=';
         $attribs = array('type' => 'application/rss+xml', 'title' => 'RSS 2.0');
         $this->document->addHeadLink(JRoute::_($link . '&type=rss'), 'alternate', 'rel', $attribs);
         $attribs = array('type' => 'application/atom+xml', 'title' => 'Atom 1.0');
         $this->document->addHeadLink(JRoute::_($link . '&type=atom'), 'alternate', 'rel', $attribs);
     }
     parent::display($tpl);
 }
Exemple #12
0
 public static function getList(&$params)
 {
     // Get the dbo
     $db = JFactory::getDbo();
     $query = $db->getQuery(true);
     $query->select('c.*, c.id as content_id, u.name as user_name, u.id as user_id');
     $query->select('CASE WHEN CHAR_LENGTH(c.alias) THEN CONCAT_WS(":", c.id, c.alias) ELSE c.id END as slug');
     $query->select('CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END as catslug');
     $query->select('CASE WHEN CHAR_LENGTH(c.fulltext) THEN c.fulltext ELSE null END as readmore');
     $query->from('#__tz_portfolio_plus_content AS c');
     $query->join('INNER', $db->quoteName('#__tz_portfolio_plus_content_category_map') . ' AS m ON m.contentid=c.id');
     $query->join('LEFT', $db->quoteName('#__tz_portfolio_plus_categories') . ' AS cc ON cc.id=m.catid');
     $query->join('LEFT', $db->quoteName('#__tz_portfolio_plus_tag_content_map') . ' AS x ON x.contentid=c.id');
     $query->join('LEFT', $db->quoteName('#__tz_portfolio_plus_tags') . ' AS t ON t.id=x.tagsid');
     $query->join('LEFT', $db->quoteName('#__users') . ' AS u ON u.id=c.created_by');
     $query->where('c.state= 1');
     if ($params->get('category_filter', 2) == 2) {
         $query->where('(m.main = 0 OR m.main = 1)');
     } elseif ($params->get('category_filter', 2) == 1) {
         $query->where('m.main = 1');
     } else {
         $query->where('m.main = 0');
     }
     $nullDate = $db->Quote($db->getNullDate());
     $nowDate = $db->Quote(JFactory::getDate()->toSQL());
     $query->where('(c.publish_up = ' . $nullDate . ' OR c.publish_up <= ' . $nowDate . ')');
     $query->where('(c.publish_down = ' . $nullDate . ' OR c.publish_down >= ' . $nowDate . ')');
     if ($types = $params->get('media_types', array())) {
         $types = array_filter($types);
         if (count($types)) {
             $media_conditions = array();
             foreach ($types as $type) {
                 $media_conditions[] = 'c.type=' . $db->quote($type);
             }
             if (count($media_conditions)) {
                 $query->where('(' . implode(' OR ', $media_conditions) . ')');
             }
         }
     }
     if (!$params->get('show_featured', 1)) {
         $query->where('c.featured = 0');
     } elseif ($params->get('show_featured', 1) == 2) {
         $query->where('c.featured = 1');
     }
     $catids = $params->get('catid');
     if (is_array($catids)) {
         $catids = array_filter($catids);
         if (count($catids)) {
             $query->where('m.catid IN(' . implode(',', $catids) . ')');
         }
     } else {
         $query->where('m.catid IN(' . $catids . ')');
     }
     switch ($params->get('orderby_sec', 'rdate')) {
         default:
             $orderby = 'c.id DESC';
             break;
         case 'rdate':
             $orderby = 'c.created DESC';
             break;
         case 'date':
             $orderby = 'c.created ASC';
             break;
         case 'alpha':
             $orderby = 'c.title ASC';
             break;
         case 'ralpha':
             $orderby = 'c.title DESC';
             break;
         case 'author':
             $orderby = 'u.name ASC';
             break;
         case 'rauthor':
             $orderby = 'u.name DESC';
             break;
         case 'hits':
             $orderby = 'c.hits DESC';
             break;
         case 'rhits':
             $orderby = 'c.hits ASC';
             break;
         case 'order':
             $orderby = 'c.ordering ASC';
             break;
     }
     if ($params->get('random_article', 0)) {
         $query->order('RAND()');
     }
     $query->order($orderby);
     $query->group('c.id');
     $db->setQuery($query, 0, $params->get('article_limit', 5));
     $items = $db->loadObjectList();
     if ($items) {
         $dispatcher = JDispatcher::getInstance();
         JPluginHelper::importPlugin('content');
         TZ_Portfolio_PlusPluginHelper::importPlugin('content');
         TZ_Portfolio_PlusPluginHelper::importPlugin('mediatype');
         $dispatcher->trigger('onAlwaysLoadDocument', array('modules.mod_tz_portfolio_plus_articles'));
         $dispatcher->trigger('onLoadData', array('modules.mod_tz_portfolio_plus_articles', $items, $params));
         foreach ($items as $i => &$item) {
             $item->link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catslug));
             $item->fullLink = JRoute::_(TZ_Portfolio_PlusHelperRoute::getArticleRoute($item->slug, $item->catslug), true, -1);
             $item->author_link = JRoute::_(TZ_Portfolio_PlusHelperRoute::getUserRoute($item->user_id, $params->get('usermenuitem', 'auto')));
             $media = $item->media;
             if (!empty($media)) {
                 $registry = new Registry($media);
                 $media = $registry->toObject();
                 $item->media = $media;
             }
             $item->mediatypes = array();
             // Old plugins: Ensure that text property is available
             if (!isset($item->text)) {
                 $item->text = $item->introtext;
             }
             $item->event = new stdClass();
             //Call trigger in group content
             $results = $dispatcher->trigger('onContentPrepare', array('modules.mod_tz_portfolio_plus_articles', &$item, &$params, 0));
             $item->introtext = $item->text;
             if ($introtext_limit = $params->get('introtext_limit')) {
                 $item->introtext = '<p>' . JHtml::_('string.truncate', $item->introtext, $introtext_limit, true, false) . '</p>';
             }
             //                $results = $dispatcher->trigger('onContentAfterTitle', array('modules.mod_tz_portfolio_plus_articles', &$item, &$params, 0));
             //                $item->event->afterDisplayTitle = trim(implode("\n", $results));
             //
             $results = $dispatcher->trigger('onContentBeforeDisplay', array('modules.mod_tz_portfolio_plus_articles', &$item, &$params, 0, $params->get('layout', 'default')));
             $item->event->beforeDisplayContent = trim(implode("\n", $results));
             $results = $dispatcher->trigger('onContentAfterDisplay', array('modules.mod_tz_portfolio_plus_articles', &$item, &$params, 0, $params->get('layout', 'default')));
             $item->event->afterDisplayContent = trim(implode("\n", $results));
             // Process the tz portfolio's content plugins.
             $results = $dispatcher->trigger('onBeforeDisplayAdditionInfo', array('modules.mod_tz_portfolio_plus_articles', &$item, &$params, 0, $params->get('layout', 'default')));
             $item->event->beforeDisplayAdditionInfo = trim(implode("\n", $results));
             $results = $dispatcher->trigger('onAfterDisplayAdditionInfo', array('modules.mod_tz_portfolio_plus_articles', &$item, &$params, 0, $params->get('layout', 'default')));
             $item->event->afterDisplayAdditionInfo = trim(implode("\n", $results));
             $results = $dispatcher->trigger('onContentDisplayListView', array('modules.mod_tz_portfolio_plus_articles', &$item, &$params, 0, $params->get('layout', 'default')));
             $item->event->contentDisplayListView = trim(implode("\n", $results));
             //Call trigger in group tz_portfolio_plus_mediatype
             $results = $dispatcher->trigger('onContentDisplayMediaType', array('modules.mod_tz_portfolio_plus_articles', &$item, &$params, 0, $params->get('layout', 'default')));
             if (isset($item) && $item) {
                 $item->event->onContentDisplayMediaType = trim(implode("\n", $results));
                 if ($results = $dispatcher->trigger('onAddMediaType')) {
                     $mediatypes = array();
                     foreach ($results as $result) {
                         if (isset($result->special) && $result->special) {
                             $mediatypes[] = $result->value;
                         }
                     }
                     $item->mediatypes = $mediatypes;
                 }
             } else {
                 unset($items[$i]);
             }
         }
         return $items;
     }
     return false;
 }