public function _items() { parent::_items(); $items = array(); $params = $this->_params; if ($params->get('ifolder_sync', 0)) { $folders = $params->get('ifolder_folders', array()); foreach ($folders as $key => $value) { $files = JFolder::files(JPATH_ROOT . '/' . $value, '(.jpg|.png|.jpeg|.gif)$'); foreach ($files as $k => $file) { if (count($items) > $params->get('count', 10)) { break; } $item = new stdClass(); $item->title = $file; $item->image = JURI::root() . $value . "/" . $file; $item->image_intro = $item->image; $item->image_intro_caption = $file; $item->image_intro_alt = $file; $item->image_large = $item->image; $item->link = ""; $item->introtext = $file; $items[] = $item; } } } else { $images = $params->get('ifolder_image'); $titles = $params->get('ifolder_ititle'); $intros = $params->get('ifolder_iintrotext'); foreach ($images as $key => $value) { if ($value) { if (count($items) > $params->get('count', 10)) { break; } $item = new stdClass(); $item->title = $titles[$key]; $item->image = JURI::root() . $value; $item->image_intro = $item->image; $item->image_intro_caption = $titles[$key]; $item->image_intro_alt = $titles[$key]; $item->image_large = $item->image; $item->link = ""; $item->introtext = $intros[$key]; $items[] = $item; } } } return $items; }
public function _items() { parent::_items(); $app = JFactory::getApplication(); $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 $appParams = JFactory::getApplication()->getParams(); $model->setState('params', $appParams); // Set the filters based on the module params $model->setState('list.start', 0); $model->setState('list.limit', (int) $this->_params->get('count', 5)); $model->setState('filter.published', 1); $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,' . ' 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,' . ' a.hits, a.featured'); // 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', $this->_params->get('article_catid', array())); // Filter by language $model->setState('filter.language', $app->getLanguageFilter()); // Set ordering $ordering = $this->_params->get('article_ordering', 'a.publish_up'); $model->setState('list.ordering', $ordering); if (trim($ordering) == 'rand()') { $model->setState('list.direction', ''); } else { $model->setState('list.direction', 'DESC'); } // Retrieve Content $items = $model->getItems(); $access = true; foreach ($items as &$item) { $item->readmore = strlen(trim($item->fulltext)); $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 = 'index.php?option=com_content&view=article&id=' . $item->id; $item->linkText = JText::_('MOD_ARTICLES_NEWS_READMORE'); } else { $item->link = JRoute::_('index.php?option=com_users&view=login'); $item->linkText = JText::_('MOD_ARTICLES_NEWS_READMORE_REGISTER'); } $item->introtext = JHtml::_('content.prepare', $item->introtext, '', 'mod_articles_news.content'); $images = json_decode($item->images); if (!isset($images->image_intro) || empty($images->image_intro)) { if ($this->_params->get('auto_find_image')) { preg_match('/<img[^>]*src=["|\']([^"|\']+)[^>]*>/', $item->introtext, $matchs); if (count($matchs)) { if ($matchs[1]) { $images->image_intro = $matchs[1]; } } else { preg_match('/<img[^>]*src=["|\']([^"|\']+)[^>]*>/', $item->fulltext, $matchs); if (count($matchs)) { if ($matchs[1]) { $images->image_intro = $matchs[1]; } } } } } $item->introtext = preg_replace('/<img[^>]*>/', '', $item->introtext); if (isset($images->image_intro) and !empty($images->image_intro)) { $item->image_intro = $images->image_intro; $item->image_intro_caption = $images->image_intro_caption; $item->image_intro_alt = $images->image_intro_alt; $item->image_large = $images->image_intro; } } return $items; }