示例#1
0
 /**
  *
  * Get List Articles
  * @param array $catid
  * @param object $params
  * @return array list articles
  */
 function getListContent($catid, $params)
 {
     $mainframe = JFactory::getApplication();
     // Get the dbo
     $db = JFactory::getDbo();
     // Get an instance of the generic articles model
     $model = JModel::getInstance('Articles', 'ContentModel', array('ignore_request' => true));
     /* cc.description as catdesc, cc.title as cattitle */
     // Set application parameters in model
     $appParams = JFactory::getApplication()->getParams();
     $model->setState('params', $appParams);
     $model->setState('list.select', 'a.id, a.title, a.alias, a.title_alias, a.introtext, ' . 'a.checked_out, a.checked_out_time, ' . 'a.catid, a.created, a.created_by, a.created_by_alias, ' . 'CASE WHEN a.modified = 0 THEN a.created ELSE a.modified END as modified, ' . 'a.modified_by,' . 'CASE WHEN a.publish_up = 0 THEN a.created ELSE a.publish_up END as publish_up, ' . 'a.publish_down, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, ' . 'a.hits, a.xreference, a.featured,' . ' LENGTH(a.fulltext) AS readmore ');
     // Set the filters based on the module params
     $model->setState('list.start', 0);
     //if($limit>0) {
     // $model->setState('list.limit', $params->get('maxitems', 10));
     //}
     $model->setState('filter.published', 1);
     $access = !JComponentHelper::getParams('com_content')->get('show_noauth');
     $authorised = JAccess::getAuthorisedViewLevels(JFactory::getUser()->get('id'));
     $model->setState('filter.access', $access);
     // Category filter
     /**
             JArrayHelper::toInteger($catid);
     if (count($catid)>0 && $catid[0]>0) {
                  $model->setState('filter.category_id', $catid);
             }
     */
     if ($params->get('sort_order_field', 'created') == "ordering") {
         $model->setState('list.ordering', 'a.ordering');
     } else {
         $model->setState('list.ordering', $params->get('sort_order_field', 'created'));
     }
     $model->setState('list.direction', $params->get('sort_order', 'DESC'));
     // Category filter
     $data = array();
     if (!empty($catid) && intval($catid[0]) > 0) {
         for ($i = 0; $i < count($catid); $i++) {
             if (intval($catid[$i]) > 0) {
                 $model->setState('filter.category_id', $catid[$i]);
                 $model->setState('list.limit', $params->get('maxitems', 10));
                 $data = array_merge($data, $model->getItems());
             }
         }
     } else {
         //$model->setState('list.limit', $params->get('maxitems', 10));
         $data = array_merge($data, $model->getItems());
     }
     $thumbnailMode = $params->get('source-articles-images-thumbnail_mode', 'crop');
     $aspect = $params->get('source-articles-images-thumbnail_mode-resize-use_ratio', '1');
     $crop = $thumbnailMode == 'crop' ? true : false;
     $jaimage = JAImage::getInstance();
     foreach ($data as $i => $row) {
         $data[$i]->text = $data[$i]->introtext;
         $mainframe->triggerEvent('onPrepareContent', array(&$data[$i], &$params, 0), true);
         $data[$i]->introtext = $data[$i]->text;
         $data[$i]->catid = $row->catid;
         $data[$i]->title = $row->title;
         $data[$i]->cateName = $row->category_title;
         $data[$i]->link = modJacontentsliderHelper::articleLink($row);
         $image = modJacontentsliderHelper::parseImages($data[$i], $params);
         if ($image) {
             $data[$i]->image = modJacontentsliderHelper::renderImage($row->title, $data[$i]->link, $image, $params, $params->get('iwidth'), $params->get('iheight'));
         } else {
             $data[$i]->image = '';
         }
         $data[$i] = modJacontentsliderHelper::processIntrotext($data[$i], $params->get('numchar', 0));
     }
     return $data;
 }