14 Commits

Author SHA1 Message Date
NH Gooi
2b5a905a2d Merge remote-tracking branch 'origin/dev' into dev 2025-07-15 22:02:02 +02:00
NH Gooi
e4d91c2af5 Embed block width / height as specified 2025-07-15 22:01:08 +02:00
NH Gooi
4f2c134b67 Merge remote-tracking branch 'origin/main' into dev 2025-07-15 21:55:52 +02:00
NH Gooi
06b2bd704b Add static page view 2025-07-15 15:49:40 +02:00
NH Gooi
12c498a125 Contact via intranet 2025-07-15 15:46:05 +02:00
NH Gooi
c8fd7e8a51 Statische pagina's via intranet 2025-07-15 15:45:09 +02:00
NH Gooi
144d0844e8 Agenda ordering en aantal items 2025-07-15 12:17:59 +02:00
NH Gooi
7a0f727c86 Embed datawrapper toegevoegd 2025-07-10 23:15:04 +02:00
b64defe7fc Merge pull request 'Added description how to use it.' (#17) from feature-news-date-filter into dev
Reviewed-on: #17
2025-07-07 15:29:40 +02:00
f28e1609ae Merge pull request 'Use Monday as the first day of the week.' (#16) from feature-news-date-filter into dev
Reviewed-on: #16
2025-07-07 14:50:04 +02:00
ee8d50cf6c Merge pull request 'feature-news-date-filter' (#15) from feature-news-date-filter into dev
Reviewed-on: #15
2025-06-30 17:37:54 +02:00
47a7590bf5 Merge pull request 'Fix: "Attempt to read property \"news\" on null" error' (#14) from feature-news-date-filter into dev
Reviewed-on: #14
2025-06-30 17:33:39 +02:00
4bd72b1349 Merge pull request 'Add loading text + no items found text' (#13) from feature-news-date-filter into dev
Reviewed-on: #13
2025-06-30 17:30:32 +02:00
6abe7ba61a Merge pull request 'feature-news-date-filter' (#12) from feature-news-date-filter into dev
Reviewed-on: #12
2025-06-30 17:03:25 +02:00
7534 changed files with 155 additions and 32 deletions

0
Dockerfile Normal file → Executable file
View File

0
Dockerfile.dev Normal file → Executable file
View File

0
Gruntfile.js vendored Normal file → Executable file
View File

0
app/Console/Kernel.php Normal file → Executable file
View File

0
app/Exceptions/Handler.php Normal file → Executable file
View File

0
app/Helpers/FormatterHelper.php Normal file → Executable file
View File

0
app/Http/Controllers/Auth/ForgotPasswordController.php Normal file → Executable file
View File

0
app/Http/Controllers/Auth/LoginController.php Normal file → Executable file
View File

0
app/Http/Controllers/Auth/RegisterController.php Normal file → Executable file
View File

0
app/Http/Controllers/Auth/ResetPasswordController.php Normal file → Executable file
View File

2
app/Http/Controllers/CalendarController.php Normal file → Executable file
View File

@@ -17,7 +17,7 @@ class CalendarController extends Controller
public function overview(Request $request)
{
$apiResult = $this->API('agenda/overzicht');
$apiResult = $this->API('agenda/overzicht?aantal=100');
$calendar = [];
foreach($apiResult->events as $calendarItem)
{

71
app/Http/Controllers/Controller.php Normal file → Executable file
View File

@@ -22,14 +22,14 @@ class Controller extends BaseController
$data = json_decode(Storage::disk('local')->get($file));
foreach ($path as $subobject) {
$data = $data->$subobject ?? [];
}
}
$items = [];
foreach ($data as $item_data) {
$items[] = new $class($item_data);
if ($maxItems && count($items) == $maxItems) {
break;
}
}
}
return $items;
}
@@ -72,8 +72,10 @@ class Controller extends BaseController
$view->with('data', $programs);
});
View::composer('widgets.laatstepodcasts', function ($view) {
$view->with('data',
$this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast'));
$view->with(
'data',
$this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast')
);
});
View::composer('widgets.regioagenda', function ($view) {
$view->with('data', $this->getDataFromFileAndConvert('regioagenda.json', [], '\Model\CalendarEvent'));
@@ -84,8 +86,10 @@ class Controller extends BaseController
View::composer('widgets.menu', function ($view) {
$view->with('news', $this->getDataFromFileAndConvert('laatste_nieuws.json', ['news'], '\Model\NewsItem'))
->with('popular', $this->getDataFromFileAndConvert('populair_nieuws.json', ['news'], '\Model\NewsItem', 3))
->with('podcasts',
$this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast'));
->with(
'podcasts',
$this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast')
);
});
View::share('disableBanners', env('DISABLE_BANNERS', false));
@@ -97,14 +101,16 @@ class Controller extends BaseController
return;
}
app('db')->insert('INSERT INTO `pagestats`(`type`, `item_id`, `visitor_ip`, `session`, `referer`) VALUES(:type, :id, :ip, :session, :referer)',
app('db')->insert(
'INSERT INTO `pagestats`(`type`, `item_id`, `visitor_ip`, `session`, `referer`) VALUES(:type, :id, :ip, :session, :referer)',
[
'type' => $type,
'id' => $id,
'ip' => $request->server('REMOTE_ADDR'),
'session' => md5(Session::getId()),
'referer' => $request->server('HTTP_REFERRER')
]);
]
);
}
protected function API($url)
@@ -115,14 +121,14 @@ class Controller extends BaseController
"verify_peer_name" => false,
],
'http' => [
'method' => 'GET',
'header' => 'X-Api-Key: ' . sha1(request()->server('REMOTE_ADDR')) . "\r\n"
. 'X-User-Agent: ' . request()->server('HTTP_USER_AGENT') . "\r\n"
'method' => 'GET',
'header' => 'X-Api-Key: ' . sha1(request()->server('REMOTE_ADDR')) . "\r\n"
. 'X-User-Agent: ' . request()->server('HTTP_USER_AGENT') . "\r\n"
]
];
//\dump($http_response_header);
$result = @file_get_contents($this->API_URL . $url, false, stream_context_create($arrContextOptions));
return $result ? json_decode($result) : null;
//\dump($http_response_header);
$result = @file_get_contents($this->API_URL . $url, false, stream_context_create($arrContextOptions));
return $result ? json_decode($result) : null;
}
protected function checkAPI($url)
@@ -143,22 +149,22 @@ class Controller extends BaseController
return is_object($obj) ? new \DateTime($obj->date, new \DateTimeZone($obj->timezone)) : \Carbon\Carbon::parse($obj)->setTimezone(date_default_timezone_get());
}
public function __call($method, $arguments)
{
if (substr($method, 0, 5) == 'view_') {
$view = substr($method, 5);
if (view()->exists($view)) {
return view($view);
}
}
// public function __call($method, $arguments)
// {
// if (substr($method, 0, 5) == 'view_') {
// $view = substr($method, 5);
// if (view()->exists($view)) {
// return view($view);
// }
// }
return abort(404);
}
// return abort(404);
// }
public function getSidebareData()
{
$populair = [];
$apiResult = $this->API('nieuws/populair?aantal=5');
$apiResult = $this->API('nieuws/populair?aantal=5');
foreach ($apiResult->news as $_newsItem) {
$populair[] = new \Model\NewsItem($_newsItem);
}
@@ -171,4 +177,19 @@ class Controller extends BaseController
return ['newsItems' => $newsItems, 'populair' => $populair];
}
public function static_page($slug)
{
$page = $this->API('statisch/' . $slug);
if ($page == null) {
return abort(404);
}
$page->published = Controller::JsonToDateTime($page->published);
if ($page->edited) {
$page->edited = Controller::JsonToDateTime($page->edited);
}
return view('static', compact('page'));
}
}

0
app/Http/Controllers/HomeController.php Normal file → Executable file
View File

0
app/Http/Controllers/ImagesController.php Normal file → Executable file
View File

0
app/Http/Controllers/JobsController.php Normal file → Executable file
View File

0
app/Http/Controllers/KerkdienstController.php Normal file → Executable file
View File

0
app/Http/Controllers/NewsController.php Normal file → Executable file
View File

0
app/Http/Controllers/PodcastController.php Normal file → Executable file
View File

0
app/Http/Controllers/RadioController.php Normal file → Executable file
View File

0
app/Http/Controllers/SpecialController.php Normal file → Executable file
View File

0
app/Http/Controllers/StreamController.php Normal file → Executable file
View File

0
app/Http/Kernel.php Normal file → Executable file
View File

0
app/Http/Middleware/EncryptCookies.php Normal file → Executable file
View File

0
app/Http/Middleware/RedirectIfAuthenticated.php Normal file → Executable file
View File

0
app/Http/Middleware/TrimStrings.php Normal file → Executable file
View File

0
app/Http/Middleware/VerifyCsrfToken.php Normal file → Executable file
View File

0
app/Models/Blog.php Normal file → Executable file
View File

0
app/Models/CalendarEvent.php Normal file → Executable file
View File

0
app/Models/JobOpening.php Normal file → Executable file
View File

0
app/Models/Kerkdienst.php Normal file → Executable file
View File

0
app/Models/MetaData.php Normal file → Executable file
View File

0
app/Models/Model.php Normal file → Executable file
View File

0
app/Models/NewsImage.php Normal file → Executable file
View File

0
app/Models/NewsItem.php Normal file → Executable file
View File

0
app/Models/NewsSource.php Normal file → Executable file
View File

0
app/Models/Podcast.php Normal file → Executable file
View File

0
app/Models/Program.php Normal file → Executable file
View File

0
app/Models/ProgramHost.php Normal file → Executable file
View File

0
app/Models/Track.php Normal file → Executable file
View File

0
app/Providers/AppServiceProvider.php Normal file → Executable file
View File

0
app/Providers/AuthServiceProvider.php Normal file → Executable file
View File

0
app/Providers/BroadcastServiceProvider.php Normal file → Executable file
View File

0
app/Providers/EventServiceProvider.php Normal file → Executable file
View File

0
app/Providers/RouteServiceProvider.php Normal file → Executable file
View File

0
app/User.php Normal file → Executable file
View File

0
bootstrap/app.php Normal file → Executable file
View File

0
bootstrap/autoload.php Normal file → Executable file
View File

0
bootstrap/cache/.gitignore vendored Normal file → Executable file
View File

0
composer.json Normal file → Executable file
View File

0
composer.lock generated Normal file → Executable file
View File

0
config/app.php Normal file → Executable file
View File

0
config/auth.php Normal file → Executable file
View File

0
config/broadcasting.php Normal file → Executable file
View File

0
config/cache.php Normal file → Executable file
View File

0
config/database.php Normal file → Executable file
View File

0
config/filesystems.php Normal file → Executable file
View File

0
config/mail.php Normal file → Executable file
View File

0
config/queue.php Normal file → Executable file
View File

0
config/services.php Normal file → Executable file
View File

0
config/session.php Normal file → Executable file
View File

0
config/view.php Normal file → Executable file
View File

0
database/.gitignore vendored Normal file → Executable file
View File

0
database/factories/ModelFactory.php Normal file → Executable file
View File

View File

View File

View File

0
database/seeds/DatabaseSeeder.php Normal file → Executable file
View File

0
docker-compose.dev.yml Normal file → Executable file
View File

0
docker-compose.yml Normal file → Executable file
View File

0
docker/apache.conf Normal file → Executable file
View File

0
docker/apache.dev.conf Normal file → Executable file
View File

0
download_mediaplayer_plugins.php Normal file → Executable file
View File

0
env.example Normal file → Executable file
View File

0
package-lock.json generated Normal file → Executable file
View File

0
package.json Normal file → Executable file
View File

0
phpunit.xml Normal file → Executable file
View File

0
public/.htaccess Normal file → Executable file
View File

0
public/android-chrome-192x192.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 43 KiB

After

Width:  |  Height:  |  Size: 43 KiB

0
public/android-chrome-512x512.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 183 KiB

After

Width:  |  Height:  |  Size: 183 KiB

0
public/apple-touch-icon.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

0
public/css/airplay.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 606 B

After

Width:  |  Height:  |  Size: 606 B

0
public/css/airplay.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 417 B

After

Width:  |  Height:  |  Size: 417 B

0
public/css/app.css vendored Normal file → Executable file
View File

0
public/css/app.css.map Normal file → Executable file
View File

0
public/css/bootstrap-grid.css vendored Normal file → Executable file
View File

0
public/css/bootstrap-grid.css.map Normal file → Executable file
View File

0
public/css/bootstrap-grid.min.css vendored Normal file → Executable file
View File

0
public/css/bootstrap-grid.min.css.map Normal file → Executable file
View File

0
public/css/chromecast.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 951 B

After

Width:  |  Height:  |  Size: 951 B

0
public/css/chromecast.svg Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 637 B

After

Width:  |  Height:  |  Size: 637 B

0
public/css/components/posts.css.map Normal file → Executable file
View File

0
public/css/components/pretty_photo.css.map Normal file → Executable file
View File

0
public/css/images/ui-bg_flat_0_aaaaaa_40x100.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 274 B

After

Width:  |  Height:  |  Size: 274 B

0
public/css/images/ui-bg_flat_0_eeeeee_40x100.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 274 B

After

Width:  |  Height:  |  Size: 274 B

0
public/css/images/ui-bg_flat_55_ffffff_40x100.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 271 B

After

Width:  |  Height:  |  Size: 271 B

0
public/css/images/ui-bg_flat_75_ffffff_40x100.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 271 B

After

Width:  |  Height:  |  Size: 271 B

0
public/css/images/ui-bg_glass_65_ffffff_1x400.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 272 B

View File

Before

Width:  |  Height:  |  Size: 384 B

After

Width:  |  Height:  |  Size: 384 B

View File

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 387 B

View File

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 407 B

Some files were not shown because too many files have changed in this diff Show More