/** * get list articles follow setting configuration. * * @param JParameter $param * @return array */ function fetchListArticles($params) { global $mainframe; $db =& JFactory::getDBO(); $my =& JFactory::getUser(); $aid = $my->get('aid', 0); $date =& JFactory::getDate(); $now = $date->toMySQL(); $query = 'SELECT a.*,cc.description as catdesc, cc.title as cattitle,s.description as secdesc, s.title as sectitle,' . ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,' . ' CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":",cc.id,cc.alias) ELSE cc.id END as catslug,' . ' CASE WHEN CHAR_LENGTH(s.alias) THEN CONCAT_WS(":", s.id, s.alias) ELSE s.id END as secslug' . "\n FROM #__content AS a" . ' INNER JOIN #__categories AS cc ON cc.id = a.catid' . ' INNER JOIN #__sections AS s ON s.id = a.sectionid' . "\n WHERE a.state = 1" . "\n AND ( a.publish_up = " . $db->Quote($db->getNullDate()) . " OR a.publish_up <= " . $db->Quote($now) . " )" . "\n AND ( a.publish_down = " . $db->Quote($db->getNullDate()) . " OR a.publish_down >= " . $db->Quote($now) . " )" . (!$mainframe->getCfg('shownoauth') ? "\n AND a.access <= " . (int) $aid : ''); $query .= $this->getCondition($params); $query .= ' ORDER BY ' . $this->order; if ($this->limit) { $query .= ' LIMIT ' . $this->limit; } $db->setQuery($query); $data = $db->loadObjectlist(); JPluginHelper::importPlugin('content'); $dispatcher =& JDispatcher::getInstance(); $params =& $mainframe->getParams('com_content'); $limitstart = JRequest::getVar('limitstart', 0, '', 'int'); foreach ($data as $i => $row) { ModJASlideshow3::parseImages($row, $params); $data[$i]->text = $data[$i]->introtext; $results = $dispatcher->trigger('onPrepareContent', array($data[$i], $params, $limitstart)); $data[$i]->introtext = $data[$i]->text; } return $data; }
/** * get list articles follow setting configuration. * * @param JParameter $param * @return array */ public function fetchListArticles($params) { $mainframe = JFactory::getApplication(); $app = JFactory::getApplication(); // Get the dbo $db = JFactory::getDbo(); if (!class_exists("ContentModelArticles")) { require_once JPATH_BASE . "/components/com_content/models/articles.php"; } // Get an instance of the generic articles model //$model = JModel::getInstance('Articles', 'ContentModel', array('ignore_request' => true)); if (version_compare(JVERSION, '3.0', 'ge')) { $model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true)); } else { if (version_compare(JVERSION, '2.5', 'ge')) { $model = JModel::getInstance('Articles', 'ContentModel', array('ignore_request' => true)); } else { $model = JModel::getInstance('Articles', 'ContentModel', array('ignore_request' => true)); } } // Set application parameters in model $appParams = JFactory::getApplication()->getParams(); $model->setState('params', $appParams); $model->setState('list.select', 'a.fulltext, a.id, a.title, a.alias,a.images, 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.attribs, a.metadata, a.metakey, a.metadesc, a.access,' . ' a.hits, c.alias AS category_alias, a.featured,' . ' LENGTH(a.fulltext) AS readmore'); // Set the filters based on the module params $model->setState('list.start', 0); if ($this->limit) { $model->setState('list.limit', (int) trim($this->limit)); } $model->setState('filter.published', 1); // Filter by language $model->setState('filter.language', $app->getLanguageFilter()); // Access filter $access = !JComponentHelper::getParams('com_content')->get('show_noauth'); $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id')); $model->setState('filter.access', $access); $model->setState('a.state', 1); $categories = $params->get('source-articles-display_model-modcats-category', ''); JArrayHelper::toInteger($categories); if (count($categories) > 0 && $categories[0] > 0) { if ($categories && $categories[0] > 0) { $catids_new = $categories; foreach ($categories as $k => $catid) { $subcatids = $this->getCategoryChildren($catid, true); if ($subcatids) { $catids_new = array_merge($catids_new, array_diff($subcatids, $catids_new)); } } $categories = $catids_new; } $model->setState('filter.category_id', $categories); } if ($params->get("source-articles-display_model", "0") == '1') { $model->setState('filter.featured', 'only'); } else { if ($params->get("source-articles-display_model", '0') == '0') { $model->setState('filter.featured', 'hide'); } } $dir = !empty($this->mode) ? $this->mode : 'DESC'; $model->setState('list.ordering', $this->order); $model->setState('list.direction', $dir); $items = $model->getItems(); JPluginHelper::importPlugin('content'); $dispatcher = JDispatcher::getInstance(); $params = $mainframe->getParams('com_content'); $limitstart = JRequest::getVar('limitstart', 0, '', 'int'); if ($items) { foreach ($items as $key => $item) { $item->slug = $item->id . ':' . $item->alias; $item->catslug = $item->catid . ':' . $item->category_alias; ModJASlideshow3::parseImages($item, $params); 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 { // Angie Fixed Routing $app = JFactory::getApplication(); $menu = $app->getMenu(); $menuitems = $menu->getItems('link', 'index.php?option=com_users&view=login'); if (isset($menuitems[0])) { $Itemid = $menuitems[0]->id; } elseif (JRequest::getInt('Itemid') > 0) { //use Itemid from requesting page only if there is no existing menu $Itemid = JRequest::getInt('Itemid'); } $item->link = JRoute::_('index.php?option=com_users&view=login&Itemid=' . $Itemid); } $item->text = htmlspecialchars($item->introtext); if ($this->mod_params->get('showvideos', 0) == 1) { //Check if used plugin JAAV if (!(strpos($item->fulltext . $item->introtext, '{jamedia') === false)) { $item->video = $this->parseString($item->fulltext . $item->introtext); } else { //Check if isset iframe if ($this->parseVideo($item->fulltext . $item->introtext)) { $item->video = $this->parseVideo($item->fulltext . $item->introtext); } else { $item->video = null; } } } $item->introtext = JHtml::_('content.prepare', $item->introtext); } } return $items; }