Source for file helper.php

Documentation is available at helper.php

  1. <?php
  2. /**
  3.  * @package     Joomla.Site
  4.  * @subpackage  mod_articles_news
  5.  *
  6.  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
  7.  * @license     GNU General Public License version 2 or later; see LICENSE.txt
  8.  */
  9.  
  10. defined('_JEXEC'or die;
  11.  
  12. require_once JPATH_SITE.'/components/com_content/helpers/route.php';
  13.  
  14. JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models''ContentModel');
  15.  
  16. /**
  17.  * Helper for mod_articles_news
  18.  *
  19.  * @package     Joomla.Site
  20.  * @subpackage  mod_articles_news
  21.  */
  22. abstract class ModArticlesNewsHelper
  23. {
  24.     public static function getList(&$params)
  25.     {
  26.         $app JFactory::getApplication();
  27.  
  28.         // Get an instance of the generic articles model
  29.         $model JModelLegacy::getInstance('Articles''ContentModel'array('ignore_request' => true));
  30.  
  31.         // Set application parameters in model
  32.         $appParams JFactory::getApplication()->getParams();
  33.         $model->setState('params'$appParams);
  34.  
  35.         // Set the filters based on the module params
  36.         $model->setState('list.start'0);
  37.         $model->setState('list.limit'(int) $params->get('count'5));
  38.  
  39.         $model->setState('filter.published'1);
  40.  
  41.         $model->setState('list.select''a.fulltext, a.id, a.title, a.alias, a.introtext, a.state, a.catid, a.created, a.created_by, a.created_by_alias,' .
  42.             ' a.modified, a.modified_by, a.publish_up, a.publish_down, a.images, a.urls, a.attribs, a.metadata, a.metakey, a.metadesc, a.access,' .
  43.             ' a.hits, a.featured' );
  44.  
  45.         // Access filter
  46.         $access !JComponentHelper::getParams('com_content')->get('show_noauth');
  47.         $authorised JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
  48.         $model->setState('filter.access'$access);
  49.  
  50.         // Category filter
  51.         $model->setState('filter.category_id'$params->get('catid'array()));
  52.  
  53.         // Filter by language
  54.         $model->setState('filter.language'$app->getLanguageFilter());
  55.  
  56.         // Set ordering
  57.         $ordering $params->get('ordering''a.publish_up');
  58.         $model->setState('list.ordering'$ordering);
  59.         if (trim($ordering== 'rand()')
  60.         {
  61.             $model->setState('list.direction''');
  62.         }
  63.         else
  64.         {
  65.             $model->setState('list.direction''ASC');
  66.         }
  67.  
  68.         //    Retrieve Content
  69.         $items $model->getItems();
  70.  
  71.         foreach ($items as &$item)
  72.         {
  73.             $item->readmore strlen(trim($item->fulltext));
  74.             $item->slug $item->id.':'.$item->alias;
  75.             $item->catslug $item->catid.':'.$item->category_alias;
  76.  
  77.             if ($access || in_array($item->access$authorised))
  78.             {
  79.                 // We know that user has the privilege to view the article
  80.                 $item->link JRoute::_(ContentHelperRoute::getArticleRoute($item->slug$item->catid));
  81.                 $item->linkText JText::_('MOD_ARTICLES_NEWS_READMORE');
  82.             }
  83.             else {
  84.                 $item->link JRoute::_('index.php?option=com_users&view=login');
  85.                 $item->linkText JText::_('MOD_ARTICLES_NEWS_READMORE_REGISTER');
  86.             }
  87.  
  88.             $item->introtext JHtml::_('content.prepare'$item->introtext'''mod_articles_news.content');
  89.  
  90.             //new
  91.             if (!$params->get('image'))
  92.             {
  93.                 $item->introtext preg_replace('/<img[^>]*>/'''$item->introtext);
  94.             }
  95.  
  96.             $results $app->triggerEvent('onContentAfterDisplay'array('com_content.article'&$item&$params1));
  97.             $item->afterDisplayTitle trim(implode("\n"$results));
  98.  
  99.             $results $app->triggerEvent('onContentBeforeDisplay'array('com_content.article'&$item&$params1));
  100.             $item->beforeDisplayContent trim(implode("\n"$results));
  101.         }
  102.  
  103.         return $items;
  104.     }
  105. }

Documentation generated on Tue, 19 Nov 2013 15:04:34 +0100 by phpDocumentor 1.4.3