Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f6d518e67 | ||
|
|
8d6e853d4c | ||
|
|
6b6572db67 | ||
|
|
b46b24bb83 | ||
|
|
b12fb86c1c | ||
|
|
84dc9d74b9 | ||
|
|
114d0c7cd9 | ||
|
|
bb553924d0 | ||
|
|
73a14e545b | ||
|
|
2756aed449 | ||
|
|
289908f302 | ||
|
|
7b9674110e | ||
|
|
e070c9f374 | ||
|
|
95cf933424 | ||
|
|
2aca0010dc | ||
|
|
4701c3f86d | ||
|
|
fb53fdb16d | ||
|
|
9bee381f6c | ||
|
|
8125895538 | ||
|
|
fed5f8c44d | ||
|
|
36c120d1bf | ||
|
|
2960aa7497 | ||
|
|
e5d22609f3 | ||
|
|
2b35391800 | ||
|
|
e42813e879 | ||
|
|
851a0df432 | ||
|
|
c6271899aa | ||
|
|
8b8c9b60d9 | ||
|
|
df9fd7d357 | ||
|
|
b4bff71008 | ||
|
|
a2d561db87 | ||
|
|
d30bfc5a53 | ||
|
|
8fab0d57a7 | ||
|
|
ae7ed5a217 | ||
|
|
d492b36fec | ||
|
|
3b4030113b |
No files matched your search
@@ -0,0 +1,9 @@
|
|||||||
|
.git
|
||||||
|
vendor
|
||||||
|
node_modules
|
||||||
|
storage/logs
|
||||||
|
storage/framework/cache/*
|
||||||
|
storage/framework/sessions/*
|
||||||
|
storage/framework/views/*
|
||||||
|
storage/app/public
|
||||||
|
.env
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
APP_NAME="NH Gooi (dev)"
|
||||||
|
APP_ENV=staging
|
||||||
|
APP_KEY=pHU3XfraRBc4T54pe5hM0WsCz1zZxWG3
|
||||||
|
APP_DEBUG=true
|
||||||
|
APP_LOG_LEVEL=error
|
||||||
|
APP_URL=https://dev.nhgooi.nl
|
||||||
|
IMAGE_BASE_URL=https://dev.nhgooi.nl/
|
||||||
|
|
||||||
|
API_URL=https://api-new.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=08eb4dbf869367bc1478f0777b9de044
|
||||||
|
MAIL_PASSWORD=eb26e4f3e5e6dbeb8aad361c69bf5ff1
|
||||||
|
MAIL_ENCRYPTION=null
|
||||||
|
|
||||||
|
PUSHER_APP_ID=
|
||||||
|
PUSHER_APP_KEY=
|
||||||
|
PUSHER_APP_SECRET=
|
||||||
|
|
||||||
|
DB_CONNECTION=mysql
|
||||||
|
DB_HOST=nhgooi.nl
|
||||||
|
DB_PORT=3306
|
||||||
|
DB_DATABASE=radio6fm_web
|
||||||
|
DB_USERNAME=6fmstats
|
||||||
|
DB_PASSWORD=C6h938EJ2cd5p4cT
|
||||||
|
|
||||||
|
CACHE_DRIVER=file
|
||||||
|
QUEUE_DRIVER=sync
|
||||||
@@ -37,3 +37,7 @@ DB_PASSWORD=dbpass
|
|||||||
|
|
||||||
CACHE_DRIVER=file
|
CACHE_DRIVER=file
|
||||||
QUEUE_DRIVER=sync
|
QUEUE_DRIVER=sync
|
||||||
|
|
||||||
|
FRIENDLY_CAPTCHA_SITEKEY=
|
||||||
|
FRIENDLY_CAPTCHA_SECRET=
|
||||||
|
FRIENDLY_CAPTCHA_DEBUG=true
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
name: Build and Deploy
|
||||||
|
run-name: ${{ gitea.actor }} is building ${{ gitea.repository }}
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'Dockerfile'
|
||||||
|
- 'composer.json'
|
||||||
|
- 'composer.lock'
|
||||||
|
- '.gitea/workflows/build-docker.yml'
|
||||||
|
- 'version' # Change this file to force rebuild
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
REGISTRY: git.nhgooi.nl
|
||||||
|
IMAGE: git.nhgooi.nl/nh_gooi/nhgooi.nl
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Login to Gitea Container Registry
|
||||||
|
run: |
|
||||||
|
echo "${{ secrets.REGISTRY_TOKEN }}" | \
|
||||||
|
docker login "$REGISTRY" \
|
||||||
|
-u "${{ gitea.actor }}" \
|
||||||
|
--password-stdin
|
||||||
|
|
||||||
|
- name: Build image
|
||||||
|
run: |
|
||||||
|
docker build \
|
||||||
|
-t "$IMAGE:${{ gitea.sha }}" \
|
||||||
|
-t "$IMAGE:latest" \
|
||||||
|
.
|
||||||
|
|
||||||
|
- name: Push image
|
||||||
|
run: |
|
||||||
|
docker push "$IMAGE:${{ gitea.sha }}"
|
||||||
|
docker push "$IMAGE:latest"
|
||||||
|
|
||||||
|
# - name: Trigger deployment
|
||||||
|
# run: |
|
||||||
|
# curl --fail-with-body \
|
||||||
|
# -X POST \
|
||||||
|
# -H "Content-Type: application/json" \
|
||||||
|
# -d '{
|
||||||
|
# "image": "'"$IMAGE:${{ gitea.sha }}"'",
|
||||||
|
# "commit": "${{ gitea.sha }}",
|
||||||
|
# "repository": "${{ gitea.repository }}"
|
||||||
|
# }' \
|
||||||
|
# "${{ secrets.DEPLOY_WEBHOOK_URL }}"
|
||||||
@@ -1,12 +1,23 @@
|
|||||||
/node_modules
|
.phpunit.cache
|
||||||
/public/hot
|
node_modules
|
||||||
/public/storage
|
app/public/build
|
||||||
/storage/*.key
|
app/public/hot
|
||||||
/vendor
|
app/public/storage
|
||||||
/.idea
|
app/storage/*.key
|
||||||
/.vagrant
|
app/bootstrap
|
||||||
|
app/storage
|
||||||
|
bootstrap/cache
|
||||||
|
vendor
|
||||||
|
.env
|
||||||
|
.env.backup
|
||||||
|
.env.production
|
||||||
|
.phpunit.result.cache
|
||||||
Homestead.json
|
Homestead.json
|
||||||
Homestead.yaml
|
Homestead.yaml
|
||||||
|
auth.json
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
.env
|
.fleet
|
||||||
|
.idea
|
||||||
|
.vscode
|
||||||
|
update
|
||||||
@@ -1,38 +1,73 @@
|
|||||||
FROM php:8.1-apache
|
FROM php:8.3.36-apache
|
||||||
|
|
||||||
RUN apt-get update \
|
# Install Node.js
|
||||||
&& apt-get -y install \
|
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y nodejs
|
||||||
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
|
RUN apt-get update && apt-get install -y \
|
||||||
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
git \
|
||||||
|
curl \
|
||||||
|
libicu-dev \
|
||||||
|
libzip-dev \
|
||||||
|
libonig-dev \
|
||||||
|
libssh2-1 \
|
||||||
|
libssh2-1-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Update the default apache site with the config we created.
|
RUN pecl install ssh2 \
|
||||||
ADD docker/apache.conf /etc/apache2/sites-enabled/000-default.conf
|
&& docker-php-ext-enable ssh2 \
|
||||||
|
&& docker-php-ext-configure intl \
|
||||||
|
&& docker-php-ext-install \
|
||||||
|
pdo \
|
||||||
|
pdo_mysql \
|
||||||
|
mysqli \
|
||||||
|
intl \
|
||||||
|
ftp \
|
||||||
|
mbstring \
|
||||||
|
bcmath \
|
||||||
|
zip
|
||||||
|
|
||||||
WORKDIR /var/www/html
|
RUN a2enmod rewrite
|
||||||
# COPY . /var/www/html
|
|
||||||
|
|
||||||
RUN mkdir -p storage/framework/{sessions,views,cache,cache/data} && \
|
COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer
|
||||||
chown -R www-data:www-data storage/framework && \
|
|
||||||
chmod -R 775 storage
|
|
||||||
|
|
||||||
RUN php artisan cache:clear && \
|
WORKDIR /var/www/app
|
||||||
php artisan config:clear && \
|
|
||||||
php artisan view:clear
|
ENV APACHE_DOCUMENT_ROOT=/var/www/app/public
|
||||||
|
|
||||||
|
RUN sed -ri \
|
||||||
|
-e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' \
|
||||||
|
/etc/apache2/sites-available/*.conf \
|
||||||
|
/etc/apache2/apache2.conf \
|
||||||
|
/etc/apache2/conf-available/*.conf
|
||||||
|
|
||||||
|
RUN echo '<Directory /var/www/app/public>\n\
|
||||||
|
AllowOverride All\n\
|
||||||
|
Require all granted\n\
|
||||||
|
</Directory>' > /etc/apache2/conf-available/laravel.conf \
|
||||||
|
&& a2enconf laravel
|
||||||
|
|
||||||
|
# Copy app files (composer/npm setup happens at runtime via entrypoint)
|
||||||
|
COPY composer.json composer.lock ./
|
||||||
|
COPY package.json package-lock.json* ./
|
||||||
|
COPY scripts/ ./scripts/ 2>/dev/null
|
||||||
|
|
||||||
|
# Note: for Laravel, the COPY . . needs to be before the composer install
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Create storage directories
|
||||||
|
RUN mkdir -p \
|
||||||
|
storage/app \
|
||||||
|
storage/framework/cache/data \
|
||||||
|
storage/framework/sessions \
|
||||||
|
storage/framework/views \
|
||||||
|
storage/logs \
|
||||||
|
bootstrap/cache \
|
||||||
|
public/assets/vendor
|
||||||
|
|
||||||
|
# Copy and set up entrypoint script
|
||||||
|
COPY docker-entrypoint.sh /usr/local/bin/
|
||||||
|
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
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
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
* To add new packages, add a line below:
|
||||||
|
```json
|
||||||
|
"new-package": "^1.2.3"
|
||||||
|
```
|
||||||
|
|
||||||
|
* If the npm name differs from vendor folder name: Also update the mapping in setup-vendor.js:
|
||||||
|
```json
|
||||||
|
'npm-name': { folder: 'vendor-folder', subdir: 'dist' }
|
||||||
|
```
|
||||||
|
|
||||||
|
* Then regenerate lock file (do this locally, NOT in Docker)
|
||||||
|
```bash
|
||||||
|
rm package-lock.json
|
||||||
|
docker run --rm -v "$PWD:/workspace" -w /workspace node:20 npm install --package-lock-only
|
||||||
|
```
|
||||||
@@ -2,13 +2,15 @@
|
|||||||
|
|
||||||
namespace App\Console;
|
namespace App\Console;
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Illuminate\Console\Scheduling\Schedule;
|
use Illuminate\Console\Scheduling\Schedule;
|
||||||
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
|
||||||
|
|
||||||
class Kernel extends ConsoleKernel
|
class Kernel extends ConsoleKernel
|
||||||
{
|
{
|
||||||
private $API_URL;
|
private $API_URL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Artisan commands provided by your application.
|
* The Artisan commands provided by your application.
|
||||||
@@ -19,6 +21,22 @@ class Kernel extends ConsoleKernel
|
|||||||
//
|
//
|
||||||
];
|
];
|
||||||
|
|
||||||
|
private function getFromApi($url, $file) {
|
||||||
|
$response = Http::connectTimeout(5)
|
||||||
|
->timeout(15)
|
||||||
|
->withHeaders([
|
||||||
|
'Host' => $this->API_HOST
|
||||||
|
])
|
||||||
|
->get($this->API_URL . $url);
|
||||||
|
|
||||||
|
if ($response->successful()) {
|
||||||
|
Storage::disk('local')->put(
|
||||||
|
$file,
|
||||||
|
$response->body()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Define the application's command schedule.
|
* Define the application's command schedule.
|
||||||
*
|
*
|
||||||
@@ -27,39 +45,40 @@ class Kernel extends ConsoleKernel
|
|||||||
*/
|
*/
|
||||||
protected function schedule(Schedule $schedule)
|
protected function schedule(Schedule $schedule)
|
||||||
{
|
{
|
||||||
$this->API_URL = env('API_URL', 'https://api.nhgooi.nl/');
|
$this->API_URL = env('API_URL', 'https://api.nhgooi.nl/');
|
||||||
|
$this->API_HOST = env('API_HOST', $this->API_URL);
|
||||||
|
|
||||||
// Update latest news (3 items)
|
// Update latest news (3 items)
|
||||||
$schedule->call(function() {
|
$schedule->call(function () {
|
||||||
Storage::disk('local')->put('laatste_nieuws.json', file_get_contents($this->API_URL . 'nieuws/overzicht?pagina=1&aantal=3'));
|
$this->getFromApi('nieuws/overzicht?pagina=1&aantal=3', 'laatste_nieuws.json');
|
||||||
Storage::disk('local')->put('populair_nieuws.json', file_get_contents($this->API_URL . 'nieuws/populair'));
|
$this->getFromApi('nieuws/populair', 'populair_nieuws.json');
|
||||||
})->everyMinute();
|
})->everyMinute();
|
||||||
|
|
||||||
// Update now / later
|
// Update now / later
|
||||||
$schedule->call(function() {
|
$schedule->call(function () {
|
||||||
Storage::disk('local')->put('nu_straks.json', file_get_contents($this->API_URL . 'programma/schema/nustraks'));
|
$this->getFromApi('programma/schema/nustraks', 'nu_straks.json');
|
||||||
Storage::disk('local')->put('zojuist.json', file_get_contents($this->API_URL . 'programma/schema/recent'));
|
$this->getFromApi('programma/schema/recent', 'zojuist.json');
|
||||||
})->everyMinute();
|
})->everyMinute();
|
||||||
|
|
||||||
// Update latest podcasts (6 items)
|
// Update latest podcasts (6 items)
|
||||||
$schedule->call(function() {
|
$schedule->call(function () {
|
||||||
Storage::disk('local')->put('laatste_podcasts.json', file_get_contents($this->API_URL . 'podcast/overzicht?pagina=1&aantal=6'));
|
$this->getFromApi('podcast/overzicht?pagina=1&aantal=6', 'laatste_podcasts.json');
|
||||||
})->everyMinute();
|
})->everyMinute();
|
||||||
|
|
||||||
// Update calendar items
|
// Update calendar items
|
||||||
$schedule->call(function() {
|
$schedule->call(function () {
|
||||||
Storage::disk('local')->put('regioagenda.json', file_get_contents($this->API_URL . 'agenda/overzicht'));
|
$this->getFromApi('agenda/overzicht', 'regioagenda.json');
|
||||||
})->everyMinute();
|
})->everyMinute();
|
||||||
|
|
||||||
// Update blogs
|
// Update blogs
|
||||||
$schedule->call(function() {
|
$schedule->call(function () {
|
||||||
Storage::disk('local')->put('blogs.json', file_get_contents($this->API_URL . 'blog/overzicht'));
|
$this->getFromApi('blog/overzicht', 'blogs.json');
|
||||||
})->everyMinute();
|
})->everyMinute();
|
||||||
|
|
||||||
// Update featured images
|
// Update featured images
|
||||||
$schedule->call(function() {
|
$schedule->call(function () {
|
||||||
Storage::disk('local')->put('beelden.json', file_get_contents($this->API_URL . 'beelden/overzicht'));
|
$this->getFromApi('beelden/overzicht', 'beelden.json');
|
||||||
})->everyMinute();
|
})->everyMinute();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,84 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Mail;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
use App\Mail\ContactFormSubmitted;
|
||||||
|
|
||||||
|
class ContactController extends Controller
|
||||||
|
{
|
||||||
|
public function show()
|
||||||
|
{
|
||||||
|
$page = $this->API('statisch/contact');
|
||||||
|
if ($page == null) {
|
||||||
|
return abort(404);
|
||||||
|
}
|
||||||
|
|
||||||
|
$page->published = Controller::JsonToDateTime($page->published);
|
||||||
|
if ($page->edited) {
|
||||||
|
$page->edited = Controller::JsonToDateTime($page->edited);
|
||||||
|
}
|
||||||
|
|
||||||
|
return view('contact', ['page' => $page]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function submit(Request $request)
|
||||||
|
{
|
||||||
|
$rules = [
|
||||||
|
'name' => 'required|string|max:255',
|
||||||
|
'email' => 'required|email|max:255',
|
||||||
|
'message' => 'required|string',
|
||||||
|
'image' => 'nullable|image|max:10240',
|
||||||
|
'video' => 'nullable|mimetypes:video/avi,video/mpeg,video/quicktime,video/mp4|max:512000',
|
||||||
|
];
|
||||||
|
|
||||||
|
$debugCaptcha = env('FRIENDLY_CAPTCHA_DEBUG', false)
|
||||||
|
|| (app()->environment('local')
|
||||||
|
&& (!env('FRIENDLY_CAPTCHA_SITEKEY') || !env('FRIENDLY_CAPTCHA_SECRET')));
|
||||||
|
|
||||||
|
if ($debugCaptcha) {
|
||||||
|
$rules['frc-captcha-solution'] = 'nullable';
|
||||||
|
} else {
|
||||||
|
$rules['frc-captcha-solution'] = ['required', Rule::friendlycaptcha()];
|
||||||
|
}
|
||||||
|
|
||||||
|
$request->validate($rules);
|
||||||
|
|
||||||
|
$data = $request->only(['name', 'email', 'message']);
|
||||||
|
$attachments = [];
|
||||||
|
|
||||||
|
// Handle Image
|
||||||
|
if ($request->hasFile('image')) {
|
||||||
|
// Store temporarily to attach
|
||||||
|
$imagePath = $request->file('image')->store('contact_images');
|
||||||
|
$attachments['image'] = storage_path('app/' . $imagePath);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Handle Video
|
||||||
|
if ($request->hasFile('video')) {
|
||||||
|
$videoPath = $request->file('video')->store('contact_videos', 'local');
|
||||||
|
$data['video_link'] = route('contact.video', ['filename' => basename($videoPath)]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Send Email
|
||||||
|
Mail::to('info@nhgooi.nl')->send(new ContactFormSubmitted($data, $attachments));
|
||||||
|
|
||||||
|
return redirect()->route('contact')->with('success', 'Bedankt voor uw bericht. We nemen zo snel mogelijk contact met u op.');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function video(string $filename)
|
||||||
|
{
|
||||||
|
$path = 'contact_videos/' . basename($filename);
|
||||||
|
|
||||||
|
if (!Storage::disk('local')->exists($path)) {
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
|
|
||||||
|
$fullPath = Storage::disk('local')->path($path);
|
||||||
|
|
||||||
|
return response()->file($fullPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -7,6 +7,8 @@ use Illuminate\Foundation\Bus\DispatchesJobs;
|
|||||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Routing\Controller as BaseController;
|
use Illuminate\Routing\Controller as BaseController;
|
||||||
|
use Illuminate\Support\Facades\Http;
|
||||||
|
use Illuminate\Support\Facades\Log;
|
||||||
use Illuminate\Support\Facades\Session;
|
use Illuminate\Support\Facades\Session;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Illuminate\Support\Facades\View;
|
use Illuminate\Support\Facades\View;
|
||||||
@@ -16,6 +18,8 @@ class Controller extends BaseController
|
|||||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||||
|
|
||||||
protected $API_URL;
|
protected $API_URL;
|
||||||
|
protected $API_HOST;
|
||||||
|
|
||||||
|
|
||||||
private function getDataFromFileAndConvert($file, $path, $class, $maxItems = 0)
|
private function getDataFromFileAndConvert($file, $path, $class, $maxItems = 0)
|
||||||
{
|
{
|
||||||
@@ -38,6 +42,7 @@ class Controller extends BaseController
|
|||||||
{
|
{
|
||||||
View::share('apiUrl', $this->API_URL = env('API_URL', 'http://api.6fm.nl/'));
|
View::share('apiUrl', $this->API_URL = env('API_URL', 'http://api.6fm.nl/'));
|
||||||
View::share('imgBase', env('IMAGE_BASE_URL', '/'));
|
View::share('imgBase', env('IMAGE_BASE_URL', '/'));
|
||||||
|
$this->API_HOST = env('API_HOST', $this->API_URL);
|
||||||
|
|
||||||
//View::share('onAir', file_get_contents(url('onair')));
|
//View::share('onAir', file_get_contents(url('onair')));
|
||||||
View::composer('widgets.laatstenieuws', function ($view) {
|
View::composer('widgets.laatstenieuws', function ($view) {
|
||||||
@@ -92,7 +97,12 @@ class Controller extends BaseController
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
View::composer('widgets.menu', function($view) {
|
View::composer('widgets.menu', function($view) {
|
||||||
$view->with('items', json_decode(Storage::get('static/menu.json')));
|
try {
|
||||||
|
$menuData = json_decode(Storage::get('static/menu.json'));
|
||||||
|
$view->with('items', $menuData ?? []);
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
$view->with('items', []);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
View::share('disableBanners', env('DISABLE_BANNERS', false));
|
View::share('disableBanners', env('DISABLE_BANNERS', false));
|
||||||
@@ -104,49 +114,71 @@ class Controller extends BaseController
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
app('db')->insert(
|
// app('db')->insert(
|
||||||
'INSERT INTO `pagestats`(`type`, `item_id`, `visitor_ip`, `session`, `referer`) VALUES(:type, :id, :ip, :session, :referer)',
|
// 'INSERT INTO `pagestats`(`type`, `item_id`, `visitor_ip`, `session`, `referer`) VALUES(:type, :id, :ip, :session, :referer)',
|
||||||
[
|
// [
|
||||||
'type' => $type,
|
// 'type' => $type,
|
||||||
'id' => $id,
|
// 'id' => $id,
|
||||||
'ip' => $request->server('REMOTE_ADDR'),
|
// 'ip' => $request->server('REMOTE_ADDR'),
|
||||||
'session' => md5(Session::getId()),
|
// 'session' => md5(Session::getId()),
|
||||||
'referer' => $request->server('HTTP_REFERRER')
|
// 'referer' => $request->server('HTTP_REFERRER')
|
||||||
]
|
// ]
|
||||||
);
|
// );
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function API($url)
|
protected function API($url)
|
||||||
{
|
{
|
||||||
$arrContextOptions = [
|
try {
|
||||||
'ssl' => [
|
$response = Http::connectTimeout(5)
|
||||||
"verify_peer" => false,
|
->timeout(15)
|
||||||
"verify_peer_name" => false,
|
->withHeaders([
|
||||||
],
|
'Host' => $this->API_HOST,
|
||||||
'http' => [
|
'X-Api-Key' => sha1(request()->server('REMOTE_ADDR')),
|
||||||
'method' => 'GET',
|
'X-User-Agent' => request()->server('HTTP_USER_AGENT')
|
||||||
'header' => 'X-Api-Key: ' . sha1(request()->server('REMOTE_ADDR')) . "\r\n"
|
])
|
||||||
. 'X-User-Agent: ' . request()->server('HTTP_USER_AGENT') . "\r\n"
|
->get($this->API_URL . $url);
|
||||||
]
|
|
||||||
];
|
if ($response->successful()) {
|
||||||
//\dump($http_response_header);
|
$body = $response->body();
|
||||||
$result = @file_get_contents($this->API_URL . $url, false, stream_context_create($arrContextOptions));
|
return $body ? json_decode($body) : null;
|
||||||
return $result ? json_decode($result) : null;
|
}
|
||||||
|
Log::warning('API request failed', [
|
||||||
|
'url' => $this->API_URL . $url,
|
||||||
|
'status' => $response->status()
|
||||||
|
]);
|
||||||
|
return null;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
Log::error('API request error', [
|
||||||
|
'url' => $this->API_URL . $url,
|
||||||
|
'error' => $e->getMessage()
|
||||||
|
]);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function checkAPI($url)
|
protected function checkAPI($url)
|
||||||
{
|
{
|
||||||
return $this->get_http_response_code($this->API_URL . $url);
|
return $this->getHttpResponseCode($url);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function get_http_response_code($url)
|
protected function getHttpResponseCode($url)
|
||||||
{
|
{
|
||||||
$headers = get_headers($url);
|
try {
|
||||||
return substr($headers[0], 9, 3);
|
$response = Http::connectTimeout(5)
|
||||||
|
->timeout(15)
|
||||||
|
->withHeaders([
|
||||||
|
'Host' => $this->API_HOST,
|
||||||
|
'X-Api-Key' => sha1(request()->server('REMOTE_ADDR')),
|
||||||
|
'X-User-Agent' => request()->server('HTTP_USER_AGENT')
|
||||||
|
])
|
||||||
|
->head($this->API_URL . $url);
|
||||||
|
|
||||||
|
return $response->status();
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected static function JsonToDateTime($obj)
|
protected static function JsonToDateTime($obj)
|
||||||
{
|
{
|
||||||
return is_object($obj) ? new \DateTime($obj->date, new \DateTimeZone($obj->timezone)) : \Carbon\Carbon::parse($obj)->setTimezone(date_default_timezone_get());
|
return is_object($obj) ? new \DateTime($obj->date, new \DateTimeZone($obj->timezone)) : \Carbon\Carbon::parse($obj)->setTimezone(date_default_timezone_get());
|
||||||
@@ -169,13 +201,13 @@ class Controller extends BaseController
|
|||||||
public function getSidebareData()
|
public function getSidebareData()
|
||||||
{
|
{
|
||||||
$populair = [];
|
$populair = [];
|
||||||
$apiResult = $this->API('nieuws/populair?aantal=5');
|
$apiResult = (object) $this->API('nieuws/populair?aantal=5');
|
||||||
foreach ($apiResult->news as $_newsItem) {
|
foreach ($apiResult->news as $_newsItem) {
|
||||||
$populair[] = new \Model\NewsItem($_newsItem);
|
$populair[] = new \Model\NewsItem($_newsItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
$newsItems = [];
|
$newsItems = [];
|
||||||
$apiResult = $this->API('nieuws/overzicht?aantal=5');
|
$apiResult = (object) $this->API('nieuws/overzicht?aantal=5');
|
||||||
foreach ($apiResult->news as $_newsItem) {
|
foreach ($apiResult->news as $_newsItem) {
|
||||||
$newsItems[] = new \Model\NewsItem($_newsItem);
|
$newsItems[] = new \Model\NewsItem($_newsItem);
|
||||||
}
|
}
|
||||||
@@ -189,13 +221,15 @@ class Controller extends BaseController
|
|||||||
return view($slug);
|
return view($slug);
|
||||||
}
|
}
|
||||||
|
|
||||||
$page = $this->API('statisch/' . $slug);
|
$page = (object) $this->API('statisch/' . $slug);
|
||||||
if ($page == null) {
|
if ($page == null || !isset($page->title)) {
|
||||||
return abort(404);
|
return abort(404);
|
||||||
}
|
}
|
||||||
|
|
||||||
$page->published = Controller::JsonToDateTime($page->published);
|
if(isset($page->published)) {
|
||||||
if ($page->edited) {
|
$page->published = Controller::JsonToDateTime($page->published);
|
||||||
|
}
|
||||||
|
if (isset($page->edited) && $page->edited) {
|
||||||
$page->edited = Controller::JsonToDateTime($page->edited);
|
$page->edited = Controller::JsonToDateTime($page->edited);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Mail;
|
||||||
|
|
||||||
|
use Illuminate\Bus\Queueable;
|
||||||
|
use Illuminate\Mail\Mailable;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
|
||||||
|
class ContactFormSubmitted extends Mailable
|
||||||
|
{
|
||||||
|
use Queueable, SerializesModels;
|
||||||
|
|
||||||
|
public $data;
|
||||||
|
public $attachments_files;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new message instance.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct($data, $attachments_files = [])
|
||||||
|
{
|
||||||
|
$this->data = $data;
|
||||||
|
$this->attachments_files = $attachments_files;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build the message.
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function build()
|
||||||
|
{
|
||||||
|
$email = $this->view('emails.contact_submitted')
|
||||||
|
->subject('Nieuw contactformulier bericht van NH Gooi')
|
||||||
|
->replyTo($this->data['email'], $this->data['name']);
|
||||||
|
|
||||||
|
if (isset($this->attachments_files['image'])) {
|
||||||
|
$email->attach($this->attachments_files['image']);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $email;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,8 @@
|
|||||||
namespace App\Providers;
|
namespace App\Providers;
|
||||||
|
|
||||||
use Illuminate\Support\ServiceProvider;
|
use Illuminate\Support\ServiceProvider;
|
||||||
|
use Illuminate\Validation\Rule;
|
||||||
|
use Ossycodes\FriendlyCaptcha\Rules\FriendlyCaptcha as FriendlyCaptchaRule;
|
||||||
|
|
||||||
class AppServiceProvider extends ServiceProvider
|
class AppServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
@@ -14,6 +16,10 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
public function boot()
|
public function boot()
|
||||||
{
|
{
|
||||||
\Illuminate\Support\Facades\URL::forceScheme('https');
|
\Illuminate\Support\Facades\URL::forceScheme('https');
|
||||||
|
|
||||||
|
Rule::macro('friendlycaptcha', function () {
|
||||||
|
return app(FriendlyCaptchaRule::class);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
*
|
|
||||||
!.gitignore
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
<?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',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,251 +0,0 @@
|
|||||||
<?php return array (
|
|
||||||
'providers' =>
|
|
||||||
array (
|
|
||||||
0 => 'Illuminate\\Auth\\AuthServiceProvider',
|
|
||||||
1 => 'Illuminate\\Broadcasting\\BroadcastServiceProvider',
|
|
||||||
2 => 'Illuminate\\Bus\\BusServiceProvider',
|
|
||||||
3 => 'Illuminate\\Cache\\CacheServiceProvider',
|
|
||||||
4 => 'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider',
|
|
||||||
5 => 'Illuminate\\Cookie\\CookieServiceProvider',
|
|
||||||
6 => 'Illuminate\\Database\\DatabaseServiceProvider',
|
|
||||||
7 => 'Illuminate\\Encryption\\EncryptionServiceProvider',
|
|
||||||
8 => 'Illuminate\\Filesystem\\FilesystemServiceProvider',
|
|
||||||
9 => 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider',
|
|
||||||
10 => 'Illuminate\\Hashing\\HashServiceProvider',
|
|
||||||
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 (
|
|
||||||
0 => 'Illuminate\\Auth\\AuthServiceProvider',
|
|
||||||
1 => 'Illuminate\\Cookie\\CookieServiceProvider',
|
|
||||||
2 => 'Illuminate\\Database\\DatabaseServiceProvider',
|
|
||||||
3 => 'Illuminate\\Encryption\\EncryptionServiceProvider',
|
|
||||||
4 => 'Illuminate\\Filesystem\\FilesystemServiceProvider',
|
|
||||||
5 => 'Illuminate\\Foundation\\Providers\\FoundationServiceProvider',
|
|
||||||
6 => 'Illuminate\\Notifications\\NotificationServiceProvider',
|
|
||||||
7 => 'Illuminate\\Pagination\\PaginationServiceProvider',
|
|
||||||
8 => 'Illuminate\\Session\\SessionServiceProvider',
|
|
||||||
9 => 'Illuminate\\View\\ViewServiceProvider',
|
|
||||||
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 (
|
|
||||||
'Illuminate\\Broadcasting\\BroadcastManager' => 'Illuminate\\Broadcasting\\BroadcastServiceProvider',
|
|
||||||
'Illuminate\\Contracts\\Broadcasting\\Factory' => 'Illuminate\\Broadcasting\\BroadcastServiceProvider',
|
|
||||||
'Illuminate\\Contracts\\Broadcasting\\Broadcaster' => 'Illuminate\\Broadcasting\\BroadcastServiceProvider',
|
|
||||||
'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',
|
|
||||||
'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',
|
|
||||||
'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',
|
|
||||||
'hash.driver' => 'Illuminate\\Hashing\\HashServiceProvider',
|
|
||||||
'mail.manager' => 'Illuminate\\Mail\\MailServiceProvider',
|
|
||||||
'mailer' => 'Illuminate\\Mail\\MailServiceProvider',
|
|
||||||
'Illuminate\\Mail\\Markdown' => 'Illuminate\\Mail\\MailServiceProvider',
|
|
||||||
'Illuminate\\Contracts\\Pipeline\\Hub' => 'Illuminate\\Pipeline\\PipelineServiceProvider',
|
|
||||||
'queue' => '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',
|
|
||||||
'auth.password.broker' => 'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider',
|
|
||||||
'translator' => 'Illuminate\\Translation\\TranslationServiceProvider',
|
|
||||||
'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 (
|
|
||||||
'Illuminate\\Broadcasting\\BroadcastServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Bus\\BusServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Cache\\CacheServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Hashing\\HashServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Mail\\MailServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Pipeline\\PipelineServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Queue\\QueueServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Redis\\RedisServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Translation\\TranslationServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Illuminate\\Validation\\ValidationServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Laravel\\Sail\\SailServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Laravel\\Tinker\\TinkerServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
'Collective\\Html\\HtmlServiceProvider' =>
|
|
||||||
array (
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -10,7 +10,8 @@
|
|||||||
"laravel/framework": "^9.19",
|
"laravel/framework": "^9.19",
|
||||||
"laravel/sanctum": "^3.0",
|
"laravel/sanctum": "^3.0",
|
||||||
"laravel/tinker": "^2.7",
|
"laravel/tinker": "^2.7",
|
||||||
"laravelcollective/html": "^6.3"
|
"laravelcollective/html": "^6.3",
|
||||||
|
"ossycodes/friendlycaptcha": "^3.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"fakerphp/faker": "^1.9.1",
|
"fakerphp/faker": "^1.9.1",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "f70c81adf2990f185a8632535bd08631",
|
"content-hash": "f9a3eebc09010b2b187541a3e59a0eff",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "brick/math",
|
"name": "brick/math",
|
||||||
@@ -1934,34 +1934,37 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nette/schema",
|
"name": "nette/schema",
|
||||||
"version": "v1.2.3",
|
"version": "v1.3.3",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/nette/schema.git",
|
"url": "https://github.com/nette/schema.git",
|
||||||
"reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f"
|
"reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f",
|
"url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004",
|
||||||
"reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f",
|
"reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"nette/utils": "^2.5.7 || ^3.1.5 || ^4.0",
|
"nette/utils": "^4.0",
|
||||||
"php": ">=7.1 <8.3"
|
"php": "8.1 - 8.5"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"nette/tester": "^2.3 || ^2.4",
|
"nette/tester": "^2.5.2",
|
||||||
"phpstan/phpstan-nette": "^1.0",
|
"phpstan/phpstan-nette": "^2.0@stable",
|
||||||
"tracy/tracy": "^2.7"
|
"tracy/tracy": "^2.8"
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "1.2-dev"
|
"dev-master": "1.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Nette\\": "src"
|
||||||
|
},
|
||||||
"classmap": [
|
"classmap": [
|
||||||
"src/"
|
"src/"
|
||||||
]
|
]
|
||||||
@@ -1990,34 +1993,36 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/nette/schema/issues",
|
"issues": "https://github.com/nette/schema/issues",
|
||||||
"source": "https://github.com/nette/schema/tree/v1.2.3"
|
"source": "https://github.com/nette/schema/tree/v1.3.3"
|
||||||
},
|
},
|
||||||
"time": "2022-10-13T01:24:26+00:00"
|
"time": "2025-10-30T22:57:59+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nette/utils",
|
"name": "nette/utils",
|
||||||
"version": "v3.2.8",
|
"version": "v4.1.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/nette/utils.git",
|
"url": "https://github.com/nette/utils.git",
|
||||||
"reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368"
|
"reference": "c99059c0315591f1a0db7ad6002000288ab8dc72"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/nette/utils/zipball/02a54c4c872b99e4ec05c4aec54b5a06eb0f6368",
|
"url": "https://api.github.com/repos/nette/utils/zipball/c99059c0315591f1a0db7ad6002000288ab8dc72",
|
||||||
"reference": "02a54c4c872b99e4ec05c4aec54b5a06eb0f6368",
|
"reference": "c99059c0315591f1a0db7ad6002000288ab8dc72",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=7.2 <8.3"
|
"php": "8.2 - 8.5"
|
||||||
},
|
},
|
||||||
"conflict": {
|
"conflict": {
|
||||||
"nette/di": "<3.0.6"
|
"nette/finder": "<3",
|
||||||
|
"nette/schema": "<1.2.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"nette/tester": "~2.0",
|
"jetbrains/phpstorm-attributes": "^1.2",
|
||||||
"phpstan/phpstan": "^1.0",
|
"nette/tester": "^2.5",
|
||||||
"tracy/tracy": "^2.3"
|
"phpstan/phpstan-nette": "^2.0@stable",
|
||||||
|
"tracy/tracy": "^2.9"
|
||||||
},
|
},
|
||||||
"suggest": {
|
"suggest": {
|
||||||
"ext-gd": "to use Image",
|
"ext-gd": "to use Image",
|
||||||
@@ -2025,16 +2030,18 @@
|
|||||||
"ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
|
"ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
|
||||||
"ext-json": "to use Nette\\Utils\\Json",
|
"ext-json": "to use Nette\\Utils\\Json",
|
||||||
"ext-mbstring": "to use Strings::lower() etc...",
|
"ext-mbstring": "to use Strings::lower() etc...",
|
||||||
"ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()",
|
"ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()"
|
||||||
"ext-xml": "to use Strings::length() etc. when mbstring is not available"
|
|
||||||
},
|
},
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "3.2-dev"
|
"dev-master": "4.1-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Nette\\": "src"
|
||||||
|
},
|
||||||
"classmap": [
|
"classmap": [
|
||||||
"src/"
|
"src/"
|
||||||
]
|
]
|
||||||
@@ -2075,9 +2082,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/nette/utils/issues",
|
"issues": "https://github.com/nette/utils/issues",
|
||||||
"source": "https://github.com/nette/utils/tree/v3.2.8"
|
"source": "https://github.com/nette/utils/tree/v4.1.1"
|
||||||
},
|
},
|
||||||
"time": "2022-09-12T23:36:20+00:00"
|
"time": "2025-12-22T12:14:32+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nikic/php-parser",
|
"name": "nikic/php-parser",
|
||||||
@@ -2221,6 +2228,69 @@
|
|||||||
],
|
],
|
||||||
"time": "2022-12-20T19:00:15+00:00"
|
"time": "2022-12-20T19:00:15+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "ossycodes/friendlycaptcha",
|
||||||
|
"version": "v3.0.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/ossycodes/friendlycaptcha.git",
|
||||||
|
"reference": "b18dfab44ee5fff7d75412232eb6f834864efde6"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/ossycodes/friendlycaptcha/zipball/b18dfab44ee5fff7d75412232eb6f834864efde6",
|
||||||
|
"reference": "b18dfab44ee5fff7d75412232eb6f834864efde6",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"guzzlehttp/guzzle": "^7.0",
|
||||||
|
"illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0",
|
||||||
|
"php": "^7.4|^8.0|^8.1|^8.2|^8.3"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"orchestra/testbench": "^6.0|^7.0|^8.0|^9.0",
|
||||||
|
"phpunit/phpunit": "^8.0 || ^9.5 || ^10.5 || ^11.0 || ^12.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"laravel": {
|
||||||
|
"aliases": {
|
||||||
|
"FriendlyCaptcha": "Ossycodes\\FriendlyCaptcha\\Facades\\FriendlyCaptcha"
|
||||||
|
},
|
||||||
|
"providers": [
|
||||||
|
"Ossycodes\\FriendlyCaptcha\\FriendlyCaptchaServiceProvider"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Ossycodes\\FriendlyCaptcha\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "ossycodes",
|
||||||
|
"email": "osaigbovoemmanuel1@gmail.com",
|
||||||
|
"role": "Developer"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A simple package to help integrate FriendlyCaptcha in your Laravel applications.",
|
||||||
|
"homepage": "https://github.com/ossycodes/friendlycaptcha",
|
||||||
|
"keywords": [
|
||||||
|
"captcha",
|
||||||
|
"friendlycaptcha",
|
||||||
|
"laravel"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/ossycodes/friendlycaptcha/issues",
|
||||||
|
"source": "https://github.com/ossycodes/friendlycaptcha/tree/v3.0.0"
|
||||||
|
},
|
||||||
|
"time": "2025-05-08T13:30:49+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "phpoption/phpoption",
|
"name": "phpoption/phpoption",
|
||||||
"version": "1.9.0",
|
"version": "1.9.0",
|
||||||
@@ -7931,12 +8001,12 @@
|
|||||||
],
|
],
|
||||||
"aliases": [],
|
"aliases": [],
|
||||||
"minimum-stability": "dev",
|
"minimum-stability": "dev",
|
||||||
"stability-flags": [],
|
"stability-flags": {},
|
||||||
"prefer-stable": true,
|
"prefer-stable": true,
|
||||||
"prefer-lowest": false,
|
"prefer-lowest": false,
|
||||||
"platform": {
|
"platform": {
|
||||||
"php": "^8.0.2"
|
"php": "^8.0"
|
||||||
},
|
},
|
||||||
"platform-dev": [],
|
"platform-dev": {},
|
||||||
"plugin-api-version": "2.3.0"
|
"plugin-api-version": "2.6.0"
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Default Log Channel
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| This option defines the default log channel that gets used when writing
|
||||||
|
| messages to the logs. The name specified in this channel must be listed
|
||||||
|
| in the channels configuration array defined below.
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'default' => env('LOG_CHANNEL', 'stack'),
|
||||||
|
|
||||||
|
'deprecations' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Log Channels
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| Here you may configure the log channels for your application. Out of
|
||||||
|
| the box, Laravel uses the Monolog PHP logging library. This gives
|
||||||
|
| you a variety of powerful log handlers / formatters to utilize.
|
||||||
|
|
|
||||||
|
| Available Drivers: "single", "daily", "slack", "syslog",
|
||||||
|
| "errorlog", "monolog", "custom", "stack"
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'channels' => [
|
||||||
|
'stack' => [
|
||||||
|
'driver' => 'stack',
|
||||||
|
'channels' => ['single'],
|
||||||
|
'ignore_exceptions' => false,
|
||||||
|
],
|
||||||
|
|
||||||
|
'single' => [
|
||||||
|
'driver' => 'single',
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'daily' => [
|
||||||
|
'driver' => 'daily',
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
'days' => 14,
|
||||||
|
],
|
||||||
|
|
||||||
|
'slack' => [
|
||||||
|
'driver' => 'slack',
|
||||||
|
'url' => env('LOG_SLACK_WEBHOOK_URL'),
|
||||||
|
'username' => 'Laravel Log',
|
||||||
|
'emoji' => ':boom:',
|
||||||
|
'level' => env('LOG_LEVEL', 'critical'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'papertrail' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
'handler' => \Monolog\Handler\SyslogUdpHandler::class,
|
||||||
|
'handler_with' => [
|
||||||
|
'host' => env('PAPERTRAIL_URL'),
|
||||||
|
'port' => env('PAPERTRAIL_PORT'),
|
||||||
|
'facility' => LOG_USER,
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'stderr' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
'handler' => \Monolog\Handler\StreamHandler::class,
|
||||||
|
'formatter' => env('LOG_STDERR_FORMATTER'),
|
||||||
|
'with' => [
|
||||||
|
'stream' => 'php://stderr',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'syslog' => [
|
||||||
|
'driver' => 'syslog',
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
'facility' => LOG_USER,
|
||||||
|
],
|
||||||
|
|
||||||
|
'errorlog' => [
|
||||||
|
'driver' => 'errorlog',
|
||||||
|
'level' => env('LOG_LEVEL', 'debug'),
|
||||||
|
],
|
||||||
|
|
||||||
|
'null' => [
|
||||||
|
'driver' => 'monolog',
|
||||||
|
'handler' => \Monolog\Handler\NullHandler::class,
|
||||||
|
],
|
||||||
|
|
||||||
|
'emergency' => [
|
||||||
|
'path' => storage_path('logs/laravel.log'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
];
|
||||||
@@ -22,3 +22,8 @@ services:
|
|||||||
MYSQL_DATABASE: forge
|
MYSQL_DATABASE: forge
|
||||||
MYSQL_USER: forge
|
MYSQL_USER: forge
|
||||||
MYSQL_PASSWORD: secret
|
MYSQL_PASSWORD: secret
|
||||||
|
mailpit:
|
||||||
|
image: axllent/mailpit:latest
|
||||||
|
ports:
|
||||||
|
- "8025:8025"
|
||||||
|
- "1025:1025"
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
cd /var/www/app
|
||||||
|
|
||||||
|
# Set HOME for npm cache (www-data user needs writable cache directory)
|
||||||
|
export HOME=/tmp
|
||||||
|
|
||||||
|
echo "Setting up dependencies..."
|
||||||
|
|
||||||
|
# Create vendor directories and fix permissions
|
||||||
|
echo "Fixing permissions..."
|
||||||
|
mkdir -p bootstrap/cache storage/framework storage/logs public/assets/vendor
|
||||||
|
chown -R www-data:www-data bootstrap/cache storage/framework storage/logs public/assets/vendor
|
||||||
|
chmod -R ug+rwX bootstrap/cache storage/framework storage/logs public/assets/vendor
|
||||||
|
|
||||||
|
# Install PHP dependencies
|
||||||
|
echo "Installing PHP packages..."
|
||||||
|
composer install \
|
||||||
|
--no-dev \
|
||||||
|
--prefer-dist \
|
||||||
|
--no-interaction \
|
||||||
|
--optimize-autoloader
|
||||||
|
|
||||||
|
# Install npm dependencies if package.json has dependencies
|
||||||
|
if grep -q "\"dependencies\"" package.json; then
|
||||||
|
echo "Installing npm packages..."
|
||||||
|
npm ci --omit=dev
|
||||||
|
node scripts/setup-vendor.js
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fix permissions
|
||||||
|
echo "Fixing permissions..."
|
||||||
|
chown -R www-data:www-data \
|
||||||
|
bootstrap/cache \
|
||||||
|
public/assets/vendor
|
||||||
|
|
||||||
|
chmod -R ug+rwX bootstrap/cache
|
||||||
|
|
||||||
|
echo "✓ Setup complete, starting Apache..."
|
||||||
|
exec apache2-foreground
|
||||||
@@ -19,28 +19,3 @@ ServerTokens Prod
|
|||||||
CustomLog /var/log/apache2/vhost-access.log combined
|
CustomLog /var/log/apache2/vhost-access.log combined
|
||||||
</VirtualHost>
|
</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>
|
|
||||||
@@ -23,7 +23,7 @@ ServerTokens Prod
|
|||||||
<VirtualHost *:443>
|
<VirtualHost *:443>
|
||||||
ServerName localhost
|
ServerName localhost
|
||||||
ServerAdmin support@websight.nl
|
ServerAdmin support@websight.nl
|
||||||
DocumentRoot /var/www/html
|
DocumentRoot /var/www/html/public
|
||||||
|
|
||||||
SSLEngine on
|
SSLEngine on
|
||||||
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
|
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
|
||||||
@@ -32,15 +32,15 @@ ServerTokens Prod
|
|||||||
SSLProtocol All -SSLv2 -SSLv3
|
SSLProtocol All -SSLv2 -SSLv3
|
||||||
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
|
SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
|
||||||
|
|
||||||
<Directory /var/www/html/>
|
<Directory /var/www/html/public>
|
||||||
Options -Indexes +FollowSymLinks +MultiViews
|
Options -Indexes +FollowSymLinks +MultiViews
|
||||||
AllowOverride All
|
AllowOverride All
|
||||||
Order deny,allow
|
Order deny,allow
|
||||||
Allow from all
|
Allow from all
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
ErrorLog /var/log/apache2/ssl-vhost-error.log
|
ErrorLog /var/log/apache2/error.log
|
||||||
CustomLog /var/log/apache2/ssl-vhost-access.log combined
|
CustomLog /var/log/apache2/access.log combined
|
||||||
|
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
</IfModule>
|
</IfModule>
|
||||||
@@ -37,3 +37,7 @@ DB_PASSWORD=dbpass
|
|||||||
|
|
||||||
CACHE_DRIVER=file
|
CACHE_DRIVER=file
|
||||||
QUEUE_DRIVER=sync
|
QUEUE_DRIVER=sync
|
||||||
|
|
||||||
|
FRIENDLY_CAPTCHA_SITEKEY=
|
||||||
|
FRIENDLY_CAPTCHA_SECRET=
|
||||||
|
FRIENDLY_CAPTCHA_DEBUG=true
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
# Set ownership
|
||||||
|
chown -R www-data:www-data .
|
||||||
|
|
||||||
|
# Normal permissions
|
||||||
|
find . -type d -exec chmod 775 {} \;
|
||||||
|
find . -type f -exec chmod 664 {} \;
|
||||||
|
|
||||||
|
# Laravel writable directories
|
||||||
|
find storage bootstrap/cache -type d -exec chmod 775 {} \;
|
||||||
|
find storage bootstrap/cache -type f -exec chmod 664 {} \;
|
||||||
|
|
||||||
|
# Laravel CLI
|
||||||
|
chmod 755 artisan
|
||||||
@@ -1,9 +1,18 @@
|
|||||||
{
|
{
|
||||||
"name": "nhgooi.nl",
|
"name": "workspace",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"dependencies": {
|
||||||
|
"air-datepicker": "^3.5.0",
|
||||||
|
"daterangepicker": "^3.1.0",
|
||||||
|
"jquery": "^3.7.0",
|
||||||
|
"jquery-ui": "^1.13.0",
|
||||||
|
"moment": "^2.30.0",
|
||||||
|
"wavesurfer.js": "^7.8.0"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"grunt": "^1.6.1",
|
"grunt": "^1.6.1",
|
||||||
"grunt-contrib-concat": "^2.1.0",
|
"grunt-contrib-concat": "^2.1.0",
|
||||||
@@ -18,6 +27,12 @@
|
|||||||
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
|
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/air-datepicker": {
|
||||||
|
"version": "3.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/air-datepicker/-/air-datepicker-3.6.0.tgz",
|
||||||
|
"integrity": "sha512-+txUkqa949rXBJDmkQAIb/GehZECJYF4rm9XJxVYtEX22C9WvBpE/XwCUQZBopKIkpg4ycAySJ9lH3JOg9qQTw==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/ansi-styles": {
|
"node_modules/ansi-styles": {
|
||||||
"version": "4.3.0",
|
"version": "4.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
|
||||||
@@ -241,6 +256,16 @@
|
|||||||
"node": "*"
|
"node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/daterangepicker": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/daterangepicker/-/daterangepicker-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-DxWXvvPq4srWLCqFugqSV+6CBt/CvQ0dnpXhQ3gl0autcIDAruG1PuGG3gC7yPRNytAD1oU1AcUOzaYhOawhTw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"jquery": ">=1.10",
|
||||||
|
"moment": "^2.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/debug": {
|
"node_modules/debug": {
|
||||||
"version": "3.2.7",
|
"version": "3.2.7",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
|
||||||
@@ -1075,6 +1100,21 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/jquery": {
|
||||||
|
"version": "3.7.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
|
||||||
|
"integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/jquery-ui": {
|
||||||
|
"version": "1.14.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.14.2.tgz",
|
||||||
|
"integrity": "sha512-1gSl7PUjyipa2adSr780Ujk16faicrV7PjPPzPtvWk7tTqBnsqp67NNV9jZK2+BIxUPXWSnIUU/LBCgwgGZE+Q==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"jquery": ">=1.12.0 <5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/js-yaml": {
|
"node_modules/js-yaml": {
|
||||||
"version": "3.14.1",
|
"version": "3.14.1",
|
||||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
|
||||||
@@ -1207,6 +1247,15 @@
|
|||||||
"node": "*"
|
"node": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/moment": {
|
||||||
|
"version": "2.30.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
|
||||||
|
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/ms": {
|
"node_modules/ms": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
@@ -1740,6 +1789,12 @@
|
|||||||
"node": ">= 0.10"
|
"node": ">= 0.10"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/wavesurfer.js": {
|
||||||
|
"version": "7.12.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/wavesurfer.js/-/wavesurfer.js-7.12.11.tgz",
|
||||||
|
"integrity": "sha512-Sx0yZIz7jRJ9J9p7UL+pl9y0UQBB6UN/XNo+R7Gy4tCR5xZI9jMyA0dnt1R8TMVSQ4LZ10SeB2HJYQ+dV2dPSA==",
|
||||||
|
"license": "BSD-3-Clause"
|
||||||
|
},
|
||||||
"node_modules/websocket-driver": {
|
"node_modules/websocket-driver": {
|
||||||
"version": "0.7.4",
|
"version": "0.7.4",
|
||||||
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
|
||||||
|
|||||||
@@ -1,12 +1,24 @@
|
|||||||
{
|
{
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
"dev": "grunt watch",
|
||||||
|
"build": "grunt uglify concat",
|
||||||
|
"postinstall": "node scripts/setup-vendor.js || true",
|
||||||
"sass": "sass resources/assets/sass:public/css",
|
"sass": "sass resources/assets/sass:public/css",
|
||||||
"sass-watch": "sass --watch 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": "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",
|
"sass-minify-watch": "sass --watch resources/assets/sass/style.scss:public/css/style.min.css --style compressed",
|
||||||
"js-watch": "grunt watch"
|
"js-watch": "grunt watch"
|
||||||
},
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"jquery": "^3.7.0",
|
||||||
|
"jquery-ui": "^1.13.0",
|
||||||
|
"moment": "^2.30.0",
|
||||||
|
"daterangepicker": "^3.1.0",
|
||||||
|
"wavesurfer.js": "^7.8.0",
|
||||||
|
"air-datepicker": "^3.5.0"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"grunt": "^1.6.1",
|
"grunt": "^1.6.1",
|
||||||
"grunt-contrib-concat": "^2.1.0",
|
"grunt-contrib-concat": "^2.1.0",
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 183 KiB After Width: | Height: | Size: 183 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 606 B After Width: | Height: | Size: 606 B |
|
Before Width: | Height: | Size: 417 B After Width: | Height: | Size: 417 B |