1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-07 15:16:30 +02:00

New feature - latest news menu now accepts comma separated list of categories (news collection methods improvements)

This commit is contained in:
SecretR
2014-07-30 17:17:37 +03:00
parent d5b99115de
commit 8e0b133dc7

View File

@@ -240,7 +240,7 @@ class news {
$excerpt = e107::getParser()->text_truncate(strip_tags(e107::getParser()->post_toHTML($news['news_body'])), 100, '...'); $excerpt = e107::getParser()->text_truncate(strip_tags(e107::getParser()->post_toHTML($news['news_body'])), 100, '...');
// $id=mysql_insert_id(); // $id=mysql_insert_id();
$permLink = $e107->base_path."comment.php?comment.news.".intval($news['news_id']); $permLink = e107::getInstance()->base_path."comment.php?comment.news.".intval($news['news_id']);
require_once(e_PLUGIN."trackback/trackbackClass.php"); require_once(e_PLUGIN."trackback/trackbackClass.php");
$trackback = new trackbackClass(); $trackback = new trackbackClass();
@@ -569,14 +569,14 @@ class e_news_tree extends e_front_tree_model
/** /**
* Current tree news category id * Current tree news category id
* *
* @var integer * @var integer|array
*/ */
protected $_current_category_id; protected $_current_category_id;
/** /**
* Set current category Id * Set current category Id
* *
* @param integer $category_id * @param mixed $category_id
* @return e_news_tree * @return e_news_tree
*/ */
function setCurrentCategoryId($category_id) function setCurrentCategoryId($category_id)
@@ -620,20 +620,33 @@ class e_news_tree extends e_front_tree_model
/** /**
* Load joined tree by category id * Load joined tree by category id
* *
* @param integer $category_id * @param mixed $category_id
* @param boolean $force * @param boolean $force
* @param array $params DB query parameters * @param array $params DB query parameters
* @return e_news_tree * @return e_news_tree
*/ */
public function loadJoin($category_id = 0, $force = false, $params = array()) public function loadJoin($category_id = 0, $force = false, $params = array())
{ {
$category_id = intval($category_id); if(is_string($category_id) && strpos($category_id, ','))
{
$category_id = array_map('trim', explode(',', $category_id));
}
if(is_array($category_id))
{
$category_id = array_map('intval', $category_id);
}
else $category_id = intval($category_id);
if(!$this->hasCurrentCategoryId() || $force) $this->setCurrentCategoryId($category_id); if(!$this->hasCurrentCategoryId() || $force) $this->setCurrentCategoryId($category_id);
$where = vartrue($params['db_where']); $where = vartrue($params['db_where']);
if($category_id) if($category_id)
{ {
$where .= ($where ? ' AND ' : '').' n.news_category='.intval($category_id); if(is_array($category_id))
{
$where .= ($where ? ' AND ' : '').' n.news_category IN ('.implode(',', $category_id).')';
}
else $where .= ($where ? ' AND ' : '').' n.news_category='.$category_id;
} }
if($where) $where = 'WHERE '.$where; if($where) $where = 'WHERE '.$where;
@@ -657,7 +670,7 @@ class e_news_tree extends e_front_tree_model
/** /**
* Load active joined tree by category id * Load active joined tree by category id
* *
* @param integer $category_id * @param mixed $category_id
* @param boolean $force * @param boolean $force
* @param array $params DB query parameters * @param array $params DB query parameters
* @return e_news_tree * @return e_news_tree