Add support for blogs
This commit is contained in:
@@ -159,7 +159,28 @@ QUERY;
|
|||||||
/**
|
/**
|
||||||
* Blogitems ophalen
|
* Blogitems ophalen
|
||||||
*/
|
*/
|
||||||
public function bloglist(Request $request, $from, $to) {
|
public function bloglist() {
|
||||||
|
$blogs = app('db')->select( 'SELECT id, title, description, news_category, start_date, end_date, is_active '
|
||||||
|
. ' FROM liveblog ORDER BY is_active DESC' );
|
||||||
|
$result = array();
|
||||||
|
foreach($blogs as $blog) {
|
||||||
|
$result[] = new \Model\Blog($blog);
|
||||||
|
}
|
||||||
|
|
||||||
|
return response()->json($result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Blogitems ophalen
|
||||||
|
*/
|
||||||
|
public function blogitemlist(Request $request, $id) {
|
||||||
|
$blog_data = app('db')->select('SELECT id, title, description, news_category, start_date, end_date, is_active '
|
||||||
|
. ' FROM liveblog WHERE id = :id', ['id' => (int)$id]);
|
||||||
|
if(count($blog_data) != 1) {
|
||||||
|
return abort(400);
|
||||||
|
}
|
||||||
|
|
||||||
|
$blog = new \Model\Blog($blog_data[0]);
|
||||||
$count = (int)$request->get('aantal', 15);
|
$count = (int)$request->get('aantal', 15);
|
||||||
$page = (int)$request->get('pagina', 1);
|
$page = (int)$request->get('pagina', 1);
|
||||||
if($count <= 0 || $page <= 0) {
|
if($count <= 0 || $page <= 0) {
|
||||||
@@ -167,13 +188,11 @@ QUERY;
|
|||||||
}
|
}
|
||||||
|
|
||||||
$startIndex = ($page - 1) * $count;
|
$startIndex = ($page - 1) * $count;
|
||||||
$start = new \DateTime($from);
|
|
||||||
$end = new \DateTime($to);
|
|
||||||
$blogItems = app('db')->select($sql = self::$BASE_SQL
|
$blogItems = app('db')->select($sql = self::$BASE_SQL
|
||||||
. ' AND `news`.`startdt` >= :start AND `news`.`startdt` <= :end '
|
. ' AND `news`.`startdt` >= :start AND `news`.`startdt` <= :end'
|
||||||
. ' ORDER BY `news`.`startdt` DESC'
|
. ' ORDER BY `news`.`startdt` DESC'
|
||||||
. ' LIMIT ' . (int)$startIndex . ', ' . (int)$count,
|
. ' LIMIT ' . (int)$startIndex . ', ' . (int)$count,
|
||||||
['category' => self::$BLOG_CATEGORY, 'secondarycategory' => 0, 'start' => $from, 'end' => $to]);
|
['category' => $blog->news_category, 'secondarycategory' => 0, 'start' => $blog->start_date, 'end' => $blog->end_date]);
|
||||||
|
|
||||||
$result = array();
|
$result = array();
|
||||||
foreach($blogItems as $blogItem) {
|
foreach($blogItems as $blogItem) {
|
||||||
@@ -193,7 +212,7 @@ QUERY;
|
|||||||
$result[] = new \Model\NewsItem($blogItem, $pictures, $podcast);
|
$result[] = new \Model\NewsItem($blogItem, $pictures, $podcast);
|
||||||
}
|
}
|
||||||
|
|
||||||
return response()->json(['page' => $page, 'count' => $count, 'items' => $result]);
|
return response()->json(['page' => $page, 'count' => $count, 'blog' => $blog, 'items' => $result]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,8 @@ $app->get('agenda/overzicht[/week]', 'NewsController@calendarlist' );
|
|||||||
$app->get('agenda/item/{id:\d+}', 'NewsController@calendaritem' );
|
$app->get('agenda/item/{id:\d+}', 'NewsController@calendaritem' );
|
||||||
$app->get('agenda/populair', 'NewsController@popularCalendar' );
|
$app->get('agenda/populair', 'NewsController@popularCalendar' );
|
||||||
|
|
||||||
$app->get('blog/overzicht/{from:\d\d\d\d-\d\d?-\d\d?}/{to:\d\d\d\d-\d\d?-\d\d?}', 'NewsController@bloglist' );
|
$app->get('blog/overzicht', 'NewsController@bloglist');
|
||||||
|
$app->get('blog/overzicht/{id:\d+}', 'NewsController@blogitemlist');
|
||||||
|
|
||||||
$app->get('podcast/overzicht', 'PodcastController@overview' );
|
$app->get('podcast/overzicht', 'PodcastController@overview' );
|
||||||
$app->get('podcast/details/{id:\d+}', 'PodcastController@details' );
|
$app->get('podcast/details/{id:\d+}', 'PodcastController@details' );
|
||||||
|
|||||||
23
common/classes/Blog.php
Normal file
23
common/classes/Blog.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Model;
|
||||||
|
|
||||||
|
class Blog extends Model {
|
||||||
|
public $id;
|
||||||
|
public $title;
|
||||||
|
public $description;
|
||||||
|
public $news_category;
|
||||||
|
public $start_date;
|
||||||
|
public $end_date;
|
||||||
|
public $is_active;
|
||||||
|
|
||||||
|
public $url;
|
||||||
|
|
||||||
|
public function __construct($data, $images = null, $podcast = null) {
|
||||||
|
parent::__construct($data);
|
||||||
|
parent::ConvertToDateTime($this->start_date);
|
||||||
|
parent::ConvertToDateTime($this->end_date);
|
||||||
|
|
||||||
|
$this->url = "/blog/{$this->id}/" . parent::url_slug($this->title);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user