111 Commits

Author SHA1 Message Date
NH Gooi
9698f9b103 Model classes van API repo naar deze repo verplaatst 2024-09-29 19:05:03 +02:00
NH Gooi
8d1e79f1b7 API eindpunt iets aangepast 2024-09-25 21:18:36 +02:00
NH Gooi
7f07a28b98 On air indicator in programmering 2024-09-23 22:02:53 +02:00
NH Gooi
cff9948dda Now playing aangepast tijdens live programma 2024-09-21 13:56:45 +02:00
NH Gooi
059b1ed47a Merge remote-tracking branch 'origin/dev' 2024-09-19 12:24:22 +02:00
NH Gooi
0699269fb2 Verwijder blogs want die gaven een fout 2024-09-19 12:17:33 +02:00
NH Gooi
a3e8b05008 Fix duplicate route 2024-09-12 15:48:21 +02:00
NH Gooi
389e5c6523 Fix duplicate route 2024-09-12 15:47:20 +02:00
ba06608ee0 Merge pull request 'release/live to main' (#7) from release/live into main
Reviewed-on: #7
2024-09-12 15:08:56 +02:00
8da0481296 Merge pull request 'release/dev to release/live' (#6) from release/dev into release/live
Reviewed-on: #6
2024-09-12 15:06:33 +02:00
885ce2b2cc Merge pull request 'Pull new-api into release/dev' (#5) from new-api into release/dev
Reviewed-on: #5
2024-09-12 15:04:09 +02:00
NH Gooi
6d91e1d3ca Uitgelicht podcast [#00028] 2024-09-12 14:06:28 +02:00
NH Gooi
5ebf7f20be API ondersteunt /stream en /download 2024-09-12 13:45:41 +02:00
NH Gooi
cc1eba5959 Luister popout gefixt 2024-09-10 20:54:56 +02:00
NH Gooi
3b55a1cf42 Spelling 2024-09-10 20:48:42 +02:00
NH Gooi
f4444d44e3 Lettertype en overflow fragment gefixt 2024-09-07 10:50:40 +02:00
NH Gooi
35713d2974 Parse ...Z date strings to local time correctly 2024-09-06 10:41:21 +02:00
NH Gooi
6044a670d7 Merge remote-tracking branch 'origin/release/live' into new-api 2024-07-04 14:49:44 +02:00
NH Gooi
173d9dcaf6 Favicon vervangen 2024-07-04 14:48:57 +02:00
NH Gooi
a7d1347319 Merge remote-tracking branch 'origin/release/live' into new-api 2024-07-02 21:11:07 +02:00
NH Gooi
92769463cd 500 error opgelost, dubbel Nieuws item uit menu gehaald 2024-07-02 21:09:54 +02:00
NH Gooi
47eb0952d4 Merge remote-tracking branch 'origin/release/live' into new-api 2024-07-02 17:25:40 +02:00
NH Gooi
e7bae27951 Podcasts en fragment gemist gescheiden 2024-07-02 17:23:50 +02:00
NH Gooi
50d6a97fce Regioagenda naar streekagenda hernoemd 2024-07-02 17:23:38 +02:00
NH Gooi
9d96efc022 Merge remote-tracking branch 'origin/release/live' into new-api 2024-07-02 15:33:38 +02:00
NH Gooi
539dd88d42 Content wijzigingen voor Petra en Leon plus een kleine CSS fix op toolbar 2024-07-02 15:32:48 +02:00
NH Gooi
d9c933b79a Merge branch 'release/live' into new-api 2024-07-02 15:04:47 +02:00
NH Gooi
84355b1121 Link naar TV aangepast 2024-07-02 14:34:29 +02:00
NH Gooi
70d25c3cea Podcast toegevoegd aan menu 2024-07-02 12:23:21 +02:00
NH Gooi
b628404977 Wijzigingen inhoud op verzoek Leon 2024-07-02 08:46:28 +02:00
NH Gooi
e1823a1322 Add file version to css to avoid agressive caching on Chrome 2024-07-02 08:33:48 +02:00
9364ebecad Merge pull request 'post-go-live' (#3) from post-go-live into release/live
Reviewed-on: #3
2024-07-01 11:48:45 +02:00
NH Gooi
16808e6280 Merge branch 'release/dev' into release/live 2024-07-01 11:43:13 +02:00
NH Gooi
e194e93784 Cookiestatement en privacyverklaring toegevoegd 2024-06-28 15:53:17 +02:00
NH Gooi
e551e55158 Lees ook... alleen laten zien als het naar loakle artikelen verwijst 2024-06-23 23:46:51 +02:00
NH Gooi
2799b1843f Podcasts en lees meer... toegevoegd aan nieuwsartikelen 2024-06-23 23:18:38 +02:00
NH Gooi
52f38b4c00 Inline podcastplayer toegevoegd 2024-06-22 22:58:22 +02:00
NH Gooi
e2f114a7a8 Podcast player embedded obv links in tekst 2024-06-22 22:47:20 +02:00
NH Gooi
cc58f5931c API key toegevoegd voor statistieken 2024-06-20 23:30:13 +02:00
NH Gooi
23d88ac143 Fix API call 2024-06-20 22:10:11 +02:00
NH Gooi
56adc60788 Merge branch 'release/dev' into new-api 2024-06-20 11:28:38 +02:00
NH Gooi
72da998965 TV Programmering toegevoegd 2024-06-20 11:25:43 +02:00
NH Gooi
2db970e8c6 Nieuwe API aanpassingen 2024-06-18 22:04:46 +02:00
NH Gooi
80256669b1 Wijzigingen voor nieuwe API 2024-06-17 23:11:07 +02:00
NH Gooi
738107515c Wijzigingen voor nieuwe API 2024-06-15 22:45:53 +02:00
NH Gooi
e96198bc3d Document aangepast voor Leon 2024-06-02 21:15:16 +02:00
NH Gooi
c5b9e88ad3 TV programmering toegevoegd aan TV menu 2024-05-28 15:32:25 +02:00
Jorit Tijsen
7c05b92703 Show only icons if search is opened 2024-05-17 15:25:40 +02:00
Jorit Tijsen
9ae62ab798 Fix: change background of selected menu item corner for grey background 2024-05-15 14:05:05 +02:00
Jorit Tijsen
d495cdde37 Move class grey_background to parent class 2024-05-14 15:05:39 +02:00
Jorit Tijsen
644d4f9b12 Remove "Deel op Facebook" 2024-05-14 13:47:18 +02:00
Jorit Tijsen
5948154ae1 Merge branch 'release/dev' of https://git.nhgooi.nl/NH_Gooi/nhgooi.nl into release/dev 2024-05-14 13:44:38 +02:00
Jorit Tijsen
d75ab273ff Changed primary menu order
Increase size logo and slogan
Align menu item in bar better
Fix: grey background in menu
2024-05-14 13:44:11 +02:00
NH Gooi
909126c05a Link naar nieuwe podcast toegevoegd 2024-05-13 21:21:17 +02:00
Jorit Tijsen
077fb0236f Change favicon 2024-05-08 15:36:53 +02:00
Jorit Tijsen
ecfbb47f1e Disable banner by env file
Favicon aanpassen
Logo aanpassen + subtitel toevoegd
Tab ‘Nieuws’ uit het menu gehaalt
Menu item ‘Gemist’ in menu plaaten
App uit menu balk
Adverteren toevoegen aan blauwe balk
Wat draait in sidebar NH Gooi Radio Live
Footer tekst
NAW toevoegen aan contact pagina
Op contactpagina: Chef redactie
Delen bericht
2024-05-06 15:08:19 +02:00
Jorit Tijsen
e06ecf297f Fix: calendar image 2024-05-06 13:33:03 +02:00
Jorit Tijsen
684cba6085 Add docker dev 2024-05-06 13:32:23 +02:00
NH Gooi
e0c11c50f5 Update docker files to build correctly in fresh container 2024-04-25 16:26:24 +02:00
34ca1486bd Merge pull request 'Merge release/dev to release/live' (#1) from release/dev into release/live
Reviewed-on: #1
2024-04-25 15:49:00 +02:00
Jorit Tijsen
6220a405a3 Added dummy data to calendar events
Styled calendar pages
2024-04-24 16:57:02 +02:00
Jorit Tijsen
239bff06ce Retry calculate add size if is not working 2024-04-19 15:46:16 +02:00
Jorit Tijsen
8fcd34759f Change sidebar box width to auto 2024-04-19 15:36:14 +02:00
Jorit Tijsen
4db20ca296 Calculate adds sizes
Trim white-spaces for share buttons
Increase header with 1 pixel
2024-04-19 15:25:00 +02:00
Jorit Tijsen
e7459cf026 Added header ad 2024-04-09 11:41:31 +02:00
Jorit Tijsen
26f9a71061 Auto adjust the ads height 2024-04-09 10:31:12 +02:00
Jorit Tijsen
9370b21d84 Small mobile header icons fix 2024-04-09 10:19:22 +02:00
Jorit Tijsen
be485c7300 Add ad version 0.2 2024-04-09 10:15:56 +02:00
Jorit Tijsen
c81ba184b3 Add ad version 0.1 2024-04-08 17:19:26 +02:00
Jorit Tijsen
58e291d0d3 Change adverteren text 2024-04-08 16:31:59 +02:00
Jorit Tijsen
f4ba89a6eb Fix menu on news page 2024-04-08 10:06:55 +02:00
Jorit Tijsen
9c80727a03 Small fixes 2024-04-05 16:07:59 +02:00
Jorit Tijsen
4aa1fef3ad New mobile header
Add job pages
More news button on home page links to news page
Small mobile fixes for new page and other pages
2024-04-03 16:38:10 +02:00
Jorit Tijsen
249f7a7d4c Add favicon
Change logo
Add luister and kijk icons
Tip de streekredactie points to whatsapp 088-8505651
Add s to Podcast
Removed waterschapsverkiezingen from menu
Podcast autoplay disabled
Remove Gooische Courant and NH Nieuws
Changed NH Gooi to Over NH Gooi
Added padding and border-radios to homepage posts
Changed header 12px to 14px
Add now and next programs to homepage
Add new button to programs
Changed contact text
Add fallback image to program guide
Make items height equally in program guide
2024-04-02 17:42:39 +02:00
Jorit Tijsen
cdd394a8d4 Full width feature posts 2024-03-22 16:10:57 +01:00
Jorit Tijsen
6041398e10 Style the job pages
Style the image page
Small fixes
2024-03-22 15:44:34 +01:00
Jorit Tijsen
1d94e7da7f Add some variables to the scss files
Use the period API call for the program schema
2024-03-20 17:54:10 +01:00
Jorit Tijsen
25b3d41bf1 Add scroll to top function
Add share buttons to news item
Add logo to footer
2024-03-20 15:13:59 +01:00
Jorit Tijsen
180c5d01be Fix news title item on mobile 2024-03-20 12:53:28 +01:00
Jorit Tijsen
46a39588de Add minified css style 2024-03-20 12:46:19 +01:00
Jorit Tijsen
fd2b17689c Remove last menu item bottom line 2024-03-20 12:42:52 +01:00
Jorit Tijsen
5b9dc7c7f3 Add mobile styling 2024-03-20 12:31:55 +01:00
Jorit Tijsen
04b4a3b3e5 Style cookie popover
Add 3 new pages
Link the links in the footer
2024-03-19 09:34:58 +01:00
Jorit Tijsen
742c126a0a Add postcast styling
Add prettyPhoto
2024-03-18 17:17:54 +01:00
Jorit Tijsen
8ce3a1d7b3 Bugfix: javascript error 2024-03-15 18:26:06 +01:00
Jorit Tijsen
38410b00c7 Switch animations for onair tag 2024-03-15 18:16:31 +01:00
Jorit Tijsen
6d5eff146d Change onair tag style 2024-03-15 18:12:31 +01:00
Jorit Tijsen
43c14de45d Changed onair animation 2024-03-15 18:10:52 +01:00
Jorit Tijsen
5187062cb1 Styled pages missed program and fragment missed 2024-03-15 17:46:43 +01:00
Jorit Tijsen
eaea761366 BUGFIX: player class duplicated use. 2024-03-15 13:40:06 +01:00
Jorit Tijsen
1a8bbeb084 Most pages are now styled.
Small changes to existing pages.
Changes to base layout style.
2024-03-15 13:35:43 +01:00
Jorit Tijsen
a0baa0230f Added radio page 2024-03-13 17:44:35 +01:00
Jorit Tijsen
d445d90069 Merge branch 'release/dev' of https://git.nhgooi.nl/NH_Gooi/nhgooi.nl into release/dev 2024-03-13 12:40:26 +01:00
Jorit Tijsen
2895ba283b Home page and news page are finished 2024-03-13 12:37:09 +01:00
67cb7c25f3 Ed vervangen door Leon in meebouwen autoreply 2024-03-11 09:31:05 +01:00
Jorit Tijsen
55aa88c0f6 Test version 2024-03-05 17:22:55 +01:00
Jorit Tijsen
8acacc0c68 Merge branch 'release/dev' of https://git.nhgooi.nl/NH_Gooi/nhgooi.nl into release/dev 2024-02-27 12:11:22 +01:00
c1ef2d7070 chore: add docker local development files 2024-02-27 12:06:38 +01:00
Jorit Tijsen
ec43f6d753 Remove phpinfo.php 2024-02-27 09:02:11 +01:00
dbf77d437c Test deployment to dev
Made a small text change to contact.blade.php to test auto-deployment to dev.nhgooi.nl.
2024-02-13 19:05:14 +01:00
NH Gooi
7907dd0a46 Null ref gefixt 2024-02-12 15:25:34 +01:00
fd855bc3e0 Forget temp files 2023-11-14 17:10:36 +01:00
8463c6f6f1 Checkin missing files 2023-11-14 17:03:42 +01:00
4fcf6fffcc Upgrade framework 2023-11-14 16:54:35 +01:00
1648a5cd42 Klachtenregeling 2022-10-09 19:04:11 +02:00
59226a1765 Gooische Courant #2 in menu 2022-07-18 19:31:45 +02:00
60be2d8cb2 Tekstuele aanpassingen debat, kennismakingsbijeenkomst 2022-03-15 18:09:15 +01:00
9f323af73c 1:1 HQ logo 2022-02-28 11:15:57 +01:00
f3c1780c5e Ad missing files 2022-02-19 17:10:54 +01:00
ef47e845eb Oude evenementen weg, debatten toegevoegd 2022-02-19 17:10:26 +01:00
964fb3429c Upgrade mediaelement.js naar 5.0.4 2021-12-24 13:36:40 +01:00
10829 changed files with 722997 additions and 481921 deletions

39
.env.example Normal file
View File

@@ -0,0 +1,39 @@
APP_NAME="NH Gooi"
APP_ENV=production
APP_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=false
APP_LOG_LEVEL=error
APP_URL=https://dev.nhgooi.nl
IMAGE_BASE_URL=https://dev.nhgooi.nl
API_URL=https://api.nhgooi.nl/
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=in-v3.mailjet.com
MAIL_PORT=25
MAIL_USERNAME=mailjet_username
MAIL_PASSWORD=mailjet_password
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
DB_CONNECTION=mysql
DB_HOST=nhgooi.nl
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=6fmstats
DB_PASSWORD=dbpass
CACHE_DRIVER=file
QUEUE_DRIVER=sync

5
.gitattributes vendored Normal file
View File

@@ -0,0 +1,5 @@
* text=auto
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
CHANGELOG.md export-ignore

12
.gitignore vendored Normal file
View File

@@ -0,0 +1,12 @@
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
/.idea
/.vagrant
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
.env

5
.hgignore.orig Normal file
View File

@@ -0,0 +1,5 @@
syntax: glob
.env
storage
website/public/images/banners

38
Dockerfile Normal file
View File

@@ -0,0 +1,38 @@
FROM php:8.1-apache
RUN apt-get update \
&& apt-get -y install \
g++ \
libcurl4-gnutls-dev \
libxml2-dev \
libxslt-dev \
libzip-dev \
zlib1g-dev \
msmtp \
unzip \
git \
ssl-cert \
locales \
--no-install-recommends \
&& docker-php-ext-install pdo pdo_mysql mysqli xsl xml zip opcache \
&& a2enmod rewrite ssl proxy proxy_http headers \
&& apt-get purge -y g++ \
&& apt-get autoremove -y \
&& rm -r /var/lib/apt/lists/*
# Get latest Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Update the default apache site with the config we created.
ADD docker/apache.conf /etc/apache2/sites-enabled/000-default.conf
WORKDIR /var/www/html
# COPY . /var/www/html
RUN mkdir -p storage/framework/{sessions,views,cache,cache/data} && \
chown -R www-data:www-data storage/framework && \
chmod -R 775 storage
RUN php artisan cache:clear && \
php artisan config:clear && \
php artisan view:clear

38
Dockerfile.dev Normal file
View File

@@ -0,0 +1,38 @@
FROM php:8.1-apache
RUN apt-get update \
&& apt-get -y install \
g++ \
libcurl4-gnutls-dev \
libxml2-dev \
libxslt-dev \
libzip-dev \
zlib1g-dev \
msmtp \
unzip \
git \
ssl-cert \
locales \
--no-install-recommends \
&& docker-php-ext-install pdo pdo_mysql mysqli xsl xml zip opcache \
&& a2enmod rewrite ssl proxy proxy_http headers \
&& apt-get purge -y g++ \
&& apt-get autoremove -y \
&& rm -r /var/lib/apt/lists/*
# Get latest Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Update the default apache site with the config we created.
ADD docker/apache.dev.conf /etc/apache2/sites-enabled/000-default.conf
WORKDIR /var/www/html
COPY . /var/www/html
RUN mkdir -p storage/framework/{sessions,views,cache,cache/data} && \
chown -R www-data:www-data storage/framework && \
chmod -R 775 storage
# RUN php artisan cache:clear && \
# php artisan config:clear && \
# php artisan view:clear

37
Gruntfile.js vendored Normal file
View File

@@ -0,0 +1,37 @@
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
},
build: {
src: 'public/js/functions.js',
dest: 'public/js/functions.min.js'
}
},
concat: {
js: {
src: ['resources/assets/js/functions/*.js'],
dest: 'public/js/functions.js'
}
},
watch: {
scripts: {
files: 'resources/assets/js/functions/*.js',
tasks: ['concat', 'uglify'],
options: {
interrupt: true,
},
},
},
});
// Load the plugin that provides the "uglify" task.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-watch');
};

View File

@@ -27,7 +27,7 @@ class Kernel extends ConsoleKernel
*/
protected function schedule(Schedule $schedule)
{
$this->API_URL = env('API_URL', 'https://api-dev.nhgooi.nl/');
$this->API_URL = env('API_URL', 'https://api.nhgooi.nl/');
// Update latest news (3 items)
$schedule->call(function() {

View File

@@ -2,7 +2,8 @@
namespace App\Exceptions;
use Exception;
//use Exception;
use Throwable;
use Illuminate\Auth\AuthenticationException;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
@@ -30,7 +31,7 @@ class Handler extends ExceptionHandler
* @param \Exception $exception
* @return void
*/
public function report(Exception $exception)
public function report(Throwable $exception)
{
parent::report($exception);
}
@@ -42,7 +43,7 @@ class Handler extends ExceptionHandler
* @param \Exception $exception
* @return \Illuminate\Http\Response
*/
public function render($request, Exception $exception)
public function render($request, Throwable $exception)
{
return parent::render($request, $exception);
}

View File

@@ -12,18 +12,18 @@ class CalendarController extends Controller
$apiResult = $this->API('agenda/item/' . (int)$id);
$calendarEvent = new \Model\CalendarEvent($apiResult);
return view('calendarevent', ['event' => $calendarEvent, 'metadata' => $calendarEvent->metadata]);
return view('calendarevent', array_merge($this->getSidebareData(), ['event' => $calendarEvent, 'metadata' => $calendarEvent->metadata]));
}
public function overview(Request $request)
{
$apiResult = $this->API('agenda/overzicht');
$calendar = [];
foreach($apiResult as $calendarItem)
foreach($apiResult->events as $calendarItem)
{
$calendar[] = new \Model\CalendarEvent($calendarItem);
}
return view('calendarlist', ['events' => $calendar]);
return view('calendarlist', array_merge($this->getSidebareData(), ['events' => $calendar]));
}
}

View File

@@ -2,11 +2,11 @@
namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Facades\View;
@@ -20,12 +20,15 @@ class Controller extends BaseController
private function getDataFromFileAndConvert($file, $path, $class, $maxItems = 0)
{
$data = json_decode(Storage::disk('local')->get($file));
foreach($path as $subobject) { $data = $data->$subobject; }
foreach ($path as $subobject) {
$data = $data->$subobject;
}
$items = [];
foreach($data as $item_data)
{
foreach ($data as $item_data) {
$items[] = new $class($item_data);
if($maxItems && count($items) == $maxItems) { break; }
if ($maxItems && count($items) == $maxItems) {
break;
}
}
return $items;
@@ -36,38 +39,31 @@ class Controller extends BaseController
View::share('apiUrl', $this->API_URL = env('API_URL', 'http://api.6fm.nl/'));
View::share('imgBase', env('IMAGE_BASE_URL', '/'));
$blogs = $this->getDataFromFileAndConvert('blogs.json', [], '\Model\Blog', 1);
$activeBlog = count($blogs) && $blogs[0]->is_active ? $blogs[0] : null;
View::share('activeBlog', $activeBlog);
//View::share('onAir', file_get_contents(url('onair')));
View::composer('widgets.laatstenieuws', function($view) {
View::composer('widgets.laatstenieuws', function ($view) {
$view->with('data', $this->getDataFromFileAndConvert('laatste_nieuws.json', ['news'], '\Model\NewsItem'));
});
View::composer('widgets.populairnieuws', function($view) {
$view->with('data', $this->getDataFromFileAndConvert('populair_nieuws.json', [], '\Model\NewsItem'));
View::composer('widgets.populairnieuws', function ($view) {
$view->with('data', $this->getDataFromFileAndConvert('populair_nieuws.json', ['news'], '\Model\NewsItem'));
});
View::composer('widgets.nustraks', function($view) {
View::composer('widgets.nustraks', function ($view) {
$data = json_decode(Storage::disk('local')->get('nu_straks.json'))->schedule;
$programs = [];
foreach($data as $item_data)
{
foreach ($data as $item_data) {
$programs[] = $program = new \Model\Program($item_data->program);
$program->start = new \DateTimeImmutable($item_data->start->date, new \DateTimeZone($item_data->start->timezone));
$program->end = new \DateTimeImmutable($item_data->end->date, new \DateTimeZone($item_data->end->timezone));
$program->start = self::JsonToDateTime($item_data->start);
$program->end = self::JsonToDateTime($item_data->end);
}
// 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;
$i = 0;
foreach(array_reverse($data) as $item_data)
{
foreach (array_reverse($data) as $item_data) {
$recent = $program = new \Model\Program($item_data->program);
$recent->start = new \DateTimeImmutable($item_data->start->date, new \DateTimeZone($item_data->start->timezone));
$recent->end = new \DateTimeImmutable($item_data->end->date, new \DateTimeZone($item_data->end->timezone));
if(($recent->end < $now) && (!$recent->nonstop) && (!$recent->rerun)) {
$recent->start = self::JsonToDateTime($item_data->start);
$recent->end = self::JsonToDateTime($item_data->end);
if (($recent->end < $now) && (!$recent->nonstop) && (!$recent->rerun)) {
$view->with('recent', $recent);
break;
}
@@ -75,29 +71,34 @@ 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::composer('widgets.laatstepodcasts', function ($view) {
$view->with('data',
$this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast'));
});
View::composer('widgets.regioagenda', function($view) {
View::composer('widgets.regioagenda', function ($view) {
$view->with('data', $this->getDataFromFileAndConvert('regioagenda.json', [], '\Model\CalendarEvent'));
});
View::composer('widgets.beelden', function($view) {
View::composer('widgets.beelden', function ($view) {
$view->with('data', $this->getDataFromFileAndConvert('beelden.json', ['items'], '\Model\NewsItem'));
});
View::composer('widgets.menu', function($view) {
View::composer('widgets.menu', function ($view) {
$view->with('news', $this->getDataFromFileAndConvert('laatste_nieuws.json', ['news'], '\Model\NewsItem'))
->with('popular', $this->getDataFromFileAndConvert('populair_nieuws.json', [], '\Model\NewsItem', 3))
->with('podcasts', $this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast'));
->with('popular', $this->getDataFromFileAndConvert('populair_nieuws.json', ['news'], '\Model\NewsItem', 3))
->with('podcasts',
$this->getDataFromFileAndConvert('laatste_podcasts.json', ['podcasts'], '\Model\Podcast'));
});
View::share('disableBanners', env('DISABLE_BANNERS', true));
}
protected function registerView(Request $request, $type, $id)
{
if(config('app.env') == 'local') {
if (config('app.env') == 'local') {
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'),
@@ -108,19 +109,65 @@ class Controller extends BaseController
protected function API($url)
{
return json_decode(file_get_contents($this->API_URL . $url));
$arrContextOptions = [
'ssl' => [
"verify_peer" => false,
"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"
]
];
return json_decode(file_get_contents($this->API_URL . $url, false, stream_context_create($arrContextOptions)));
}
protected function checkAPI($url)
{
return $this->get_http_response_code($this->API_URL . $url);
}
protected function get_http_response_code($url)
{
$headers = get_headers($url);
return substr($headers[0], 9, 3);
}
protected static function JsonToDateTime($obj)
{
return new \DateTime($obj->date, new \DateTimeZone($obj->timezone));
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_') {
public function __call($method, $arguments)
{
if (substr($method, 0, 5) == 'view_') {
$view = substr($method, 5);
if(view()->exists($view)) { return view($view); }
if (view()->exists($view)) {
return view($view);
}
}
return abort(404);
}
public function getSidebareData()
{
$populair = [];
$apiResult = $this->API('nieuws/populair?aantal=5');
foreach ($apiResult->news as $_newsItem) {
$populair[] = new \Model\NewsItem($_newsItem);
}
$newsItems = [];
$apiResult = $this->API('nieuws/overzicht?aantal=5');
foreach ($apiResult->news as $_newsItem) {
$newsItems[] = new \Model\NewsItem($_newsItem);
}
return ['newsItems' => $newsItems, 'populair' => $populair];
}
}

View File

@@ -2,36 +2,29 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use \Model\NewsItem;
class HomeController extends Controller
{
public function show()
public function show(Request $request)
{
$apiResult = $this->API('nieuws/overzicht?aantal=12');
$page = (int)$request->get('pagina', 1);
$apiResult = $this->API('nieuws/overzicht?pagina=' . (int)max(1, $page) . '&aantal=10');
$news = [];
foreach($apiResult->news as $newsItem)
{
foreach ($apiResult->news as $newsItem) {
$news[] = new \Model\NewsItem($newsItem);
}
$apiResult = $this->API('programma/schema/nustraks');
$comingUp = [];
foreach($apiResult->schedule as $program)
{
$comingUp[] = [
'start' => self::JsonToDateTime($program->start),
'end' => self::JsonToDateTime($program->end),
'program' => new \Model\Program($program->program)
];
$populair = [];
$apiResult = $this->API('nieuws/populair?pagina=' . (int)max(1, $page) . '&aantal=5');
foreach ($apiResult->news as $newsItem) {
$populair[] = new \Model\NewsItem($newsItem);
}
$apiResult = $this->API('podcast/overzicht?aantal=20');
$podcasts = [];
foreach($apiResult->podcasts as $podcast) {
$podcasts[] = new \Model\Podcast($podcast);
}
return view('home', ['news' => $news, 'podcasts' => $podcasts, 'comingUp' => $comingUp]);
$apiResult = $this->API('podcast/overzicht?aantal=15');
$index = array_rand($apiResult->podcasts);
$podcast = new \Model\Podcast($apiResult->podcasts[$index]);
return view('home', ['populair' => $populair, 'podcast' => $podcast, 'title' => 'Home', 'news' => $news, 'searchURL' => 'nieuws/zoeken']);
}
}

View File

@@ -18,7 +18,7 @@ class JobsController extends Controller
parent::registerView($request, 'nieuws', $id);
$apiResult = $this->API('vacatures/details/' . $id);
$jobsItem = new \Model\JobOpening($apiResult->item);
return view('jobsitem', ['job' => $jobsItem, 'metadata' => $jobsItem->metadata]);
return view('jobsitem', array_merge($this->getSidebareData(), ['job' => $jobsItem, 'metadata' => $jobsItem->metadata]));
}
public function overview(Request $request)
@@ -29,14 +29,14 @@ class JobsController extends Controller
private function listJobs(Request $request, $url, $title = null)
{
$page = (int)$request->get('pagina', 1);
$apiResult = $this->API('vacatures/' . $url . '?pagina=' . (int)max(1, $page));
#$apiResult = $this->API('vacatures/' . $url . '?pagina=' . (int)max(1, $page));
$jobs = [];
foreach($apiResult->jobs as $jobsItem)
{
$jobs[] = new \Model\JobOpening($jobsItem);
}
#foreach($apiResult->jobs as $jobsItem)
#{
# $jobs[] = new \Model\JobOpening($jobsItem);
#}
return view('jobslist', ['title' => $title, 'jobs' => $jobs]);
return view('jobslist', array_merge($this->getSidebareData(), ['title' => $title, 'jobs' => $jobs]));
//return view($request->ajax() ? 'partial/jobslist_small' : ($title == null ? 'home' : 'jobslist'), ['title' => $title, 'jobs' => $jobs, 'searchURL' => 'vacatures/zoeken']);
}
@@ -45,8 +45,11 @@ class JobsController extends Controller
}
public function aanmelden(Request $request) {
if(!(trim(strtolower($request['antispam'])) == 'vijf' || trim($request['antispam']) == 5)) {
return view('kennismakingsbijeenkomst', ['antispam' => 'failed']);
}
$data = array('email' => $request->input('email'), 'name' => $request->input('name'));
$message = $request['message'] ? "Hierover schreef je zelf het volgende: " . $request['message'] : '';
$message = $request['message'] ? "De informatie die je bij ons achtergelaten hebt is: " . $request['message'] : '';
/*
$body = <<<BODY
Beste {$request['name']},
@@ -67,14 +70,15 @@ BODY;
$body = <<<BODY
Beste {$request['name']},
Wat leuk dat je je hebt aangemeld om kennis te maken met NH Gooi!
Wat leuk dat je je hebt aangemeld om kennis te maken met NH Gooi! Dank voor je interesse. Wij nemen binnenkort contact met je op voor een kennismaking. $message
We kunnen je van alles aanbieden: van radio en podcasts maken tot techniek en van TV-interview produceren tot marketing en communicatie. $message
Onze geplande kennismakingsbijeenkomst op 27 november kon door de aangescherpte Coronamaatregelen niet doorgaan, maar we nemen binnenkort persoonlijk contact met je op om ons nader voor te stellen en om te kijken waar je bij ons zou passen, via {$request['email']} of telefonisch op {$request['phone']}.
We nemen binnenkort persoonlijk contact met je op om ons nader voor te stellen en om te kijken waar je bij ons zou passen, via {$request['email']} of telefonisch op {$request['phone']}.
Hartelijke groeten,
Graag tot binnenkort en hartelijke groet.
Het team van NH Gooi
Het team van NH Gooi,
Léon Haver
BODY;
\Mail::raw($body, function($message) use($data) {
@@ -82,7 +86,7 @@ BODY;
->from('meebouwen@nhgooi.nl', 'meebouwen@nhgooi.nl')
->bcc('meebouwen@nhgooi.nl', 'meebouwen@nhgooi.nl')
->to($data['email'], $data['name'])
->subject('Aanmelding kennismakingsdag');
->subject('Meebouwen aan NH Gooi');
});
return view('kennismakingsbijeenkomst', ['bevestiging' => $request->input('email')]);

View File

@@ -7,7 +7,8 @@ use \Model\NewsItem;
class NewsController extends Controller
{
private static function TimestampToDateTime($timestamp) {
private static function TimestampToDateTime($timestamp)
{
$result = new \DateTime;
$result->setTimestamp($timestamp);
return $result;
@@ -19,36 +20,71 @@ class NewsController extends Controller
$apiResult = $this->API('nieuws/bericht/' . $id);
$newsItem = new \Model\NewsItem($apiResult->news);
switch($apiResult->version) {
switch ($apiResult->version) {
case 1:
if (!$newsItem->content) return redirect('//nhnieuws.nl/gooi');
return view('newsitem', ['news' => $newsItem, 'metadata' => $newsItem->metadata]);
break;
case 2:
$source = $apiResult->source;
$source = $apiResult->source->article;
$newsItem->published = self::TimestampToDateTime($source->created);
$newsItem->edited = self::TimestampToDateTime($source->updated);
$newsItem->author = $source->author;
$newsItem->images = null; // Images will be embedded
$newsItem->video = null; // Videos will be embedded
$newsItem->content = $source->blocks;
return view('newsitem', ['news' => $newsItem, 'metadata' => $newsItem->metadata]);
return view('newsitem', array_merge($this->getSidebareData(), ['news' => $newsItem, 'metadata' => $newsItem->metadata, 'searchURL' => 'nieuws/zoeken']));
}
}
public function overview(Request $request)
{
return $this->listNews($request, 'overzicht');
return $this->listNews($request, 'overzicht', null, 'items-more-news', 10);
}
public function more(Request $request)
{
$page = (int)$request->get('pagina', 1);
$id = $request->get('id', '');
$apiResult = $this->API('nieuws/overzicht?pagina=' . (int)max(1, $page) . '&aantal=5');
$news = [];
foreach ($apiResult->news as $newsItem) {
$news[] = new \Model\NewsItem($newsItem);
}
return view('partial/newslist_small', ['id' => $id, 'news' => $news]);
}
public function populair(Request $request)
{
$page = (int)$request->get('pagina', 1);
$id = $request->get('id', '');
$populair = [];
$apiResult = $this->API('nieuws/populair?pagina=' . (int)max(1, $page) . '&aantal=5');
foreach ($apiResult->news as $_newsItem) {
$populair[] = new \Model\NewsItem($_newsItem);
}
return view('partial/newslist_small', ['id' => $id, 'news' => $populair]);
}
public function taglist(Request $request, $tag)
{
return $this->listNews($request, 'tag/' . $tag, ucfirst($tag));
}
public function regionlist(Request $request, $region)
{
return $this->listNews($request, 'regio/' . $region, ucfirst($region));
return $this->listNews($request, 'tag/' . $region, ucfirst($region));
}
public function themelist(Request $request, $theme)
{
return $this->listNews($request, 'thema/' . $theme, ucfirst($theme));
return $this->listNews($request, 'tag/' . $theme, ucfirst($theme));
}
public function search(Request $request, $query)
@@ -60,9 +96,9 @@ class NewsController extends Controller
public function activeblog()
{
$apiResult = $this->API('blog/overzicht');
if(count($apiResult)) {
if (count($apiResult)) {
$blog = new \Model\Blog($apiResult[0]);
if($blog->is_active) {
if ($blog->is_active) {
return redirect($blog->url);
}
}
@@ -76,18 +112,16 @@ class NewsController extends Controller
$page = (int)$request->get('pagina', 1);
$hasNext = true;
while($page > 0) {
while ($page > 0) {
$apiResult = $this->API('blog/overzicht/' . (int)$id . '?pagina=' . (int)max(1, $page));
$blog = new \Model\Blog($apiResult->blog);
$items = [];
foreach($apiResult->items as $blogItem)
{
foreach ($apiResult->items as $blogItem) {
$items[] = new \Model\NewsItem($blogItem);
}
if(count($items) || ($page == 1))
{
if (count($items) || ($page == 1)) {
return view('blog', ['blog' => $blog, 'pagina' => $page, 'items' => $items, 'hasNext' => $hasNext && count($items) == 15]);
}
@@ -98,25 +132,52 @@ class NewsController extends Controller
return abort(404);
}
private function listNews(Request $request, $url, $title = null)
private function listNews(Request $request, $url, $title = null, $id = 'items', $total = null)
{
if ($request->ajax()) {
$total = 5;
}
$page = (int)$request->get('pagina', 1);
$apiResult = $this->API('nieuws/' . $url . '?pagina=' . (int)max(1, $page));
$apiResult = $this->API('nieuws/' . $url . '?pagina=' . (int)max(1, $page) . ($total ? '&aantal=' . $total : ''));
$news = [];
foreach($apiResult->news as $newsItem)
{
foreach ($apiResult->news as $newsItem) {
$news[] = new \Model\NewsItem($newsItem);
}
return view($request->ajax() ? 'partial/newslist_small' : ($title == null ? 'home' : 'newslist'), ['title' => $title, 'news' => $news, 'searchURL' => 'nieuws/zoeken']);
$populair = [];
if ($title == null) {
$total = 5;
}
$apiResult = $this->API('nieuws/populair?pagina=' . (int)max(1,
$page) . ($total ? '&aantal=' . $total : ''));
foreach ($apiResult->news as $newsItem) {
$populair[] = new \Model\NewsItem($newsItem);
}
$podcast = null;
$podcasts = [];
if ($title == null) {
$apiResult = $this->API('podcast/overzicht?aantal=3');
$podcast = new \Model\Podcast($apiResult->podcasts[0]);
foreach ($apiResult->podcasts as $_podcast) {
$podcasts[] = new \Model\Podcast($_podcast);
}
}
$newsItems = [];
$apiResult = $this->API('nieuws/overzicht?aantal=5');
foreach ($apiResult->news as $_newsItem) {
$newsItems[] = new \Model\NewsItem($_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']);
}
public function popular()
{
$apiResult = $this->API('nieuws/populair');
$news = [];
foreach($apiResult as $newsItem)
{
foreach ($apiResult->news as $newsItem) {
$news[] = new \Model\NewsItem($newsItem);
}
@@ -130,6 +191,6 @@ class NewsController extends Controller
'title' => 'Regionieuws',
'content' => 'het laatste nieuws uit de regio',
'isStream' => false,
'canDownload' => true ]);
'canDownload' => true]);
}
}

View File

@@ -22,14 +22,14 @@ class PodcastController extends Controller
private function getPodcastList(Request $request, $action, $viewData = [])
{
$page = (int)$request->get('pagina', 1);
$apiResult = $this->API('podcast/' . $action . '?pagina=' . (int)max(1, $page) . '&aantal=100');
$apiResult = $this->API('podcast/' . $action . '?pagina=' . (int)max(1, $page) . '&aantal=8');
$podcasts = [];
foreach($apiResult->podcasts as $podcast)
{
$podcasts[] = new \Model\Podcast($podcast);
}
return view($request->ajax() ? 'partial.podcastitems' : 'podcastseries', array_merge($viewData, ['podcasts' => $podcasts, 'searchURL' => 'gemist/zoeken']));
return view($request->ajax() ? 'partial.podcastitems' : 'podcastseries', array_merge($viewData, ['podcasts' => $podcasts, 'searchURL' => 'gemist/zoeken', 'isPodcast' => true]));
}
public function podcast(Request $request, $id)
@@ -37,6 +37,15 @@ class PodcastController extends Controller
parent::registerView($request, 'podcast', $id);
$apiResult = $this->API('podcast/details/' . (int)$id);
$podcast = new \Model\Podcast($apiResult);
return view('podcastitem', ['podcast' => $podcast, 'metadata' => $podcast->metadata]);
$podcasts = [];
if($podcast->program) {
$apiResult = $this->API('podcast/programma/' . (int)$podcast->program->id . '?pagina=1&aantal=5');
$podcasts = [];
foreach($apiResult->podcasts as $p)
{
$podcasts[] = new \Model\Podcast($p);
}
}
return view('podcastitem', ['podcast' => $podcast, 'metadata' => $podcast->metadata, 'podcasts' => $podcasts, 'isPodcast' => true]);
}
}

View File

@@ -7,24 +7,38 @@ use \Model\Programma;
class RadioController extends Controller
{
public function schedule(Request $request, $shiftWeeks = 0)
public function schedule(Request $request, $date = '')
{
$apiResult = $this->API('programma/schema/week/' . (int)$shiftWeeks);
$start = self::JsonToDateTime($apiResult->startdate);
$end = self::JsonToDateTime($apiResult->enddate);
$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');
$apiResult = $this->API('programma/schema/periode/' . $start . '/' . $end);
$schedule = [];
foreach($apiResult->schedule as $program)
{
$schedule[] = [
$schedule[self::JsonToDateTime($program->start)->format('Ymd')][] = [
'starttime' => self::JsonToDateTime($program->start),
'endtime' => self::JsonToDateTime($program->end),
'shift' => (int)$shiftWeeks,
'shift' => 0,
'program' => new \Model\Program($program->program)
];
}
return view($request->ajax() ? 'radioscheduleweek' : 'radioschedule', ['start' => $start, 'end' => $end, 'schedule' => $schedule, 'shift' => $shiftWeeks]);
if ($date) {
$days = [
'custom' => (new \DateTime($date))->format('Ymd'),
];
} else {
$days = [
'day_before_yesterday' => (new \DateTime("-2 day"))->format('Ymd'),
'yesterday' => (new \DateTime("yesterday"))->format('Ymd'),
'today' => (new \DateTime("now"))->format('Ymd'),
'tomorrow' => (new \DateTime("+1 day"))->format('Ymd'),
'day_after_tomorrow' => (new \DateTime("+2 day"))->format('Ymd'),
'custom' => (new \DateTime($date))->format('Ymd'),
];
}
return view($request->ajax() ? 'partial/radioscheduleweek' : 'radioschedule', ['start' => $start, 'end' => $end, 'schedule' => $schedule, 'shift' => 0, 'days' => $days, 'date' => $date]);
}
public function onair()
@@ -39,23 +53,25 @@ class RadioController extends Controller
return view('radioprogram', ['program' => new \Model\Program($apiResult)]);
}
public function podcast(Request $request, $id)
public function podcast(Request $request, $id, $title = '')
{
if($this->checkAPI('podcast/details/' . (int)$id) != "200"){
return view('podcastitem', array_merge($this->getSidebareData(), ['title' => $title, 'podcast' => null, 'metadata' => null, 'related' => [], 'searchURL' => 'gemist/zoeken', 'isPodcast' => false]));
}
parent::registerView($request, 'podcast', $id);
$apiResult = $this->API('podcast/details/' . (int)$id);
$podcast = new \Model\Podcast($apiResult);
$related = [];
if($podcast->program != null)
$page = (int)$request->get('pagina', 1);
$apiResult = $this->API('podcast/overzicht?pagina=' . (int)max(1, $page) . '&aantal=6');
$podcasts = [];
foreach($apiResult->podcasts as $_podcast)
{
$apiRelated = $this->API("podcast/programma/{$podcast->program->id}?date={$podcast->created->format('Y-m-d')}");
foreach($apiRelated->podcasts as $relatedItem)
{
$related[] = new \Model\Podcast($relatedItem);
}
$podcasts[] = new \Model\Podcast($_podcast);
}
return view('podcastitem', ['podcast' => $podcast, 'metadata' => $podcast->metadata, 'related' => $related, 'searchURL' => 'gemist/zoeken']);
return view($request->ajax() ? 'partial/podcastitems' : 'podcastitem', ['title' => $title, 'podcast' => $podcast, 'metadata' => $podcast->metadata, 'podcasts' => $podcasts, 'searchURL' => 'gemist/zoeken', 'isPodcast' => false]);
}
public function podcasts(Request $request, $programma = null)
@@ -67,7 +83,7 @@ class RadioController extends Controller
$viewData['program'] = new \Model\Program($this->API('programma/details/' . (int)$programma));
}
return $this->getPodcastList($request, $action, $viewData);
return $this->getPodcastList($request, $action, array_merge($this->getSidebareData(), $viewData));
}
public function searchpodcast(Request $request, $query)
@@ -79,7 +95,8 @@ class RadioController extends Controller
{
$programs = [];
$now = new \DateTimeImmutable('2 minutes ago');
$apiResult = $this->API('programma/schema/recent');
$page = (int)$request->get('pagina', 1);
$apiResult = $this->API('programma/schema/recent?pagina=' . (int)max(1, $page) . '&aantal=12');
foreach($apiResult->schedule as $item) {
if(!$item->program->nonstop && !$item->program->rerun) {
$item->start = self::JsonToDateTime($item->start);
@@ -90,7 +107,7 @@ class RadioController extends Controller
}
}
return view('programlist', ['programs' => array_reverse($programs)]);
return view($request->ajax() ? 'partial/programitems' : 'programlist', ['programs' => array_reverse($programs), 'isPodcast' => false]);
}
private function getPodcastList(Request $request, $action, $viewData = [])
@@ -103,7 +120,7 @@ class RadioController extends Controller
$podcasts[] = new \Model\Podcast($podcast);
}
return view($request->ajax() ? 'partial.podcastitems' : 'podcastlist', array_merge($viewData, ['podcasts' => $podcasts, 'searchURL' => 'gemist/zoeken']));
return view($request->ajax() ? 'partial/podcastitems' : 'podcastlist', array_merge($viewData, ['id' => 'items-podcasts', 'podcasts' => $podcasts, 'searchURL' => 'gemist/zoeken', 'isPodcast' => false]));
}
}

View File

@@ -20,13 +20,25 @@ class StreamController extends Controller
public function livetv()
{
return view('watch', ['stream' => 'https://rrr.sz.xlcdn.com/?account=nhnieuws&file=nhgooi&type=live&service=wowza&protocol=https&output=playlist.m3u8']);
return view('watch', ['title' => 'Kijk NH Gooi Tv', 'stream' => 'https://rrr.sz.xlcdn.com/?account=nhnieuws&file=nhgooi&type=live&service=wowza&protocol=https&output=playlist.m3u8']);
// return view('watch', ['stream' => 'https://stream.nhgooi.nl:81/tv']);
}
public function studio()
{
return view('watch', ['stream' => 'https://stream.nhgooi.nl:81/live/studio']);
// return view('watch', ['stream' => 'https://stream.nhgooi.nl:81/live/studio']);
return view('watch', ['title' => 'Kijk NH Gooi Tv Studio', 'stream' => 'https://studiocam.nhgooi.nl/studiocam/live/index.m3u8']);
}
public function inline(Request $request, $id)
{
$apiResult = $this->API('podcast/details/' . (int)$id);
$podcast = new \Model\Podcast($apiResult);
if(sha1($id . ':' . date('Y-m-d')) != $request->get('auth')) {
// return view('widgets/podcastplayer', ['podcast' => null]);
}
return view('widgets/podcastplayer', ['podcast' => $podcast]);
}
public function podcast(Request $request, $id)
@@ -38,11 +50,11 @@ class StreamController extends Controller
}
return view('listen', [
'source' => $this->API_URL . 'podcast/download' . $apiResult->url . '?auth=' . $podcast->auth,
'source' => $this->API_URL . 'podcast/stream/' . $apiResult->url,
'title' => $podcast->title,
'content' => $podcast->title,
'isStream' => false,
'canDownload' => true ]);
'canDownload' => $this->API_URL . 'podcast/download/' . $apiResult->url ]);
}
public function program(Request $request, $year, $month, $day, $hour, $duration, $offset = 0) {
@@ -57,7 +69,7 @@ class StreamController extends Controller
}
return view('listen', [
'source' => $this->API_URL . 'programma/download/' . $current->format('Y/m/d/H') . '/1',
'source' => $this->API_URL . 'programma/stream/' . $current->format('Y/m/d/H'),
'tabs' => $hours,
'title' => 'Uitzending terugluisteren',
'content' => 'de uitzending van ' . $current->format('d-m-Y, H') . ':00 uur',
@@ -76,10 +88,10 @@ class StreamController extends Controller
public function kerkdienst(Request $request) {
return view('listen', [
'source' => $this->API_URL . 'kerkdienst/download',
'source' => $this->API_URL . 'kerkdienst/stream',
'title' => 'Kerkdienst gemist',
'content' => 'de kerkdienst van afgelopen zondag',
'isStream' => false,
'canDownload' => true ]);
'canDownload' => $this->API_URL . 'kerkdienst/download' ]);
}
}

23
app/Models/Blog.php Normal file
View 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);
}
}

View File

@@ -0,0 +1,67 @@
<?php
namespace Model;
class CalendarEvent extends Model {
public $id;
public $title;
public $region;
public $content;
public $starts;
public $ends;
public $images;
public $podcast;
public $video;
public $keywords;
public $url;
public $metadata;
public $tags;
public function __construct($data, $images = null, $podcast = null) {
parent::__construct($data);
parent::ConvertToDateTime($this->starts);
parent::ConvertToDateTime($this->ends);
$this->keywords = null;
if(isset($data->keywords)) {
if(is_array($data->keywords)) {
$this->keywords = $data->keywords;
} else if(trim($data->keywords)) {
$this->keywords = explode(' ', $data->keywords);
}
}
if($podcast)
{
$this->podcast = new \Model\Podcast($podcast);
} else if(isset($data->podcast) && $data->podcast) {
$this->podcast = new \Model\Podcast($data->podcast);
}
$images = ($images != null) ? $images
: (isset($data->images) ? $data->images : null);
if($images) {
$this->images = [];
foreach($images as $image) {
$this->images[] = new NewsImage($image, '/img/news/');
}
}
$this->url = "/agenda/{$this->id}/" . parent::url_slug($this->title);
$this->metadata = (new MetaData())
->set('title', $this->title)
->set('description', strip_tags($this->excerpt()))
->set('image', isset($this->images) && count($this->images) ? $this->images[0]->url : null )
->set('audio', isset($this->podcast) ? $this->podcast->url : null)
;
}
public function excerpt() {
$hasImages = isset($this->images) && count($this->images) > 0;
$maxLength = $hasImages ? 200 : 500;
return '<p class="news-excerpt ' . ($hasImages ? 'short' : 'long') . '">' .
substr($this->content, 0, $maxLength) .
(strlen($this->content) > $maxLength ? '...' : '') .
'</p>';
}
}

61
app/Models/JobOpening.php Normal file
View File

@@ -0,0 +1,61 @@
<?php
namespace Model;
class JobOpening extends Model {
public $id;
public $title;
public $content;
public $starts;
public $ends;
public $images;
public $url;
public function __construct($data, $images = null, $podcast = null) {
parent::__construct($data);
parent::ConvertToDateTime($this->starts);
parent::ConvertToDateTime($this->ends);
$this->keywords = null;
if(isset($data->keywords)) {
if(is_array($data->keywords)) {
$this->keywords = $data->keywords;
} else if(trim($data->keywords)) {
$this->keywords = explode(' ', $data->keywords);
}
}
if($podcast)
{
$this->podcast = new \Model\Podcast($podcast);
} else if(isset($data->podcast) && $data->podcast) {
$this->podcast = new \Model\Podcast($data->podcast);
}
$images = ($images != null) ? $images
: (isset($data->images) ? $data->images : null);
if($images) {
$this->images = [];
foreach($images as $image) {
$this->images[] = new NewsImage($image, '/img/news/');
}
}
$this->url = "/vacatures/{$this->id}/" . parent::url_slug($this->title);
$this->metadata = (new MetaData())
->set('title', $this->title)
->set('description', strip_tags($this->excerpt()))
->set('image', isset($this->images) && count($this->images) ? $this->images[0]->url : null )
->set('audio', isset($this->podcast) ? $this->podcast->url : null)
;
}
public function excerpt() {
$hasImages = count($this->images) > 0;
$maxLength = $hasImages ? 200 : 500;
return '<p class="news-excerpt ' . ($hasImages ? 'short' : 'long') . '">' .
substr($this->content, 0, $maxLength) .
(strlen($this->content) > $maxLength ? '...' : '') .
'</p>';
}
}

26
app/Models/Kerkdienst.php Normal file
View File

@@ -0,0 +1,26 @@
<?php
namespace Model;
class KerkdienstInstance extends Model {
public $name;
public $start;
public function __construct($data) {
parent::__construct($data);
parent::ConvertToDateTime($this->start);
}
}
class Kerkdienst extends Model {
public $isRunning;
public $previous;
public $next;
public function __construct($data) {
// parent::__construct($data);
$this->isRunning = $data->isRunning;
$this->previous = new KerkdienstInstance($data->previous);
$this->next = new KerkdienstInstance($data->next);
}
}

35
app/Models/MetaData.php Normal file
View File

@@ -0,0 +1,35 @@
<?php
namespace Model;
class MetaData {
private $data = ['type' => 'article', 'locale' => 'nl-nl'];
public function set($prop, $val) {
if($val) {
$this->data[$prop] = $val;
}
return $this;
}
public function append($prop, $val) {
if(array_key_exists($prop, $this->data)) {
$this->data[$prop] .= $val;
}
return $this;
}
public function prepend($prop, $val) {
if(array_key_exists($prop, $this->data)) {
$this->data[$prop] = $val . $this->data[$prop];
}
return $this;
}
public function metaTags() {
foreach($this->data as $prop => $val) {
if($val) {
echo "<meta property=\"og:$prop\" content=\"" . htmlentities($val) . "\" />\n";
}
}
}
}

64
app/Models/Model.php Normal file
View File

@@ -0,0 +1,64 @@
<?php
namespace Model;
class Model {
protected function ConvertToDateTime(&$field) {
if($field) {
// PHP7 JSON-encodes to {date: "", "timezone_type": ..., "timezone": "UTC" }
// In that case $field will be an object
if(is_object($field)) {
$field = ($field->timezone)
? new \DateTimeImmutable($field->date, new \DateTimeZone($field->timezone))
: (new \DateTimeImmutable($field->date));
} else {
// If $field is not an object, assume it's a plain, valid, string
$field = new \DateTime($field);
}
if($field === false || $field->getTimestamp() <= 0) {
// If field had data but is invalid DateTime or is 0000-00-00 00:00, set it to null.
$field = null;
} else {
// If valid, return local timezone
$field->setTimezone(new \DateTimeZone("Europe/Amsterdam"));
}
}
}
public function __construct($data) {
$class = get_class($this);
foreach($data as $key => $val) {
if(property_exists($class, $key)) {
$this->$key = is_string($val) ? stripslashes($val) : $val;
}
}
}
public function url_slug($text) {
// Alles naar kleine letter
$text = strtolower($text);
// Vervang accent-tekens door niet-geaccentueerde versies
// $text = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $text);
$search = explode(",","ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,e,i,ø,u");
$replace = explode(",","c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u");
$text = str_replace($search, $replace, $text);
// Verwijder alle woorden van 3 letters, behalve BEL (BEL-combinatie etc)
if(strlen($text) > 3) {
$text = preg_replace('/\b(?!bel|fm|nh)([a-z]{1,3})\b/u', '', $text);
}
// Vervang alles dat niet een woord-karakter is (letter, cijfer), een streepje of spatie
if(strlen($text) > 3) {
$text = preg_replace('/[^\w_\-\s]/', '', $text);
}
// Reeksen van één of meer spaties / streepjes vervangen door een enkel streepje
$text = preg_replace('/[\-\s]+/', '-', $text);
// Verwijder alle witruimte / streepjes aan begin en eind
return trim(strtolower($text), '-');
}
}

20
app/Models/NewsImage.php Normal file
View File

@@ -0,0 +1,20 @@
<?php
namespace Model;
class NewsImage extends Model {
public $id;
public $title;
public $author;
public $url;
public function __construct($data, $urlPrefix = '/') {
parent::__construct($data);
// Deserialisatie van JSON heeft url in data,
// lezen uit database heeft file en (als het goed is) urlPrefix
if(isset($data->file)) {
$this->url = $urlPrefix . $data->file;
}
}
}

118
app/Models/NewsItem.php Normal file
View File

@@ -0,0 +1,118 @@
<?php
namespace Model;
require_once "NewsImage.php";
require_once "NewsSource.php";
require_once "MetaData.php";
class NewsItem extends Model {
public $id;
public $title;
public $author;
public $content;
public $published;
public $edited;
public $keywords;
public $source;
public $category;
public $theme;
public $region;
public $tags;
public $podcast;
public $images;
public $video;
public $url;
public $metadata;
public function __construct($data, $images = null, $podcast = null) {
parent::__construct($data);
parent::ConvertToDateTime($this->published);
parent::ConvertToDateTime($this->edited);
if($this->edited && ($this->edited->getTimestamp() - $this->published->getTimestamp() < 1800 /* == 30 minutes */)) {
// If last edit was within grace period, consider it unedited (note: currently RES always saves edited == published on creation)
$this->edited = null;
}
$this->source = null;
if(isset($data->source))
{
if(is_object($data->source))
{
$this->source = new \Model\NewsSource($data->source->title, $data->source->url, $data->source->show);
} else if($data->source) {
$this->source = new \Model\NewsSource($data->source, $data->source_url, $data->showsource);
}
}
if($podcast) {
$this->podcast = new \Model\Podcast($podcast);
} else if(isset($data->podcast) && $data->podcast) {
$this->podcast = new \Model\Podcast($data->podcast);
}
$this->keywords = null;
if(isset($data->keywords)) {
if(is_array($data->keywords) || is_object($data->keywords)) {
$this->keywords = $data->keywords;
} else if(trim($data->keywords)) {
$this->keywords = explode(' ', $data->keywords);
}
}
if(isset($data->region)) {
if(is_object($data->region)) {
$this->region = new \Model\NewsRegion($data->region->title, $data->region->slug);
} else {
$this->region = new \Model\NewsRegion($data->region, $data->region_slug);
}
}
if(isset($data->theme)) {
if(is_object($data->theme)) {
$this->theme = new \Model\NewsRegion($data->theme->title, $data->theme->slug);
} else {
$this->theme = new \Model\NewsRegion($data->theme, $data->theme_slug);
}
}
if(isset($data->tags)) {
foreach($data->tags as $tag) {
$this->theme = new \Model\NewsRegion($tag->titel, $tag->slug);
}
}
$images = ($images != null) ? $images
: (isset($data->images) ? $data->images : null);
if($images) {
$this->images = [];
foreach($images as $image) {
$this->images[] = new NewsImage($image, '/img/news/');
}
}
$this->url = "/nieuws/{$this->id}/" . parent::url_slug($this->title);
$this->metadata = (new MetaData())
->set('title', $this->title)
->set('description', strip_tags($this->excerpt()))
->set('image', isset($this->images) && count($this->images) ? $this->images[0]->url : null )
->set('video', isset($this->video) ? $this->video : null)
->set('audio', isset($this->podcast) ? $this->podcast->url : null)
->set('article:published_time', $this->published->format('r'))
->set('article:modified_time', $this->edited ? $this->edited->format('r') : null)
;
}
public function excerpt() {
$hasImages = isset($this->images) && count($this->images) > 0;
$maxLength = $hasImages ? 200 : 500;
return '<p class="news-excerpt ' . ($hasImages ? 'short' : 'long') . '">' .
substr($this->content, 0, $maxLength) .
(strlen($this->content) > $maxLength ? '...' : '') .
'</p>';
}
}

25
app/Models/NewsSource.php Normal file
View File

@@ -0,0 +1,25 @@
<?php
namespace Model;
class NewsRegion {
public $title;
public $slug;
public function __construct($title, $slug = null) {
$this->title = $title;
$this->slug = $slug ? $slug : strtolower(str_replace(' ', '', $title));
}
}
class NewsSource {
public $title;
public $url;
public $show;
public function __construct($title, $url, $show) {
$this->title = $title;
$this->url = $url;
$this->show = $show;
}
}

94
app/Models/Podcast.php Normal file
View File

@@ -0,0 +1,94 @@
<?php
namespace Model;
require_once "NewsImage.php";
class Podcast extends Model {
public $id;
public $title;
public $content;
protected $soundfilename;
public $created;
public $program;
public $url;
public $auth;
public $download;
public $duration;
public $image;
public $metadata;
public $waveform;
private $key;
public function __construct($data) {
parent::__construct($data);
parent::ConvertToDateTime($this->created);
$this->url = '/' . $this->id . '/' . parent::url_slug($this->title) . '.mp3';
if($this->soundfilename) {
// Only generate when not constructing from a JSON object
$this->key = sha1($this->id . ':' . date('Y-m-d') . ':' . $this->soundfilename);
$this->auth = $this->key;
}
if(isset($data->program)) {
$this->program = null;
if(is_object($data->program)) {
$this->program = new \Model\Program($data->program);
} elseif($data->program) {
$this->program = new \Model\Program(['id' => $data->program, 'name' => $data->program_name, 'description' => $data->program_description]);
}
}
if(isset($data->imagefile)) {
$imagedata = new \stdClass();
$imagedata->id = $this->id;
$imagedata->file = $data->imagefile;
$imagedata->title = $data->imagecaption;
$this->image = new NewsImage($imagedata, '/img/podcast/');
}
if(isset($data->metadata, $data->metadata->waveform)){
$this->waveform = $data->metadata->waveform;
}
$this->metadata = (new MetaData())
->set('title', $this->title)
->set('description', strip_tags($this->excerpt()))
->set('image', isset($this->image) ? $this->image->url : null )
->set('audio', $this->url)
;
}
public function titleWithoutProgram() {
if(!$this->program) { return $this->title; }
return trim(str_replace($this->program->name, '', $this->title), "- \t\n\r\0\x0B");
}
public function isValidAuth($key) {
return ($key == $this->key);
}
public function getSoundfile() {
return '/var/audio/podcast/' . $this->soundfilename;
}
public function formatDuration() {
$seconds = $this->duration / 1000;
$milliseconds = $this->duration % 1000;
$hours = ($seconds > 3600) ? floor($seconds / 3600) : 0;
$seconds %= 3600;
return str_pad($hours, 2, '0', STR_PAD_LEFT)
. gmdate(':i:s', $seconds)
;//. ($milliseconds ? ".$milliseconds" : '') ;
}
public function excerpt() {
$maxLength = 500;
return '<p class="news-excerpt long">' .
substr($this->content, 0, $maxLength) .
(strlen($this->content) > $maxLength ? '...' : '') .
'</p>';
}
}

55
app/Models/Program.php Normal file
View File

@@ -0,0 +1,55 @@
<?php
namespace Model;
class Program extends Model {
public $id;
public $name;
public $tagline;
public $description;
public $email;
public $nonstop;
public $rerun;
public $priority;
public $image;
public $hosts;
public $recent;
public $next;
public function __construct($data) {
parent::__construct($data);
if(isset($data->suffix) && $data->suffix) {
$this->name .= ' ' . $data->suffix;
}
if($this->recent && $this->recent) {
foreach($this->recent as &$recent) {
parent::ConvertToDateTime($recent->starts);
parent::ConvertToDateTime($recent->ends);
}
}
if($this->next && $this->next) {
foreach($this->next as &$next) {
parent::ConvertToDateTime($next->starts);
parent::ConvertToDateTime($next->ends);
}
}
if(isset($data->email) && ($mailComma = strpos($data->email, ',')) !== false) {
$this->email = substr($data->email, 0, $mailComma);
}
if(isset($data->state)) {
$this->nonstop = $data->state == 0;
$this->rerun = $data->state == 3;
}
$this->url = "/{$this->id}/" . parent::url_slug($this->name);
}
public function isSpecial() {
return ($this->priority < 2);
}
}

View File

@@ -0,0 +1,10 @@
<?php
namespace Model;
class ProgramHost extends Model {
public $id;
public $name;
public $email;
}

47
app/Models/Track.php Normal file
View File

@@ -0,0 +1,47 @@
<?php
namespace Model;
class Track extends Model {
public $start;
public $itemCode;
public $title;
public $artist;
public $duration;
public $ends;
public $isLayout;
public function __construct($data) {
parent::__construct($data);
parent::ConvertToDateTime($this->start);
parent::ConvertToDateTime($this->ends);
$isLayout = $this->isLayout();
}
private static $IDENTS = ['UURSLUITER' => 'Nieuws', 'NIEUWSOPEN ' => 'Nieuws', 'ANWB' => 'Verkeersinformatie', 'REGIO' => 'Regionieuws', 'CB' => 'Reclame'];
public function isLayout() {
foreach(self::$IDENTS as $ident => $display) {
if(substr($this->itemCode, 0, strlen($ident)) == $ident || substr($this->title, 0, strlen($ident)) == $ident) {
$this->title = $display;
$this->artist = "";
$this->itemCode = '_' . $this->itemCode;
return false;
}
}
if(strlen($this->itemCode) > 0 && ($this->itemCode[0] == 'V')) {
return true;
}
return false;
}
public function ends($ends = null) {
$this->ends = $ends;
}
public function secondsRemaining() {
return ($this->ends) ? ($this->ends->getTimestamp() - time()) : -1;
}
}

View File

@@ -13,7 +13,7 @@ class AppServiceProvider extends ServiceProvider
*/
public function boot()
{
//
\Illuminate\Support\Facades\URL::forceScheme('https');
}
/**

67
bootstrap/cache/packages.php vendored Executable file
View File

@@ -0,0 +1,67 @@
<?php return array (
'laravel/sail' =>
array (
'providers' =>
array (
0 => 'Laravel\\Sail\\SailServiceProvider',
),
),
'laravel/sanctum' =>
array (
'providers' =>
array (
0 => 'Laravel\\Sanctum\\SanctumServiceProvider',
),
),
'laravel/tinker' =>
array (
'providers' =>
array (
0 => 'Laravel\\Tinker\\TinkerServiceProvider',
),
),
'laravelcollective/html' =>
array (
'providers' =>
array (
0 => 'Collective\\Html\\HtmlServiceProvider',
),
'aliases' =>
array (
'Form' => 'Collective\\Html\\FormFacade',
'Html' => 'Collective\\Html\\HtmlFacade',
),
),
'nesbot/carbon' =>
array (
'providers' =>
array (
0 => 'Carbon\\Laravel\\ServiceProvider',
),
),
'nunomaduro/collision' =>
array (
'providers' =>
array (
0 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
),
),
'nunomaduro/termwind' =>
array (
'providers' =>
array (
0 => 'Termwind\\Laravel\\TermwindServiceProvider',
),
),
'spatie/laravel-ignition' =>
array (
'providers' =>
array (
0 => 'Spatie\\LaravelIgnition\\IgnitionServiceProvider',
),
'aliases' =>
array (
'Flare' => 'Spatie\\LaravelIgnition\\Facades\\Flare',
),
),
);

235
bootstrap/cache/services.php vendored Normal file → Executable file
View File

@@ -12,23 +12,31 @@
8 => 'Illuminate\\Filesystem\\FilesystemServiceProvider',
9 => 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider',
10 => 'Illuminate\\Hashing\\HashServiceProvider',
11 => 'Collective\\Html\\HtmlServiceProvider',
12 => 'Illuminate\\Mail\\MailServiceProvider',
13 => 'Illuminate\\Notifications\\NotificationServiceProvider',
14 => 'Illuminate\\Pagination\\PaginationServiceProvider',
15 => 'Illuminate\\Pipeline\\PipelineServiceProvider',
16 => 'Illuminate\\Queue\\QueueServiceProvider',
17 => 'Illuminate\\Redis\\RedisServiceProvider',
18 => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider',
19 => 'Illuminate\\Session\\SessionServiceProvider',
20 => 'Illuminate\\Translation\\TranslationServiceProvider',
21 => 'Illuminate\\Validation\\ValidationServiceProvider',
22 => 'Illuminate\\View\\ViewServiceProvider',
23 => 'Laravel\\Tinker\\TinkerServiceProvider',
24 => 'App\\Providers\\AppServiceProvider',
25 => 'App\\Providers\\AuthServiceProvider',
26 => 'App\\Providers\\EventServiceProvider',
27 => 'App\\Providers\\RouteServiceProvider',
11 => 'Illuminate\\Mail\\MailServiceProvider',
12 => 'Illuminate\\Notifications\\NotificationServiceProvider',
13 => 'Illuminate\\Pagination\\PaginationServiceProvider',
14 => 'Illuminate\\Pipeline\\PipelineServiceProvider',
15 => 'Illuminate\\Queue\\QueueServiceProvider',
16 => 'Illuminate\\Redis\\RedisServiceProvider',
17 => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider',
18 => 'Illuminate\\Session\\SessionServiceProvider',
19 => 'Illuminate\\Translation\\TranslationServiceProvider',
20 => 'Illuminate\\Validation\\ValidationServiceProvider',
21 => 'Illuminate\\View\\ViewServiceProvider',
22 => 'Laravel\\Sail\\SailServiceProvider',
23 => 'Laravel\\Sanctum\\SanctumServiceProvider',
24 => 'Laravel\\Tinker\\TinkerServiceProvider',
25 => 'Collective\\Html\\HtmlServiceProvider',
26 => 'Carbon\\Laravel\\ServiceProvider',
27 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
28 => 'Termwind\\Laravel\\TermwindServiceProvider',
29 => 'Spatie\\LaravelIgnition\\IgnitionServiceProvider',
30 => 'Collective\\Html\\HtmlServiceProvider',
31 => 'Laravel\\Tinker\\TinkerServiceProvider',
32 => 'App\\Providers\\AppServiceProvider',
33 => 'App\\Providers\\AuthServiceProvider',
34 => 'App\\Providers\\EventServiceProvider',
35 => 'App\\Providers\\RouteServiceProvider',
),
'eager' =>
array (
@@ -42,10 +50,15 @@
7 => 'Illuminate\\Pagination\\PaginationServiceProvider',
8 => 'Illuminate\\Session\\SessionServiceProvider',
9 => 'Illuminate\\View\\ViewServiceProvider',
10 => 'App\\Providers\\AppServiceProvider',
11 => 'App\\Providers\\AuthServiceProvider',
12 => 'App\\Providers\\EventServiceProvider',
13 => 'App\\Providers\\RouteServiceProvider',
10 => 'Laravel\\Sanctum\\SanctumServiceProvider',
11 => 'Carbon\\Laravel\\ServiceProvider',
12 => 'NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider',
13 => 'Termwind\\Laravel\\TermwindServiceProvider',
14 => 'Spatie\\LaravelIgnition\\IgnitionServiceProvider',
15 => 'App\\Providers\\AppServiceProvider',
16 => 'App\\Providers\\AuthServiceProvider',
17 => 'App\\Providers\\EventServiceProvider',
18 => 'App\\Providers\\RouteServiceProvider',
),
'deferred' =>
array (
@@ -55,85 +68,122 @@
'Illuminate\\Bus\\Dispatcher' => 'Illuminate\\Bus\\BusServiceProvider',
'Illuminate\\Contracts\\Bus\\Dispatcher' => 'Illuminate\\Bus\\BusServiceProvider',
'Illuminate\\Contracts\\Bus\\QueueingDispatcher' => 'Illuminate\\Bus\\BusServiceProvider',
'Illuminate\\Bus\\BatchRepository' => 'Illuminate\\Bus\\BusServiceProvider',
'Illuminate\\Bus\\DatabaseBatchRepository' => 'Illuminate\\Bus\\BusServiceProvider',
'cache' => 'Illuminate\\Cache\\CacheServiceProvider',
'cache.store' => 'Illuminate\\Cache\\CacheServiceProvider',
'cache.psr6' => 'Illuminate\\Cache\\CacheServiceProvider',
'memcached.connector' => 'Illuminate\\Cache\\CacheServiceProvider',
'command.cache.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.cache.forget' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.clear-compiled' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.auth.resets.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.config.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.config.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.down' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.environment' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.key.generate' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.migrate' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.migrate.install' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.migrate.refresh' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.migrate.reset' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.migrate.rollback' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.migrate.status' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.optimize' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.queue.failed' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.queue.flush' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.queue.forget' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.queue.listen' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.queue.restart' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.queue.retry' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.queue.work' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.route.cache' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.route.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.route.list' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.seed' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Cache\\RateLimiter' => 'Illuminate\\Cache\\CacheServiceProvider',
'Illuminate\\Foundation\\Console\\AboutCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Cache\\Console\\ClearCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Cache\\Console\\ForgetCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ClearCompiledCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Auth\\Console\\ClearResetsCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ConfigCacheCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ConfigClearCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\DbCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\MonitorCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\PruneCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\ShowCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\TableCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\WipeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\DownCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\EnvironmentCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\EnvironmentDecryptCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\EnvironmentEncryptCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\EventCacheCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\EventClearCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\EventListCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\KeyGenerateCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\OptimizeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\OptimizeClearCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\PackageDiscoverCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\ClearCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\ListFailedCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\FlushFailedCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\ForgetFailedCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\ListenCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\MonitorCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\PruneBatchesCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\PruneFailedJobsCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\RestartCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\RetryCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\RetryBatchCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\WorkCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\RouteCacheCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\RouteClearCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\RouteListCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\DumpCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Seeds\\SeedCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Console\\Scheduling\\ScheduleFinishCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Console\\Scheduling\\ScheduleListCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Console\\Scheduling\\ScheduleRunCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.storage.link' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.up' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.view.clear' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.app.name' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.auth.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.cache.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.console.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.controller.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.event.generate' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.event.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.job.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.listener.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.mail.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.middleware.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.migrate.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.model.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.notification.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.notification.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.policy.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.provider.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.queue.failed-table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.queue.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.request.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.seeder.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.session.table' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.serve' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.test.make' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'command.vendor.publish' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Console\\Scheduling\\ScheduleClearCacheCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Console\\Scheduling\\ScheduleTestCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Console\\Scheduling\\ScheduleWorkCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ShowModelCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\StorageLinkCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\UpCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ViewCacheCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ViewClearCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Cache\\Console\\CacheTableCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\CastMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ChannelMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ComponentMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ConsoleMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Routing\\Console\\ControllerMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\DocsCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\EventGenerateCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\EventMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ExceptionMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Factories\\FactoryMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\JobMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ListenerMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\MailMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Routing\\Console\\MiddlewareMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ModelMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\NotificationMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Notifications\\Console\\NotificationTableCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ObserverMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\PolicyMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ProviderMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\FailedTableCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\TableCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Queue\\Console\\BatchesTableCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\RequestMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ResourceMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\RuleMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ScopeMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Seeds\\SeederMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Session\\Console\\SessionTableCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\ServeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\StubPublishCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\TestMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Foundation\\Console\\VendorPublishCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'migrator' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'migration.repository' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'migration.creator' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Migrations\\MigrateCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Migrations\\FreshCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Migrations\\InstallCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Migrations\\RefreshCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Migrations\\ResetCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Migrations\\RollbackCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Migrations\\StatusCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'Illuminate\\Database\\Console\\Migrations\\MigrateMakeCommand' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'composer' => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
'hash' => 'Illuminate\\Hashing\\HashServiceProvider',
'html' => 'Collective\\Html\\HtmlServiceProvider',
'form' => 'Collective\\Html\\HtmlServiceProvider',
'Collective\\Html\\HtmlBuilder' => 'Collective\\Html\\HtmlServiceProvider',
'Collective\\Html\\FormBuilder' => 'Collective\\Html\\HtmlServiceProvider',
'hash.driver' => 'Illuminate\\Hashing\\HashServiceProvider',
'mail.manager' => 'Illuminate\\Mail\\MailServiceProvider',
'mailer' => 'Illuminate\\Mail\\MailServiceProvider',
'swift.mailer' => 'Illuminate\\Mail\\MailServiceProvider',
'swift.transport' => 'Illuminate\\Mail\\MailServiceProvider',
'Illuminate\\Mail\\Markdown' => 'Illuminate\\Mail\\MailServiceProvider',
'Illuminate\\Contracts\\Pipeline\\Hub' => 'Illuminate\\Pipeline\\PipelineServiceProvider',
'queue' => 'Illuminate\\Queue\\QueueServiceProvider',
'queue.worker' => 'Illuminate\\Queue\\QueueServiceProvider',
'queue.listener' => 'Illuminate\\Queue\\QueueServiceProvider',
'queue.failer' => 'Illuminate\\Queue\\QueueServiceProvider',
'queue.connection' => 'Illuminate\\Queue\\QueueServiceProvider',
'queue.failer' => 'Illuminate\\Queue\\QueueServiceProvider',
'queue.listener' => 'Illuminate\\Queue\\QueueServiceProvider',
'queue.worker' => 'Illuminate\\Queue\\QueueServiceProvider',
'redis' => 'Illuminate\\Redis\\RedisServiceProvider',
'redis.connection' => 'Illuminate\\Redis\\RedisServiceProvider',
'auth.password' => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider',
@@ -142,7 +192,13 @@
'translation.loader' => 'Illuminate\\Translation\\TranslationServiceProvider',
'validator' => 'Illuminate\\Validation\\ValidationServiceProvider',
'validation.presence' => 'Illuminate\\Validation\\ValidationServiceProvider',
'Laravel\\Sail\\Console\\InstallCommand' => 'Laravel\\Sail\\SailServiceProvider',
'Laravel\\Sail\\Console\\PublishCommand' => 'Laravel\\Sail\\SailServiceProvider',
'command.tinker' => 'Laravel\\Tinker\\TinkerServiceProvider',
'html' => 'Collective\\Html\\HtmlServiceProvider',
'form' => 'Collective\\Html\\HtmlServiceProvider',
'Collective\\Html\\HtmlBuilder' => 'Collective\\Html\\HtmlServiceProvider',
'Collective\\Html\\FormBuilder' => 'Collective\\Html\\HtmlServiceProvider',
),
'when' =>
array (
@@ -161,9 +217,6 @@
'Illuminate\\Hashing\\HashServiceProvider' =>
array (
),
'Collective\\Html\\HtmlServiceProvider' =>
array (
),
'Illuminate\\Mail\\MailServiceProvider' =>
array (
),
@@ -185,8 +238,14 @@
'Illuminate\\Validation\\ValidationServiceProvider' =>
array (
),
'Laravel\\Sail\\SailServiceProvider' =>
array (
),
'Laravel\\Tinker\\TinkerServiceProvider' =>
array (
),
'Collective\\Html\\HtmlServiceProvider' =>
array (
),
),
);

View File

@@ -1,28 +1,33 @@
{
"name": "laravel/laravel",
"type": "project",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/tinker": "~1.0",
"laravelcollective/html": "5.*"
"php": "^8.0",
"guzzlehttp/guzzle": "^7.2",
"laravel/framework": "^9.19",
"laravel/sanctum": "^3.0",
"laravel/tinker": "^2.7",
"laravelcollective/html": "^6.3"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.7"
"fakerphp/faker": "^1.9.1",
"laravel/pint": "^1.0",
"laravel/sail": "^1.0.1",
"mockery/mockery": "^1.4.4",
"nunomaduro/collision": "^6.1",
"phpunit/phpunit": "^9.5.10",
"spatie/laravel-ignition": "^1.0"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/",
"Helpers\\": "app/Helpers/",
"Model\\": "../api-dev/common/classes/"
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"Helpers\\": "app/Helpers",
"Model\\": "app/Models"
}
},
"autoload-dev": {
@@ -31,24 +36,33 @@
}
},
"scripts": {
"post-root-package-install": [
"php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
"post-autoload-dump": [
"Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
"@php artisan package:discover --ansi"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
"@php artisan vendor:publish --tag=laravel-assets --ansi --force"
],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"@php artisan key:generate --ansi"
]
},
"extra": {
"laravel": {
"dont-discover": []
}
},
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
"allow-plugins": {
"pestphp/pest-plugin": true
}
},
"minimum-stability": "dev",
"prefer-stable": true
}

7167
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -105,7 +105,7 @@ return [
'key' => env('APP_KEY'),
'cipher' => 'AES-256-CBC',
'cipher' => 'aes-256-cbc',
/*
|--------------------------------------------------------------------------

View File

@@ -161,7 +161,7 @@ return [
|
*/
'secure' => env('SESSION_SECURE_COOKIE', false),
'secure' => env('SESSION_SECURE_COOKIE', null),
/*
|--------------------------------------------------------------------------

View File

@@ -0,0 +1,34 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePagestatsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('pagestats', function (Blueprint $table) {
$table->string('type');
$table->integer('item_id');
$table->string('visitor_ip');
$table->string('session');
$table->text('referer')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('pagestats');
}
}

24
docker-compose.dev.yml Normal file
View File

@@ -0,0 +1,24 @@
version: '3.8'
services:
web:
build:
context: ./
dockerfile: Dockerfile.dev
ports:
- 8080:80
- 8443:443
volumes:
- .:/var/www/html
- ./srv:/srv
db:
image: mysql:5.5
ports:
- "3306:3306"
expose:
- "3306"
environment:
MYSQL_ROOT_PASSWORD: development-password
MYSQL_DATABASE: forge
MYSQL_USER: forge
MYSQL_PASSWORD: secret

22
docker-compose.yml Normal file
View File

@@ -0,0 +1,22 @@
version: '3.8'
services:
web:
build: ./
ports:
- 8080:80
- 8443:443
volumes:
- .:/var/www/html
- ./srv:/srv
db:
image: mysql:5.5
ports:
- "3306:3306"
expose:
- "3306"
environment:
MYSQL_ROOT_PASSWORD: development-password
MYSQL_DATABASE: forge
MYSQL_USER: forge
MYSQL_PASSWORD: secret

46
docker/apache.conf Normal file
View File

@@ -0,0 +1,46 @@
Header set X-Content-Type-Options: "nosniff"
Header set X-Frame-Options: "sameorigin"
ServerTokens Prod
<VirtualHost *:80>
ServerName localhost
ServerAdmin support@websight.nl
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order deny,allow
Allow from all
</Directory>
ErrorLog /var/log/apache2/vhost-error.log
CustomLog /var/log/apache2/vhost-access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName localhost
ServerAdmin support@websight.nl
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLCompression off
SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
<Directory /var/www/html/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order deny,allow
Allow from all
</Directory>
ErrorLog /var/log/apache2/ssl-vhost-error.log
CustomLog /var/log/apache2/ssl-vhost-access.log combined
</VirtualHost>
</IfModule>

46
docker/apache.dev.conf Normal file
View File

@@ -0,0 +1,46 @@
Header set X-Content-Type-Options: "nosniff"
Header set X-Frame-Options: "sameorigin"
ServerTokens Prod
<VirtualHost *:80>
ServerName localhost
ServerAdmin support@websight.nl
DocumentRoot /var/www/html
<Directory /var/www/html/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order deny,allow
Allow from all
</Directory>
ErrorLog /var/log/apache2/vhost-error.log
CustomLog /var/log/apache2/vhost-access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName localhost
ServerAdmin support@websight.nl
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
SSLCompression off
SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
<Directory /var/www/html/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Order deny,allow
Allow from all
</Directory>
ErrorLog /var/log/apache2/ssl-vhost-error.log
CustomLog /var/log/apache2/ssl-vhost-access.log combined
</VirtualHost>
</IfModule>

39
env.example Normal file
View File

@@ -0,0 +1,39 @@
APP_NAME="NH Gooi"
APP_ENV=production
APP_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
APP_DEBUG=false
APP_LOG_LEVEL=error
APP_URL=https://dev.nhgooi.nl
IMAGE_BASE_URL=https://dev.nhgooi.nl
API_URL=https://api.nhgooi.nl/
BROADCAST_DRIVER=log
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=in-v3.mailjet.com
MAIL_PORT=25
MAIL_USERNAME=mailjet_username
MAIL_PASSWORD=mailjet_password
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
DB_CONNECTION=mysql
DB_HOST=nhgooi.nl
DB_PORT=3306
DB_DATABASE=dbname
DB_USERNAME=6fmstats
DB_PASSWORD=dbpass
CACHE_DRIVER=file
QUEUE_DRIVER=sync

1788
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,21 +1,17 @@
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
"sass": "sass resources/assets/sass:public/css",
"sass-watch": "sass --watch resources/assets/sass:public/css",
"sass-minify": "sass resources/assets/sass/style.scss:public/css/style.min.css --style compressed",
"sass-minify-watch": "sass --watch resources/assets/sass/style.scss:public/css/style.min.css --style compressed",
"js-watch": "grunt watch"
},
"devDependencies": {
"axios": "^0.16.2",
"bootstrap-sass": "^3.3.7",
"cross-env": "^5.0.1",
"jquery": "^3.1.1",
"laravel-mix": "^1.0",
"lodash": "^4.17.4",
"vue": "^2.1.10"
"grunt": "^1.6.1",
"grunt-contrib-concat": "^2.1.0",
"grunt-contrib-uglify": "^5.2.2",
"grunt-contrib-watch": "^1.1.0",
"sass": "^1.71.1"
}
}

View File

@@ -5,6 +5,13 @@
RewriteEngine On
# 6fm -> nhgooi
RewriteCond %{HTTP_HOST} ^(www\.)6fm.nl(.*)$ [NC]
RewriteRule ^(.*)$ https://nhgooi.nl/$2 [R=301,L]
RewriteCond %{HTTP_HOST} nhgooigemist.nl [NC]
RewriteRule ^(.*)$ https://nhgooi.nl/gemist [R=301,L]
# Remove www.
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 183 KiB

BIN
public/apple-touch-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

3
public/css/app.css vendored Normal file
View File

@@ -0,0 +1,3 @@
@import url("https://fonts.googleapis.com/css?family=Raleway:300,400,600");
/*# sourceMappingURL=app.css.map */

1
public/css/app.css.map Normal file
View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../resources/assets/sass/app.scss"],"names":[],"mappings":"AAEQ","file":"app.css"}

4085
public/css/bootstrap-grid.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

6
public/css/bootstrap-grid.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../resources/assets/sass/components/posts.scss","../../../resources/assets/sass/abstracts/_mixin.scss"],"names":[],"mappings":"AAEE;EACE;ECAF;EACA;EACA;EDAE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAGF;EACE;;AAIN;ECzBA;EACA;EACA;EDyBE;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAIN;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEF;EACE;EAEA;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAIJ;ECvGF;EACA;EACA;;ADwGI;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;;AAEF;EACE;;AAKN;EACE;EACA;;AAIJ;EACE;EACA;EACA;EACA;EACA;;AACA;EACE;EACA;EACA;EACA;;AAEF;EACE","file":"posts.css"}

View File

@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../../../resources/assets/sass/components/pretty_photo.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EASE;EACA;;;AAEF;EAEE;;;AAEF;EAEE;EACA;EACA;EACA;EACA;;;AAEF;EAEE;EACA;;;AAEF;EAEE;EACA","file":"pretty_photo.css"}

View File

@@ -1,914 +0,0 @@
body
{
background-color: #2d3136;
}
.site_container,
.value_container
{
background-color: #363B40;
}
.site_container.boxed
{
box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
-moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
-webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
}
.header_container.style_2
{
margin-bottom: 0;
}
.header_top_bar_container .latest_news_scrolling_list_container
{
border-color: #363b40;
}
.post_details li.date,
.more, .more[type="submit"],
.post.single .post_details,
.share_box,
.taxonomies a,
.comment_form .text_input:focus,
.comment_form textarea:focus,
.contact_form .text_input:focus,
.contact_form textarea:focus,
.column.border_top,
.accordion .ui-accordion-header,
.list,
.search_form input[type="text"]:focus,
.item_content.border_top
{
border-color: #464D53;
}
.box_header,
.more.active,
.more:hover,
.tabs_navigation.small li a:hover,
.tabs_navigation.small li a.selected,
.tabs_navigation.small li.ui-tabs-active a,
.more.highlight,
.more.active:hover,
.taxonomies a:hover,
.review_summary .number,
.accordion .ui-accordion-header.ui-state-active,
.mobile-menu-switch
{
border-color: #8CC152;
}
h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.box_header,
.read_more,
.tabs_navigation li a,
.more,
.more[type="submit"],
.more.highlight:hover,
.tabs_navigation.small li a,
.tabs_navigation.small li a:hover,
.tabs_navigation.small li a.selected,
.tabs_navigation.small li.ui-tabs-active a,
blockquote,
label,
.comment_form input,
.comment_form textarea,
.contact_form input,
.contact_form textarea,
.review_block h5,
.review_summary h5,
.list li,
.list li a,
.dropcap .dropcap_label h3,
input,
textarea,
.mobile-menu li a,
.mobile-menu li.selected ul a,
.mobile-menu li.selected ul li.selected ul a,
.slider_posts_list li.current h5,
.slider_posts_list li:hover h5,
.bread_crumb li a:hover
{
color: #FFF;
}
.box_header,
.tabs_navigation li a,
.post a.comments_number,
.blog.rating .post .value_bar,
.author .value_bar,
.divider,
.pagination li a,
blockquote,
.comment_form input,
.comment_form textarea,
.contact_form input,
.contact_form textarea,
.review_block,
.review_summary .value_bar,
.item_content .features_icon,
.accordion .ui-accordion-header .ui-accordion-header-icon,
.announcement,
.dropcap .dropcap_label,
input,
textarea,
.mobile-menu li a,
.mobile-menu li.selected ul a,
.mobile-menu li.selected ul li.selected ul a,
.slider_posts_list .slider_posts_list_progress_block
{
background-color: #42494F;
}
.tabs_navigation.small,
.slider_posts_list li
{
border-color: #42494F;
}
.post_details li.category,
.slider_navigation .slider_control a:hover,
a.slider_control:hover,
.slider_posts_list .slider_posts_list_bar,
.read_more .arrow,
.tabs_navigation li a:hover,
.tabs_navigation li a.selected,
.tabs_navigation li.ui-tabs-active a,
.post .comments_number:hover,
.footer .post .comments_number:hover,
.more.active,
.more:hover,
.slider_posts_list_container a.slider_control,
.pagination li a:hover,
.pagination li.selected a,
.taxonomies a:hover,
.value_container .value_bar,
.accordion .ui-accordion-header.ui-state-active,
.accordion .ui-accordion-header:hover .ui-accordion-header-icon,
.dropcap .dropcap_label.active,
.icon.fullscreen:hover,
.gallery_popup .slider_navigation .slider_control a:hover,
.mobile-menu-switch .line,
.mobile-menu-switch:hover,
.mobile-menu li.selected a,
.mobile-menu li.selected ul li.selected a,
.mobile-menu li.selected ul li.selected ul li.selected a
{
background-color: #8CC152;
}
.tabs_navigation li.ui-tabs-active span,
.post .comments_number:hover .arrow_comments,
.footer .post .comments_number:hover .arrow_comments
{
border-color: #8CC152 transparent;
}
.blog ul.post_details.simple li.category,
.blog ul.post_details.simple li.category a,
.post.single .post_details a,
.more.highlight,
.more.active:hover,
.review_summary .number,
.about_subtitle,
.announcement .expose,
p a
{
color: #8CC152;
}
ul.post_details.simple li
{
background: none;
}
.post_details li.date,
.post a.comments_number,
.author h6,
.bread_crumb li,
.bread_crumb li a,
.pagination li a,
.post.single li.detail,
.taxonomies a,
.posted_by abbr.timeago,
.post.single .sentence .text,
.gallery_popup .sentence .text,
.slider_posts_list li h5
{
color: #9DA4AB;
}
.post .arrow_comments
{
border-color: #42494F transparent;
}
p,
.review_block .list li,
.review_block .list li a,
.review_summary .text p
{
color: #D7DCE0;
}
span.number,
span.odometer.number,
.post.single .sentence .author,
.gallery_popup .sentence .author,
blockquote .author,
input.hint,
textarea.hint,
.comment_form .hint,
.contact_form .hint,
.posted_by .in_reply,
.slider_posts_list li .date
{
color: #858D94;
}
::-webkit-input-placeholder
{
color: #858D94;
}
:-moz-placeholder
{
color: #858D94;
}
::-moz-placeholder
{
color: #858D94;
}
:-ms-input-placeholder
{
color: #858D94;
}
.tabs_navigation li a
{
border-color: #52595F;
}
.footer_container
{
background-color: #2D3136;
}
.divider.subheader_arrow
{
background-image: url("../images/icons/other/dark_bg/subheader_arrow.png");
}
.pagination li.left a
{
background-image: url("../images/icons/navigation/dark_bg/pagination_arrow_left.png");
}
.pagination li.right a
{
background-image: url("../images/icons/navigation/dark_bg/pagination_arrow_right.png");
}
blockquote
{
background-image: url("../images/icons/other/dark_bg/quote_content.png");
}
#comments_list .children .comment .parent_arrow
{
background-image: url("../images/icons/other/dark_bg/comment_reply.png");
}
.bullet.style_1
{
background-image: url("../images/icons/other/dark_bg/bullet_style_1.png");
padding-left: 15px;
}
.bullet.style_2
{
background-image: url("../images/icons/other/dark_bg/bullet_style_2.png");
}
.bullet.style_3
{
background-image: url("../images/icons/other/dark_bg/bullet_style_3.png");
}
.bullet.style_4
{
background-image: url("../images/icons/other/dark_bg/bullet_style_4.png");
}
.item_content .not_found
{
background-image: url("../images/icons/other/dark_bg/404.png");
}
.app
{
background-image: url("../images/icons/features/dark_bg/app.png");
}
.calendar
{
background-image: url("../images/icons/features/dark_bg/calendar.png");
}
.chart
{
background-image: url("../images/icons/features/dark_bg/chart.png");
}
.chat
{
background-image: url("../images/icons/features/dark_bg/chat.png");
}
.clock
{
background-image: url("../images/icons/features/dark_bg/clock.png");
}
.database
{
background-image: url("../images/icons/features/dark_bg/database.png");
}
.document
{
background-image: url("../images/icons/features/dark_bg/document.png");
}
.envelope
{
background-image: url("../images/icons/features/dark_bg/envelope.png");
}
.faq
{
background-image: url("../images/icons/features/dark_bg/faq.png");
}
.graph
{
background-image: url("../images/icons/features/dark_bg/graph.png");
}
.image
{
background-image: url("../images/icons/features/dark_bg/image.png");
}
.laptop
{
background-image: url("../images/icons/features/dark_bg/laptop.png");
}
.magnifier
{
background-image: url("../images/icons/features/dark_bg/magnifier.png");
}
.features_icon.mobile
{
background-image: url("../images/icons/features/dark_bg/mobile.png");
}
.pin
{
background-image: url("../images/icons/features/dark_bg/pin.png");
}
.printer
{
background-image: url("../images/icons/features/dark_bg/printer.png");
}
.quote
{
background-image: url("../images/icons/features/dark_bg/quote.png");
}
.screen
{
background-image: url("../images/icons/features/dark_bg/screen.png");
}
.speaker
{
background-image: url("../images/icons/features/dark_bg/speaker.png");
}
.video
{
background-image: url("../images/icons/features/dark_bg/video.png");
}
li.detail.category
{
background-image: url("../images/icons/other/dark_bg/post_category.png");
}
.detail.date
{
background-image: url("../images/icons/other/dark_bg/post_date.png");
}
.detail.author
{
background-image: url("../images/icons/other/dark_bg/post_author.png");
}
.detail.views
{
background-image: url("../images/icons/other/dark_bg/post_views.png");
}
.detail.comments
{
background-image: url("../images/icons/other/dark_bg/post_comments.png");
}
.taxonomies.tags
{
background-image: url("../images/icons/other/dark_bg/post_footer_tags.png");
}
.taxonomies.categories
{
background-image: url("../images/icons/other/dark_bg/post_footer_category.png");
}
.behance
{
background-image: url("../images/icons/social/dark_bg/behance.png");
}
.bing
{
background-image: url("../images/icons/social/dark_bg/bing.png");
}
.blogger
{
background-image: url("../images/icons/social/dark_bg/blogger.png");
}
.deezer
{
background-image: url("../images/icons/social/dark_bg/deezer.png");
}
.designfloat
{
background-image: url("../images/icons/social/dark_bg/designfloat.png");
}
.deviantart
{
background-image: url("../images/icons/social/dark_bg/deviantart.png");
}
.digg
{
background-image: url("../images/icons/social/dark_bg/digg.png");
}
.digg
{
background-image: url("../images/icons/social/dark_bg/digg.png");
}
.dribbble
{
background-image: url("../images/icons/social/dark_bg/dribbble.png");
}
.envato
{
background-image: url("../images/icons/social/dark_bg/envato.png");
}
.facebook
{
background-image: url("../images/icons/social/dark_bg/facebook.png");
}
.flickr
{
background-image: url("../images/icons/social/dark_bg/flickr.png");
}
.form
{
background-image: url("../images/icons/social/dark_bg/form.png");
}
.forrst
{
background-image: url("../images/icons/social/dark_bg/forrst.png");
}
.foursquare
{
background-image: url("../images/icons/social/dark_bg/foursquare.png");
}
.friendfeed
{
background-image: url("../images/icons/social/dark_bg/friendfeed.png");
}
.googleplus
{
background-image: url("../images/icons/social/dark_bg/googleplus.png");
}
.instagram
{
background-image: url("../images/icons/social/dark_bg/instagram.png");
}
.linkedin
{
background-image: url("../images/icons/social/dark_bg/linkedin.png");
}
.mail
{
background-image: url("../images/icons/social/dark_bg/mail.png");
}
.mobile
{
background-image: url("../images/icons/social/dark_bg/mobile.png");
}
.myspace
{
background-image: url("../images/icons/social/dark_bg/myspace.png");
}
.picasa
{
background-image: url("../images/icons/social/dark_bg/picasa.png");
}
.pinterest
{
background-image: url("../images/icons/social/dark_bg/pinterest.png");
}
.reddit
{
background-image: url("../images/icons/social/dark_bg/reddit.png");
}
.rss
{
background-image: url("../images/icons/social/dark_bg/rss.png");
}
.skype
{
background-image: url("../images/icons/social/dark_bg/skype.png");
}
.soundcloud
{
background-image: url("../images/icons/social/dark_bg/soundcloud.png");
}
.spotify
{
background-image: url("../images/icons/social/dark_bg/spotify.png");
}
.stumbleupon
{
background-image: url("../images/icons/social/dark_bg/stumbleupon.png");
}
.technorati
{
background-image: url("../images/icons/social/dark_bg/technorati.png");
}
.tumblr
{
background-image: url("../images/icons/social/dark_bg/tumblr.png");
}
.twitter
{
background-image: url("../images/icons/social/dark_bg/twitter.png");
}
.vimeo
{
background-image: url("../images/icons/social/dark_bg/vimeo.png");
}
.wykop
{
background-image: url("../images/icons/social/dark_bg/wykop.png");
}
.xing
{
background-image: url("../images/icons/social/dark_bg/xing.png");
}
.youtube
{
background-image: url("../images/icons/social/dark_bg/youtube.png");
}
.light .behance
{
background-image: url("../images/icons/social/behance.png");
}
.light .bing
{
background-image: url("../images/icons/social/bing.png");
}
.light .blogger
{
background-image: url("../images/icons/social/blogger.png");
}
.light .deezer
{
background-image: url("../images/icons/social/deezer.png");
}
.light .designfloat
{
background-image: url("../images/icons/social/designfloat.png");
}
.light .deviantart
{
background-image: url("../images/icons/social/deviantart.png");
}
.light .digg
{
background-image: url("../images/icons/social/digg.png");
}
.light .digg
{
background-image: url("../images/icons/social/digg.png");
}
.light .dribbble
{
background-image: url("../images/icons/social/dribbble.png");
}
.light .envato
{
background-image: url("../images/icons/social/envato.png");
}
.light .facebook
{
background-image: url("../images/icons/social/facebook.png");
}
.light .flickr
{
background-image: url("../images/icons/social/flickr.png");
}
.light .form
{
background-image: url("../images/icons/social/form.png");
}
.light .forrst
{
background-image: url("../images/icons/social/forrst.png");
}
.light .foursquare
{
background-image: url("../images/icons/social/foursquare.png");
}
.light .friendfeed
{
background-image: url("../images/icons/social/friendfeed.png");
}
.light .googleplus
{
background-image: url("../images/icons/social/googleplus.png");
}
.light .instagram
{
background-image: url("../images/icons/social/instagram.png");
}
.light .linkedin
{
background-image: url("../images/icons/social/linkedin.png");
}
.light .mail
{
background-image: url("../images/icons/social/mail.png");
}
.light .mobile
{
background-image: url("../images/icons/social/mobile.png");
}
.light .myspace
{
background-image: url("../images/icons/social/myspace.png");
}
.light .picasa
{
background-image: url("../images/icons/social/picasa.png");
}
.light .pinterest
{
background-image: url("../images/icons/social/pinterest.png");
}
.light .reddit
{
background-image: url("../images/icons/social/reddit.png");
}
.light .rss
{
background-image: url("../images/icons/social/rss.png");
}
.light .skype
{
background-image: url("../images/icons/social/skype.png");
}
.light .soundcloud
{
background-image: url("../images/icons/social/soundcloud.png");
}
.light .spotify
{
background-image: url("../images/icons/social/spotify.png");
}
.light .stumbleupon
{
background-image: url("../images/icons/social/stumbleupon.png");
}
.light .technorati
{
background-image: url("../images/icons/social/technorati.png");
}
.light .tumblr
{
background-image: url("../images/icons/social/tumblr.png");
}
.light .twitter
{
background-image: url("../images/icons/social/twitter.png");
}
.light .vimeo
{
background-image: url("../images/icons/social/vimeo.png");
}
.light .wykop
{
background-image: url("../images/icons/social/wykop.png");
}
.light .xing
{
background-image: url("../images/icons/social/xing.png");
}
.light .youtube
{
background-image: url("../images/icons/social/youtube.png");
}
.bread_crumb .separator
{
background-image: url("../images/icons/navigation/dark_bg/breadcrumb_arrow.png");
}
.accordion .ui-accordion-header .ui-accordion-header-icon
{
background-image: url("../images/icons/navigation/dark_bg/accordion_arrow_down.png");
}
/* --- menu --- */
.menu_container
{
border-top-color: #464D53;
border-bottom-color: #464D53;
background: #363B40;
}
.menu_container.sticky.move
{
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.4);
-moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.4);
-webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.4);
border-bottom-color: transparent;
}
.menu_container.sticky.move .sf-menu li
{
border-bottom-color: transparent;
}
.sf-menu li
{
background-color: #363B40;
border-bottom-color: #42494F;
border-top-color: #464D53;
}
.sf-menu li a,
.sf-menu li a:visited
{
color: #FFF;
}
.menu_container .sf-menu li.submenu a,
.menu_container .sf-menu li.selected.submenu a,
.menu_container .sf-menu li.submenu:hover a
{
background-image: url("../images/icons/navigation/dark_bg/menu_arrow.png");
}
.sf-menu a:hover,
.sf-menu a:hover
{
background-color: #42494F;
}
.sf-menu li.submenu ul,
.menu_container .sf-menu li:hover ul a,
.menu_container .sf-menu li.submenu:hover ul a,
.menu_container .sf-menu li ul li a,
.menu_container .sf-menu li.submenu:hover ul li.selected ul li a
{
background-color: #2D3136;
}
.menu_container .sf-menu li ul li a:hover, .menu_container .sf-menu li ul li.selected a,
.menu_container .sf-menu li.submenu ul li a:hover, .menu_container .sf-menu li.submenu:hover ul li.selected a,
.menu_container .sf-menu li.submenu:hover ul li.selected ul li a:hover, .menu_container .sf-menu li.submenu:hover ul li ul li.selected a, .menu_container .sf-menu li.submenu:hover ul li.selected ul li.selected a,
.menu_container .sf-menu li:hover ul li.sfHover>a,
ul.sf-menu .mega_menu,
ul.sf-menu .mega_menu li,
.sf-menu li.submenu .mega_menu
{
background-color: #212429;
}
.sf-menu li:hover, .sf-menu li.selected,
.sf-menu li.submenu:hover,
.sf-menu li:hover a, .sf-menu li.selected a,
.sf-menu li.submenu:hover a
{
background-color: #42494F;
border-top-color: #8CC152;
border-bottom-color: #42494F;
}
/* --- menu style 2 & 3 & 5 & 6 & 7 & 8 & 9 & 10 --- */
.style_2.menu_container
{
background: #42494F;
border-color: #42494F;
}
.style_2 .sf-menu
{
border-top-color: #52595F;
}
.style_2 .sf-menu li
{
background-color: #42494F;
border-bottom-color: #42494F;
border-top-color: #52595F;
}
.style_2 .sf-menu a:hover,
.style_3 .sf-menu a:hover
{
background-color: #8CC152;
}
.style_2 .sf-menu li:hover, .style_2 .sf-menu li.selected,
.style_2 .sf-menu li.submenu:hover,
.style_2 .sf-menu li:hover a, .style_2 .sf-menu li.selected a,
.style_2 .sf-menu li.submenu:hover a,
.style_3 .sf-menu li:hover, .style_3 .sf-menu li.selected,
.style_3 .sf-menu li.submenu:hover,
.style_3 .sf-menu li:hover a, .style_3 .sf-menu li.selected a,
.style_3 .sf-menu li.submenu:hover a,
.style_5 .sf-menu li:hover, .style_5 .sf-menu li.selected,
.style_5 .sf-menu li.submenu:hover,
.style_5 .sf-menu li:hover a, .style_5 .sf-menu li.selected a,
.style_5 .sf-menu li.submenu:hover a,
.style_10 .sf-menu li:hover, .style_10 .sf-menu li.selected,
.style_10 .sf-menu li.submenu:hover,
.style_10 .sf-menu li:hover a, .style_10 .sf-menu li.selected a,
.style_10 .sf-menu li.submenu:hover a
{
background-color: #8CC152;
border-top-color: #8CC152;
border-bottom-color: #8CC152;
}
.style_2 .sf-menu li a,
.style_2 .sf-menu li.selected a,
.style_2 .sf-menu li:hover a,
.style_3 .sf-menu li.selected a,
.style_3 .sf-menu li:hover a,
.style_5 .sf-menu li a,
.style_6 .sf-menu li.selected a,
.style_6 .sf-menu li:hover a,
.style_7 .sf-menu li a,
.style_8 .sf-menu li.selected a,
.style_8 .sf-menu li:hover a,
.style_9 .sf-menu li a,
.style_10 .sf-menu li.selected a,
.style_10 .sf-menu li:hover a
{
color: #FFF;
}
/* --- menu style 3 --- */
.style_3.menu_container,
.style_3 .sf-menu li
{
border-top-color: #8CC152;
}
/* --- menu style 4 --- */
.style_4.menu_container,
.style_4 .sf-menu li
{
background-color: #42494F;
border-color: #42494F;
}
.style_4 .sf-menu li:hover, .style_4 .sf-menu li.selected,
.style_4 .sf-menu li.submenu:hover,
.style_4 .sf-menu li:hover a, .style_4 .sf-menu li.selected a,
.style_4 .sf-menu li.submenu:hover a
{
background-color: #363B40;
border-bottom-color: #363B40;
border-top-color: #8CC152;
}
/* --- menu style 5 & 7 & 9 & 10 --- */
.style_5.menu_container,
.style_5 .sf-menu li,
.style_7.menu_container,
.style_7 .sf-menu li,
.style_9.menu_container,
.style_9 .sf-menu li
{
background-color: #2D3136;
border-color: #2D3136;
}
.style_5 .sf-menu a:hover,
.style_10 .sf-menu a:hover
{
background-color: #8CC152;
}
/* --- menu style 6 --- */
.style_6.menu_container.sticky.move,
.style_6.menu_container,
.style_6.menu_container.sticky.move .sf-menu li,
.style_6 .sf-menu li
{
border-bottom-color: #2D3136;
}
.style_6 .sf-menu a:hover
{
background-color: #2D3136;
}
.style_6 .sf-menu li:hover, .style_6 .sf-menu li.selected,
.style_6 .sf-menu li.submenu:hover,
.style_6 .sf-menu li:hover a, .style_6 .sf-menu li.selected a,
.style_6 .sf-menu li.submenu:hover a
{
background-color: #2D3136;
}
/* --- menu style 7 --- */
.style_7 .sf-menu a:hover
{
background-color: #25282A;
}
.style_7 .sf-menu li:hover, .style_7 .sf-menu li.selected,
.style_7 .sf-menu li.submenu:hover,
.style_7 .sf-menu li:hover a, .style_7 .sf-menu li.selected a,
.style_7 .sf-menu li.submenu:hover a
{
background-color: #363B40;
border-top-color: #363B40;
border-bottom-color: #363B40;
color: #FFF;
}
/* --- menu style 8 & 9 & 10 --- */
.style_8 .sf-menu li,
.style_8.menu_container,
.style_10 .sf-menu li,
.style_10.menu_container
{
border-top-color: #363B40;
}
.style_8 .sf-menu a:hover,
.style_9 .sf-menu a:hover
{
background-color: #42494F;
}
.style_8 .sf-menu li:hover, .style_8 .sf-menu li.selected,
.style_8 .sf-menu li.submenu:hover,
.style_8 .sf-menu li:hover a, .style_8 .sf-menu li.selected a,
.style_8 .sf-menu li.submenu:hover a,
.style_9 .sf-menu li:hover, .style_9 .sf-menu li.selected,
.style_9 .sf-menu li.submenu:hover,
.style_9 .sf-menu li:hover a, .style_9 .sf-menu li.selected a,
.style_9 .sf-menu li.submenu:hover a
{
background-color: #42494F;
border-top-color: #42494F;
border-bottom-color: #42494F;
}

File diff suppressed because one or more lines are too long

3
public/css/font.css vendored
View File

@@ -1,3 +0,0 @@
@font-face{font-family:"Oswald"; font-style:normal; font-weight:400; src:local("Oswald Regular"),local("Oswald-Regular"),url("../fonts/Oswald-Regular-400.woff") format("woff")}
@font-face{font-family:"Varela"; font-style:normal; font-weight:400; src:local("Varela"),url("../fonts/Varela-400.woff") format("woff")}
@font-face{font-family:"Open Sans"; font-style:normal; font-weight:400; src:local("Open Sans"),local("OpenSans"),url("../fonts/OpenSans-400.woff") format("woff")}

View File

@@ -1,386 +0,0 @@
a:focus,
.comment_form [type='submit']:focus,
.contact_form [type='submit']:focus,
.tabs_navigation li a:focus,
.social_icons .social_icon:focus
{
outline: 1px dotted #FFF;
}
a,
a:hover,
.read_more:hover,
.more.active,
.more:hover,
.post .comments_number:hover,
.taxonomies a:hover,
.pagination li a:hover,
.slider_posts_list li h5
{
text-decoration: underline;
}
.slider_content_box ul.post_details li.category a,
.social_icons .social_icon,
.pagination li.left a,
.pagination li.right a
{
text-decoration: none;
}
.icon,
.footer_container,
.icon.fullscreen:hover,
.site_container,
.value_container,
.gallery_popup,
.gallery_overlay,
.menu_container
{
background-color: #000;
}
.box_header,
.more.active,
.more:hover,
.tabs_navigation.small li a:hover,
.tabs_navigation.small li a.selected,
.tabs_navigation.small li.ui-tabs-active a,
.more.highlight,
.more.active:hover,
.taxonomies a:hover,
.review_summary .number,
.accordion .ui-accordion-header.ui-state-active,
.mobile-menu-switch
{
border-color: #FFDD00;
}
.slider_content_box ul.post_details li.category a
{
color: #FFF;
}
.post_details li.category,
.post_details li.category a,
.read_more:hover,
.more.active,
.more:hover,
.post .comments_number:hover,
.footer .post .comments_number:hover,
.more.highlight:hover,
.taxonomies a:hover,
.pagination li a:hover,
.pagination li.selected a,
.value_container .value_bar .number,
.tabs_navigation li a:hover,
.tabs_navigation li a.selected,
.tabs_navigation li.ui-tabs-active a,
.accordion .ui-accordion-header.ui-state-active h4,
.mobile-menu li.selected a,
.mobile-menu li.selected ul li.selected a,
.mobile-menu li.selected ul li.selected ul li.selected a
{
color: #000;
}
.post_details li.category,
.slider_navigation .slider_control a:hover,
a.slider_control:hover,
.slider_posts_list .slider_posts_list_bar,
.read_more .arrow,
.tabs_navigation li a:hover,
.tabs_navigation li a.selected,
.tabs_navigation li.ui-tabs-active a,
.post .comments_number:hover,
.footer .post .comments_number:hover,
.more.active,
.more:hover,
.slider_posts_list_container a.slider_control,
.pagination li a:hover,
.pagination li.selected a,
.taxonomies a:hover,
.value_container .value_bar,
.accordion .ui-accordion-header.ui-state-active,
.accordion .ui-accordion-header:hover .ui-accordion-header-icon,
.dropcap .dropcap_label.active,
.gallery_popup .slider_navigation .slider_control a:hover,
.gallery_popup .slider_navigation .slider_control a,
.mobile-menu-switch .line,
.mobile-menu-switch:hover,
.mobile-menu li.selected a,
.mobile-menu li.selected ul li.selected a,
.mobile-menu li.selected ul li.selected ul li.selected a
{
background-color: #FFDD00 ;
}
.tabs_navigation li.ui-tabs-active span,
.post .comments_number:hover .arrow_comments,
.footer .post .comments_number:hover .arrow_comments
{
border-color: #FFDD00 transparent;
}
.blog ul.post_details.simple li.category,
.blog ul.post_details.simple li.category a,
.post.single .post_details a,
.more.highlight,
.more.active:hover,
.review_summary .number,
.about_subtitle,
.announcement .expose,
p a,
span.number,
span.odometer.number
{
color: #FFDD00;
}
.post .arrow_comments
{
border-color: #42494F transparent;
}
p,
.review_block .list li,
.review_block .list li a,
.review_summary .text p
{
color: #D7DCE0;
}
input.hint,
textarea.hint,
.comment_form .hint,
.contact_form .hint,
.posted_by .in_reply
{
color: #FFF;
}
.footer_container
{
border-top: 1px solid #464D53;
}
.divider.subheader_arrow
{
background-image: url("../images/icons/other/high_contrast/subheader_arrow.png");
}
blockquote
{
background-image: url("../images/icons/other/dark_bg/quote_content.png");
}
.read_more .arrow
{
background-image: url("../images/icons/navigation/high_contrast/call_to_action_arrow.png");
}
.slider_navigation .slider_control a,
a.slider_control
{
background-image: url("../images/icons/navigation/high_contrast/navigation_arrow_right.png");
background-color: #FFDD00;
}
.slider_navigation .slider_control:first-child a,
a.slider_control.left
{
background-image: url("../images/icons/navigation/high_contrast/navigation_arrow_left.png");
}
.pagination li.left a
{
background-image: url("../images/icons/navigation/high_contrast/pagination_arrow_left.png");
}
.pagination li.right a
{
background-image: url("../images/icons/navigation/high_contrast/pagination_arrow_right.png");
}
a.slider_control.up
{
background-image: url("../images/icons/navigation/high_contrast/navigation_arrow_up.png");
}
a.slider_control.down
{
background-image: url("../images/icons/navigation/high_contrast/navigation_arrow_down.png");
}
#comments_list .children .comment .parent_arrow
{
background-image: url("../images/icons/other/dark_bg/comment_reply.png");
}
.accordion .ui-accordion-header:hover .ui-accordion-header-icon
{
background-image: url("../images/icons/navigation/high_contrast/accordion_arrow_down_hover.png");
}
.accordion .ui-accordion-header.ui-state-active .ui-accordion-header-icon
{
background-image: url("../images/icons/navigation/high_contrast/accordion_arrow_up.png");
}
.item_content .not_found
{
background-image: url("../images/icons/other/high_contrast/404.png");
}
.app
{
background-image: url("../images/icons/features/high_contrast/app.png");
}
.calendar
{
background-image: url("../images/icons/features/high_contrast/calendar.png");
}
.chart
{
background-image: url("../images/icons/features/high_contrast/chart.png");
}
.chat
{
background-image: url("../images/icons/features/high_contrast/chat.png");
}
.clock
{
background-image: url("../images/icons/features/high_contrast/clock.png");
}
.database
{
background-image: url("../images/icons/features/high_contrast/database.png");
}
.document
{
background-image: url("../images/icons/features/high_contrast/document.png");
}
.envelope
{
background-image: url("../images/icons/features/high_contrast/envelope.png");
}
.faq
{
background-image: url("../images/icons/features/high_contrast/faq.png");
}
.graph
{
background-image: url("../images/icons/features/high_contrast/graph.png");
}
.image
{
background-image: url("../images/icons/features/high_contrast/image.png");
}
.laptop
{
background-image: url("../images/icons/features/high_contrast/laptop.png");
}
.magnifier
{
background-image: url("../images/icons/features/high_contrast/magnifier.png");
}
.features_icon.mobile
{
background-image: url("../images/icons/features/high_contrast/mobile.png");
}
.pin
{
background-image: url("../images/icons/features/high_contrast/pin.png");
}
.printer
{
background-image: url("../images/icons/features/high_contrast/printer.png");
}
.quote
{
background-image: url("../images/icons/features/high_contrast/quote.png");
}
.screen
{
background-image: url("../images/icons/features/high_contrast/screen.png");
}
.speaker
{
background-image: url("../images/icons/features/high_contrast/speaker.png");
}
.video
{
background-image: url("../images/icons/features/high_contrast/video.png");
}
/* --- menu --- */
.menu_container.sticky.move,
.menu_container.sticky.move .sf-menu li
{
border-bottom-color: #464d53;
}
.sf-menu li
{
background-color: #000;
}
.sf-menu li a,
.sf-menu li a:visited
{
text-decoration: underline;
}
.sf-menu a:hover,
.sf-menu a:hover
{
text-decoration: underline;
}
.sf-menu li:hover, .sf-menu li.selected,
.sf-menu li.submenu:hover,
.sf-menu li:hover a, .sf-menu li.selected a,
.sf-menu li.submenu:hover a
{
border-top-color: #FFDD00;
}
/* --- font selector --- */
.font_selector
{
position: fixed;
left: 0;
top: 15%;
width: 45px;
z-index: 10;
}
.font_selector .increase,
.font_selector .decrease
{
display: block;
width: 45px;
height: 45px;
background-repeat: no-repeat;
background-color: #FFDD00;
}
.font_selector .increase
{
background-image: url("../images/icons/other/high_contrast/font_increase.png");
}
.font_selector .decrease
{
background-image: url("../images/icons/other/high_contrast/font_decrease.png");
}
/* --- aminations --- */
.slideRightBack, .slideLeftBack, .slideDownBack, .slideUpBack
{
opacity: 1;
}
/* --- slideRightBackBack --- */
a.slider_control, .icon.fullscreen.animated
{
visibility: visible;
}
a.slider_control, .icon.fullscreen.animated
{
-webkit-animation-duration: 0ms;
animation-duration: 0ms;
}
.slideRightBack
{
animation-name: slideRightBack;
-webkit-animation-name: slideRightBack;
}
@keyframes slideRightBack
{
0%
{
opacity: 0;
transform: translateX(-100%);
}
100%
{
opacity: 1;
transform: translateX(0%);
}
}
@-webkit-keyframes slideRightBack
{
0%
{
opacity: 0;
-webkit-transform: translateX(-100%);
}
100%
{
opacity: 1;
-webkit-transform: translateX(0%);
}
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
public/css/old/airplay.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 606 B

View File

@@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" x="0" y="0" width="17" height="14" viewBox="0 0 16.9 13.9"><defs><style>.fill{fill:#fff;}</style></defs><title>7</title><g id="airplay"><polygon class="fill" points="0 0 16.9 0 16.9 10.4 13.2 10.4 11.9 8.9 15.4 8.9 15.4 1.6 1.5 1.6 1.5 8.9 5 8.9 3.6 10.4 0 10.4 0 0"/><polygon class="fill" points="2.7 13.9 8.4 7 14.2 13.9 2.7 13.9"/></g></svg>

After

Width:  |  Height:  |  Size: 417 B

5
public/css/old/bootstrap.min.css vendored Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 B

View File

@@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16.3 13.4" x="0" y="0" width="17" height="14"><defs><style>.cls-1{fill:#fff;}</style></defs><title>5</title><path id="chromecast" class="cls-1" d="M80.4,13v2.2h2.2A2.22,2.22,0,0,0,80.4,13Zm0-2.9v1.5a3.69,3.69,0,0,1,3.7,3.68s0,0,0,0h1.5a5.29,5.29,0,0,0-5.2-5.2h0ZM93.7,4.9H83.4V6.1a9.59,9.59,0,0,1,6.2,6.2h4.1V4.9h0ZM80.4,7.1V8.6a6.7,6.7,0,0,1,6.7,6.7h1.4a8.15,8.15,0,0,0-8.1-8.2h0ZM95.1,1.9H81.8a1.54,1.54,0,0,0-1.5,1.5V5.6h1.5V3.4H95.1V13.7H89.9v1.5h5.2a1.54,1.54,0,0,0,1.5-1.5V3.4A1.54,1.54,0,0,0,95.1,1.9Z" transform="translate(-80.3 -1.9)"/></svg>

After

Width:  |  Height:  |  Size: 637 B

914
public/css/old/dark_skin.css vendored Normal file
View File

@@ -0,0 +1,914 @@
body
{
background-color: #2d3136;
}
.site_container,
.value_container
{
background-color: #363B40;
}
.site_container.boxed
{
box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
-moz-box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
-webkit-box-shadow: 0 0 15px rgba(0, 0, 0, 0.25);
}
.header_container.style_2
{
margin-bottom: 0;
}
.header_top_bar_container .latest_news_scrolling_list_container
{
border-color: #363b40;
}
.post_details li.date,
.more, .more[type="submit"],
.post.single .post_details,
.share_box,
.taxonomies a,
.comment_form .text_input:focus,
.comment_form textarea:focus,
.contact_form .text_input:focus,
.contact_form textarea:focus,
.column.border_top,
.accordion .ui-accordion-header,
.list,
.search_form input[type="text"]:focus,
.item_content.border_top
{
border-color: #464D53;
}
.box_header,
.more.active,
.more:hover,
.tabs_navigation.small li a:hover,
.tabs_navigation.small li a.selected,
.tabs_navigation.small li.ui-tabs-active a,
.more.highlight,
.more.active:hover,
.taxonomies a:hover,
.review_summary .number,
.accordion .ui-accordion-header.ui-state-active,
.mobile-menu-switch
{
border-color: #8CC152;
}
h1, h2, h3, h4, h5, h6,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
.box_header,
.read_more,
.tabs_navigation li a,
.more,
.more[type="submit"],
.more.highlight:hover,
.tabs_navigation.small li a,
.tabs_navigation.small li a:hover,
.tabs_navigation.small li a.selected,
.tabs_navigation.small li.ui-tabs-active a,
blockquote,
label,
.comment_form input,
.comment_form textarea,
.contact_form input,
.contact_form textarea,
.review_block h5,
.review_summary h5,
.list li,
.list li a,
.dropcap .dropcap_label h3,
input,
textarea,
.mobile-menu li a,
.mobile-menu li.selected ul a,
.mobile-menu li.selected ul li.selected ul a,
.slider_posts_list li.current h5,
.slider_posts_list li:hover h5,
.bread_crumb li a:hover
{
color: #FFF;
}
.box_header,
.tabs_navigation li a,
.post a.comments_number,
.blog.rating .post .value_bar,
.author .value_bar,
.divider,
.pagination li a,
blockquote,
.comment_form input,
.comment_form textarea,
.contact_form input,
.contact_form textarea,
.review_block,
.review_summary .value_bar,
.item_content .features_icon,
.accordion .ui-accordion-header .ui-accordion-header-icon,
.announcement,
.dropcap .dropcap_label,
input,
textarea,
.mobile-menu li a,
.mobile-menu li.selected ul a,
.mobile-menu li.selected ul li.selected ul a,
.slider_posts_list .slider_posts_list_progress_block
{
background-color: #42494F;
}
.tabs_navigation.small,
.slider_posts_list li
{
border-color: #42494F;
}
.post_details li.category,
.slider_navigation .slider_control a:hover,
a.slider_control:hover,
.slider_posts_list .slider_posts_list_bar,
.read_more .arrow,
.tabs_navigation li a:hover,
.tabs_navigation li a.selected,
.tabs_navigation li.ui-tabs-active a,
.post .comments_number:hover,
.footer .post .comments_number:hover,
.more.active,
.more:hover,
.slider_posts_list_container a.slider_control,
.pagination li a:hover,
.pagination li.selected a,
.taxonomies a:hover,
.value_container .value_bar,
.accordion .ui-accordion-header.ui-state-active,
.accordion .ui-accordion-header:hover .ui-accordion-header-icon,
.dropcap .dropcap_label.active,
.icon.fullscreen:hover,
.gallery_popup .slider_navigation .slider_control a:hover,
.mobile-menu-switch .line,
.mobile-menu-switch:hover,
.mobile-menu li.selected a,
.mobile-menu li.selected ul li.selected a,
.mobile-menu li.selected ul li.selected ul li.selected a
{
background-color: #8CC152;
}
.tabs_navigation li.ui-tabs-active span,
.post .comments_number:hover .arrow_comments,
.footer .post .comments_number:hover .arrow_comments
{
border-color: #8CC152 transparent;
}
.blog ul.post_details.simple li.category,
.blog ul.post_details.simple li.category a,
.post.single .post_details a,
.more.highlight,
.more.active:hover,
.review_summary .number,
.about_subtitle,
.announcement .expose,
p a
{
color: #8CC152;
}
ul.post_details.simple li
{
background: none;
}
.post_details li.date,
.post a.comments_number,
.author h6,
.bread_crumb li,
.bread_crumb li a,
.pagination li a,
.post.single li.detail,
.taxonomies a,
.posted_by abbr.timeago,
.post.single .sentence .text,
.gallery_popup .sentence .text,
.slider_posts_list li h5
{
color: #9DA4AB;
}
.post .arrow_comments
{
border-color: #42494F transparent;
}
p,
.review_block .list li,
.review_block .list li a,
.review_summary .text p
{
color: #D7DCE0;
}
span.number,
span.odometer.number,
.post.single .sentence .author,
.gallery_popup .sentence .author,
blockquote .author,
input.hint,
textarea.hint,
.comment_form .hint,
.contact_form .hint,
.posted_by .in_reply,
.slider_posts_list li .date
{
color: #858D94;
}
::-webkit-input-placeholder
{
color: #858D94;
}
:-moz-placeholder
{
color: #858D94;
}
::-moz-placeholder
{
color: #858D94;
}
:-ms-input-placeholder
{
color: #858D94;
}
.tabs_navigation li a
{
border-color: #52595F;
}
.footer_container
{
background-color: #2D3136;
}
.divider.subheader_arrow
{
background-image: url("../../images/icons/other/dark_bg/subheader_arrow.png");
}
.pagination li.left a
{
background-image: url("../../images/icons/navigation/dark_bg/pagination_arrow_left.png");
}
.pagination li.right a
{
background-image: url("../../images/icons/navigation/dark_bg/pagination_arrow_right.png");
}
blockquote
{
background-image: url("../../images/icons/other/dark_bg/quote_content.png");
}
#comments_list .children .comment .parent_arrow
{
background-image: url("../../images/icons/other/dark_bg/comment_reply.png");
}
.bullet.style_1
{
background-image: url("../../images/icons/other/dark_bg/bullet_style_1.png");
padding-left: 15px;
}
.bullet.style_2
{
background-image: url("../../images/icons/other/dark_bg/bullet_style_2.png");
}
.bullet.style_3
{
background-image: url("../../images/icons/other/dark_bg/bullet_style_3.png");
}
.bullet.style_4
{
background-image: url("../../images/icons/other/dark_bg/bullet_style_4.png");
}
.item_content .not_found
{
background-image: url("../../images/icons/other/dark_bg/404.png");
}
.app
{
background-image: url("../../images/icons/features/dark_bg/app.png");
}
.calendar
{
background-image: url("../../images/icons/features/dark_bg/calendar.png");
}
.chart
{
background-image: url("../../images/icons/features/dark_bg/chart.png");
}
.chat
{
background-image: url("../../images/icons/features/dark_bg/chat.png");
}
.clock
{
background-image: url("../../images/icons/features/dark_bg/clock.png");
}
.database
{
background-image: url("../../images/icons/features/dark_bg/database.png");
}
.document
{
background-image: url("../../images/icons/features/dark_bg/document.png");
}
.envelope
{
background-image: url("../../images/icons/features/dark_bg/envelope.png");
}
.faq
{
background-image: url("../../images/icons/features/dark_bg/faq.png");
}
.graph
{
background-image: url("../../images/icons/features/dark_bg/graph.png");
}
.image
{
background-image: url("../../images/icons/features/dark_bg/image.png");
}
.laptop
{
background-image: url("../../images/icons/features/dark_bg/laptop.png");
}
.magnifier
{
background-image: url("../../images/icons/features/dark_bg/magnifier.png");
}
.features_icon.mobile
{
background-image: url("../../images/icons/features/dark_bg/mobile.png");
}
.pin
{
background-image: url("../../images/icons/features/dark_bg/pin.png");
}
.printer
{
background-image: url("../../images/icons/features/dark_bg/printer.png");
}
.quote
{
background-image: url("../../images/icons/features/dark_bg/quote.png");
}
.screen
{
background-image: url("../../images/icons/features/dark_bg/screen.png");
}
.speaker
{
background-image: url("../../images/icons/features/dark_bg/speaker.png");
}
.video
{
background-image: url("../../images/icons/features/dark_bg/video.png");
}
li.detail.category
{
background-image: url("../../images/icons/other/dark_bg/post_category.png");
}
.detail.date
{
background-image: url("../../images/icons/other/dark_bg/post_date.png");
}
.detail.author
{
background-image: url("../../images/icons/other/dark_bg/post_author.png");
}
.detail.views
{
background-image: url("../../images/icons/other/dark_bg/post_views.png");
}
.detail.comments
{
background-image: url("../../images/icons/other/dark_bg/post_comments.png");
}
.taxonomies.tags
{
background-image: url("../../images/icons/other/dark_bg/post_footer_tags.png");
}
.taxonomies.categories
{
background-image: url("../../images/icons/other/dark_bg/post_footer_category.png");
}
.behance
{
background-image: url("../../images/icons/social/dark_bg/behance.png");
}
.bing
{
background-image: url("../../images/icons/social/dark_bg/bing.png");
}
.blogger
{
background-image: url("../../images/icons/social/dark_bg/blogger.png");
}
.deezer
{
background-image: url("../../images/icons/social/dark_bg/deezer.png");
}
.designfloat
{
background-image: url("../../images/icons/social/dark_bg/designfloat.png");
}
.deviantart
{
background-image: url("../../images/icons/social/dark_bg/deviantart.png");
}
.digg
{
background-image: url("../../images/icons/social/dark_bg/digg.png");
}
.digg
{
background-image: url("../../images/icons/social/dark_bg/digg.png");
}
.dribbble
{
background-image: url("../../images/icons/social/dark_bg/dribbble.png");
}
.envato
{
background-image: url("../../images/icons/social/dark_bg/envato.png");
}
.facebook
{
background-image: url("../../images/icons/social/dark_bg/facebook.png");
}
.flickr
{
background-image: url("../../images/icons/social/dark_bg/flickr.png");
}
.form
{
background-image: url("../../images/icons/social/dark_bg/form.png");
}
.forrst
{
background-image: url("../../images/icons/social/dark_bg/forrst.png");
}
.foursquare
{
background-image: url("../../images/icons/social/dark_bg/foursquare.png");
}
.friendfeed
{
background-image: url("../../images/icons/social/dark_bg/friendfeed.png");
}
.googleplus
{
background-image: url("../../images/icons/social/dark_bg/googleplus.png");
}
.instagram
{
background-image: url("../../images/icons/social/dark_bg/instagram.png");
}
.linkedin
{
background-image: url("../../images/icons/social/dark_bg/linkedin.png");
}
.mail
{
background-image: url("../../images/icons/social/dark_bg/mail.png");
}
.mobile
{
background-image: url("../../images/icons/social/dark_bg/mobile.png");
}
.myspace
{
background-image: url("../../images/icons/social/dark_bg/myspace.png");
}
.picasa
{
background-image: url("../../images/icons/social/dark_bg/picasa.png");
}
.pinterest
{
background-image: url("../../images/icons/social/dark_bg/pinterest.png");
}
.reddit
{
background-image: url("../../images/icons/social/dark_bg/reddit.png");
}
.rss
{
background-image: url("../../images/icons/social/dark_bg/rss.png");
}
.skype
{
background-image: url("../../images/icons/social/dark_bg/skype.png");
}
.soundcloud
{
background-image: url("../../images/icons/social/dark_bg/soundcloud.png");
}
.spotify
{
background-image: url("../../images/icons/social/dark_bg/spotify.png");
}
.stumbleupon
{
background-image: url("../../images/icons/social/dark_bg/stumbleupon.png");
}
.technorati
{
background-image: url("../../images/icons/social/dark_bg/technorati.png");
}
.tumblr
{
background-image: url("../../images/icons/social/dark_bg/tumblr.png");
}
.twitter
{
background-image: url("../../images/icons/social/dark_bg/twitter.png");
}
.vimeo
{
background-image: url("../../images/icons/social/dark_bg/vimeo.png");
}
.wykop
{
background-image: url("../../images/icons/social/dark_bg/wykop.png");
}
.xing
{
background-image: url("../../images/icons/social/dark_bg/xing.png");
}
.youtube
{
background-image: url("../../images/icons/social/dark_bg/youtube.png");
}
.light .behance
{
background-image: url("../../images/icons/social/behance.png");
}
.light .bing
{
background-image: url("../../images/icons/social/bing.png");
}
.light .blogger
{
background-image: url("../../images/icons/social/blogger.png");
}
.light .deezer
{
background-image: url("../../images/icons/social/deezer.png");
}
.light .designfloat
{
background-image: url("../../images/icons/social/designfloat.png");
}
.light .deviantart
{
background-image: url("../../images/icons/social/deviantart.png");
}
.light .digg
{
background-image: url("../../images/icons/social/digg.png");
}
.light .digg
{
background-image: url("../../images/icons/social/digg.png");
}
.light .dribbble
{
background-image: url("../../images/icons/social/dribbble.png");
}
.light .envato
{
background-image: url("../../images/icons/social/envato.png");
}
.light .facebook
{
background-image: url("../../images/icons/social/facebook.png");
}
.light .flickr
{
background-image: url("../../images/icons/social/flickr.png");
}
.light .form
{
background-image: url("../../images/icons/social/form.png");
}
.light .forrst
{
background-image: url("../../images/icons/social/forrst.png");
}
.light .foursquare
{
background-image: url("../../images/icons/social/foursquare.png");
}
.light .friendfeed
{
background-image: url("../../images/icons/social/friendfeed.png");
}
.light .googleplus
{
background-image: url("../../images/icons/social/googleplus.png");
}
.light .instagram
{
background-image: url("../../images/icons/social/instagram.png");
}
.light .linkedin
{
background-image: url("../../images/icons/social/linkedin.png");
}
.light .mail
{
background-image: url("../../images/icons/social/mail.png");
}
.light .mobile
{
background-image: url("../../images/icons/social/mobile.png");
}
.light .myspace
{
background-image: url("../../images/icons/social/myspace.png");
}
.light .picasa
{
background-image: url("../../images/icons/social/picasa.png");
}
.light .pinterest
{
background-image: url("../../images/icons/social/pinterest.png");
}
.light .reddit
{
background-image: url("../../images/icons/social/reddit.png");
}
.light .rss
{
background-image: url("../../images/icons/social/rss.png");
}
.light .skype
{
background-image: url("../../images/icons/social/skype.png");
}
.light .soundcloud
{
background-image: url("../../images/icons/social/soundcloud.png");
}
.light .spotify
{
background-image: url("../../images/icons/social/spotify.png");
}
.light .stumbleupon
{
background-image: url("../../images/icons/social/stumbleupon.png");
}
.light .technorati
{
background-image: url("../../images/icons/social/technorati.png");
}
.light .tumblr
{
background-image: url("../../images/icons/social/tumblr.png");
}
.light .twitter
{
background-image: url("../../images/icons/social/twitter.png");
}
.light .vimeo
{
background-image: url("../../images/icons/social/vimeo.png");
}
.light .wykop
{
background-image: url("../../images/icons/social/wykop.png");
}
.light .xing
{
background-image: url("../../images/icons/social/xing.png");
}
.light .youtube
{
background-image: url("../../images/icons/social/youtube.png");
}
.bread_crumb .separator
{
background-image: url("../../images/icons/navigation/dark_bg/breadcrumb_arrow.png");
}
.accordion .ui-accordion-header .ui-accordion-header-icon
{
background-image: url("../../images/icons/navigation/dark_bg/accordion_arrow_down.png");
}
/* --- menu --- */
.menu_container
{
border-top-color: #464D53;
border-bottom-color: #464D53;
background: #363B40;
}
.menu_container.sticky.move
{
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.4);
-moz-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.4);
-webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.4);
border-bottom-color: transparent;
}
.menu_container.sticky.move .sf-menu li
{
border-bottom-color: transparent;
}
.sf-menu li
{
background-color: #363B40;
border-bottom-color: #42494F;
border-top-color: #464D53;
}
.sf-menu li a,
.sf-menu li a:visited
{
color: #FFF;
}
.menu_container .sf-menu li.submenu a,
.menu_container .sf-menu li.selected.submenu a,
.menu_container .sf-menu li.submenu:hover a
{
background-image: url("../../images/icons/navigation/dark_bg/menu_arrow.png");
}
.sf-menu a:hover,
.sf-menu a:hover
{
background-color: #42494F;
}
.sf-menu li.submenu ul,
.menu_container .sf-menu li:hover ul a,
.menu_container .sf-menu li.submenu:hover ul a,
.menu_container .sf-menu li ul li a,
.menu_container .sf-menu li.submenu:hover ul li.selected ul li a
{
background-color: #2D3136;
}
.menu_container .sf-menu li ul li a:hover, .menu_container .sf-menu li ul li.selected a,
.menu_container .sf-menu li.submenu ul li a:hover, .menu_container .sf-menu li.submenu:hover ul li.selected a,
.menu_container .sf-menu li.submenu:hover ul li.selected ul li a:hover, .menu_container .sf-menu li.submenu:hover ul li ul li.selected a, .menu_container .sf-menu li.submenu:hover ul li.selected ul li.selected a,
.menu_container .sf-menu li:hover ul li.sfHover>a,
ul.sf-menu .mega_menu,
ul.sf-menu .mega_menu li,
.sf-menu li.submenu .mega_menu
{
background-color: #212429;
}
.sf-menu li:hover, .sf-menu li.selected,
.sf-menu li.submenu:hover,
.sf-menu li:hover a, .sf-menu li.selected a,
.sf-menu li.submenu:hover a
{
background-color: #42494F;
border-top-color: #8CC152;
border-bottom-color: #42494F;
}
/* --- menu style 2 & 3 & 5 & 6 & 7 & 8 & 9 & 10 --- */
.style_2.menu_container
{
background: #42494F;
border-color: #42494F;
}
.style_2 .sf-menu
{
border-top-color: #52595F;
}
.style_2 .sf-menu li
{
background-color: #42494F;
border-bottom-color: #42494F;
border-top-color: #52595F;
}
.style_2 .sf-menu a:hover,
.style_3 .sf-menu a:hover
{
background-color: #8CC152;
}
.style_2 .sf-menu li:hover, .style_2 .sf-menu li.selected,
.style_2 .sf-menu li.submenu:hover,
.style_2 .sf-menu li:hover a, .style_2 .sf-menu li.selected a,
.style_2 .sf-menu li.submenu:hover a,
.style_3 .sf-menu li:hover, .style_3 .sf-menu li.selected,
.style_3 .sf-menu li.submenu:hover,
.style_3 .sf-menu li:hover a, .style_3 .sf-menu li.selected a,
.style_3 .sf-menu li.submenu:hover a,
.style_5 .sf-menu li:hover, .style_5 .sf-menu li.selected,
.style_5 .sf-menu li.submenu:hover,
.style_5 .sf-menu li:hover a, .style_5 .sf-menu li.selected a,
.style_5 .sf-menu li.submenu:hover a,
.style_10 .sf-menu li:hover, .style_10 .sf-menu li.selected,
.style_10 .sf-menu li.submenu:hover,
.style_10 .sf-menu li:hover a, .style_10 .sf-menu li.selected a,
.style_10 .sf-menu li.submenu:hover a
{
background-color: #8CC152;
border-top-color: #8CC152;
border-bottom-color: #8CC152;
}
.style_2 .sf-menu li a,
.style_2 .sf-menu li.selected a,
.style_2 .sf-menu li:hover a,
.style_3 .sf-menu li.selected a,
.style_3 .sf-menu li:hover a,
.style_5 .sf-menu li a,
.style_6 .sf-menu li.selected a,
.style_6 .sf-menu li:hover a,
.style_7 .sf-menu li a,
.style_8 .sf-menu li.selected a,
.style_8 .sf-menu li:hover a,
.style_9 .sf-menu li a,
.style_10 .sf-menu li.selected a,
.style_10 .sf-menu li:hover a
{
color: #FFF;
}
/* --- menu style 3 --- */
.style_3.menu_container,
.style_3 .sf-menu li
{
border-top-color: #8CC152;
}
/* --- menu style 4 --- */
.style_4.menu_container,
.style_4 .sf-menu li
{
background-color: #42494F;
border-color: #42494F;
}
.style_4 .sf-menu li:hover, .style_4 .sf-menu li.selected,
.style_4 .sf-menu li.submenu:hover,
.style_4 .sf-menu li:hover a, .style_4 .sf-menu li.selected a,
.style_4 .sf-menu li.submenu:hover a
{
background-color: #363B40;
border-bottom-color: #363B40;
border-top-color: #8CC152;
}
/* --- menu style 5 & 7 & 9 & 10 --- */
.style_5.menu_container,
.style_5 .sf-menu li,
.style_7.menu_container,
.style_7 .sf-menu li,
.style_9.menu_container,
.style_9 .sf-menu li
{
background-color: #2D3136;
border-color: #2D3136;
}
.style_5 .sf-menu a:hover,
.style_10 .sf-menu a:hover
{
background-color: #8CC152;
}
/* --- menu style 6 --- */
.style_6.menu_container.sticky.move,
.style_6.menu_container,
.style_6.menu_container.sticky.move .sf-menu li,
.style_6 .sf-menu li
{
border-bottom-color: #2D3136;
}
.style_6 .sf-menu a:hover
{
background-color: #2D3136;
}
.style_6 .sf-menu li:hover, .style_6 .sf-menu li.selected,
.style_6 .sf-menu li.submenu:hover,
.style_6 .sf-menu li:hover a, .style_6 .sf-menu li.selected a,
.style_6 .sf-menu li.submenu:hover a
{
background-color: #2D3136;
}
/* --- menu style 7 --- */
.style_7 .sf-menu a:hover
{
background-color: #25282A;
}
.style_7 .sf-menu li:hover, .style_7 .sf-menu li.selected,
.style_7 .sf-menu li.submenu:hover,
.style_7 .sf-menu li:hover a, .style_7 .sf-menu li.selected a,
.style_7 .sf-menu li.submenu:hover a
{
background-color: #363B40;
border-top-color: #363B40;
border-bottom-color: #363B40;
color: #FFF;
}
/* --- menu style 8 & 9 & 10 --- */
.style_8 .sf-menu li,
.style_8.menu_container,
.style_10 .sf-menu li,
.style_10.menu_container
{
border-top-color: #363B40;
}
.style_8 .sf-menu a:hover,
.style_9 .sf-menu a:hover
{
background-color: #42494F;
}
.style_8 .sf-menu li:hover, .style_8 .sf-menu li.selected,
.style_8 .sf-menu li.submenu:hover,
.style_8 .sf-menu li:hover a, .style_8 .sf-menu li.selected a,
.style_8 .sf-menu li.submenu:hover a,
.style_9 .sf-menu li:hover, .style_9 .sf-menu li.selected,
.style_9 .sf-menu li.submenu:hover,
.style_9 .sf-menu li:hover a, .style_9 .sf-menu li.selected a,
.style_9 .sf-menu li.submenu:hover a
{
background-color: #42494F;
border-top-color: #42494F;
border-bottom-color: #42494F;
}

4
public/css/old/font-awesome.min.css vendored Normal file

File diff suppressed because one or more lines are too long

3
public/css/old/font.css vendored Normal file
View File

@@ -0,0 +1,3 @@
@font-face{font-family:"Oswald"; font-style:normal; font-weight:400; src:local("Oswald Regular"),local("Oswald-Regular"),url("../../fonts/Oswald-Regular-400.woff") format("woff")}
@font-face{font-family:"Varela"; font-style:normal; font-weight:400; src:local("Varela"),url("../../fonts/Varela-400.woff") format("woff")}
@font-face{font-family:"Open Sans"; font-style:normal; font-weight:400; src:local("Open Sans"),local("OpenSans"),url("../../fonts/OpenSans-400.woff") format("woff")}

386
public/css/old/high_contrast_skin.css vendored Normal file
View File

@@ -0,0 +1,386 @@
a:focus,
.comment_form [type='submit']:focus,
.contact_form [type='submit']:focus,
.tabs_navigation li a:focus,
.social_icons .social_icon:focus
{
outline: 1px dotted #FFF;
}
a,
a:hover,
.read_more:hover,
.more.active,
.more:hover,
.post .comments_number:hover,
.taxonomies a:hover,
.pagination li a:hover,
.slider_posts_list li h5
{
text-decoration: underline;
}
.slider_content_box ul.post_details li.category a,
.social_icons .social_icon,
.pagination li.left a,
.pagination li.right a
{
text-decoration: none;
}
.icon,
.footer_container,
.icon.fullscreen:hover,
.site_container,
.value_container,
.gallery_popup,
.gallery_overlay,
.menu_container
{
background-color: #000;
}
.box_header,
.more.active,
.more:hover,
.tabs_navigation.small li a:hover,
.tabs_navigation.small li a.selected,
.tabs_navigation.small li.ui-tabs-active a,
.more.highlight,
.more.active:hover,
.taxonomies a:hover,
.review_summary .number,
.accordion .ui-accordion-header.ui-state-active,
.mobile-menu-switch
{
border-color: #FFDD00;
}
.slider_content_box ul.post_details li.category a
{
color: #FFF;
}
.post_details li.category,
.post_details li.category a,
.read_more:hover,
.more.active,
.more:hover,
.post .comments_number:hover,
.footer .post .comments_number:hover,
.more.highlight:hover,
.taxonomies a:hover,
.pagination li a:hover,
.pagination li.selected a,
.value_container .value_bar .number,
.tabs_navigation li a:hover,
.tabs_navigation li a.selected,
.tabs_navigation li.ui-tabs-active a,
.accordion .ui-accordion-header.ui-state-active h4,
.mobile-menu li.selected a,
.mobile-menu li.selected ul li.selected a,
.mobile-menu li.selected ul li.selected ul li.selected a
{
color: #000;
}
.post_details li.category,
.slider_navigation .slider_control a:hover,
a.slider_control:hover,
.slider_posts_list .slider_posts_list_bar,
.read_more .arrow,
.tabs_navigation li a:hover,
.tabs_navigation li a.selected,
.tabs_navigation li.ui-tabs-active a,
.post .comments_number:hover,
.footer .post .comments_number:hover,
.more.active,
.more:hover,
.slider_posts_list_container a.slider_control,
.pagination li a:hover,
.pagination li.selected a,
.taxonomies a:hover,
.value_container .value_bar,
.accordion .ui-accordion-header.ui-state-active,
.accordion .ui-accordion-header:hover .ui-accordion-header-icon,
.dropcap .dropcap_label.active,
.gallery_popup .slider_navigation .slider_control a:hover,
.gallery_popup .slider_navigation .slider_control a,
.mobile-menu-switch .line,
.mobile-menu-switch:hover,
.mobile-menu li.selected a,
.mobile-menu li.selected ul li.selected a,
.mobile-menu li.selected ul li.selected ul li.selected a
{
background-color: #FFDD00 ;
}
.tabs_navigation li.ui-tabs-active span,
.post .comments_number:hover .arrow_comments,
.footer .post .comments_number:hover .arrow_comments
{
border-color: #FFDD00 transparent;
}
.blog ul.post_details.simple li.category,
.blog ul.post_details.simple li.category a,
.post.single .post_details a,
.more.highlight,
.more.active:hover,
.review_summary .number,
.about_subtitle,
.announcement .expose,
p a,
span.number,
span.odometer.number
{
color: #FFDD00;
}
.post .arrow_comments
{
border-color: #42494F transparent;
}
p,
.review_block .list li,
.review_block .list li a,
.review_summary .text p
{
color: #D7DCE0;
}
input.hint,
textarea.hint,
.comment_form .hint,
.contact_form .hint,
.posted_by .in_reply
{
color: #FFF;
}
.footer_container
{
border-top: 1px solid #464D53;
}
.divider.subheader_arrow
{
background-image: url("../../images/icons/other/high_contrast/subheader_arrow.png");
}
blockquote
{
background-image: url("../../images/icons/other/dark_bg/quote_content.png");
}
.read_more .arrow
{
background-image: url("../../images/icons/navigation/high_contrast/call_to_action_arrow.png");
}
.slider_navigation .slider_control a,
a.slider_control
{
background-image: url("../../images/icons/navigation/high_contrast/navigation_arrow_right.png");
background-color: #FFDD00;
}
.slider_navigation .slider_control:first-child a,
a.slider_control.left
{
background-image: url("../../images/icons/navigation/high_contrast/navigation_arrow_left.png");
}
.pagination li.left a
{
background-image: url("../../images/icons/navigation/high_contrast/pagination_arrow_left.png");
}
.pagination li.right a
{
background-image: url("../../images/icons/navigation/high_contrast/pagination_arrow_right.png");
}
a.slider_control.up
{
background-image: url("../../images/icons/navigation/high_contrast/navigation_arrow_up.png");
}
a.slider_control.down
{
background-image: url("../../images/icons/navigation/high_contrast/navigation_arrow_down.png");
}
#comments_list .children .comment .parent_arrow
{
background-image: url("../../images/icons/other/dark_bg/comment_reply.png");
}
.accordion .ui-accordion-header:hover .ui-accordion-header-icon
{
background-image: url("../../images/icons/navigation/high_contrast/accordion_arrow_down_hover.png");
}
.accordion .ui-accordion-header.ui-state-active .ui-accordion-header-icon
{
background-image: url("../../images/icons/navigation/high_contrast/accordion_arrow_up.png");
}
.item_content .not_found
{
background-image: url("../../images/icons/other/high_contrast/404.png");
}
.app
{
background-image: url("../../images/icons/features/high_contrast/app.png");
}
.calendar
{
background-image: url("../../images/icons/features/high_contrast/calendar.png");
}
.chart
{
background-image: url("../../images/icons/features/high_contrast/chart.png");
}
.chat
{
background-image: url("../../images/icons/features/high_contrast/chat.png");
}
.clock
{
background-image: url("../../images/icons/features/high_contrast/clock.png");
}
.database
{
background-image: url("../../images/icons/features/high_contrast/database.png");
}
.document
{
background-image: url("../../images/icons/features/high_contrast/document.png");
}
.envelope
{
background-image: url("../../images/icons/features/high_contrast/envelope.png");
}
.faq
{
background-image: url("../../images/icons/features/high_contrast/faq.png");
}
.graph
{
background-image: url("../../images/icons/features/high_contrast/graph.png");
}
.image
{
background-image: url("../../images/icons/features/high_contrast/image.png");
}
.laptop
{
background-image: url("../../images/icons/features/high_contrast/laptop.png");
}
.magnifier
{
background-image: url("../../images/icons/features/high_contrast/magnifier.png");
}
.features_icon.mobile
{
background-image: url("../../images/icons/features/high_contrast/mobile.png");
}
.pin
{
background-image: url("../../images/icons/features/high_contrast/pin.png");
}
.printer
{
background-image: url("../../images/icons/features/high_contrast/printer.png");
}
.quote
{
background-image: url("../../images/icons/features/high_contrast/quote.png");
}
.screen
{
background-image: url("../../images/icons/features/high_contrast/screen.png");
}
.speaker
{
background-image: url("../../images/icons/features/high_contrast/speaker.png");
}
.video
{
background-image: url("../../images/icons/features/high_contrast/video.png");
}
/* --- menu --- */
.menu_container.sticky.move,
.menu_container.sticky.move .sf-menu li
{
border-bottom-color: #464d53;
}
.sf-menu li
{
background-color: #000;
}
.sf-menu li a,
.sf-menu li a:visited
{
text-decoration: underline;
}
.sf-menu a:hover,
.sf-menu a:hover
{
text-decoration: underline;
}
.sf-menu li:hover, .sf-menu li.selected,
.sf-menu li.submenu:hover,
.sf-menu li:hover a, .sf-menu li.selected a,
.sf-menu li.submenu:hover a
{
border-top-color: #FFDD00;
}
/* --- font selector --- */
.font_selector
{
position: fixed;
left: 0;
top: 15%;
width: 45px;
z-index: 10;
}
.font_selector .increase,
.font_selector .decrease
{
display: block;
width: 45px;
height: 45px;
background-repeat: no-repeat;
background-color: #FFDD00;
}
.font_selector .increase
{
background-image: url("../../images/icons/other/high_contrast/font_increase.png");
}
.font_selector .decrease
{
background-image: url("../../images/icons/other/high_contrast/font_decrease.png");
}
/* --- aminations --- */
.slideRightBack, .slideLeftBack, .slideDownBack, .slideUpBack
{
opacity: 1;
}
/* --- slideRightBackBack --- */
a.slider_control, .icon.fullscreen.animated
{
visibility: visible;
}
a.slider_control, .icon.fullscreen.animated
{
-webkit-animation-duration: 0ms;
animation-duration: 0ms;
}
.slideRightBack
{
animation-name: slideRightBack;
-webkit-animation-name: slideRightBack;
}
@keyframes slideRightBack
{
0%
{
opacity: 0;
transform: translateX(-100%);
}
100%
{
opacity: 1;
transform: translateX(0%);
}
}
@-webkit-keyframes slideRightBack
{
0%
{
opacity: 0;
-webkit-transform: translateX(-100%);
}
100%
{
opacity: 1;
-webkit-transform: translateX(0%);
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 19" x="0" y="0" width="19" height="19"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:none;stroke:#fff;stroke-width:2px;}</style></defs><title>2</title><g id="jumpforward"><path class="cls-1" d="M32.1,2.3L27.8,4.5V0.2Z" transform="translate(-20.7 -0.2)"/><path class="cls-1" d="M34.8,2.3L30.5,4.5V0.2Z" transform="translate(-20.7 -0.2)"/><path class="cls-2" d="M29.9,2.3a8.15,8.15,0,0,0-8.2,8.1h0" transform="translate(-20.7 -0.2)"/><path class="cls-2" d="M21.8,10a8.15,8.15,0,0,0,8.1,8.2h0" transform="translate(-20.7 -0.2)"/><path class="cls-2" d="M29.5,18.2a8.15,8.15,0,0,0,8.2-8.1h0" transform="translate(-20.7 -0.2)"/></g></svg>

After

Width:  |  Height:  |  Size: 718 B

View File

@@ -0,0 +1 @@
.mejs-airplay-button>button,.mejs__airplay-button>button{background:url(airplay.svg) no-repeat 0 4px}.mejs-airplay-button>button .fill,.mejs__airplay-button>button .fill{fill:#fff}.mejs-airplay-button>button.active .fill,.mejs__airplay-button>button.active .fill{fill:#66a8cc}.mejs-chromecast-button>button,.mejs__chromecast-button>button{--disconnected-color:#fff;background:none;display:inline-block}.mejs-chromecast-container,.mejs__chromecast-container{background:#000;color:#fff;font-size:10px;left:0;padding:5px;position:absolute;top:0;z-index:1}.mejs-chromecast-layer>img,.mejs__chromecast-layer>img{left:0;position:absolute;top:0;z-index:0}.mejs-chromecast-icon,.mejs__chromecast-icon{background:url(chromecast.svg) no-repeat 0 0;display:inline-block;height:14px;margin-right:5px;width:17px}.mejs-contextmenu,.mejs__contextmenu{background:#fff;border:1px solid #999;border-radius:4px;left:0;padding:10px;position:absolute;top:0;width:150px;z-index:1}.mejs-contextmenu-separator,.mejs__contextmenu-separator{background:#333;font-size:0;height:1px;margin:5px 6px}.mejs-contextmenu-item,.mejs__contextmenu-item{color:#333;cursor:pointer;font-size:12px;padding:4px 6px}.mejs-contextmenu-item:hover,.mejs__contextmenu-item:hover{background:#2c7c91;color:#fff}.mejs-jump-forward-button>button,.mejs__jump-forward-button>button{background:url(jumpforward.svg) no-repeat 0 0;color:#fff;font-size:8px;line-height:normal;position:relative}.mejs-skip-back-button>button,.mejs__skip-back-button>button{background:url(skipback.svg) no-repeat 0 -1px;color:#fff;font-size:8px;line-height:normal;position:relative}

View File

@@ -22,7 +22,7 @@
.style_7 .sf-menu li.selected.submenu a,
.style_7 .sf-menu li.submenu:hover a
{
background-image: url("../images/icons/navigation/menu_arrow.png");
background-image: url("../../images/icons/navigation/menu_arrow.png");
}
.style_2 .sf-menu a:hover,
.style_3 .sf-menu a:hover
@@ -64,7 +64,7 @@
.style_10 .sf-menu li.selected.submenu a,
.style_10 .sf-menu li.submenu:hover a
{
background-image: url("../images/icons/navigation/dark_bg/menu_arrow.png");
background-image: url("../../images/icons/navigation/dark_bg/menu_arrow.png");
}
.style_2 .sf-menu li.selected a,
.style_2 .sf-menu li:hover a,

View File

@@ -67,7 +67,7 @@ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a
}
.header_container {
background-image: url('../images/nh-banner.png');
background-image: url('../../images/nh-banner.png');
background-size: 100% ;
}
@@ -462,3 +462,15 @@ a.fixed-height img {
top: 0;
width: 100%;
}
div.info {
padding: 1em;
color: #3E3E3E;
line-height: 150%;
border-radius: 10px;
margin: 1em;
}
div.info p {
padding: 0;
}

1
public/css/old/noordholland.min.css vendored Normal file

File diff suppressed because one or more lines are too long

BIN
public/css/old/skipback.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="-290 291 19 19" style="enable-background:new -290 291 19 19;" xml:space="preserve">
<style type="text/css">
.st0{fill:#fff;}
.st1{fill:none;stroke:#fff;stroke-width:2;}
</style>
<title>2</title>
<g id="jumpforward">
<path class="st0" d="M-278.6,291v4.3l-4.3-2.2L-278.6,291z"/>
<path class="st0" d="M-281.3,291v4.3l-4.3-2.2L-281.3,291z"/>
<path class="st1" d="M-272.5,301.2L-272.5,301.2C-272.5,301.2-272.5,301.2-272.5,301.2c0-4.5-3.7-8.1-8.2-8.1"/>
<path class="st1" d="M-280.7,309L-280.7,309C-280.7,309-280.7,309-280.7,309c4.5,0,8.1-3.7,8.1-8.2"/>
<path class="st1" d="M-288.5,300.9L-288.5,300.9C-288.5,300.9-288.5,300.9-288.5,300.9c0,4.5,3.7,8.1,8.2,8.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 948 B

4155
public/css/old/style.css vendored Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

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