@@ -9,19 +9,19 @@ class CalendarController extends Controller
|
|||||||
public function show(Request $request, $id)
|
public function show(Request $request, $id)
|
||||||
{
|
{
|
||||||
parent::registerView($request, 'agenda', $id);
|
parent::registerView($request, 'agenda', $id);
|
||||||
$apiResult = $this->API('agenda/item/' . (int)$id);
|
$apiResult = (object) $this->API('agenda/item/' . (int)$id);
|
||||||
$calendarEvent = new \Model\CalendarEvent($apiResult->news);
|
$calendarEvent = new \Model\CalendarEvent((object) $apiResult->news);
|
||||||
|
|
||||||
return view('calendarevent', array_merge($this->getSidebareData(), ['event' => $calendarEvent, 'metadata' => $calendarEvent->metadata]));
|
return view('calendarevent', array_merge($this->getSidebareData(), ['event' => $calendarEvent, 'metadata' => $calendarEvent->metadata]));
|
||||||
}
|
}
|
||||||
|
|
||||||
public function overview(Request $request)
|
public function overview(Request $request)
|
||||||
{
|
{
|
||||||
$apiResult = $this->API('agenda/overzicht?aantal=100');
|
$apiResult = (object) $this->API('agenda/overzicht?aantal=100');
|
||||||
$calendar = [];
|
$calendar = [];
|
||||||
foreach($apiResult->events as $calendarItem)
|
foreach($apiResult->events as $calendarItem)
|
||||||
{
|
{
|
||||||
$calendar[] = new \Model\CalendarEvent($calendarItem);
|
$calendar[] = new \Model\CalendarEvent((object) $calendarItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('calendarlist', array_merge($this->getSidebareData(), ['events' => $calendar]));
|
return view('calendarlist', array_merge($this->getSidebareData(), ['events' => $calendar]));
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ class ContactController extends Controller
|
|||||||
{
|
{
|
||||||
public function show()
|
public function show()
|
||||||
{
|
{
|
||||||
$page = $this->API('statisch/contact');
|
$page = (object) $this->API('statisch/contact');
|
||||||
if ($page == null) {
|
if ($page == null) {
|
||||||
return abort(404);
|
return abort(404);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,24 +10,31 @@ class HomeController extends Controller
|
|||||||
public function show(Request $request)
|
public function show(Request $request)
|
||||||
{
|
{
|
||||||
$page = (int) $request->get('pagina', 1);
|
$page = (int) $request->get('pagina', 1);
|
||||||
$apiResult = $this->API('nieuws/overzicht?pagina=' . (int) max(1, $page) . '&aantal=10');
|
$apiResult = (object) $this->API('nieuws/overzicht?pagina=' . (int) max(1, $page) . '&aantal=10');
|
||||||
$news = [];
|
$news = [];
|
||||||
|
if ($apiResult && isset($apiResult->news)) {
|
||||||
foreach ($apiResult->news as $newsItem) {
|
foreach ($apiResult->news as $newsItem) {
|
||||||
$news[] = new \Model\NewsItem($newsItem);
|
$news[] = new \Model\NewsItem((object) $newsItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$apiResult = $this->API('nieuws/liveblogs');
|
$apiResult = (object) $this->API('nieuws/liveblogs');
|
||||||
$liveblogs = $apiResult->liveblogs;
|
$liveblogs = $apiResult && isset($apiResult->liveblogs) ? $apiResult->liveblogs : [];
|
||||||
|
|
||||||
$populair = [];
|
$populair = [];
|
||||||
$apiResult = $this->API('nieuws/populair?pagina=' . (int) max(1, $page) . '&aantal=5');
|
$apiResult = (object) $this->API('nieuws/populair?pagina=' . (int) max(1, $page) . '&aantal=5');
|
||||||
|
if ($apiResult && isset($apiResult->news)) {
|
||||||
foreach ($apiResult->news as $newsItem) {
|
foreach ($apiResult->news as $newsItem) {
|
||||||
$populair[] = new \Model\NewsItem($newsItem);
|
$populair[] = new \Model\NewsItem((object) $newsItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$apiResult = $this->API('podcast/overzicht?aantal=15');
|
$podcast = null;
|
||||||
|
$apiResult = (object) $this->API('podcast/overzicht?aantal=15');
|
||||||
|
if ($apiResult && isset($apiResult->podcasts) && !empty($apiResult->podcasts)) {
|
||||||
$index = array_rand($apiResult->podcasts);
|
$index = array_rand($apiResult->podcasts);
|
||||||
$podcast = new \Model\Podcast($apiResult->podcasts[$index]);
|
$podcast = new \Model\Podcast((object) $apiResult->podcasts[$index]);
|
||||||
|
}
|
||||||
return view('home', ['populair' => $populair, 'podcast' => $podcast, 'title' => 'Home', 'news' => $news, 'liveblogs' => $liveblogs, 'searchURL' => 'nieuws/zoeken']);
|
return view('home', ['populair' => $populair, 'podcast' => $podcast, 'title' => 'Home', 'news' => $news, 'liveblogs' => $liveblogs, 'searchURL' => 'nieuws/zoeken']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ class ImagesController extends Controller
|
|||||||
|
|
||||||
public function show(Request $request, $id)
|
public function show(Request $request, $id)
|
||||||
{
|
{
|
||||||
$apiResult = $this->API('beelden/details/' . $id);
|
$apiResult = (object) $this->API('beelden/details/' . $id);
|
||||||
$imagesItem = new \Model\NewsItem($apiResult->images);
|
$imagesItem = new \Model\NewsItem($apiResult->images);
|
||||||
|
|
||||||
return view('imagesitem', ['images' => $imagesItem, 'metadata' => $imagesItem->metadata]);
|
return view('imagesitem', ['images' => $imagesItem, 'metadata' => $imagesItem->metadata]);
|
||||||
@@ -39,7 +39,7 @@ class ImagesController extends Controller
|
|||||||
private function listImages(Request $request, $url, $title = null)
|
private function listImages(Request $request, $url, $title = null)
|
||||||
{
|
{
|
||||||
$page = (int)$request->get('pagina', 1);
|
$page = (int)$request->get('pagina', 1);
|
||||||
$apiResult = $this->API('beelden/' . $url . '?pagina=' . (int)max(1, $page));
|
$apiResult = (object) $this->API('beelden/' . $url . '?pagina=' . (int)max(1, $page));
|
||||||
$images = [];
|
$images = [];
|
||||||
foreach($apiResult->items as $imagesItem)
|
foreach($apiResult->items as $imagesItem)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ class JobsController extends Controller
|
|||||||
public function show(Request $request, $id)
|
public function show(Request $request, $id)
|
||||||
{
|
{
|
||||||
parent::registerView($request, 'nieuws', $id);
|
parent::registerView($request, 'nieuws', $id);
|
||||||
$apiResult = $this->API('vacatures/details/' . $id);
|
$apiResult = (object) $this->API('vacatures/details/' . $id);
|
||||||
$jobsItem = new \Model\JobOpening($apiResult->item);
|
$jobsItem = new \Model\JobOpening($apiResult->item);
|
||||||
return view('jobsitem', array_merge($this->getSidebareData(), ['job' => $jobsItem, 'metadata' => $jobsItem->metadata]));
|
return view('jobsitem', array_merge($this->getSidebareData(), ['job' => $jobsItem, 'metadata' => $jobsItem->metadata]));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ class KerkdienstController extends Controller
|
|||||||
public function main(Request $request)
|
public function main(Request $request)
|
||||||
{
|
{
|
||||||
parent::registerView($request, 'kerkdienst', 0);
|
parent::registerView($request, 'kerkdienst', 0);
|
||||||
$apiResult = $this->API('kerkdienst');
|
$apiResult = (object) $this->API('kerkdienst');
|
||||||
return view('kerkdienst', ['kerkdienst' => new \Model\Kerkdienst($apiResult)]);
|
return view('kerkdienst', ['kerkdienst' => new \Model\Kerkdienst((object) $apiResult)]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,8 +21,8 @@ class NewsController extends Controller
|
|||||||
if (request()->get('preview', null) != null) {
|
if (request()->get('preview', null) != null) {
|
||||||
$preview = "?preview=" . request()->get('preview');
|
$preview = "?preview=" . request()->get('preview');
|
||||||
}
|
}
|
||||||
$apiResult = $this->API('nieuws/bericht/' . $id . $preview);
|
$apiResult = (object) $this->API('nieuws/bericht/' . $id . $preview);
|
||||||
$newsItem = new \Model\NewsItem($apiResult->news);
|
$newsItem = new \Model\NewsItem((object) $apiResult->news);
|
||||||
|
|
||||||
switch ($apiResult->version) {
|
switch ($apiResult->version) {
|
||||||
case 1:
|
case 1:
|
||||||
@@ -54,10 +54,10 @@ class NewsController extends Controller
|
|||||||
{
|
{
|
||||||
$page = (int) $request->get('pagina', 1);
|
$page = (int) $request->get('pagina', 1);
|
||||||
$id = $request->get('id', '');
|
$id = $request->get('id', '');
|
||||||
$apiResult = $this->API('nieuws/overzicht?pagina=' . (int) max(1, $page) . '&aantal=5');
|
$apiResult = (object) $this->API('nieuws/overzicht?pagina=' . (int) max(1, $page) . '&aantal=5');
|
||||||
$news = [];
|
$news = [];
|
||||||
foreach ($apiResult->news as $newsItem) {
|
foreach ($apiResult->news as $newsItem) {
|
||||||
$news[] = new \Model\NewsItem($newsItem);
|
$news[] = new \Model\NewsItem((object) $newsItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('partial/newslist_small', ['id' => $id, 'news' => $news]);
|
return view('partial/newslist_small', ['id' => $id, 'news' => $news]);
|
||||||
@@ -68,9 +68,9 @@ class NewsController extends Controller
|
|||||||
$page = (int) $request->get('pagina', 1);
|
$page = (int) $request->get('pagina', 1);
|
||||||
$id = $request->get('id', '');
|
$id = $request->get('id', '');
|
||||||
$populair = [];
|
$populair = [];
|
||||||
$apiResult = $this->API('nieuws/populair?pagina=' . (int) max(1, $page) . '&aantal=5');
|
$apiResult = (object) $this->API('nieuws/populair?pagina=' . (int) max(1, $page) . '&aantal=5');
|
||||||
foreach ($apiResult->news as $_newsItem) {
|
foreach ($apiResult->news as $_newsItem) {
|
||||||
$populair[] = new \Model\NewsItem($_newsItem);
|
$populair[] = new \Model\NewsItem((object) $_newsItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view('partial/newslist_small', ['id' => $id, 'news' => $populair]);
|
return view('partial/newslist_small', ['id' => $id, 'news' => $populair]);
|
||||||
@@ -99,9 +99,9 @@ class NewsController extends Controller
|
|||||||
|
|
||||||
public function activeblog()
|
public function activeblog()
|
||||||
{
|
{
|
||||||
$apiResult = $this->API('blog/overzicht');
|
$apiResult = (object) $this->API('blog/overzicht');
|
||||||
if (count($apiResult)) {
|
if (count((array) $apiResult)) {
|
||||||
$blog = new \Model\Blog($apiResult[0]);
|
$blog = new \Model\Blog((object) $apiResult[0]);
|
||||||
if ($blog->is_active) {
|
if ($blog->is_active) {
|
||||||
return redirect($blog->url);
|
return redirect($blog->url);
|
||||||
}
|
}
|
||||||
@@ -115,9 +115,9 @@ class NewsController extends Controller
|
|||||||
|
|
||||||
parent::registerView($request, 'blog', $id);
|
parent::registerView($request, 'blog', $id);
|
||||||
|
|
||||||
$blog = $this->API('nieuws/liveblog/' . (int) $id);
|
$blog = (object) $this->API('nieuws/liveblog/' . (int) $id);
|
||||||
foreach ($blog->artikelen as &$item) {
|
foreach ($blog->artikelen as &$item) {
|
||||||
$item = new \Model\NewsItem($item);
|
$item = new \Model\NewsItem((object) $item);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (request()->ajax()) {
|
if (request()->ajax()) {
|
||||||
@@ -140,38 +140,38 @@ class NewsController extends Controller
|
|||||||
if ($url == 'overzicht' && $request->get('dateStart', null) && $request->get('dateEnd', null)) {
|
if ($url == 'overzicht' && $request->get('dateStart', null) && $request->get('dateEnd', null)) {
|
||||||
$url = 'datum/' . $request->get('dateStart', null) . '/' . $request->get('dateEnd', null);
|
$url = 'datum/' . $request->get('dateStart', null) . '/' . $request->get('dateEnd', null);
|
||||||
}
|
}
|
||||||
$apiResult = $this->API('nieuws/' . $url . '?pagina=' . (int) max(1, $page) . ($total ? '&aantal=' . $total : ''));
|
$apiResult = (object) $this->API('nieuws/' . $url . '?pagina=' . (int) max(1, $page) . ($total ? '&aantal=' . $total : ''));
|
||||||
$news = [];
|
$news = [];
|
||||||
foreach ($apiResult->news ?? [] as $newsItem) {
|
foreach ($apiResult->news ?? [] as $newsItem) {
|
||||||
$news[] = new \Model\NewsItem($newsItem);
|
$news[] = new \Model\NewsItem((object) $newsItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
$populair = [];
|
$populair = [];
|
||||||
if ($title == null) {
|
if ($title == null) {
|
||||||
$total = 5;
|
$total = 5;
|
||||||
}
|
}
|
||||||
$apiResult = $this->API('nieuws/populair?pagina=' . (int) max(
|
$apiResult = (object) $this->API('nieuws/populair?pagina=' . (int) max(
|
||||||
1,
|
1,
|
||||||
$page
|
$page
|
||||||
) . ($total ? '&aantal=' . $total : ''));
|
) . ($total ? '&aantal=' . $total : ''));
|
||||||
foreach ($apiResult->news as $newsItem) {
|
foreach ($apiResult->news as $newsItem) {
|
||||||
$populair[] = new \Model\NewsItem($newsItem);
|
$populair[] = new \Model\NewsItem((object) $newsItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
$podcast = null;
|
$podcast = null;
|
||||||
$podcasts = [];
|
$podcasts = [];
|
||||||
if ($title == null) {
|
if ($title == null) {
|
||||||
$apiResult = $this->API('podcast/overzicht?aantal=3');
|
$apiResult = (object) $this->API('podcast/overzicht?aantal=3');
|
||||||
$podcast = new \Model\Podcast($apiResult->podcasts[0]);
|
$podcast = new \Model\Podcast((object) $apiResult->podcasts[0]);
|
||||||
foreach ($apiResult->podcasts as $_podcast) {
|
foreach ($apiResult->podcasts as $_podcast) {
|
||||||
$podcasts[] = new \Model\Podcast($_podcast);
|
$podcasts[] = new \Model\Podcast((object) $_podcast);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$newsItems = [];
|
$newsItems = [];
|
||||||
$apiResult = $this->API('nieuws/overzicht?aantal=5');
|
$apiResult = (object) $this->API('nieuws/overzicht?aantal=5');
|
||||||
foreach ($apiResult->news as $_newsItem) {
|
foreach ($apiResult->news as $_newsItem) {
|
||||||
$newsItems[] = new \Model\NewsItem($_newsItem);
|
$newsItems[] = new \Model\NewsItem((object) $_newsItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view($request->ajax() ? ($title == null ? 'partial/home_newslist_small' : 'partial/newslist_small') : ($title == null ? 'news' : 'newslist'), ['populair' => $populair, 'newsItems' => $newsItems, 'podcasts' => $podcasts, 'podcast' => $podcast, 'id' => $id, 'title' => $title, 'news' => $news, 'searchURL' => 'nieuws/zoeken']);
|
return view($request->ajax() ? ($title == null ? 'partial/home_newslist_small' : 'partial/newslist_small') : ($title == null ? 'news' : 'newslist'), ['populair' => $populair, 'newsItems' => $newsItems, 'podcasts' => $podcasts, 'podcast' => $podcast, 'id' => $id, 'title' => $title, 'news' => $news, 'searchURL' => 'nieuws/zoeken']);
|
||||||
@@ -179,7 +179,7 @@ class NewsController extends Controller
|
|||||||
|
|
||||||
public function popular()
|
public function popular()
|
||||||
{
|
{
|
||||||
$apiResult = $this->API('nieuws/populair');
|
$apiResult = (object) $this->API('nieuws/populair');
|
||||||
$news = [];
|
$news = [];
|
||||||
foreach ($apiResult->news as $newsItem) {
|
foreach ($apiResult->news as $newsItem) {
|
||||||
$news[] = new \Model\NewsItem($newsItem);
|
$news[] = new \Model\NewsItem($newsItem);
|
||||||
@@ -190,7 +190,7 @@ class NewsController extends Controller
|
|||||||
|
|
||||||
public function regionieuws()
|
public function regionieuws()
|
||||||
{
|
{
|
||||||
$data = $this->API('nieuws/regionieuws.json');
|
$data = (object) $this->API('nieuws/regionieuws.json');
|
||||||
return view('listen', [
|
return view('listen', [
|
||||||
'source' => $this->API_URL . 'nieuws/regionieuws.mp3',
|
'source' => $this->API_URL . 'nieuws/regionieuws.mp3',
|
||||||
'title' => 'Regionieuws',
|
'title' => 'Regionieuws',
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ class PodcastController extends Controller
|
|||||||
$viewData = [];
|
$viewData = [];
|
||||||
if((int)$programma > 0) {
|
if((int)$programma > 0) {
|
||||||
$action = 'programma/' . (int)$programma;
|
$action = 'programma/' . (int)$programma;
|
||||||
$viewData['program'] = new \Model\Program($this->API('programma/details/' . (int)$programma));
|
$viewData['program'] = new \Model\Program((object) $this->API('programma/details/' . (int)$programma));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->getPodcastList($request, $action, $viewData);
|
return $this->getPodcastList($request, $action, $viewData);
|
||||||
@@ -22,7 +22,7 @@ class PodcastController extends Controller
|
|||||||
private function getPodcastList(Request $request, $action, $viewData = [])
|
private function getPodcastList(Request $request, $action, $viewData = [])
|
||||||
{
|
{
|
||||||
$page = (int)$request->get('pagina', 1);
|
$page = (int)$request->get('pagina', 1);
|
||||||
$apiResult = $this->API('podcast/' . $action . '?pagina=' . (int)max(1, $page) . '&aantal=8');
|
$apiResult = (object) $this->API('podcast/' . $action . '?pagina=' . (int)max(1, $page) . '&aantal=8');
|
||||||
$podcasts = [];
|
$podcasts = [];
|
||||||
foreach($apiResult->podcasts as $podcast)
|
foreach($apiResult->podcasts as $podcast)
|
||||||
{
|
{
|
||||||
@@ -35,15 +35,15 @@ class PodcastController extends Controller
|
|||||||
public function podcast(Request $request, $id)
|
public function podcast(Request $request, $id)
|
||||||
{
|
{
|
||||||
parent::registerView($request, 'podcast', $id);
|
parent::registerView($request, 'podcast', $id);
|
||||||
$apiResult = $this->API('podcast/details/' . (int)$id);
|
$apiResult = (object) $this->API('podcast/details/' . (int)$id);
|
||||||
$podcast = new \Model\Podcast($apiResult);
|
$podcast = new \Model\Podcast((object) $apiResult);
|
||||||
$podcasts = [];
|
$podcasts = [];
|
||||||
if($podcast->program) {
|
if($podcast->program) {
|
||||||
$apiResult = $this->API('podcast/programma/' . (int)$podcast->program->id . '?pagina=1&aantal=5');
|
$apiResult = (object) $this->API('podcast/programma/' . (int)$podcast->program->id . '?pagina=1&aantal=5');
|
||||||
$podcasts = [];
|
$podcasts = [];
|
||||||
foreach($apiResult->podcasts as $p)
|
foreach($apiResult->podcasts as $p)
|
||||||
{
|
{
|
||||||
$podcasts[] = new \Model\Podcast($p);
|
$podcasts[] = new \Model\Podcast((object) $p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return view('podcastitem', ['podcast' => $podcast, 'metadata' => $podcast->metadata, 'podcasts' => $podcasts, 'isPodcast' => true]);
|
return view('podcastitem', ['podcast' => $podcast, 'metadata' => $podcast->metadata, 'podcasts' => $podcasts, 'isPodcast' => true]);
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class RadioController extends Controller
|
|||||||
{
|
{
|
||||||
$start = $date ? (new \DateTime($date))->format('Y-m-d') : (new \DateTime("-2 day"))->format('Y-m-d');
|
$start = $date ? (new \DateTime($date))->format('Y-m-d') : (new \DateTime("-2 day"))->format('Y-m-d');
|
||||||
$end = $date ? (new \DateTime($date))->modify('+1 day')->format('Y-m-d') : (new \DateTime("+3 day"))->format('Y-m-d');
|
$end = $date ? (new \DateTime($date))->modify('+1 day')->format('Y-m-d') : (new \DateTime("+3 day"))->format('Y-m-d');
|
||||||
$apiResult = $this->API('programma/schema/periode/' . $start . '/' . $end);
|
$apiResult = (object) $this->API('programma/schema/periode/' . $start . '/' . $end);
|
||||||
$schedule = [];
|
$schedule = [];
|
||||||
foreach($apiResult->schedule as $program)
|
foreach($apiResult->schedule as $program)
|
||||||
{
|
{
|
||||||
@@ -19,7 +19,7 @@ class RadioController extends Controller
|
|||||||
'starttime' => self::JsonToDateTime($program->start),
|
'starttime' => self::JsonToDateTime($program->start),
|
||||||
'endtime' => self::JsonToDateTime($program->end),
|
'endtime' => self::JsonToDateTime($program->end),
|
||||||
'shift' => 0,
|
'shift' => 0,
|
||||||
'program' => new \Model\Program($program->program)
|
'program' => new \Model\Program((object) $program->program)
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -49,11 +49,11 @@ class RadioController extends Controller
|
|||||||
|
|
||||||
public function program($id)
|
public function program($id)
|
||||||
{
|
{
|
||||||
$apiResult = $this->API('programma/details/' . (int)$id);
|
$apiResult = (object) $this->API('programma/details/' . (int)$id);
|
||||||
if($apiResult == null) {
|
if($apiResult == null) {
|
||||||
return abort(404);
|
return abort(404);
|
||||||
}
|
}
|
||||||
return view('radioprogram', ['program' => new \Model\Program($apiResult)]);
|
return view('radioprogram', ['program' => new \Model\Program((object) $apiResult)]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function podcast(Request $request, $id, $title = '')
|
public function podcast(Request $request, $id, $title = '')
|
||||||
@@ -63,11 +63,11 @@ class RadioController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
parent::registerView($request, 'podcast', $id);
|
parent::registerView($request, 'podcast', $id);
|
||||||
$apiResult = $this->API('podcast/details/' . (int)$id);
|
$apiResult = (object) $this->API('podcast/details/' . (int)$id);
|
||||||
$podcast = new \Model\Podcast($apiResult);
|
$podcast = new \Model\Podcast((object) $apiResult);
|
||||||
|
|
||||||
$page = (int)$request->get('pagina', 1);
|
$page = (int)$request->get('pagina', 1);
|
||||||
$apiResult = $this->API('podcast/overzicht?pagina=' . (int)max(1, $page) . '&aantal=6');
|
$apiResult = (object) $this->API('podcast/overzicht?pagina=' . (int)max(1, $page) . '&aantal=6');
|
||||||
$podcasts = [];
|
$podcasts = [];
|
||||||
foreach($apiResult->podcasts as $_podcast)
|
foreach($apiResult->podcasts as $_podcast)
|
||||||
{
|
{
|
||||||
@@ -83,7 +83,7 @@ class RadioController extends Controller
|
|||||||
$viewData = [];
|
$viewData = [];
|
||||||
if((int)$programma > 0) {
|
if((int)$programma > 0) {
|
||||||
$action = 'programma/' . (int)$programma;
|
$action = 'programma/' . (int)$programma;
|
||||||
$viewData['program'] = new \Model\Program($this->API('programma/details/' . (int)$programma));
|
$viewData['program'] = new \Model\Program((object) $this->API('programma/details/' . (int)$programma));
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this->getPodcastList($request, $action, array_merge($this->getSidebareData(), $viewData));
|
return $this->getPodcastList($request, $action, array_merge($this->getSidebareData(), $viewData));
|
||||||
@@ -99,13 +99,13 @@ class RadioController extends Controller
|
|||||||
$programs = [];
|
$programs = [];
|
||||||
$now = new \DateTimeImmutable('2 minutes ago');
|
$now = new \DateTimeImmutable('2 minutes ago');
|
||||||
$page = (int)$request->get('pagina', 1);
|
$page = (int)$request->get('pagina', 1);
|
||||||
$apiResult = $this->API('programma/schema/recent?pagina=' . (int)max(1, $page) . '&aantal=12');
|
$apiResult = (object) $this->API('programma/schema/recent?pagina=' . (int)max(1, $page) . '&aantal=12');
|
||||||
foreach($apiResult->schedule as $item) {
|
foreach($apiResult->schedule as $item) {
|
||||||
if(!$item->program->nonstop && !$item->program->rerun) {
|
if(!$item->program->nonstop && !$item->program->rerun) {
|
||||||
$item->start = self::JsonToDateTime($item->start);
|
$item->start = self::JsonToDateTime($item->start);
|
||||||
$item->end = self::JsonToDateTime($item->end);
|
$item->end = self::JsonToDateTime($item->end);
|
||||||
$item->current = $item->end >= $now;
|
$item->current = $item->end >= $now;
|
||||||
$item->program = new \Model\Program($item->program);
|
$item->program = new \Model\Program((object) $item->program);
|
||||||
$programs[] = $item;
|
$programs[] = $item;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -116,11 +116,11 @@ class RadioController extends Controller
|
|||||||
private function getPodcastList(Request $request, $action, $viewData = [])
|
private function getPodcastList(Request $request, $action, $viewData = [])
|
||||||
{
|
{
|
||||||
$page = (int)$request->get('pagina', 1);
|
$page = (int)$request->get('pagina', 1);
|
||||||
$apiResult = $this->API('podcast/' . $action . '?pagina=' . (int)max(1, $page) . '&aantal=12');
|
$apiResult = (object) $this->API('podcast/' . $action . '?pagina=' . (int)max(1, $page) . '&aantal=12');
|
||||||
$podcasts = [];
|
$podcasts = [];
|
||||||
foreach($apiResult->podcasts as $podcast)
|
foreach($apiResult->podcasts as $podcast)
|
||||||
{
|
{
|
||||||
$podcasts[] = new \Model\Podcast($podcast);
|
$podcasts[] = new \Model\Podcast((object) $podcast);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view($request->ajax() ? 'partial/podcastitems' : 'podcastlist', array_merge($viewData, ['id' => 'items-podcasts', 'podcasts' => $podcasts, 'searchURL' => 'gemist/zoeken', 'isPodcast' => false]));
|
return view($request->ajax() ? 'partial/podcastitems' : 'podcastlist', array_merge($viewData, ['id' => 'items-podcasts', 'podcasts' => $podcasts, 'searchURL' => 'gemist/zoeken', 'isPodcast' => false]));
|
||||||
|
|||||||
@@ -61,11 +61,11 @@ class SpecialController extends Controller
|
|||||||
public function bart(Request $request)
|
public function bart(Request $request)
|
||||||
{
|
{
|
||||||
$page = (int)$request->get('pagina', 1);
|
$page = (int)$request->get('pagina', 1);
|
||||||
$apiResult = $this->API('blog/overzicht/2019-07-01/2019-07-10?pagina=' . (int)max(1, $page));
|
$apiResult = (object) $this->API('blog/overzicht/2019-07-01/2019-07-10?pagina=' . (int)max(1, $page));
|
||||||
$blog = [];
|
$blog = [];
|
||||||
foreach($apiResult->items as $blogItem)
|
foreach($apiResult->items as $blogItem)
|
||||||
{
|
{
|
||||||
$blog[] = new \Model\NewsItem($blogItem);
|
$blog[] = new \Model\NewsItem((object) $blogItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
return view($request->ajax() ? 'bloglistitems' : 'bloglist', ['title' => 'De Nacht van Bart - 6 juli 2019', 'items' => $blog]);
|
return view($request->ajax() ? 'bloglistitems' : 'bloglist', ['title' => 'De Nacht van Bart - 6 juli 2019', 'items' => $blog]);
|
||||||
|
|||||||
@@ -14,7 +14,23 @@ class Blog extends Model {
|
|||||||
public $url;
|
public $url;
|
||||||
|
|
||||||
public function __construct($data, $images = null, $podcast = null) {
|
public function __construct($data, $images = null, $podcast = null) {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($data);
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure id is a string, not an array
|
||||||
|
if(is_array($this->id)) {
|
||||||
|
$this->id = $this->id[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure title is a string, not an array
|
||||||
|
if(is_array($this->title)) {
|
||||||
|
$this->title = $this->title[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
parent::ConvertToDateTime($this->start_date);
|
parent::ConvertToDateTime($this->start_date);
|
||||||
parent::ConvertToDateTime($this->end_date);
|
parent::ConvertToDateTime($this->end_date);
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,23 @@ class CalendarEvent extends Model {
|
|||||||
public $tags;
|
public $tags;
|
||||||
|
|
||||||
public function __construct($data, $images = null, $podcast = null) {
|
public function __construct($data, $images = null, $podcast = null) {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($data);
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure id is a string, not an array
|
||||||
|
if(is_array($this->id)) {
|
||||||
|
$this->id = $this->id[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure title is a string, not an array
|
||||||
|
if(is_array($this->title)) {
|
||||||
|
$this->title = $this->title[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
parent::ConvertToDateTime($this->starts);
|
parent::ConvertToDateTime($this->starts);
|
||||||
parent::ConvertToDateTime($this->ends);
|
parent::ConvertToDateTime($this->ends);
|
||||||
|
|
||||||
@@ -26,7 +42,7 @@ class CalendarEvent extends Model {
|
|||||||
if(isset($data->keywords)) {
|
if(isset($data->keywords)) {
|
||||||
if(is_array($data->keywords)) {
|
if(is_array($data->keywords)) {
|
||||||
$this->keywords = $data->keywords;
|
$this->keywords = $data->keywords;
|
||||||
} else if(trim($data->keywords)) {
|
} else if(trim((string) $data->keywords)) {
|
||||||
$this->keywords = explode(' ', $data->keywords);
|
$this->keywords = explode(' ', $data->keywords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -47,7 +63,7 @@ class CalendarEvent extends Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->url = "/agenda/{$this->id}/" . parent::url_slug($this->title);
|
$this->url = "/agenda/{$this->id}/" . parent::url_slug($this->title ?? '');
|
||||||
$this->metadata = (new MetaData())
|
$this->metadata = (new MetaData())
|
||||||
->set('title', $this->title)
|
->set('title', $this->title)
|
||||||
->set('description', strip_tags($this->excerpt()))
|
->set('description', strip_tags($this->excerpt()))
|
||||||
|
|||||||
@@ -12,7 +12,23 @@ class JobOpening extends Model {
|
|||||||
public $url;
|
public $url;
|
||||||
|
|
||||||
public function __construct($data, $images = null, $podcast = null) {
|
public function __construct($data, $images = null, $podcast = null) {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($data);
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure id is a string, not an array
|
||||||
|
if(is_array($this->id)) {
|
||||||
|
$this->id = $this->id[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure title is a string, not an array
|
||||||
|
if(is_array($this->title)) {
|
||||||
|
$this->title = $this->title[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
parent::ConvertToDateTime($this->starts);
|
parent::ConvertToDateTime($this->starts);
|
||||||
parent::ConvertToDateTime($this->ends);
|
parent::ConvertToDateTime($this->ends);
|
||||||
|
|
||||||
@@ -20,7 +36,7 @@ class JobOpening extends Model {
|
|||||||
if(isset($data->keywords)) {
|
if(isset($data->keywords)) {
|
||||||
if(is_array($data->keywords)) {
|
if(is_array($data->keywords)) {
|
||||||
$this->keywords = $data->keywords;
|
$this->keywords = $data->keywords;
|
||||||
} else if(trim($data->keywords)) {
|
} else if(trim((string) $data->keywords)) {
|
||||||
$this->keywords = explode(' ', $data->keywords);
|
$this->keywords = explode(' ', $data->keywords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,7 +7,18 @@ class KerkdienstInstance extends Model {
|
|||||||
public $start;
|
public $start;
|
||||||
|
|
||||||
public function __construct($data) {
|
public function __construct($data) {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($data);
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure name is a string, not an array
|
||||||
|
if(is_array($this->name)) {
|
||||||
|
$this->name = $this->name[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
parent::ConvertToDateTime($this->start);
|
parent::ConvertToDateTime($this->start);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,18 @@ class NewsImage extends Model {
|
|||||||
public $url;
|
public $url;
|
||||||
|
|
||||||
public function __construct($data, $urlPrefix = '/') {
|
public function __construct($data, $urlPrefix = '/') {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($data);
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure title is a string, not an array
|
||||||
|
if(is_array($this->title)) {
|
||||||
|
$this->title = $this->title[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
// Deserialisatie van JSON heeft url in data,
|
// Deserialisatie van JSON heeft url in data,
|
||||||
// lezen uit database heeft file en (als het goed is) urlPrefix
|
// lezen uit database heeft file en (als het goed is) urlPrefix
|
||||||
if(isset($data->file)) {
|
if(isset($data->file)) {
|
||||||
|
|||||||
+45
-11
@@ -29,7 +29,23 @@ class NewsItem extends Model {
|
|||||||
public $metadata;
|
public $metadata;
|
||||||
|
|
||||||
public function __construct($data, $images = null, $podcast = null) {
|
public function __construct($data, $images = null, $podcast = null) {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($data);
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure id is a string, not an array
|
||||||
|
if(is_array($this->id)) {
|
||||||
|
$this->id = $this->id[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure title is a string, not an array
|
||||||
|
if(is_array($this->title)) {
|
||||||
|
$this->title = $this->title[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
parent::ConvertToDateTime($this->published);
|
parent::ConvertToDateTime($this->published);
|
||||||
parent::ConvertToDateTime($this->edited);
|
parent::ConvertToDateTime($this->edited);
|
||||||
|
|
||||||
@@ -43,9 +59,9 @@ class NewsItem extends Model {
|
|||||||
{
|
{
|
||||||
if(is_object($data->source))
|
if(is_object($data->source))
|
||||||
{
|
{
|
||||||
$this->source = new \Model\NewsSource($data->source->title, $data->source->url, $data->source->show);
|
$this->source = new \Model\NewsSource($data->source->title ?? null, $data->source->url ?? null, $data->source->show ?? false);
|
||||||
} else if($data->source) {
|
} else if($data->source) {
|
||||||
$this->source = new \Model\NewsSource($data->source, $data->source_url, $data->showsource);
|
$this->source = new \Model\NewsSource($data->source, $data->source_url ?? null, $data->showsource ?? false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -59,32 +75,44 @@ class NewsItem extends Model {
|
|||||||
if(isset($data->keywords)) {
|
if(isset($data->keywords)) {
|
||||||
if(is_array($data->keywords) || is_object($data->keywords)) {
|
if(is_array($data->keywords) || is_object($data->keywords)) {
|
||||||
$this->keywords = $data->keywords;
|
$this->keywords = $data->keywords;
|
||||||
} else if(trim($data->keywords)) {
|
} else if(trim((string) $data->keywords)) {
|
||||||
$this->keywords = explode(' ', $data->keywords);
|
$this->keywords = explode(' ', $data->keywords);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($data->region)) {
|
if(isset($data->region)) {
|
||||||
if(is_object($data->region)) {
|
if(is_object($data->region)) {
|
||||||
$this->region = new \Model\NewsRegion($data->region->title, $data->region->slug);
|
$this->region = new \Model\NewsRegion($data->region->title ?? null, $data->region->slug ?? null);
|
||||||
} else {
|
} else {
|
||||||
$this->region = new \Model\NewsRegion($data->region, $data->region_slug);
|
$this->region = new \Model\NewsRegion($data->region, $data->region_slug ?? null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($data->theme)) {
|
if(isset($data->theme)) {
|
||||||
if(is_object($data->theme)) {
|
if(is_object($data->theme)) {
|
||||||
$this->theme = new \Model\NewsRegion($data->theme->title, $data->theme->slug);
|
$this->theme = new \Model\NewsRegion($data->theme->title ?? null, $data->theme->slug ?? null);
|
||||||
} else {
|
} else {
|
||||||
$this->theme = new \Model\NewsRegion($data->theme, $data->theme_slug);
|
$this->theme = new \Model\NewsRegion($data->theme, $data->theme_slug ?? null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($data->tags)) {
|
if(isset($data->tags)) {
|
||||||
|
$this->tags = [];
|
||||||
foreach($data->tags as $tag) {
|
foreach($data->tags as $tag) {
|
||||||
$this->theme = new \Model\NewsRegion($tag->titel, $tag->slug);
|
if(is_object($tag)) {
|
||||||
|
$this->tags[] = new \Model\NewsRegion($tag->titel ?? null, $tag->slug ?? null);
|
||||||
|
} elseif(is_array($tag)) {
|
||||||
|
$this->tags[] = new \Model\NewsRegion($tag['titel'] ?? null, $tag['slug'] ?? null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure content is iterable for views - convert string to empty array
|
||||||
|
if(isset($this->content) && is_string($this->content)) {
|
||||||
|
$this->content = [];
|
||||||
|
} elseif(!isset($this->content)) {
|
||||||
|
$this->content = [];
|
||||||
|
}
|
||||||
|
|
||||||
$images = ($images != null) ? $images
|
$images = ($images != null) ? $images
|
||||||
: (isset($data->images) ? $data->images : null);
|
: (isset($data->images) ? $data->images : null);
|
||||||
@@ -95,7 +123,7 @@ class NewsItem extends Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->url = "/nieuws/{$this->id}/" . parent::url_slug($this->title);
|
$this->url = "/nieuws/{$this->id}/" . parent::url_slug($this->title ?? '');
|
||||||
$this->metadata = (new MetaData())
|
$this->metadata = (new MetaData())
|
||||||
->set('title', $this->title)
|
->set('title', $this->title)
|
||||||
->set('description', strip_tags($this->excerpt()))
|
->set('description', strip_tags($this->excerpt()))
|
||||||
@@ -108,11 +136,17 @@ class NewsItem extends Model {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public function excerpt() {
|
public function excerpt() {
|
||||||
|
// Handle case where content might be an array of blocks instead of a string
|
||||||
|
if(is_array($this->content) || is_object($this->content)) {
|
||||||
|
return '<p class="news-excerpt"></p>';
|
||||||
|
}
|
||||||
|
|
||||||
$hasImages = isset($this->images) && count($this->images) > 0;
|
$hasImages = isset($this->images) && count($this->images) > 0;
|
||||||
$maxLength = $hasImages ? 200 : 500;
|
$maxLength = $hasImages ? 200 : 500;
|
||||||
|
$text = (string) $this->content;
|
||||||
return '<p class="news-excerpt ' . ($hasImages ? 'short' : 'long') . '">' .
|
return '<p class="news-excerpt ' . ($hasImages ? 'short' : 'long') . '">' .
|
||||||
substr($this->content, 0, $maxLength) .
|
substr($text, 0, $maxLength) .
|
||||||
(strlen($this->content) > $maxLength ? '...' : '') .
|
(strlen($text) > $maxLength ? '...' : '') .
|
||||||
'</p>';
|
'</p>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,11 +4,13 @@ namespace Model;
|
|||||||
|
|
||||||
class NewsRegion {
|
class NewsRegion {
|
||||||
public $title;
|
public $title;
|
||||||
|
public $titel; // Support both English and Dutch spelling
|
||||||
public $slug;
|
public $slug;
|
||||||
|
|
||||||
public function __construct($title, $slug = null) {
|
public function __construct($title = null, $slug = null) {
|
||||||
$this->title = $title;
|
$this->title = $title;
|
||||||
$this->slug = $slug ? $slug : strtolower(str_replace(' ', '', $title));
|
$this->titel = $title; // Also set titel for compatibility with API responses
|
||||||
|
$this->slug = $slug ? $slug : ($title ? strtolower(str_replace(' ', '', $title)) : null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+32
-3
@@ -21,10 +21,31 @@ class Podcast extends Model {
|
|||||||
private $key;
|
private $key;
|
||||||
|
|
||||||
public function __construct($data) {
|
public function __construct($data) {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($data);
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure id is a string, not an array
|
||||||
|
if(is_array($this->id)) {
|
||||||
|
$this->id = $this->id[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure title is a string, not an array
|
||||||
|
if(is_array($this->title)) {
|
||||||
|
$this->title = $this->title[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure image is not an array from API
|
||||||
|
if(is_array($this->image)) {
|
||||||
|
$this->image = null;
|
||||||
|
}
|
||||||
|
|
||||||
parent::ConvertToDateTime($this->created);
|
parent::ConvertToDateTime($this->created);
|
||||||
|
|
||||||
$this->url = '/' . $this->id . '/' . parent::url_slug($this->title) . '.mp3';
|
$this->url = '/' . $this->id . '/' . parent::url_slug($this->title ?? '') . '.mp3';
|
||||||
if($this->soundfilename) {
|
if($this->soundfilename) {
|
||||||
// Only generate when not constructing from a JSON object
|
// Only generate when not constructing from a JSON object
|
||||||
$this->key = sha1($this->id . ':' . date('Y-m-d') . ':' . $this->soundfilename);
|
$this->key = sha1($this->id . ':' . date('Y-m-d') . ':' . $this->soundfilename);
|
||||||
@@ -36,7 +57,15 @@ class Podcast extends Model {
|
|||||||
if(is_object($data->program)) {
|
if(is_object($data->program)) {
|
||||||
$this->program = new \Model\Program($data->program);
|
$this->program = new \Model\Program($data->program);
|
||||||
} elseif($data->program) {
|
} elseif($data->program) {
|
||||||
$this->program = new \Model\Program(['id' => $data->program, 'name' => $data->program_name, 'description' => $data->program_description]);
|
$program_name = $data->program_name ?? null;
|
||||||
|
if(is_array($program_name)) {
|
||||||
|
$program_name = $program_name[0] ?? null;
|
||||||
|
}
|
||||||
|
$program_desc = $data->program_description ?? null;
|
||||||
|
if(is_array($program_desc)) {
|
||||||
|
$program_desc = $program_desc[0] ?? null;
|
||||||
|
}
|
||||||
|
$this->program = new \Model\Program((object) ['id' => $data->program, 'name' => $program_name, 'description' => $program_desc]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +73,7 @@ class Podcast extends Model {
|
|||||||
$imagedata = new \stdClass();
|
$imagedata = new \stdClass();
|
||||||
$imagedata->id = $this->id;
|
$imagedata->id = $this->id;
|
||||||
$imagedata->file = $data->imagefile;
|
$imagedata->file = $data->imagefile;
|
||||||
$imagedata->title = $data->imagecaption;
|
$imagedata->title = $data->imagecaption ?? null;
|
||||||
$this->image = new NewsImage($imagedata, '/img/podcast/');
|
$this->image = new NewsImage($imagedata, '/img/podcast/');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+22
-3
@@ -18,10 +18,29 @@ class Program extends Model {
|
|||||||
public $next;
|
public $next;
|
||||||
|
|
||||||
public function __construct($data) {
|
public function __construct($data) {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($data);
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure id is a string, not an array
|
||||||
|
if(is_array($this->id)) {
|
||||||
|
$this->id = $this->id[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Ensure name is a string, not an array
|
||||||
|
if(is_array($this->name)) {
|
||||||
|
$this->name = $this->name[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
if(isset($data->suffix) && $data->suffix) {
|
if(isset($data->suffix) && $data->suffix) {
|
||||||
$this->name .= ' ' . $data->suffix;
|
$suffix = $data->suffix;
|
||||||
|
if(is_array($suffix)) {
|
||||||
|
$suffix = $suffix[0] ?? '';
|
||||||
|
}
|
||||||
|
$this->name .= ' ' . $suffix;
|
||||||
}
|
}
|
||||||
|
|
||||||
if($this->recent && $this->recent) {
|
if($this->recent && $this->recent) {
|
||||||
@@ -37,7 +56,7 @@ class Program extends Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isset($data->email) && ($mailComma = strpos($data->email, ',')) !== false) {
|
if(isset($data->email) && ($mailComma = strpos((string) $data->email, ',')) !== false) {
|
||||||
$this->email = substr($data->email, 0, $mailComma);
|
$this->email = substr($data->email, 0, $mailComma);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -46,7 +65,7 @@ class Program extends Model {
|
|||||||
$this->rerun = $data->state == 3;
|
$this->rerun = $data->state == 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->url = "/{$this->id}/" . parent::url_slug($this->name);
|
$this->url = "/{$this->id}/" . parent::url_slug($this->name ?? '');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function isSpecial() {
|
public function isSpecial() {
|
||||||
|
|||||||
@@ -6,5 +6,19 @@ class ProgramHost extends Model {
|
|||||||
public $id;
|
public $id;
|
||||||
public $name;
|
public $name;
|
||||||
public $email;
|
public $email;
|
||||||
|
|
||||||
|
public function __construct($data) {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure name is a string, not an array
|
||||||
|
if(is_array($this->name)) {
|
||||||
|
$this->name = $this->name[0] ?? '';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,24 @@ class Track extends Model {
|
|||||||
public $isLayout;
|
public $isLayout;
|
||||||
|
|
||||||
public function __construct($data) {
|
public function __construct($data) {
|
||||||
|
// Convert arrays to objects for consistent handling
|
||||||
|
if(is_array($data)) {
|
||||||
|
$data = (object) $data;
|
||||||
|
}
|
||||||
|
|
||||||
parent::__construct($data);
|
parent::__construct($data);
|
||||||
|
|
||||||
|
// Ensure string fields are not arrays
|
||||||
|
if(is_array($this->title)) {
|
||||||
|
$this->title = $this->title[0] ?? '';
|
||||||
|
}
|
||||||
|
if(is_array($this->itemCode)) {
|
||||||
|
$this->itemCode = $this->itemCode[0] ?? '';
|
||||||
|
}
|
||||||
|
if(is_array($this->artist)) {
|
||||||
|
$this->artist = $this->artist[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
parent::ConvertToDateTime($this->start);
|
parent::ConvertToDateTime($this->start);
|
||||||
parent::ConvertToDateTime($this->ends);
|
parent::ConvertToDateTime($this->ends);
|
||||||
$isLayout = $this->isLayout();
|
$isLayout = $this->isLayout();
|
||||||
|
|||||||
Reference in New Issue
Block a user