mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-01 02:49:37 +00:00
changes the db query and adopts the layout of the Vue component to show the correct betreff and content of the news
This commit is contained in:
@@ -109,35 +109,33 @@ class Cms extends FHCAPI_Controller
|
||||
|
||||
public function news()
|
||||
{
|
||||
$this->load->model('content/news_model', 'NewsModel');
|
||||
|
||||
$limit = $this->input->get('limit',TRUE);
|
||||
|
||||
// return early if the limit parameter is missing or is not greater than 0
|
||||
if(!isset($limit) || $limit > 0)
|
||||
$this->terminateWithError("API parameters are missing", self::ERROR_TYPE_GENERAL);
|
||||
|
||||
$this->load->model('content/news_model', 'NewsModel');
|
||||
|
||||
$news_content_ids = $this->NewsModel->getNewsContentIDs($limit);
|
||||
$news_metadata = $this->NewsModel->getAll($limit);
|
||||
|
||||
$this->addMeta("content_ids",$news_content_ids);
|
||||
|
||||
$news_content = array();
|
||||
// return early if the limit parameter is missing or is not greater than 0
|
||||
if(!isset($limit) || $limit < 1)
|
||||
$this->terminateWithError("API parameters are missing", self::ERROR_TYPE_GENERAL);
|
||||
|
||||
if(isError($news_content_ids))
|
||||
$this->terminateWithError(getError($news_content_ids), self::ERROR_TYPE_GENERAL);
|
||||
|
||||
if(isError($news_metadata))
|
||||
$this->terminateWithError(getError($news_metadata), self::ERROR_TYPE_GENERAL);
|
||||
|
||||
foreach(getData($news_content_ids) as $content_id){
|
||||
$news_content[] = $this->fetchContent($content_id->content_id);
|
||||
//query the news
|
||||
$news = $this->NewsModel->getAll($limit);
|
||||
|
||||
//get the data or terminate with error
|
||||
$news = $this->getDataOrTerminateWithError($news);
|
||||
|
||||
// check if any news are there
|
||||
if($news === NULL){
|
||||
$this->terminateWithError("No news content has been found");
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess(["news_content" =>$news_content, "news_metadata"=>getData($news_metadata)]);
|
||||
|
||||
|
||||
|
||||
|
||||
// collect the content of the news
|
||||
foreach($news as $news_element){
|
||||
$this->addMeta("asdfs",$news_element->content_id);
|
||||
$news_element->content_obj = $this->fetchContent($news_element->content_id);
|
||||
}
|
||||
|
||||
$this->terminateWithSuccess($news);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -103,6 +103,12 @@ class CmsLib
|
||||
$XML = new DOMDocument();
|
||||
$XML->loadXML($content->content);
|
||||
|
||||
if($content->titel){
|
||||
$betreff = $content->titel;
|
||||
}else{
|
||||
$betreff = $XML->getElementsByTagName('betreff');
|
||||
}
|
||||
|
||||
$xsltemplate = new DOMDocument();
|
||||
$xsltemplate->loadXML($template->xslt_xhtml_c4);
|
||||
|
||||
@@ -115,6 +121,7 @@ class CmsLib
|
||||
$transformed_content = str_replace('dms.php', APP_ROOT . 'cms/dms.php', $transformed_content);
|
||||
|
||||
return success([
|
||||
"betreff"=>$betreff,
|
||||
"type"=>$content->template_kurzbz,
|
||||
"content"=>$transformed_content
|
||||
]);
|
||||
|
||||
@@ -20,8 +20,12 @@ class News_model extends DB_Model
|
||||
public function getAll($limit = null)
|
||||
{
|
||||
$this->addJoin("campus.tbl_content","content_id");
|
||||
return $this->loadWhere('
|
||||
text IS NOT NULL
|
||||
return $this->execReadOnlyQuery('
|
||||
SELECT *
|
||||
FROM campus.tbl_news
|
||||
JOIN campus.tbl_content content ON content.content_id = campus.tbl_news.content_id
|
||||
WHERE
|
||||
--text IS NOT NULL AND
|
||||
datum <= NOW() AND (datum_bis IS NULL OR datum_bis >= now()::date)
|
||||
ORDER BY datum DESC
|
||||
LIMIT ' . $this->escape($limit)
|
||||
|
||||
Reference in New Issue
Block a user