<?php

/**
 * @package		Joomla.Site
 * @subpackage	mod_articles_latest
 * @copyright	Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */
// no direct access
defined('_JEXEC') or die;
// Include the syndicate functions only once
require_once dirname(__FILE__) . '/helper.php';
$list = modArticlesLatestHelper::getList($params);
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx'));
require JModuleHelper::getLayoutPath('mod_articles_latest', $params->get('layout', 'default'));
Example #2
0
 public static function getList(&$params)
 {
     // Get the dbo
     $db = JFactory::getDbo();
     // Get an instance of the generic articles model
     $model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));
     // Set application parameters in model
     $app = JFactory::getApplication();
     $appParams = $app->getParams();
     $model->setState('params', $appParams);
     // Set the filters based on the module params
     $model->setState('list.start', 0);
     $model->setState('list.limit', (int) $params->get('count', 5));
     $model->setState('filter.published', 1);
     // Access filter
     $access = !JComponentHelper::getParams('com_content')->get('show_noauth');
     $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
     $model->setState('filter.access', $access);
     // Category filter
     //		$model->setState('filter.category_id', $params->get('catid', array()));
     /* -- muinx */
     $view = JRequest::getVar('view');
     $component = JRequest::getVar('option');
     $categoryId = 0;
     if ($component == 'com_content' && $view == 'category') {
         $categoryId = modArticlesLatestHelper::getCategories();
     } elseif ($component == 'com_content' && $view == 'article') {
         $article = modArticlesLatestHelper::getArticle();
         $categoryId = array($article->catid);
         // Category filter
         $model->setState('filter.category_id', $categoryId);
     }
     /* -- end */
     // User filter
     $userId = JFactory::getUser()->get('id');
     switch ($params->get('user_id')) {
         case 'by_me':
             $model->setState('filter.author_id', (int) $userId);
             break;
         case 'not_me':
             $model->setState('filter.author_id', $userId);
             $model->setState('filter.author_id.include', false);
             break;
         case '0':
             break;
         default:
             $model->setState('filter.author_id', (int) $params->get('user_id'));
             break;
     }
     // Filter by language
     $model->setState('filter.language', $app->getLanguageFilter());
     //  Featured switch
     switch ($params->get('show_featured')) {
         case '1':
             $model->setState('filter.featured', 'only');
             break;
         case '0':
             $model->setState('filter.featured', 'hide');
             break;
         default:
             $model->setState('filter.featured', 'show');
             break;
     }
     // Set ordering
     $order_map = array('m_dsc' => 'a.modified DESC, a.created', 'mc_dsc' => 'CASE WHEN (a.modified = ' . $db->quote($db->getNullDate()) . ') THEN a.created ELSE a.modified END', 'c_dsc' => 'a.created', 'p_dsc' => 'a.publish_up');
     $ordering = JArrayHelper::getValue($order_map, $params->get('ordering'), 'a.publish_up');
     $dir = 'DESC';
     $model->setState('list.ordering', $ordering);
     $model->setState('list.direction', $dir);
     $items = $model->getItems();
     foreach ($items as &$item) {
         $item->slug = $item->id . ':' . $item->alias;
         $item->catslug = $item->catid . ':' . $item->category_alias;
         if ($access || in_array($item->access, $authorised)) {
             // We know that user has the privilege to view the article
             $item->link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug));
         } else {
             $item->link = JRoute::_('index.php?option=com_users&view=login');
         }
     }
     return $items;
 }