Compare commits
7 Commits
e3564b524f
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b0ae121363 | ||
|
|
8c22515397 | ||
|
|
30bfd34ee3 | ||
|
|
d46dc081ef | ||
|
|
acc2260745 | ||
|
|
11e1a3ea54 | ||
|
|
643efdb404 |
@@ -19,7 +19,7 @@ class Controller extends BaseController
|
||||
|
||||
private function getDataFromFileAndConvert($file, $path, $class, $maxItems = 0)
|
||||
{
|
||||
$data = json_decode(Storage::disk('local')->get($file));
|
||||
$data = json_decode(Storage::get($file));
|
||||
foreach ($path as $subobject) {
|
||||
$data = $data->$subobject ?? [];
|
||||
}
|
||||
@@ -47,7 +47,7 @@ class Controller extends BaseController
|
||||
$view->with('data', $this->getDataFromFileAndConvert('populair_nieuws.json', ['news'], '\Model\NewsItem'));
|
||||
});
|
||||
View::composer('widgets.nustraks', function ($view) {
|
||||
$data = json_decode(Storage::disk('local')->get('nu_straks.json'))->schedule;
|
||||
$data = json_decode(Storage::get('nu_straks.json'))->schedule;
|
||||
$programs = [];
|
||||
foreach ($data as $item_data) {
|
||||
$programs[] = $program = new \Model\Program($item_data->program);
|
||||
@@ -57,7 +57,7 @@ class Controller extends BaseController
|
||||
|
||||
// Need a bit of slack here, otherwise the current program may show up
|
||||
$now = new \DateTimeImmutable('2 minutes ago');
|
||||
$data = json_decode(Storage::disk('local')->get('zojuist.json'))->schedule;
|
||||
$data = json_decode(Storage::get('zojuist.json'))->schedule;
|
||||
$i = 0;
|
||||
foreach (array_reverse($data) as $item_data) {
|
||||
$recent = $program = new \Model\Program($item_data->program);
|
||||
@@ -91,6 +91,9 @@ class Controller extends BaseController
|
||||
$this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast')
|
||||
);
|
||||
});
|
||||
View::composer('widgets.menu', function($view) {
|
||||
$view->with('items', json_decode(Storage::get('static/menu.json')));
|
||||
});
|
||||
|
||||
View::share('disableBanners', env('DISABLE_BANNERS', false));
|
||||
}
|
||||
|
||||
@@ -48,12 +48,12 @@ return [
|
||||
'root' => storage_path('app'),
|
||||
],
|
||||
|
||||
'public' => [
|
||||
'driver' => 'local',
|
||||
'root' => storage_path('app/public'),
|
||||
'url' => env('APP_URL').'/storage',
|
||||
'visibility' => 'public',
|
||||
],
|
||||
//'public' => [
|
||||
// 'driver' => 'local',
|
||||
// 'root' => storage_path('app/public'),
|
||||
// 'url' => env('APP_URL').'/storage',
|
||||
// 'visibility' => 'public',
|
||||
//],
|
||||
|
||||
's3' => [
|
||||
'driver' => 's3',
|
||||
|
||||
12
public/css/style.css
vendored
12
public/css/style.css
vendored
@@ -303,6 +303,18 @@ div.pp_default .pp_close:hover {
|
||||
margin-left: -10px;
|
||||
}
|
||||
|
||||
.submenu li.selected a {
|
||||
color: #0f259d !important;
|
||||
}
|
||||
|
||||
.mobile-menu .submenu li.selected a,
|
||||
.mobile-menu .submenu li:hover a,
|
||||
.mobile-menu .submenu li.hover a {
|
||||
color: white !important;
|
||||
background: linear-gradient(to right, #0f259d, #5ba8f4);
|
||||
}
|
||||
|
||||
|
||||
.top_menu_container, .menu_mobile_container {
|
||||
height: 50px;
|
||||
max-width: 1170px;
|
||||
|
||||
@@ -30,39 +30,24 @@
|
||||
<div class="author">{{$block->data->caption}}</div>
|
||||
</blockquote>
|
||||
@elseif($block->type == "image")
|
||||
<?php
|
||||
if(isset($block->data->image->imageWide))
|
||||
$image = $block->data->image->imageWide;
|
||||
else if(isset($block->data->image->crop))
|
||||
$image = $block->data->image->crop;
|
||||
else if(isset($block->data->image->crops) && isset($block->data->image->crops->{'16:9'}))
|
||||
foreach($block->data->image->crops->{'16:9'} as $image) break;
|
||||
else if(isset($block->data->image->imageHigh))
|
||||
$image = $block->data->image->imageHigh;
|
||||
else $image = null;
|
||||
?>
|
||||
@if($image)
|
||||
<a class="post_image page_margin_top prettyPhoto" rel="prettyPhoto" href="{{$image}}"
|
||||
title="{{$block->data->image->title}} © {{$block->data->image->author}}">
|
||||
<img src="{{$image}}" class="attachment-small-slider-thumb size-small-slider-thumb wp-post-image"
|
||||
alt="{{$block->data->image->title}}" title="" style="display: block;">
|
||||
<a class="post_image page_margin_top prettyPhoto" rel="prettyPhoto" href="/{{$block->data->url}}"
|
||||
title="{{$block->data->title}} © {{$block->data->title}}">
|
||||
<img src="/{{ltrim($block->data->url, '/')}}" class="attachment-small-slider-thumb size-small-slider-thumb wp-post-image"
|
||||
alt="{{$block->data->title}}" title="" style="display: block;">
|
||||
</a>
|
||||
<div class="sentence">
|
||||
<?php
|
||||
$sentence = [];
|
||||
if (isset($block->data->image->caption) && $block->data->image->caption) {
|
||||
$sentence[] = '<span class="text">' . $block->data->image->caption . '</span>';
|
||||
} elseif (isset($block->data->image->title) && $block->data->image->title) {
|
||||
$sentence[] = '<span class="text">' . $block->data->image->title . '</span>';
|
||||
if (isset($block->data->title) && $block->data->title) {
|
||||
$sentence[] = '<span class="text">' . $block->data->title . '</span>';
|
||||
}
|
||||
if (isset($block->data->image->author) && $block->data->image->author) {
|
||||
$sentence[] = '<span class="author">' . $block->data->image->author . '</span>';
|
||||
if (isset($block->data->author) && $block->data->author) {
|
||||
$sentence[] = '<span class="author">' . $block->data->author . '</span>';
|
||||
}
|
||||
$sentence = join('<span class="separator">|</span>', $sentence);
|
||||
?>
|
||||
{!!$sentence!!}
|
||||
</div>
|
||||
@endif
|
||||
@elseif($block->type == "video" || $block->type == "headerVideo")
|
||||
@include('widgets/mediaplayer')
|
||||
<?php
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
|
||||
@extends('layouts/full')
|
||||
|
||||
@section('title')
|
||||
Televisieprogrammering
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="page_body">
|
||||
<p>NHGooi TV zendt iedere dag de NH Gooi Nieuwscarrousel uit. De nieuwscarrousel start steeds op het hele uur en bestaat uit reportages uit Gooi en Vechtstreek, gericht op de kijkers van NH Gooi. Daarnaast vind je op NHGooi TV achtergronden, lokale reportages, cultuur, sport en politiek. NHGooi TV brengt verhalen uit alle hoeken van Gooi & Vechtstreek, met programma’s die zijn gemaakt door onze redactie of in samenwerking met regionale partners. De programmering sluit aan bij onze publieke opdracht en is gericht op herkenning, betrokkenheid en actualiteit.</p>
|
||||
|
||||
<p>De programmering van NH Gooi TV wordt af en toe aangevuld met speciale programma’s, zoals bijvoorbeeld een talkshow of een registratie van een plaatselijk muziekfestijn. Deze programma’s worden aangekondigd op onze website.</p>
|
||||
|
||||
<p><a href="/kijk/live">Kijk hier online naar NHGooi TV</a>.</p>
|
||||
</div>
|
||||
@endsection
|
||||
@@ -1,149 +1,105 @@
|
||||
<?php $menu = array(
|
||||
"Radio" => array(
|
||||
"" => "/gids",
|
||||
"Luister live" => "/luister/live",
|
||||
"Kijk in de studio" => "/kijk/studio",
|
||||
"Regionieuws" => "/luister/regionieuws",
|
||||
"Programmagids" => "/gids",
|
||||
"Programma gemist" => "/gemist/programma",
|
||||
"Fragment gemist" => "/gemist/fragment"
|
||||
),
|
||||
// "Zondagsdienst" => "/kerkdienst"),
|
||||
"TV" => array(
|
||||
"" => "/kijk/live",
|
||||
"Kijk live" => "/kijk/live",
|
||||
"TV-programmering" => "/kijk/gids",
|
||||
),
|
||||
// "NHGOOI TV @ YouTube" => "https://www.youtube.com/channel/UC0qLwqmXiLoL5PrLlgB6B4Q"),
|
||||
// "Evenementen" => array(
|
||||
// "Debatten gemeenteraad" => "/debat"),
|
||||
// "24 uur Scherp de Zeis (4 december)" => "/programma/1030/scherp-zeis",
|
||||
// "Winterse 50 (25 december)" => "/programma/1080/winterse-50",
|
||||
// "Vroeger of Later Luisterlijst (2 januari)" => "/vol-luisterlijst"),
|
||||
"Podcasts" => array(
|
||||
"" => "/podcast",
|
||||
"NH Gooi Spreekuur" => "/podcast/1091/nh-gooi-spreekuur",
|
||||
"Gooise Mythes Ontrafeld" => "/podcast/1106/gooise-mythes-ontrafeld",
|
||||
"NH Gooi Wijsneuzen" => "/podcast/1098/nh-gooi-wijsneuzen",
|
||||
"Hilversum in de oorlog" => "/podcast/1097/hilversum-in-de-oorlog",
|
||||
),
|
||||
"Gemist" => "/gemist/programma",
|
||||
"Streekagenda" => "/agenda",
|
||||
"Over NH Gooi" => array(
|
||||
"" => "/contact",
|
||||
"Contact" => "/contact",
|
||||
"Redactie" => "/redactie",
|
||||
"Vacatures" => "/vacatures",
|
||||
"Klachtenregeling" => "/klachten",
|
||||
// "Rol en ambities lokale nieuwsvoorziening" => "/uploads/Eigen rol en ambities NH Gooi binnen de lokale nieuwsvoorziening.pdf",
|
||||
"Frequenties" => "/frequenties",
|
||||
"NH Gooi-app" => "/app"
|
||||
),
|
||||
"Adverteren" => "/adverteren"
|
||||
);
|
||||
?>
|
||||
<?php
|
||||
function isActive($link, $checksubmenus)
|
||||
function isActive($link, $submenus)
|
||||
{
|
||||
if (is_array($link)) {
|
||||
if (!$checksubmenus) {
|
||||
return false;
|
||||
}
|
||||
foreach ($link as $item => $link) {
|
||||
if (isActive($link, $checksubmenus)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if(count($submenus) > 0) {
|
||||
foreach ($submenus as $subitem) {
|
||||
if (isActive($subitem->link, $subitem->submenu)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
if($link == "#") {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($link == "/") {
|
||||
return $_SERVER["REQUEST_URI"] == "/" || $_SERVER["REQUEST_URI"] == "";
|
||||
}
|
||||
}
|
||||
|
||||
return (substr($_SERVER["REQUEST_URI"], 0, strlen($link)) == $link);
|
||||
return (substr($_SERVER["REQUEST_URI"], 0, strlen($link)) == $link);
|
||||
}
|
||||
|
||||
function buildMenu($menu, $ismobile)
|
||||
{
|
||||
$result = "";
|
||||
foreach ($menu as $title => $link) {
|
||||
if ($title == "") {
|
||||
continue;
|
||||
}
|
||||
$submenu = is_array($link);
|
||||
$isactive = isActive($link, !$ismobile);
|
||||
$icon = "";
|
||||
$isplayer = false;
|
||||
$result = "";
|
||||
foreach ($menu as $item) {
|
||||
if ($item->titel == "") {
|
||||
continue;
|
||||
}
|
||||
|
||||
$submenu = count($item->submenu) > 0;
|
||||
$isactive = isActive($item->link, $item->submenu);
|
||||
$icon = "";
|
||||
$isplayer = false;
|
||||
$isFile = false;
|
||||
$liClass = "";
|
||||
if (!$submenu && substr($link, 0, 8) == '/luister') {
|
||||
$icon = "fas fa-headphones";
|
||||
$isplayer = true;
|
||||
}
|
||||
if (!$submenu && $link == '/kijk/live') {
|
||||
$icon = "fas fa-tv";
|
||||
}
|
||||
if (!$submenu && $link == '/kijk/studio') {
|
||||
$liClass = "watch-studio";
|
||||
$icon = "fas fa-video";
|
||||
}
|
||||
if (!$submenu && substr($link, 0, 23) == 'https://www.youtube.com') {
|
||||
$icon = "fab fa-youtube";
|
||||
}
|
||||
if (!$submenu && substr($link, strlen($link) - 4, 4) == '.pdf') {
|
||||
$icon = "fas fa-file-pdf";
|
||||
$isFile = true;
|
||||
}
|
||||
$liClass = "";
|
||||
if (!$submenu && substr($item->link, 0, 8) == '/luister') {
|
||||
$icon = "fas fa-headphones";
|
||||
$isplayer = true;
|
||||
}
|
||||
if (!$submenu && $item->link == '/kijk/live') {
|
||||
$icon = "fas fa-tv";
|
||||
}
|
||||
if (!$submenu && $item->link == '/kijk/studio') {
|
||||
$liClass = "watch-studio";
|
||||
$icon = "fas fa-video";
|
||||
}
|
||||
if (!$submenu && substr($item->link, 0, 23) == 'https://www.youtube.com') {
|
||||
$icon = "fab fa-youtube";
|
||||
}
|
||||
if (!$submenu && substr($item->link, strlen($item->link) - 4, 4) == '.pdf') {
|
||||
$icon = "fas fa-file-pdf";
|
||||
$isFile = true;
|
||||
}
|
||||
|
||||
$submenulink = $submenu && isset($link[""]) ? $link[""] : "#";
|
||||
$target = substr($submenu ? $submenulink : $link, 0, 4) == "http" || $isFile ? "target='_blank'" : "";
|
||||
if ($icon) {
|
||||
$icon = "<span class='$icon'></span> ";
|
||||
} else {
|
||||
$icon = "";
|
||||
}
|
||||
$result .=
|
||||
"<li class=\"" . ($submenu ? "has_submenu" : "") . ($isactive ? " selected" : "") . ($liClass ? " $liClass" : "") . "\">
|
||||
<a href=\"" . ($submenu ? $submenulink : $link) . "\" class=\"" . ($isplayer ? "player" : "") . "\" title=\"{$title}\" {$target}>{$icon}{$title}</a>";
|
||||
if ($submenu) {
|
||||
$result .= "\t\t\t<ul class=\"submenu\">\n"
|
||||
. buildMenu($link, $ismobile)
|
||||
. "\t\t\t</ul>\n";
|
||||
}
|
||||
$result .= "\t\t</li>\n";
|
||||
}
|
||||
$submenulink = $submenu && isset($item->link[""]) ? $item->link[""] : "#";
|
||||
$target = substr($submenu ? $submenulink : $item->link, 0, 4) == "http" || $isFile ? "target='_blank'" : "";
|
||||
if ($icon) {
|
||||
$icon = "<span class='$icon'></span> ";
|
||||
} else {
|
||||
$icon = "";
|
||||
}
|
||||
$result .=
|
||||
"<li class=\"" . ($submenu ? "has_submenu" : "") . ($isactive ? " selected" : "") . ($liClass ? " $liClass" : "") . "\">
|
||||
<a href=\"" . ($submenu ? $submenulink : $item->link) . "\" class=\"" . ($isplayer ? "player" : "") . "\" title=\"{$item->titel}\" {$target}>{$icon}{$item->titel}</a>";
|
||||
if ($submenu) {
|
||||
$result .= "\t\t\t<ul class=\"submenu\">\n"
|
||||
. buildMenu($item->submenu, $ismobile)
|
||||
. "\t\t\t</ul>\n";
|
||||
}
|
||||
$result .= "\t\t</li>\n";
|
||||
}
|
||||
|
||||
return $result;
|
||||
return $result;
|
||||
}
|
||||
?>
|
||||
<nav class="d-none d-md-flex">
|
||||
<div></div>
|
||||
<ul class="menu d-none d-lg-block">
|
||||
<li class="{{isActive('/', false) || isActive('/nieuws', false) ? "selected" : ""}}">
|
||||
<a href="/" title="Nieuws">Nieuws</a>
|
||||
</li>
|
||||
{!! buildMenu($menu, false) !!}
|
||||
<li></li>
|
||||
</ul>
|
||||
<div></div>
|
||||
<div></div>
|
||||
<ul class="menu d-none d-lg-block">
|
||||
<li class="{{isActive('/', []) || isActive('/nieuws', []) ? "selected" : ""}}">
|
||||
<a href="/" title="Nieuws">Nieuws</a>
|
||||
</li>
|
||||
{!! buildMenu($items, false) !!}
|
||||
<li></li>
|
||||
</ul>
|
||||
<div></div>
|
||||
</nav>
|
||||
<div class="mobile_menu_container">
|
||||
<nav id="mobile_menu_nav">
|
||||
<ul class="mobile-menu">
|
||||
<li class="logo_close_button">
|
||||
<div class="logo">
|
||||
<a href="{{url('/')}}"><img src="/images/logo-NHGooi.svg"/></a>
|
||||
</div>
|
||||
<div class="mobile_close_menu_button">
|
||||
<a href="javascript:void(0)"><i class="fa-solid fa-xmark"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="{{isActive('/', false) || isActive('/nieuws', false) ? "selected" : ""}}">
|
||||
<a href="/" title="Nieuws">Nieuws</a>
|
||||
</li>
|
||||
{!! buildMenu($menu, true) !!}
|
||||
</ul>
|
||||
</nav>
|
||||
<nav id="mobile_menu_nav">
|
||||
<ul class="mobile-menu">
|
||||
<li class="logo_close_button">
|
||||
<div class="logo">
|
||||
<a href="{{url('/')}}"><img src="/images/logo-NHGooi.svg"/></a>
|
||||
</div>
|
||||
<div class="mobile_close_menu_button">
|
||||
<a href="javascript:void(0)"><i class="fa-solid fa-xmark"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="{{isActive('/', []) || isActive('/nieuws', []) ? "selected" : ""}}">
|
||||
<a href="/" title="Nieuws">Nieuws</a>
|
||||
</li>
|
||||
{!! buildMenu($items, true) !!}
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user