Compare commits
19 Commits
77b14e753e
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
001fe26085
|
|||
|
be53fe6a65
|
|||
|
c3bb3c56b9
|
|||
| 5c45cbab8b | |||
| 1df2ed4e04 | |||
| fd8ef94bb6 | |||
| b69e0c36e0 | |||
| 856f082bea | |||
|
9685ec3efc
|
|||
|
6d1286057a
|
|||
|
dc7cb715cc
|
|||
|
a1e9aa6b8a
|
|||
|
59305be5a6
|
|||
|
1019ef076d
|
|||
|
ac6c1cee80
|
|||
|
222dc6d274
|
|||
|
b48c689d31
|
|||
|
9cac0294cd
|
|||
|
3e5c99c3dd
|
@@ -1,58 +1 @@
|
|||||||
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p>
|
# C3Gov Website
|
||||||
|
|
||||||
<p align="center">
|
|
||||||
<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a>
|
|
||||||
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
|
|
||||||
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
|
|
||||||
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
## About Laravel
|
|
||||||
|
|
||||||
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
|
|
||||||
|
|
||||||
- [Simple, fast routing engine](https://laravel.com/docs/routing).
|
|
||||||
- [Powerful dependency injection container](https://laravel.com/docs/container).
|
|
||||||
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
|
|
||||||
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
|
|
||||||
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
|
|
||||||
- [Robust background job processing](https://laravel.com/docs/queues).
|
|
||||||
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
|
|
||||||
|
|
||||||
Laravel is accessible, powerful, and provides tools required for large, robust applications.
|
|
||||||
|
|
||||||
## Learning Laravel
|
|
||||||
|
|
||||||
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
|
|
||||||
|
|
||||||
In addition, [Laracasts](https://laracasts.com) contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
|
|
||||||
|
|
||||||
You can also watch bite-sized lessons with real-world projects on [Laravel Learn](https://laravel.com/learn), where you will be guided through building a Laravel application from scratch while learning PHP fundamentals.
|
|
||||||
|
|
||||||
## Agentic Development
|
|
||||||
|
|
||||||
Laravel's predictable structure and conventions make it ideal for AI coding agents like Claude Code, Cursor, and GitHub Copilot. Install [Laravel Boost](https://laravel.com/docs/ai) to supercharge your AI workflow:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
composer require laravel/boost --dev
|
|
||||||
|
|
||||||
php artisan boost:install
|
|
||||||
```
|
|
||||||
|
|
||||||
Boost provides your agent 15+ tools and skills that help agents build Laravel applications while following best practices.
|
|
||||||
|
|
||||||
## Contributing
|
|
||||||
|
|
||||||
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
|
|
||||||
|
|
||||||
## Code of Conduct
|
|
||||||
|
|
||||||
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
|
|
||||||
|
|
||||||
## Security Vulnerabilities
|
|
||||||
|
|
||||||
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
|
|
||||||
|
|||||||
@@ -0,0 +1,79 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Models\ChaosEvents;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
class EventController extends Controller
|
||||||
|
{
|
||||||
|
public static function eventsPaginated(){
|
||||||
|
return ChaosEvents::paginate(10);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addEvent(Request $request) {
|
||||||
|
if(Auth::check()){
|
||||||
|
$name = $request->input('name');
|
||||||
|
$shortname = $request->input('shortname');
|
||||||
|
$from_date_internal = $request->input('from_date_internal');
|
||||||
|
$to_date_internal = $request->input('to_date_internal');
|
||||||
|
$from_date_visible = $request->input('from_date_visible');
|
||||||
|
$to_date_visible = $request->input('to_date_visible');
|
||||||
|
$active = $request->input('active');
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
$event = new ChaosEvents();
|
||||||
|
$event->name = $name;
|
||||||
|
$event->shortname = $shortname;
|
||||||
|
$event->from_date_internal = $from_date_internal;
|
||||||
|
$event->to_date_internal = $to_date_internal;
|
||||||
|
$event->from_date_visible = $from_date_visible;
|
||||||
|
$event->to_date_visible = $to_date_visible;
|
||||||
|
$event->active = $active;
|
||||||
|
|
||||||
|
$event->save();
|
||||||
|
return ['messageStatus' => 'success', 'errorMessage' => ''];
|
||||||
|
} catch (\Illuminate\Database\QueryException $e) {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => $e->getMessage()])];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function deleteEvent(Request $request) {
|
||||||
|
if(Auth::check()){
|
||||||
|
try {
|
||||||
|
$event = ChaosEvents::find($request->input('id'));
|
||||||
|
if ($event) {
|
||||||
|
$event->delete();
|
||||||
|
return ['messageStatus' => 'success', 'errorMessage' => ''];
|
||||||
|
} else {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => "Event not found"])];
|
||||||
|
}
|
||||||
|
} catch (\Illuminate\Database\QueryException $e) {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => $e->getMessage()])];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setActivity(Request $request) {
|
||||||
|
if(Auth::check()) {
|
||||||
|
try {
|
||||||
|
$event = ChaosEvents::find($request->input('id'));
|
||||||
|
if ($event) {
|
||||||
|
$event->active = $request->input('active');
|
||||||
|
$event->save();
|
||||||
|
return ['messageStatus' => 'success', 'errorMessage' => ''];
|
||||||
|
} else {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => "Event not found"])];
|
||||||
|
}
|
||||||
|
} catch (\Illuminate\Database\QueryException $e) {
|
||||||
|
return ['messageStatus' => 'failure', 'errorMessage' => __("controller_messages.EventController.error_occurred", ["error" => $e->getMessage()])];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -10,8 +10,7 @@ use Illuminate\Http\Request;
|
|||||||
use Illuminate\Support\Carbon;
|
use Illuminate\Support\Carbon;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Illuminate\Support\Facades\Mail;
|
use Illuminate\Support\Facades\Mail;
|
||||||
use Log;
|
use Dompdf\Dompdf;
|
||||||
use Nette\Utils\Random;
|
|
||||||
|
|
||||||
class PreApplicationController extends Controller
|
class PreApplicationController extends Controller
|
||||||
{
|
{
|
||||||
@@ -159,4 +158,38 @@ class PreApplicationController extends Controller
|
|||||||
}
|
}
|
||||||
abort(404);
|
abort(404);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function generatePDF(Request $request){
|
||||||
|
if(Auth::check()){
|
||||||
|
if(!$request->has('event_id')){
|
||||||
|
return ["messageStatus" => "failure", "errorMessage" => __("controller_messages.PreApplicationController.event_id_missing")];
|
||||||
|
}
|
||||||
|
|
||||||
|
$event = ChaosEvents::find($request->input('event_id'));
|
||||||
|
|
||||||
|
if(!$event){
|
||||||
|
return ["messageStatus" => "failure", "errorMessage" => __("controller_messages.PreApplicationController.event_not_found")];
|
||||||
|
}
|
||||||
|
if($event->active == 0 || $event->to_date_internal < today()){
|
||||||
|
return ["messageStatus" => "failure", "errorMessage" => __("controller_messages.PreApplicationController.event_not_active")];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$options = new \Dompdf\Options();
|
||||||
|
$options->set('isRemoteEnabled', true);
|
||||||
|
$options->set('isHtml5ParserEnabled', true);
|
||||||
|
$options->set('chroot', public_path());
|
||||||
|
$dompdf = new Dompdf($options);
|
||||||
|
$dompdf->setPaper('A4', 'portrait');
|
||||||
|
|
||||||
|
$applications = PreApplications::where('event_id', $request->input('event_id'))->get();
|
||||||
|
$dompdf->loadHtml(view('pdf.pre_application', ['applications' => $applications, 'event' => $event]));
|
||||||
|
|
||||||
|
$dompdf->render();
|
||||||
|
|
||||||
|
$dompdf->stream('Voranträge_' . $event->shortname . '_' . $event->from_date_visible->format('Y') . '.pdf', ['Attachment' => 0]);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,6 +28,10 @@ class WebsiteController extends Controller
|
|||||||
return view('content.contact');
|
return view('content.contact');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function faq(Request $request){
|
||||||
|
return view('content.faq');
|
||||||
|
}
|
||||||
|
|
||||||
public function imprint(Request $request){
|
public function imprint(Request $request){
|
||||||
return view('content.imprint');
|
return view('content.imprint');
|
||||||
}
|
}
|
||||||
@@ -82,4 +86,13 @@ class WebsiteController extends Controller
|
|||||||
abort(404);
|
abort(404);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function editEvents(){
|
||||||
|
if(Auth::check()){
|
||||||
|
return response()
|
||||||
|
->view('events.edit', ['events' => EventController::eventsPaginated()])
|
||||||
|
->header('Cache-Control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
|
||||||
|
}
|
||||||
|
abort(404);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Illuminate\Foundation\Http\Middleware\PreventRequestForgery as Middleware;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class ForceCsrfOnLocalhost extends Middleware
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Determine if the request has a valid origin based on the Sec-Fetch-Site header.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function hasValidOrigin($request)
|
||||||
|
{
|
||||||
|
// If it's localhost, we want to skip origin verification and fall back to token verification
|
||||||
|
if ($this->isLocalhost($request)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return parent::hasValidOrigin($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Determine if the request is from localhost.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function isLocalhost($request)
|
||||||
|
{
|
||||||
|
$host = $request->getHost();
|
||||||
|
|
||||||
|
return in_array($host, ['localhost', '127.0.0.1', '::1']) || str_ends_with($host, '.localhost');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
use Illuminate\Foundation\Application;
|
use Illuminate\Foundation\Application;
|
||||||
use Illuminate\Foundation\Configuration\Exceptions;
|
use Illuminate\Foundation\Configuration\Exceptions;
|
||||||
use Illuminate\Foundation\Configuration\Middleware;
|
use Illuminate\Foundation\Configuration\Middleware;
|
||||||
|
use Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance;
|
||||||
|
|
||||||
return Application::configure(basePath: dirname(__DIR__))
|
return Application::configure(basePath: dirname(__DIR__))
|
||||||
->withRouting(
|
->withRouting(
|
||||||
@@ -11,6 +12,9 @@ return Application::configure(basePath: dirname(__DIR__))
|
|||||||
health: '/up',
|
health: '/up',
|
||||||
)
|
)
|
||||||
->withMiddleware(function (Middleware $middleware): void {
|
->withMiddleware(function (Middleware $middleware): void {
|
||||||
|
$middleware->web(replace: [
|
||||||
|
\Illuminate\Foundation\Http\Middleware\PreventRequestForgery::class => \App\Http\Middleware\ForceCsrfOnLocalhost::class,
|
||||||
|
]);
|
||||||
$middleware->append(\App\Http\Middleware\SetLocale::class);
|
$middleware->append(\App\Http\Middleware\SetLocale::class);
|
||||||
})
|
})
|
||||||
->withExceptions(function (Exceptions $exceptions): void {
|
->withExceptions(function (Exceptions $exceptions): void {
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^8.3",
|
"php": "^8.3",
|
||||||
|
"dompdf/dompdf": "v3.1.5",
|
||||||
"laravel/framework": "^13.0",
|
"laravel/framework": "^13.0",
|
||||||
"laravel/tinker": "^3.0"
|
"laravel/tinker": "^3.0"
|
||||||
},
|
},
|
||||||
|
|||||||
Generated
+446
-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": "41c3f2f807c63a47595eaa4e14742655",
|
"content-hash": "574a1d636a4f2db2df7b156d94d141bb",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "brick/math",
|
"name": "brick/math",
|
||||||
@@ -377,6 +377,161 @@
|
|||||||
],
|
],
|
||||||
"time": "2024-02-05T11:56:58+00:00"
|
"time": "2024-02-05T11:56:58+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "dompdf/dompdf",
|
||||||
|
"version": "v3.1.5",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/dompdf/dompdf.git",
|
||||||
|
"reference": "f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/dompdf/dompdf/zipball/f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496",
|
||||||
|
"reference": "f11ead23a8a76d0ff9bbc6c7c8fd7e05ca328496",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"dompdf/php-font-lib": "^1.0.0",
|
||||||
|
"dompdf/php-svg-lib": "^1.0.0",
|
||||||
|
"ext-dom": "*",
|
||||||
|
"ext-mbstring": "*",
|
||||||
|
"masterminds/html5": "^2.0",
|
||||||
|
"php": "^7.1 || ^8.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"ext-gd": "*",
|
||||||
|
"ext-json": "*",
|
||||||
|
"ext-zip": "*",
|
||||||
|
"mockery/mockery": "^1.3",
|
||||||
|
"phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11",
|
||||||
|
"squizlabs/php_codesniffer": "^3.5",
|
||||||
|
"symfony/process": "^4.4 || ^5.4 || ^6.2 || ^7.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-gd": "Needed to process images",
|
||||||
|
"ext-gmagick": "Improves image processing performance",
|
||||||
|
"ext-imagick": "Improves image processing performance",
|
||||||
|
"ext-zlib": "Needed for pdf stream compression"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Dompdf\\": "src/"
|
||||||
|
},
|
||||||
|
"classmap": [
|
||||||
|
"lib/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"LGPL-2.1"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "The Dompdf Community",
|
||||||
|
"homepage": "https://github.com/dompdf/dompdf/blob/master/AUTHORS.md"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
|
||||||
|
"homepage": "https://github.com/dompdf/dompdf",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/dompdf/dompdf/issues",
|
||||||
|
"source": "https://github.com/dompdf/dompdf/tree/v3.1.5"
|
||||||
|
},
|
||||||
|
"time": "2026-03-03T13:54:37+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "dompdf/php-font-lib",
|
||||||
|
"version": "1.0.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/dompdf/php-font-lib.git",
|
||||||
|
"reference": "a6e9a688a2a80016ac080b97be73d3e10c444c9a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/dompdf/php-font-lib/zipball/a6e9a688a2a80016ac080b97be73d3e10c444c9a",
|
||||||
|
"reference": "a6e9a688a2a80016ac080b97be73d3e10c444c9a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-mbstring": "*",
|
||||||
|
"php": "^7.1 || ^8.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11 || ^12"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"FontLib\\": "src/FontLib"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"LGPL-2.1-or-later"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "The FontLib Community",
|
||||||
|
"homepage": "https://github.com/dompdf/php-font-lib/blob/master/AUTHORS.md"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A library to read, parse, export and make subsets of different types of font files.",
|
||||||
|
"homepage": "https://github.com/dompdf/php-font-lib",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/dompdf/php-font-lib/issues",
|
||||||
|
"source": "https://github.com/dompdf/php-font-lib/tree/1.0.2"
|
||||||
|
},
|
||||||
|
"time": "2026-01-20T14:10:26+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "dompdf/php-svg-lib",
|
||||||
|
"version": "1.0.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/dompdf/php-svg-lib.git",
|
||||||
|
"reference": "8259ffb930817e72b1ff1caef5d226501f3dfeb1"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/dompdf/php-svg-lib/zipball/8259ffb930817e72b1ff1caef5d226501f3dfeb1",
|
||||||
|
"reference": "8259ffb930817e72b1ff1caef5d226501f3dfeb1",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-mbstring": "*",
|
||||||
|
"php": "^7.1 || ^8.0",
|
||||||
|
"sabberworm/php-css-parser": "^8.4 || ^9.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^7.5 || ^8 || ^9 || ^10 || ^11"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Svg\\": "src/Svg"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"LGPL-3.0-or-later"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "The SvgLib Community",
|
||||||
|
"homepage": "https://github.com/dompdf/php-svg-lib/blob/master/AUTHORS.md"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A library to read, parse and export to PDF SVG files.",
|
||||||
|
"homepage": "https://github.com/dompdf/php-svg-lib",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/dompdf/php-svg-lib/issues",
|
||||||
|
"source": "https://github.com/dompdf/php-svg-lib/tree/1.0.2"
|
||||||
|
},
|
||||||
|
"time": "2026-01-02T16:01:13+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "dragonmantank/cron-expression",
|
"name": "dragonmantank/cron-expression",
|
||||||
"version": "v3.6.0",
|
"version": "v3.6.0",
|
||||||
@@ -2022,6 +2177,73 @@
|
|||||||
],
|
],
|
||||||
"time": "2026-03-08T20:05:35+00:00"
|
"time": "2026-03-08T20:05:35+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "masterminds/html5",
|
||||||
|
"version": "2.10.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/Masterminds/html5-php.git",
|
||||||
|
"reference": "fcf91eb64359852f00d921887b219479b4f21251"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/fcf91eb64359852f00d921887b219479b4f21251",
|
||||||
|
"reference": "fcf91eb64359852f00d921887b219479b4f21251",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-dom": "*",
|
||||||
|
"php": ">=5.3.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8 || ^9"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "2.7-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Masterminds\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Matt Butcher",
|
||||||
|
"email": "technosophos@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Matt Farina",
|
||||||
|
"email": "matt@mattfarina.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Asmir Mustafic",
|
||||||
|
"email": "goetas@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "An HTML5 parser and serializer.",
|
||||||
|
"homepage": "http://masterminds.github.io/html5-php",
|
||||||
|
"keywords": [
|
||||||
|
"HTML5",
|
||||||
|
"dom",
|
||||||
|
"html",
|
||||||
|
"parser",
|
||||||
|
"querypath",
|
||||||
|
"serializer",
|
||||||
|
"xml"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/Masterminds/html5-php/issues",
|
||||||
|
"source": "https://github.com/Masterminds/html5-php/tree/2.10.0"
|
||||||
|
},
|
||||||
|
"time": "2025-07-25T09:04:22+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "monolog/monolog",
|
"name": "monolog/monolog",
|
||||||
"version": "3.10.0",
|
"version": "3.10.0",
|
||||||
@@ -3297,6 +3519,86 @@
|
|||||||
},
|
},
|
||||||
"time": "2025-12-14T04:43:48+00:00"
|
"time": "2025-12-14T04:43:48+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "sabberworm/php-css-parser",
|
||||||
|
"version": "v9.3.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/MyIntervals/PHP-CSS-Parser.git",
|
||||||
|
"reference": "88dbd0f7f91abbfe4402d0a3071e9ff4d81ed949"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/MyIntervals/PHP-CSS-Parser/zipball/88dbd0f7f91abbfe4402d0a3071e9ff4d81ed949",
|
||||||
|
"reference": "88dbd0f7f91abbfe4402d0a3071e9ff4d81ed949",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-iconv": "*",
|
||||||
|
"php": "^7.2.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0",
|
||||||
|
"thecodingmachine/safe": "^1.3 || ^2.5 || ^3.4"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"php-parallel-lint/php-parallel-lint": "1.4.0",
|
||||||
|
"phpstan/extension-installer": "1.4.3",
|
||||||
|
"phpstan/phpstan": "1.12.32 || 2.1.32",
|
||||||
|
"phpstan/phpstan-phpunit": "1.4.2 || 2.0.8",
|
||||||
|
"phpstan/phpstan-strict-rules": "1.6.2 || 2.0.7",
|
||||||
|
"phpunit/phpunit": "8.5.52",
|
||||||
|
"rawr/phpunit-data-provider": "3.3.1",
|
||||||
|
"rector/rector": "1.2.10 || 2.2.8",
|
||||||
|
"rector/type-perfect": "1.0.0 || 2.1.0",
|
||||||
|
"squizlabs/php_codesniffer": "4.0.1",
|
||||||
|
"thecodingmachine/phpstan-safe-rule": "1.2.0 || 1.4.1"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-mbstring": "for parsing UTF-8 CSS"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-main": "9.4.x-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"src/Rule/Rule.php",
|
||||||
|
"src/RuleSet/RuleContainer.php"
|
||||||
|
],
|
||||||
|
"psr-4": {
|
||||||
|
"Sabberworm\\CSS\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Raphael Schweikert"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Oliver Klee",
|
||||||
|
"email": "github@oliverklee.de"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Jake Hotson",
|
||||||
|
"email": "jake.github@qzdesign.co.uk"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Parser for CSS Files written in PHP",
|
||||||
|
"homepage": "https://www.sabberworm.com/blog/2010/6/10/php-css-parser",
|
||||||
|
"keywords": [
|
||||||
|
"css",
|
||||||
|
"parser",
|
||||||
|
"stylesheet"
|
||||||
|
],
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/MyIntervals/PHP-CSS-Parser/issues",
|
||||||
|
"source": "https://github.com/MyIntervals/PHP-CSS-Parser/tree/v9.3.0"
|
||||||
|
},
|
||||||
|
"time": "2026-03-03T17:31:43+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "symfony/clock",
|
"name": "symfony/clock",
|
||||||
"version": "v8.0.0",
|
"version": "v8.0.0",
|
||||||
@@ -5666,6 +5968,149 @@
|
|||||||
],
|
],
|
||||||
"time": "2026-02-15T10:53:29+00:00"
|
"time": "2026-02-15T10:53:29+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "thecodingmachine/safe",
|
||||||
|
"version": "v3.4.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/thecodingmachine/safe.git",
|
||||||
|
"reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/thecodingmachine/safe/zipball/705683a25bacf0d4860c7dea4d7947bfd09eea19",
|
||||||
|
"reference": "705683a25bacf0d4860c7dea4d7947bfd09eea19",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": "^8.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"php-parallel-lint/php-parallel-lint": "^1.4",
|
||||||
|
"phpstan/phpstan": "^2",
|
||||||
|
"phpunit/phpunit": "^10",
|
||||||
|
"squizlabs/php_codesniffer": "^3.2"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"files": [
|
||||||
|
"lib/special_cases.php",
|
||||||
|
"generated/apache.php",
|
||||||
|
"generated/apcu.php",
|
||||||
|
"generated/array.php",
|
||||||
|
"generated/bzip2.php",
|
||||||
|
"generated/calendar.php",
|
||||||
|
"generated/classobj.php",
|
||||||
|
"generated/com.php",
|
||||||
|
"generated/cubrid.php",
|
||||||
|
"generated/curl.php",
|
||||||
|
"generated/datetime.php",
|
||||||
|
"generated/dir.php",
|
||||||
|
"generated/eio.php",
|
||||||
|
"generated/errorfunc.php",
|
||||||
|
"generated/exec.php",
|
||||||
|
"generated/fileinfo.php",
|
||||||
|
"generated/filesystem.php",
|
||||||
|
"generated/filter.php",
|
||||||
|
"generated/fpm.php",
|
||||||
|
"generated/ftp.php",
|
||||||
|
"generated/funchand.php",
|
||||||
|
"generated/gettext.php",
|
||||||
|
"generated/gmp.php",
|
||||||
|
"generated/gnupg.php",
|
||||||
|
"generated/hash.php",
|
||||||
|
"generated/ibase.php",
|
||||||
|
"generated/ibmDb2.php",
|
||||||
|
"generated/iconv.php",
|
||||||
|
"generated/image.php",
|
||||||
|
"generated/imap.php",
|
||||||
|
"generated/info.php",
|
||||||
|
"generated/inotify.php",
|
||||||
|
"generated/json.php",
|
||||||
|
"generated/ldap.php",
|
||||||
|
"generated/libxml.php",
|
||||||
|
"generated/lzf.php",
|
||||||
|
"generated/mailparse.php",
|
||||||
|
"generated/mbstring.php",
|
||||||
|
"generated/misc.php",
|
||||||
|
"generated/mysql.php",
|
||||||
|
"generated/mysqli.php",
|
||||||
|
"generated/network.php",
|
||||||
|
"generated/oci8.php",
|
||||||
|
"generated/opcache.php",
|
||||||
|
"generated/openssl.php",
|
||||||
|
"generated/outcontrol.php",
|
||||||
|
"generated/pcntl.php",
|
||||||
|
"generated/pcre.php",
|
||||||
|
"generated/pgsql.php",
|
||||||
|
"generated/posix.php",
|
||||||
|
"generated/ps.php",
|
||||||
|
"generated/pspell.php",
|
||||||
|
"generated/readline.php",
|
||||||
|
"generated/rnp.php",
|
||||||
|
"generated/rpminfo.php",
|
||||||
|
"generated/rrd.php",
|
||||||
|
"generated/sem.php",
|
||||||
|
"generated/session.php",
|
||||||
|
"generated/shmop.php",
|
||||||
|
"generated/sockets.php",
|
||||||
|
"generated/sodium.php",
|
||||||
|
"generated/solr.php",
|
||||||
|
"generated/spl.php",
|
||||||
|
"generated/sqlsrv.php",
|
||||||
|
"generated/ssdeep.php",
|
||||||
|
"generated/ssh2.php",
|
||||||
|
"generated/stream.php",
|
||||||
|
"generated/strings.php",
|
||||||
|
"generated/swoole.php",
|
||||||
|
"generated/uodbc.php",
|
||||||
|
"generated/uopz.php",
|
||||||
|
"generated/url.php",
|
||||||
|
"generated/var.php",
|
||||||
|
"generated/xdiff.php",
|
||||||
|
"generated/xml.php",
|
||||||
|
"generated/xmlrpc.php",
|
||||||
|
"generated/yaml.php",
|
||||||
|
"generated/yaz.php",
|
||||||
|
"generated/zip.php",
|
||||||
|
"generated/zlib.php"
|
||||||
|
],
|
||||||
|
"classmap": [
|
||||||
|
"lib/DateTime.php",
|
||||||
|
"lib/DateTimeImmutable.php",
|
||||||
|
"lib/Exceptions/",
|
||||||
|
"generated/Exceptions/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"description": "PHP core functions that throw exceptions instead of returning FALSE on error",
|
||||||
|
"support": {
|
||||||
|
"issues": "https://github.com/thecodingmachine/safe/issues",
|
||||||
|
"source": "https://github.com/thecodingmachine/safe/tree/v3.4.0"
|
||||||
|
},
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"url": "https://github.com/OskarStark",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/shish",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/silasjoisten",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://github.com/staabm",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"time": "2026-02-04T18:08:13+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "tijsverkoyen/css-to-inline-styles",
|
"name": "tijsverkoyen/css-to-inline-styles",
|
||||||
"version": "v2.4.0",
|
"version": "v2.4.0",
|
||||||
|
|||||||
+94
-4
@@ -8,6 +8,8 @@ return [
|
|||||||
'signed_in_as' => 'Angemeldet als:',
|
'signed_in_as' => 'Angemeldet als:',
|
||||||
'guest' => 'Gastkonto',
|
'guest' => 'Gastkonto',
|
||||||
'news_alt' => 'Neuigkeiten',
|
'news_alt' => 'Neuigkeiten',
|
||||||
|
'progress_flag' => 'LGBTQIA+ Progress-Flagge',
|
||||||
|
'lead_by' => 'Eine von Transgender-Wesen geführte Bezirksregierungsbehörde',
|
||||||
'language' => [
|
'language' => [
|
||||||
'en' => 'English',
|
'en' => 'English',
|
||||||
'de' => 'Deutsch',
|
'de' => 'Deutsch',
|
||||||
@@ -23,7 +25,10 @@ return [
|
|||||||
'editTicker' => 'Ticker bearbeiten',
|
'editTicker' => 'Ticker bearbeiten',
|
||||||
'editNews' => 'Neuigkeiten bearbeiten',
|
'editNews' => 'Neuigkeiten bearbeiten',
|
||||||
'editApplications' => 'Anträge bearbeiten',
|
'editApplications' => 'Anträge bearbeiten',
|
||||||
'logout' => 'Abmelden'
|
'events' => 'C3Gov-Termine',
|
||||||
|
'logout' => 'Abmelden',
|
||||||
|
'login' => 'Anmelden',
|
||||||
|
'register' => 'Registrieren'
|
||||||
],
|
],
|
||||||
'index' => [
|
'index' => [
|
||||||
'welcome' => 'Willkommen auf der Internetpräsenz des C3Gov'
|
'welcome' => 'Willkommen auf der Internetpräsenz des C3Gov'
|
||||||
@@ -104,6 +109,24 @@ return [
|
|||||||
'content' => 'Sollten Sie eine Bestätigung Ihres Besuchs benötigen, stellen wir Ihnen diese selbstverständlich in Papierform aus.'
|
'content' => 'Sollten Sie eine Bestätigung Ihres Besuchs benötigen, stellen wir Ihnen diese selbstverständlich in Papierform aus.'
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
'faq' => [
|
||||||
|
'title' => 'Häufig gestellte Fragen',
|
||||||
|
'q1' => 'Was stellt ihr eigentlich dar?',
|
||||||
|
'a1' => 'Wir stellen durch gelebte Bürokratie Hacker*innen-Reisepässe aus. Manche würden dies als ein Rollenspiel betrachten,
|
||||||
|
aber in unserer C3Gov-Verwaltungsvorschrift stehen keine Informationen bezüglich Rollen, die spielen.',
|
||||||
|
'q2' => 'Wo kann ich mit diesen Reisepässen einreisen?',
|
||||||
|
'a2' => 'Mit den vom C3Gov ausgestellten Reisepässen können Sie problemlos in die Bezirksregion des CCC und dessen Botschaften einreisen.',
|
||||||
|
'q3' => 'Wozu dienen diese Reisepässe noch?',
|
||||||
|
'a3' => 'Die Reisepässe stellen eine bequeme Möglichkeit dar, Ihren Aufenthalt in der Bezirksregion des CCC und dessen Botschaften festzuhalten.
|
||||||
|
Sie können Ihren Aufenthalt durch Stempel oder Sticker der jeweiligen Botschaften bestätigen lassen.',
|
||||||
|
'q4' => 'Gibt es nur diesen einen Reisepass?',
|
||||||
|
'a4' => 'Wir bieten den Hacker*innen-Reisepass sowie den Junghackerpass an. Letzteres jedoch nur in der deutschen Ausgabe.',
|
||||||
|
'q5' => 'Wie kann ich einen Hacker*innen-Reisepass beantragen?',
|
||||||
|
'a5_1' => 'Klicken Sie auf',
|
||||||
|
'a5_2' => 'diesen Verweis',
|
||||||
|
'a5_3' => 'oder auf "Jetzt beantragen" in der Navigationsleiste oder auf die riesige
|
||||||
|
leuchtende Schaltfläche auf der Startseite. Dort befolgen Sie einfach die Anweisungen.'
|
||||||
|
],
|
||||||
'imprint' => [
|
'imprint' => [
|
||||||
'title' => 'Impressum',
|
'title' => 'Impressum',
|
||||||
'alt' => 'Ernsthaftigkeit',
|
'alt' => 'Ernsthaftigkeit',
|
||||||
@@ -115,8 +138,10 @@ return [
|
|||||||
'contact' => [
|
'contact' => [
|
||||||
'title' => 'Kontakt',
|
'title' => 'Kontakt',
|
||||||
'alt' => 'Kontakt',
|
'alt' => 'Kontakt',
|
||||||
'content' => 'Schreiben Sie uns im <a href="https://chaos.social/@c3gov">Fediversum</a>
|
'content' => 'Wenn Sie Fragen haben, kontaktieren Sie uns:',
|
||||||
<br />oder per elektronischer Post an: <a href="mailto:Dezernat7Zustaendigkeit@C3Gov.De">Dezernat7Zustaendigkeit@C3Gov.De</a>'
|
'fediverse' => 'Fediversum:',
|
||||||
|
'email' => 'Elektronische Postadresse:',
|
||||||
|
'phone' => 'Telefon/Fax:'
|
||||||
],
|
],
|
||||||
'preapplication' => [
|
'preapplication' => [
|
||||||
'title' => 'Vorantrag auf Reisepass gem. § 5 C3GovVerwV',
|
'title' => 'Vorantrag auf Reisepass gem. § 5 C3GovVerwV',
|
||||||
@@ -145,7 +170,12 @@ return [
|
|||||||
'add' => 'Antrag hinzufügen',
|
'add' => 'Antrag hinzufügen',
|
||||||
'save' => 'Speichern',
|
'save' => 'Speichern',
|
||||||
'delete' => 'Löschen',
|
'delete' => 'Löschen',
|
||||||
'generated' => 'Wird generiert'
|
'generated' => 'Wird generiert',
|
||||||
|
'download' => [
|
||||||
|
'title' => 'Voranträge herunterladen',
|
||||||
|
'description' => 'Hier können Sie alle Voranträge eines Bezirksregion-Termines als PDF herunterladen.',
|
||||||
|
'button' => 'PDF generieren'
|
||||||
|
]
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'common' => [
|
'common' => [
|
||||||
@@ -156,13 +186,73 @@ return [
|
|||||||
'password_mismatch' => 'Ihr Kennwort stimmt nicht überein.',
|
'password_mismatch' => 'Ihr Kennwort stimmt nicht überein.',
|
||||||
'registration_success' => 'Sie wurden erfolgreich registriert.',
|
'registration_success' => 'Sie wurden erfolgreich registriert.',
|
||||||
'login_success' => 'Sie wurden erfolgreich angemeldet.',
|
'login_success' => 'Sie wurden erfolgreich angemeldet.',
|
||||||
|
'title' => 'Anmelden',
|
||||||
|
'please_login' => 'Bitte melden Sie sich gefälligst an!',
|
||||||
|
'email' => 'Elektronische Postadresse:',
|
||||||
|
'email_title' => 'Nur echte Adressen der elektronischen Post verwenden!',
|
||||||
|
'password' => 'Kennwort:',
|
||||||
|
'logged_in' => 'Sie sind angemeldet.',
|
||||||
|
'logout' => 'Abmelden',
|
||||||
|
'register_title' => 'Registrieren',
|
||||||
|
'please_register' => 'Bitte registrieren Sie sich.',
|
||||||
|
'username' => 'Name/Nick:',
|
||||||
|
'password_repeat' => 'Kennwort wiederholen:',
|
||||||
|
'registration_token' => 'Registrierungsnummer:',
|
||||||
],
|
],
|
||||||
'blog' => [
|
'blog' => [
|
||||||
'confirm_save' => 'Eintrag wirklich speichern?',
|
'confirm_save' => 'Eintrag wirklich speichern?',
|
||||||
'confirm_delete' => 'Eintrag wirklich löschen?',
|
'confirm_delete' => 'Eintrag wirklich löschen?',
|
||||||
|
'add_post' => 'Post hinzufügen',
|
||||||
|
'edit_delete_posts' => 'Posts ändern/löschen',
|
||||||
|
'published' => 'Veröffentlichen?',
|
||||||
|
'language' => 'Sprache',
|
||||||
|
'title' => 'Titel',
|
||||||
|
'content' => 'Inhalt',
|
||||||
|
'add' => 'Hinzufügen',
|
||||||
|
'save' => 'Speichern',
|
||||||
|
'delete' => 'Löschen',
|
||||||
|
'created_by' => 'Erstellt von',
|
||||||
|
'created_at' => 'Erstellt am',
|
||||||
|
'updated_at' => 'Verändert am',
|
||||||
|
'title_placeholder' => 'Titel eingeben...',
|
||||||
|
'content_placeholder' => 'Text/HTML eingeben...',
|
||||||
],
|
],
|
||||||
'ticker' => [
|
'ticker' => [
|
||||||
|
'title' => 'Ticker bearbeiten',
|
||||||
|
'description' => 'Hier kann der Ticker verändert werden.',
|
||||||
|
'active_messages' => 'Aktive Tickernachrichten:',
|
||||||
|
'delete_selected' => 'Ausgewählte Tickernachricht löschen',
|
||||||
|
'create_message' => 'Tickernachricht erstellen:',
|
||||||
|
'add' => 'Tickernachricht hinzufügen',
|
||||||
'delete_success' => 'Löschen erfolgreich!',
|
'delete_success' => 'Löschen erfolgreich!',
|
||||||
'insert_success' => 'Einfügen erfolgreich!',
|
'insert_success' => 'Einfügen erfolgreich!',
|
||||||
],
|
],
|
||||||
|
'events' => [
|
||||||
|
'description' => 'Hier können Sie Termine hinzufügen oder löschen.',
|
||||||
|
'add' => 'Termin hinzufügen',
|
||||||
|
'delete' => 'Termin löschen',
|
||||||
|
'active' => 'Termin aktiviert (sichtbar)',
|
||||||
|
'name' => 'Terminname',
|
||||||
|
'list' => 'Termine',
|
||||||
|
'setActivity' => 'Aktiv-Status ändern',
|
||||||
|
'shortname' => 'Namenscode',
|
||||||
|
'from_date_internal' => 'Fristanfang',
|
||||||
|
'to_date_internal' => 'Fristende',
|
||||||
|
'from_date_visible' => 'Terminstart',
|
||||||
|
'to_date_visible' => 'Terminende',
|
||||||
|
],
|
||||||
|
'errors' => [
|
||||||
|
'403' => [
|
||||||
|
'title' => '403 - Kein Zutritt',
|
||||||
|
'message' => 'Sie haben keine Berechtigung, diesen Bereich zu betreten. Bitte legitimieren Sie sich ordnungsgemäß.',
|
||||||
|
],
|
||||||
|
'404' => [
|
||||||
|
'title' => '404 - Dokument nicht auffindbar',
|
||||||
|
'message' => 'Das von Ihnen gesuchte Dokument oder die Seite konnte in unseren Archiven nicht gefunden werden.',
|
||||||
|
],
|
||||||
|
'500' => [
|
||||||
|
'title' => '500 - Interner Behördenfehler',
|
||||||
|
'message' => 'Es ist ein unerwarteter Fehler in der Bearbeitung aufgetreten. Bitte versuchen Sie es später erneut.',
|
||||||
|
],
|
||||||
|
]
|
||||||
];
|
];
|
||||||
|
|||||||
+1
-1
@@ -7,6 +7,6 @@ return [
|
|||||||
'body2' => "<br /><br />Folgende Daten wurden übermittelt:<br />",
|
'body2' => "<br /><br />Folgende Daten wurden übermittelt:<br />",
|
||||||
'body3' => "<br /><br />Bitte heben Sie diese E-Mail unbedingt auf.<br />Wenn möglich, drucken Sie das Formblatt 5, welches sich im E-Mail-Anhang befindet, aus. Tragen Sie Ihre Bearbeitungsnummer ein und bringen Sie es bei Abholung mit.",
|
'body3' => "<br /><br />Bitte heben Sie diese E-Mail unbedingt auf.<br />Wenn möglich, drucken Sie das Formblatt 5, welches sich im E-Mail-Anhang befindet, aus. Tragen Sie Ihre Bearbeitungsnummer ein und bringen Sie es bei Abholung mit.",
|
||||||
'body4' => "<br /><br />Wir bitten ebenfalls um die Beachtung der Spendengebührenverordnung, welche sich ebenfalls im Anhang befindet.",
|
'body4' => "<br /><br />Wir bitten ebenfalls um die Beachtung der Spendengebührenverordnung, welche sich ebenfalls im Anhang befindet.",
|
||||||
'signature' => "Mit freundlichen Grüßen,<br /><br /><br />Ihr C3Gov - Ihr Amt in der Bezirksregion CCC"
|
'signature' => "Mit freundlichen Grüßen,<br /><br /><br />Ihr C3Gov - Ihre Behörde in der Bezirksregion CCC"
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|||||||
+96
-6
@@ -7,6 +7,9 @@ return [
|
|||||||
'fediverse' => 'C3Gov on Fediverse',
|
'fediverse' => 'C3Gov on Fediverse',
|
||||||
'signed_in_as' => 'Signed in as:',
|
'signed_in_as' => 'Signed in as:',
|
||||||
'guest' => 'Guest account',
|
'guest' => 'Guest account',
|
||||||
|
'news_alt' => 'News',
|
||||||
|
'progress_flag' => 'LGBTQIA+ Progress Flag',
|
||||||
|
'lead_by' => 'A district government authority run by transgender beings',
|
||||||
'language' => [
|
'language' => [
|
||||||
'en' => 'English',
|
'en' => 'English',
|
||||||
'de' => 'Deutsch',
|
'de' => 'Deutsch',
|
||||||
@@ -22,7 +25,10 @@ return [
|
|||||||
'editTicker' => 'Edit ticker',
|
'editTicker' => 'Edit ticker',
|
||||||
'editNews' => 'Edit news',
|
'editNews' => 'Edit news',
|
||||||
'editApplications' => 'Edit applications',
|
'editApplications' => 'Edit applications',
|
||||||
'logout' => 'Logout'
|
'events' => 'C3Gov appointments',
|
||||||
|
'logout' => 'Logout',
|
||||||
|
'login' => 'Log in',
|
||||||
|
'register' => 'Register'
|
||||||
],
|
],
|
||||||
'index' => [
|
'index' => [
|
||||||
'welcome' => 'Welcome to the Internet presence of the C3Gov'
|
'welcome' => 'Welcome to the Internet presence of the C3Gov'
|
||||||
@@ -53,7 +59,7 @@ return [
|
|||||||
'description' => 'Application for the replacement or reissuance of a hacker passport'
|
'description' => 'Application for the replacement or reissuance of a hacker passport'
|
||||||
],
|
],
|
||||||
'fb2k' => [
|
'fb2k' => [
|
||||||
'name' => 'Form 2k',
|
'name' => 'Form 2k (German only!)',
|
||||||
'description' => 'Antrag auf Ersatz- oder Zweitausstellungen eines Junghacker*innen-Reisepasses'
|
'description' => 'Antrag auf Ersatz- oder Zweitausstellungen eines Junghacker*innen-Reisepasses'
|
||||||
],
|
],
|
||||||
'fb3' => [
|
'fb3' => [
|
||||||
@@ -103,6 +109,24 @@ return [
|
|||||||
'content' => 'Should you require certification of your visit, we will of course provide you with an official document.'
|
'content' => 'Should you require certification of your visit, we will of course provide you with an official document.'
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
'faq' => [
|
||||||
|
'title' => 'Frequently Asked Questions',
|
||||||
|
'q1' => 'What exactly do you do?',
|
||||||
|
'a1' => 'We issue hacker passports through the practice of bureaucracy. Some might view this as a role-playing game,
|
||||||
|
but our C3Gov administrative regulations contain no information regarding roles which are playing.',
|
||||||
|
'q2' => 'Where can I enter with these passports?',
|
||||||
|
'a2' => 'With the passports issued by C3Gov, you can easily enter the CCC district region and its embassies.',
|
||||||
|
'q3' => 'What else are these passports used for?',
|
||||||
|
'a3' => 'The passports provide a convenient way to document your stay in the CCC district region and its embassies.
|
||||||
|
You can have your stay confirmed with stamps or stickers from the respective embassies.',
|
||||||
|
'q4' => 'Is this the only passport available?',
|
||||||
|
'a4' => 'We offer the Hacker Passport and the Young Hacker Passport. The latter, however, is only available in the German edition.',
|
||||||
|
'q5' => 'How can I apply for a Hacker Passport?',
|
||||||
|
'a5_1' => 'Click on',
|
||||||
|
'a5_2' => 'this link',
|
||||||
|
'a5_3' => ', or on “Apply Now” in the navigation bar, or on the large
|
||||||
|
glowing button on the homepage. There, simply follow the instructions.'
|
||||||
|
],
|
||||||
'imprint' => [
|
'imprint' => [
|
||||||
'title' => 'Imprint',
|
'title' => 'Imprint',
|
||||||
'alt' => 'Serious business',
|
'alt' => 'Serious business',
|
||||||
@@ -114,8 +138,10 @@ return [
|
|||||||
'contact' => [
|
'contact' => [
|
||||||
'title' => 'Contact',
|
'title' => 'Contact',
|
||||||
'alt' => 'Contact',
|
'alt' => 'Contact',
|
||||||
'content' => 'Write us over in the <a href="https://chaos.social/@c3gov">fediverse</a>
|
'content' => 'If you have any questions, please contact us:',
|
||||||
<br />or via email to: <a href="mailto:Dezernat7Zustaendigkeit@C3Gov.De">Dezernat7Zustaendigkeit@C3Gov.De</a>'
|
'fediverse' => 'Fediverse:',
|
||||||
|
'email' => 'Electronic mail address:',
|
||||||
|
'phone' => 'Telephone/Fax:'
|
||||||
],
|
],
|
||||||
'preapplication' => [
|
'preapplication' => [
|
||||||
'title' => 'Pre-application for Passport according to § 5 C3GovVerwV',
|
'title' => 'Pre-application for Passport according to § 5 C3GovVerwV',
|
||||||
@@ -144,7 +170,12 @@ return [
|
|||||||
'add' => 'Add application',
|
'add' => 'Add application',
|
||||||
'save' => 'Save',
|
'save' => 'Save',
|
||||||
'delete' => 'Delete',
|
'delete' => 'Delete',
|
||||||
'generated' => 'Generated'
|
'generated' => 'Generated',
|
||||||
|
'download' => [
|
||||||
|
'title' => 'Download pre-applications',
|
||||||
|
'description' => 'Here you can download all pre-applications of a district region appointment as a PDF.',
|
||||||
|
'button' => 'Generate PDF'
|
||||||
|
]
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'common' => [
|
'common' => [
|
||||||
@@ -155,14 +186,73 @@ return [
|
|||||||
'password_mismatch' => 'Your password does not match.',
|
'password_mismatch' => 'Your password does not match.',
|
||||||
'registration_success' => 'You have been successfully registered.',
|
'registration_success' => 'You have been successfully registered.',
|
||||||
'login_success' => 'You have been successfully logged in.',
|
'login_success' => 'You have been successfully logged in.',
|
||||||
|
'title' => 'Log in',
|
||||||
|
'please_login' => 'Please log in!',
|
||||||
|
'email' => 'Electronic email address:',
|
||||||
|
'email_title' => 'Only use real electronic mail addresses!',
|
||||||
|
'password' => 'Password:',
|
||||||
|
'logged_in' => 'You are logged in.',
|
||||||
|
'logout' => 'Log out',
|
||||||
|
'register_title' => 'Register',
|
||||||
|
'please_register' => 'Please register.',
|
||||||
|
'username' => 'Name/Nick:',
|
||||||
|
'password_repeat' => 'Repeat password:',
|
||||||
|
'registration_token' => 'Registration token:',
|
||||||
],
|
],
|
||||||
'blog' => [
|
'blog' => [
|
||||||
'confirm_save' => 'Do you really want to save this entry?',
|
'confirm_save' => 'Do you really want to save this entry?',
|
||||||
'confirm_delete' => 'Do you really want to delete this entry?',
|
'confirm_delete' => 'Do you really want to delete this entry?',
|
||||||
|
'add_post' => 'Add post',
|
||||||
|
'edit_delete_posts' => 'Change/delete posts',
|
||||||
|
'published' => 'Published?',
|
||||||
|
'language' => 'Language',
|
||||||
|
'title' => 'Title',
|
||||||
|
'content' => 'Content',
|
||||||
|
'add' => 'Add',
|
||||||
|
'save' => 'Save',
|
||||||
|
'delete' => 'Delete',
|
||||||
|
'created_by' => 'Created by',
|
||||||
|
'created_at' => 'Created at',
|
||||||
|
'updated_at' => 'Updated at',
|
||||||
|
'title_placeholder' => 'Enter title...',
|
||||||
|
'content_placeholder' => 'Enter text/HTML...',
|
||||||
],
|
],
|
||||||
'ticker' => [
|
'ticker' => [
|
||||||
|
'title' => 'Edit ticker',
|
||||||
|
'description' => 'Here the ticker can be modified.',
|
||||||
|
'active_messages' => 'Active ticker messages:',
|
||||||
|
'delete_selected' => 'Delete selected ticker message',
|
||||||
|
'create_message' => 'Create ticker message:',
|
||||||
|
'add' => 'Add ticker message',
|
||||||
'delete_success' => 'Deleted successfully!',
|
'delete_success' => 'Deleted successfully!',
|
||||||
'insert_success' => 'Inserted successfully!',
|
'insert_success' => 'Inserted successfully!',
|
||||||
],
|
],
|
||||||
'news_alt' => 'News',
|
'events' => [
|
||||||
|
'description' => 'Here you can add or delete appointments.',
|
||||||
|
'add' => 'Add appointment',
|
||||||
|
'delete' => 'Delete appointment',
|
||||||
|
'active' => 'Appointment active (visible)',
|
||||||
|
'name' => 'Name of appointment',
|
||||||
|
'list' => 'Appointments',
|
||||||
|
'setActivity' => 'Change activity status',
|
||||||
|
'shortname' => 'Shortcode',
|
||||||
|
'from_date_internal' => 'Start date for pre-applications',
|
||||||
|
'to_date_internal' => 'End date for pre-applications',
|
||||||
|
'from_date_visible' => 'Start date of appointment',
|
||||||
|
'to_date_visible' => 'End date of appointment',
|
||||||
|
],
|
||||||
|
'errors' => [
|
||||||
|
'403' => [
|
||||||
|
'title' => '403 - No Admission',
|
||||||
|
'message' => 'You are not authorized to access this area. Please provide proper identification.',
|
||||||
|
],
|
||||||
|
'404' => [
|
||||||
|
'title' => '404 - Document not found',
|
||||||
|
'message' => 'The document or page you were looking for could not be found in our archives.',
|
||||||
|
],
|
||||||
|
'500' => [
|
||||||
|
'title' => '500 - Internal Authority Error',
|
||||||
|
'message' => 'An unexpected processing error has occurred. Please try again later.',
|
||||||
|
],
|
||||||
|
]
|
||||||
];
|
];
|
||||||
|
|||||||
+1
-1
@@ -7,6 +7,6 @@ return [
|
|||||||
'body2' => "<br /><br />The following data has been submitted:<br />",
|
'body2' => "<br /><br />The following data has been submitted:<br />",
|
||||||
'body3' => "<br /><br />Please keep this email for your records. <br />If possible, print out form 5, which is attached to the email. Fill in your reference number and bring it with you when you pick up your hacker passport.",
|
'body3' => "<br /><br />Please keep this email for your records. <br />If possible, print out form 5, which is attached to the email. Fill in your reference number and bring it with you when you pick up your hacker passport.",
|
||||||
'body4' => "<br /><br />We also ask you to observe the donation regulation, which is also attached.",
|
'body4' => "<br /><br />We also ask you to observe the donation regulation, which is also attached.",
|
||||||
'signature' => "Sincerely,<br /><br /><br />Your C3Gov – Your office in the CCC district region"
|
'signature' => "Sincerely,<br /><br /><br />Your C3Gov – Your government authority in the CCC district region"
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="762" viewBox="0 0 6000 3810" style="--vh: 16.59px;">
|
||||||
|
<path fill="#6d2380" d="M0 0h6000v3810H0z"/>
|
||||||
|
<path fill="#2c58a4" d="M0 0h6000v3175H0z"/>
|
||||||
|
<path fill="#78b82a" d="M0 0h6000v2540H0z"/>
|
||||||
|
<path fill="#efe524" d="M0 0h6000v1905H0z"/>
|
||||||
|
<path fill="#f28917" d="M0 0h6000v1270H0z"/>
|
||||||
|
<path fill="#e22016" d="M0 0h6000v635H0z"/>
|
||||||
|
<path d="M0 0h1577l1764 1905-1764 1905H0z"/>
|
||||||
|
<path fill="#945516" d="M0 0h1209l1764 1905-1764 1905H0z"/>
|
||||||
|
<path fill="#7bcce5" d="M0 0h844l1764 1905L844 3810H0z"/>
|
||||||
|
<path fill="#f4aec8" d="M0 0h477l1764 1905L477 3810H0z"/>
|
||||||
|
<path fill="#fff" d="M0 0h111l1763 1905L111 3810H0z"/>
|
||||||
|
<path fill="#fdd817" d="m0 278 1507 1627L0 3532z"/>
|
||||||
|
<circle cx="556" cy="1905" r="404" fill="none" stroke="#66338b" stroke-width="95"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 893 B |
+1
-1
Submodule public/Dokumente updated: f4b669bf25...7ef1aa00be
@@ -142,6 +142,11 @@ select {
|
|||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dt {
|
||||||
|
font-size: 1.2em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 1024px) {
|
@media (max-width: 1024px) {
|
||||||
.header {
|
.header {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@@ -225,6 +230,11 @@ select {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.eingabemaske input[type=checkbox] {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
|
||||||
.eingabemaske button {
|
.eingabemaske button {
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
border: 4px outset;
|
border: 4px outset;
|
||||||
@@ -256,6 +266,7 @@ nav {
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.split-left {
|
.split-left {
|
||||||
@@ -274,6 +285,10 @@ nav {
|
|||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.progress-flag {
|
||||||
|
height: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
.apply-button {
|
.apply-button {
|
||||||
font-size: 2.5em;
|
font-size: 2.5em;
|
||||||
padding: 20px 40px;
|
padding: 20px 40px;
|
||||||
|
|||||||
@@ -0,0 +1,87 @@
|
|||||||
|
function addEvent(){
|
||||||
|
let data = {};
|
||||||
|
data.name = $("#name").val();
|
||||||
|
data.shortname = $("#shortname").val();
|
||||||
|
data.from_date_internal = $("#from_date_internal").val();
|
||||||
|
data.to_date_internal = $("#to_date_internal").val();
|
||||||
|
data.from_date_visible = $("#from_date_visible").val();
|
||||||
|
data.to_date_visible = $("#to_date_visible").val();
|
||||||
|
data.active = $("#active").is(":checked") ? "1" : "0";
|
||||||
|
|
||||||
|
if(window.confirm(i18n.blog.confirm_save)) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
url: '/intern/events/hinzufuegen',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (r) {
|
||||||
|
if (r.messageStatus === "success") {
|
||||||
|
$('#name').val("");
|
||||||
|
$('#shortname').val("");
|
||||||
|
$('#from_date_internal').val("");
|
||||||
|
$('#to_date_internal').val("");
|
||||||
|
$('#from_date_visible').val("");
|
||||||
|
$('#to_date_visible').val("");
|
||||||
|
$('#active').prop('checked', false);
|
||||||
|
location.reload();
|
||||||
|
} else {
|
||||||
|
alert(r.errorMessage);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (r, a, e) {
|
||||||
|
alert(i18n.common.error_occurred + e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setActivity(id) {
|
||||||
|
let data = {};
|
||||||
|
data.id = id;
|
||||||
|
data.active = $("#active_" + id).is(":checked") ? "1" : "0";
|
||||||
|
|
||||||
|
if(window.confirm(i18n.blog.confirm_save)) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'PATCH',
|
||||||
|
url: '/intern/events/setActivity',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (r) {
|
||||||
|
if (r.messageStatus === "success") {
|
||||||
|
location.reload();
|
||||||
|
} else {
|
||||||
|
alert(r.errorMessage);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (r, a, e) {
|
||||||
|
alert(i18n.common.error_occurred + e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function deleteEvent(id) {
|
||||||
|
let data = {};
|
||||||
|
data.id = id;
|
||||||
|
|
||||||
|
if(window.confirm(i18n.blog.confirm_delete)) {
|
||||||
|
$.ajax({
|
||||||
|
type: 'DELETE',
|
||||||
|
url: '/intern/events/loeschen',
|
||||||
|
data: data,
|
||||||
|
dataType: 'json',
|
||||||
|
success: function (r) {
|
||||||
|
if (r.messageStatus === "success") {
|
||||||
|
$('#delete_' + id).closest('#eingabemaske_' + id).fadeOut(300, function () {
|
||||||
|
$(this).remove();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
alert(r.errorMessage);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
error: function (r, a, e) {
|
||||||
|
alert(i18n.common.error_occurred + e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -21,6 +21,22 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
<h1>{{ __('app.preapplication.edit.download.title') }}</h1>
|
||||||
|
<p>{{ __('app.preapplication.edit.download.description') }}</p>
|
||||||
|
<div class="eingabemaske">
|
||||||
|
<form action="{{ route('generatePDF') }}" method="GET">
|
||||||
|
<label for="event_id">{{ __('app.preapplication.region') }}:</label>
|
||||||
|
<select id="event_id" name="event_id">
|
||||||
|
@foreach(ChaosEvents::all() as $event)
|
||||||
|
<option value="{{ $event->id }}">{{ $event->name }}</option>
|
||||||
|
@endforeach
|
||||||
|
</select>
|
||||||
|
<br /><br />
|
||||||
|
<button type="submit">{{ __('app.preapplication.edit.download.button') }}</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<br /><br />
|
||||||
|
|
||||||
<h1>{{ __("app.preapplication.edit.title") }}</h1>
|
<h1>{{ __("app.preapplication.edit.title") }}</h1>
|
||||||
<p>{{ __("app.preapplication.edit.description") }}</p>
|
<p>{{ __("app.preapplication.edit.description") }}</p>
|
||||||
|
|
||||||
|
|||||||
@@ -17,54 +17,54 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
|
|
||||||
<h2>Post hinzufügen</h2>
|
<h2>{{ __('app.blog.add_post') }}</h2>
|
||||||
<div class="blogEdit">
|
<div class="blogEdit">
|
||||||
Veröffentlichen? <input type="checkbox" id="blogPublished_new" checked><br /><br />
|
{{ __('app.blog.published') }} <input type="checkbox" id="blogPublished_new" checked><br /><br />
|
||||||
|
|
||||||
Sprache:
|
{{ __('app.blog.language') }}:
|
||||||
<select id="blogLanguage_new" name="language" autocomplete="off">
|
<select id="blogLanguage_new" name="language" autocomplete="off">
|
||||||
<option value="de">Deutsch</option>
|
<option value="de">{{ __('app.language.de') }}</option>
|
||||||
<option value="en">Englisch</option>
|
<option value="en">{{ __('app.language.en') }}</option>
|
||||||
</select><br /><br />
|
</select><br /><br />
|
||||||
|
|
||||||
<label for="blogTitle_new">Titel:<br />
|
<label for="blogTitle_new">{{ __('app.blog.title') }}:<br />
|
||||||
</label><input id="blogTitle_new" type="text" value="" placeholder="Titel eingeben...">
|
</label><input id="blogTitle_new" type="text" value="" placeholder="{{ __('app.blog.title_placeholder') }}">
|
||||||
<br /><br />
|
<br /><br />
|
||||||
|
|
||||||
<label for="blogBody_new">Inhalt:</label><br />
|
<label for="blogBody_new">{{ __('app.blog.content') }}:</label><br />
|
||||||
<textarea cols="64" rows="8" maxlength="2000" id="blogBody_new" placeholder="Text/HTML eingeben..."></textarea>
|
<textarea cols="64" rows="8" maxlength="2000" id="blogBody_new" placeholder="{{ __('app.blog.content_placeholder') }}"></textarea>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<button onclick="addBlog()" id="blogEdit_new">Hinzufügen</button><br /><br />
|
<button onclick="addBlog()" id="blogEdit_new">{{ __('app.blog.add') }}</button><br /><br />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2>Posts ändern/löschen</h2>
|
<h2>{{ __('app.blog.edit_delete_posts') }}</h2>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
@foreach($blogs as $blog)
|
@foreach($blogs as $blog)
|
||||||
<div class="blogEdit">
|
<div class="blogEdit">
|
||||||
<b>Erstellt von: {{$blog->byUser()->first()->name}} - Erstellt am: {{ $blog->created_at }} - Verändert am: {{ $blog->updated_at }}</b><br /><br />
|
<b>{{ __('app.blog.created_by') }}: {{$blog->byUser()->first()->name}} - {{ __('app.blog.created_at') }}: {{ $blog->created_at }} - {{ __('app.blog.updated_at') }}: {{ $blog->updated_at }}</b><br /><br />
|
||||||
|
|
||||||
Veröffentlicht: <input type="checkbox" id="blogPublished_{{$blog->id}}"{{ $blog->published ? " checked" : "" }}><br /><br />
|
{{ __('app.blog.published') }} <input type="checkbox" id="blogPublished_{{$blog->id}}"{{ $blog->published ? " checked" : "" }}><br /><br />
|
||||||
|
|
||||||
Sprache:
|
{{ __('app.blog.language') }}:
|
||||||
<select id="blogLanguage_{{ $blog->id }}" name="language" autocomplete="off">
|
<select id="blogLanguage_{{ $blog->id }}" name="language" autocomplete="off">
|
||||||
<option value="de"{{ ($blog->language == "de" ? " selected" : "") }}>Deutsch</option>
|
<option value="de"{{ ($blog->language == "de" ? " selected" : "") }}>{{ __('app.language.de') }}</option>
|
||||||
<option value="en"{{ ($blog->language == "en" ? " selected" : "") }}>Englisch</option>
|
<option value="en"{{ ($blog->language == "en" ? " selected" : "") }}>{{ __('app.language.en') }}</option>
|
||||||
</select><br /><br />
|
</select><br /><br />
|
||||||
|
|
||||||
<button onclick="deleteBlog({{ $blog->id }})" id="blogDelete_{{ $blog->id }}">Löschen</button><br /><br />
|
<button onclick="deleteBlog({{ $blog->id }})" id="blogDelete_{{ $blog->id }}">{{ __('app.blog.delete') }}</button><br /><br />
|
||||||
|
|
||||||
<label for="blogTitle_{{ $blog->id }}">Titel:<br />
|
<label for="blogTitle_{{ $blog->id }}">{{ __('app.blog.title') }}:<br />
|
||||||
</label><input id="blogTitle_{{ $blog->id }}" type="text" value="{{ $blog->title }}">
|
</label><input id="blogTitle_{{ $blog->id }}" type="text" value="{{ $blog->title }}">
|
||||||
<br /><br />
|
<br /><br />
|
||||||
|
|
||||||
<label for="blogBody_{{$blog->id}}">Inhalt:</label><br />
|
<label for="blogBody_{{$blog->id}}">{{ __('app.blog.content') }}:</label><br />
|
||||||
<textarea cols="64" rows="8" maxlength="2000" id="blogBody_{{$blog->id}}">{!! $blog->body !!}</textarea>
|
<textarea cols="64" rows="8" maxlength="2000" id="blogBody_{{$blog->id}}">{!! $blog->body !!}</textarea>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<button onclick="editBlog({{ $blog->id }})" id="blogEdit_{{ $blog->id }}">Speichern</button><br /><br />
|
<button onclick="editBlog({{ $blog->id }})" id="blogEdit_{{ $blog->id }}">{{ __('app.blog.save') }}</button><br /><br />
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|||||||
@@ -5,6 +5,19 @@
|
|||||||
@section('content')
|
@section('content')
|
||||||
<img class="content-img" src="{{ asset('Bilder/kontakt.jpg') }}" alt="{{ __('app.contact.alt') }}" />
|
<img class="content-img" src="{{ asset('Bilder/kontakt.jpg') }}" alt="{{ __('app.contact.alt') }}" />
|
||||||
<h1>{{ __('app.contact.title') }}</h1>
|
<h1>{{ __('app.contact.title') }}</h1>
|
||||||
<br />
|
|
||||||
{!! __('app.contact.content') !!}
|
{!! __('app.contact.content') !!}
|
||||||
|
<dl>
|
||||||
|
<dt>{{ __('app.contact.fediverse') }}</dt>
|
||||||
|
<dd><a href="https://chaos.social/@c3gov">https://chaos.social/@c3gov</a></dd>
|
||||||
|
<br />
|
||||||
|
<dt>{{ __('app.contact.email') }}</dt>
|
||||||
|
<dd><a href="mailto:Dezernat7Zustaendigkeit@C3Gov.De">Dezernat7Zustaendigkeit@C3Gov.De</a></dd>
|
||||||
|
<br />
|
||||||
|
<dt>{{ __('app.contact.phone') }}</dt>
|
||||||
|
<dd>+49 (0) 201 89 040 231</dd>
|
||||||
|
<dd>+49 (0) 221 59 619 2800</dd>
|
||||||
|
<br />
|
||||||
|
<dt>EPVPN:</dt>
|
||||||
|
<dd>2800</dd>
|
||||||
|
</dl>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@@ -9,8 +9,11 @@
|
|||||||
|
|
||||||
<h3>{{ __('app.documents.verwaltungsvorschrift') }}</h3>
|
<h3>{{ __('app.documents.verwaltungsvorschrift') }}</h3>
|
||||||
<a href="{{ asset('Dokumente/C3GovVerwV.pdf') }}">{{ __('app.documents.verwaltungsvorschrift') }} C3GovVerwV Deutsch (PDF)</a><br />
|
<a href="{{ asset('Dokumente/C3GovVerwV.pdf') }}">{{ __('app.documents.verwaltungsvorschrift') }} C3GovVerwV Deutsch (PDF)</a><br />
|
||||||
<a href="{{ asset('Dokumente/C3GovVerwV_en.pdf') }}">{{ __('app.documents.verwaltungsvorschrift') }} C3GovVerwV English (PDF)</a><br />
|
<a href="{{ asset('Dokumente/C3GovVerwV_en.pdf') }}">{{ __('app.documents.verwaltungsvorschrift') }} C3GovVerwV English (PDF)</a><br /><br />
|
||||||
<a href="{{ asset('Dokumente/C3GovSpGV.pdf') }}">{{ __('app.documents.donation') }}</a><br /><br />
|
|
||||||
|
<h3>{{ __('app.documents.donation') }}</h3>
|
||||||
|
<a href="{{ asset('Dokumente/C3GovSpGV.pdf') }}">{{ __('app.documents.donation') }} Deutsch (PDF)</a><br />
|
||||||
|
<a href="{{ asset('Dokumente/C3GovSpGV_en.pdf') }}">{{ __('app.documents.donation') }} English (PDF)</a><br /><br />
|
||||||
|
|
||||||
<h3>{{ __('app.documents.fb1.name') }}</h3>
|
<h3>{{ __('app.documents.fb1.name') }}</h3>
|
||||||
<a href="{{ asset('Dokumente/c3gov_fb1d.pdf') }}">{{ __('app.documents.fb1.description') }} Deutsch (PDF)</a><br />
|
<a href="{{ asset('Dokumente/c3gov_fb1d.pdf') }}">{{ __('app.documents.fb1.description') }} Deutsch (PDF)</a><br />
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
@extends('layout.app')
|
||||||
|
@section('scripts')
|
||||||
|
@endsection
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<h1>{!! __('app.faq.title') !!}</h1>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dt>{!! __('app.faq.q1') !!}</dt>
|
||||||
|
<dd>{!! __('app.faq.a1') !!}</dd>
|
||||||
|
<br />
|
||||||
|
<dt>{!! __('app.faq.q2') !!}</dt>
|
||||||
|
<dd>{!! __('app.faq.a2') !!}</dd>
|
||||||
|
<br />
|
||||||
|
<dt>{!! __('app.faq.q3') !!}</dt>
|
||||||
|
<dd>{!! __('app.faq.a3') !!}</dd>
|
||||||
|
<br />
|
||||||
|
<dt>{!! __('app.faq.q4') !!}</dt>
|
||||||
|
<dd>{!! __('app.faq.a4') !!}</dd>
|
||||||
|
<br />
|
||||||
|
<dt>{!! __('app.faq.q5') !!}</dt>
|
||||||
|
<dd>{!! __('app.faq.a5_1') !!} <a href="{{ route('apply') }}">{!! __('app.faq.a5_2') !!}</a> {!! __('app.faq.a5_3') !!}</dd>
|
||||||
|
<br />
|
||||||
|
</dl>
|
||||||
|
@endsection
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
@extends('layout.app')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<h1>{{ __('app.errors.403.title') }}</h1>
|
||||||
|
<p>{{ __('app.errors.403.message') }}</p>
|
||||||
|
@endsection
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
@extends('layout.app')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<h1>{{ __('app.errors.404.title') }}</h1>
|
||||||
|
<p>{{ __('app.errors.404.message') }}</p>
|
||||||
|
@endsection
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
@extends('layout.app')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
<h1>{{ __('app.errors.500.title') }}</h1>
|
||||||
|
<p>{{ __('app.errors.500.message') }}</p>
|
||||||
|
@endsection
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
@extends('layout.app')
|
||||||
|
@section('scripts')
|
||||||
|
<script>
|
||||||
|
const i18n = {
|
||||||
|
common: {
|
||||||
|
error_occurred: "{{ __('app.common.error_occurred') }}"
|
||||||
|
},
|
||||||
|
blog: {
|
||||||
|
confirm_save: "{{ __('app.blog.confirm_save') }}",
|
||||||
|
confirm_delete: "{{ __('app.blog.confirm_delete') }}"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script src="{{ asset('js/events/events.js') }}"></script>
|
||||||
|
@endsection
|
||||||
|
@section('content')
|
||||||
|
<h1>{{ __('app.nav.events') }}</h1>
|
||||||
|
<p>{{ __('app.events.description') }}</p>
|
||||||
|
|
||||||
|
<h2>{{ __('app.events.add') }}</h2>
|
||||||
|
|
||||||
|
<div class="eingabemaske">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.name') }}:</td>
|
||||||
|
<td><input type="text" id="name"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.shortname') }}:</td>
|
||||||
|
<td><input type="text" id="shortname"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.from_date_internal') }}:</td>
|
||||||
|
<td><input type="date" id="from_date_internal"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.to_date_internal') }}:</td>
|
||||||
|
<td><input type="date" id="to_date_internal"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.from_date_visible') }}:</td>
|
||||||
|
<td><input type="date" id="from_date_visible"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.to_date_visible') }}:</td>
|
||||||
|
<td><input type="date" id="to_date_visible"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.active') }}:</td>
|
||||||
|
<td><input type="checkbox" id="active" name="{{ __('app.events.active') }}"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<button id="add" onclick="addEvent()">{{ __('app.events.add') }}</button>
|
||||||
|
</div>
|
||||||
|
<br /><br />
|
||||||
|
|
||||||
|
<h2>{{ __('app.events.list') }}</h2>
|
||||||
|
@foreach($events as $event)
|
||||||
|
<div id="eingabemaske_{{ $event->id }}" class="eingabemaske">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.name') }}:</td>
|
||||||
|
<td>{{ $event->name }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.shortname') }}:</td>
|
||||||
|
<td>{{ $event->shortname }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.from_date_internal') }}:</td>
|
||||||
|
<td>{{ $event->from_date_internal->format('Y-m-d') }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.to_date_internal') }}:</td>
|
||||||
|
<td>{{ $event->to_date_internal->format('Y-m-d') }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.from_date_visible') }}:</td>
|
||||||
|
<td>{{ $event->from_date_visible->format('Y-m-d') }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.to_date_visible') }}:</td>
|
||||||
|
<td>{{ $event->to_date_visible->format('Y-m-d') }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>{{ __('app.events.active') }}:</td>
|
||||||
|
<td><input type="checkbox" id="active_{{ $event->id }}" @if($event->active) checked @endif></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<button id="setActivity_{{ $event->id }}" onclick="setActivity({{ $event->id }})">{{ __('app.events.setActivity') }}</button>
|
||||||
|
<button id="delete_{{ $event->id }}" onclick="deleteEvent({{ $event->id }})">{{ __('app.events.delete') }}</button>
|
||||||
|
</div>
|
||||||
|
<br /><br />
|
||||||
|
@endforeach
|
||||||
|
|
||||||
|
{{ $events->links() }}
|
||||||
|
@endsection
|
||||||
@@ -4,10 +4,18 @@
|
|||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>C3Gov - {{ __('app.subtitle') }}</title>
|
<title>C3Gov - {{ __('app.subtitle') }}</title>
|
||||||
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||||
<link rel="icon" type="image/x-icon" href="{{ asset("favicon.ico") }}">
|
<link rel="icon" type="image/x-icon" href="{{ asset("favicon.ico") }}">
|
||||||
<link rel="stylesheet" href="{{ asset("css/style.css") . "?rnd=" . rand(0, 1000000000) }}">
|
<link rel="stylesheet" href="{{ asset("css/style.css") . "?rnd=" . rand(0, 1000000000) }}">
|
||||||
<script src="{{ asset("js/jquery/jquery-4.0.0.min.js") }}"></script>
|
<script src="{{ asset("js/jquery/jquery-4.0.0.min.js") }}"></script>
|
||||||
<script src="{{ asset("js/web.js") }}"></script>
|
<script src="{{ asset("js/web.js") }}"></script>
|
||||||
|
<script>
|
||||||
|
$.ajaxSetup({
|
||||||
|
headers: {
|
||||||
|
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
|
||||||
|
}
|
||||||
|
});
|
||||||
|
</script>
|
||||||
@yield('scripts')
|
@yield('scripts')
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
@@ -41,6 +49,7 @@
|
|||||||
<li><a href="{{ route('documents') }}">{{ __('app.nav.documents') }}</a></li>
|
<li><a href="{{ route('documents') }}">{{ __('app.nav.documents') }}</a></li>
|
||||||
<li><a href="{{ route('news') }}">{{ __('app.nav.news') }}</a></li>
|
<li><a href="{{ route('news') }}">{{ __('app.nav.news') }}</a></li>
|
||||||
<li><a href="{{ route('contact') }}">{{ __('app.nav.contact') }}</a></li>
|
<li><a href="{{ route('contact') }}">{{ __('app.nav.contact') }}</a></li>
|
||||||
|
<li><a href="{{ route('faq') }}">{{ __('app.faq.title') }}</a></li>
|
||||||
<li><a href="{{ route('imprint') }}">{{ __('app.nav.imprint') }}</a></li>
|
<li><a href="{{ route('imprint') }}">{{ __('app.nav.imprint') }}</a></li>
|
||||||
<br />
|
<br />
|
||||||
<li><a href="{{ route('apply') }}">{{ __('app.nav.apply') }}</a></li>
|
<li><a href="{{ route('apply') }}">{{ __('app.nav.apply') }}</a></li>
|
||||||
@@ -49,6 +58,7 @@
|
|||||||
<li><a href="{{ route('editTicker') }}">{{ __('app.nav.editTicker') }}</a></li>
|
<li><a href="{{ route('editTicker') }}">{{ __('app.nav.editTicker') }}</a></li>
|
||||||
<li><a href="{{ route('editNews') }}">{{ __('app.nav.editNews') }}</a></li>
|
<li><a href="{{ route('editNews') }}">{{ __('app.nav.editNews') }}</a></li>
|
||||||
<li><a href="{{ route('editApplications') }}">{{ __('app.nav.editApplications') }}</a></li>
|
<li><a href="{{ route('editApplications') }}">{{ __('app.nav.editApplications') }}</a></li>
|
||||||
|
<li><a href="{{ route('editEvents') }}">{{ __('app.nav.events') }}</a></li>
|
||||||
<li><a href="{{ route('logout') }}">{{ __('app.nav.logout') }}</a></li>
|
<li><a href="{{ route('logout') }}">{{ __('app.nav.logout') }}</a></li>
|
||||||
@endauth
|
@endauth
|
||||||
</ul>
|
</ul>
|
||||||
@@ -58,8 +68,6 @@
|
|||||||
onmouseover="{ this.src = '{{ asset("Bilder/fedicsgovnetscapepress.png") }}' }"
|
onmouseover="{ this.src = '{{ asset("Bilder/fedicsgovnetscapepress.png") }}' }"
|
||||||
onmouseout="{ this.src = '{{ asset("Bilder/fedicsgovnetscape.png") }}' }" alt="{{ __('app.fediverse') }}"></a></li>
|
onmouseout="{ this.src = '{{ asset("Bilder/fedicsgovnetscape.png") }}' }" alt="{{ __('app.fediverse') }}"></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="content col">
|
<div class="content col">
|
||||||
@yield('content')
|
@yield('content')
|
||||||
@@ -68,6 +76,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
|
<img class="progress-flag" src="{{ asset('Bilder/ProgressFlag.svg') }}" alt="{{ __('app.progress_flag') }}">
|
||||||
|
{{ __('app.lead_by') }}
|
||||||
|
|
|
||||||
© 1999 by C3Gov
|
© 1999 by C3Gov
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -16,32 +16,32 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<h1>Anmelden</h1>
|
<h1>{{ __('app.login.title') }}</h1>
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
|
|
||||||
@guest
|
@guest
|
||||||
<div id="fehlermeldung">Bitte melden Sie sich gefälligst an!</div>
|
<div id="fehlermeldung">{{ __('app.login.please_login') }}</div>
|
||||||
<br /><br />
|
<br /><br />
|
||||||
<table class="eingabemaske">
|
<table class="eingabemaske">
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="mail">Elektronische Postadresse:</label></td>
|
<td><label for="mail">{{ __('app.login.email') }}</label></td>
|
||||||
<td><input size="32" type="text" id="mail" pattern="^[0-9A-Za-z+_\-]+@[0-9A-Za-z_\-]+\.[0-9A-Za-z]+$"
|
<td><input size="32" type="text" id="mail" pattern="^[0-9A-Za-z+_\-]+@[0-9A-Za-z_\-]+\.[0-9A-Za-z]+$"
|
||||||
title="Nur echte Adressen der elektronischen Post verwenden!"/></td>
|
title="{{ __('app.login.email_title') }}"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="password">Kennwort:</label></td>
|
<td><label for="password">{{ __('app.login.password') }}</label></td>
|
||||||
<td><input size="32" type="password" id="password"></td>
|
<td><input size="32" type="password" id="password"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button class="eingabemaske" onclick="login()">Anmelden</button>
|
<button class="eingabemaske" onclick="login()">{{ __('app.login.title') }}</button>
|
||||||
|
|
||||||
@endguest
|
@endguest
|
||||||
@auth
|
@auth
|
||||||
<div id="fehlermeldung">Sie sind angemeldet.</div>
|
<div id="fehlermeldung">{{ __('app.login.logged_in') }}</div>
|
||||||
<a href="{{ route('logout') }}"><button>Abmelden</button></a>
|
<a href="{{ route('logout') }}"><button>{{ __('app.login.logout') }}</button></a>
|
||||||
@endauth
|
@endauth
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -17,38 +17,38 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<h1>Registrieren</h1>
|
<h1>{{ __('app.login.register_title') }}</h1>
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
|
|
||||||
<div id="fehlermeldung" class="alert alert-primary">Bitte registrieren Sie sich.</div>
|
<div id="fehlermeldung" class="alert alert-primary">{{ __('app.login.please_register') }}</div>
|
||||||
|
|
||||||
<table class="eingabemaske">
|
<table class="eingabemaske">
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="mail">Elektronische Postadresse:</label></td>
|
<td><label for="mail">{{ __('app.login.email') }}</label></td>
|
||||||
<td><input size="32" type="text" id="mail" pattern="^[0-9A-Za-z+_\-]+@[0-9A-Za-z_\-]+\.[0-9A-Za-z]+$"
|
<td><input size="32" type="text" id="mail" pattern="^[0-9A-Za-z+_\-]+@[0-9A-Za-z_\-]+\.[0-9A-Za-z]+$"
|
||||||
title="Nur echte Adressen der elektronischen Post verwenden!"/></td>
|
title="{{ __('app.login.email_title') }}"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="username">Name/Nick:</label></td>
|
<td><label for="username">{{ __('app.login.username') }}</label></td>
|
||||||
<td><input size="32" type="text" id="username"/></td>
|
<td><input size="32" type="text" id="username"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="password">Kennwort:</label></td>
|
<td><label for="password">{{ __('app.login.password') }}</label></td>
|
||||||
<td><input size="32" type="password" id="password"></td>
|
<td><input size="32" type="password" id="password"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="password_repeat">Kennwort wiederholen:</label></td>
|
<td><label for="password_repeat">{{ __('app.login.password_repeat') }}</label></td>
|
||||||
<td><input size="32" type="password" id="password_repeat"></td>
|
<td><input size="32" type="password" id="password_repeat"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><label for="register_token">Registrierungsnummer:</label></td>
|
<td><label for="register_token">{{ __('app.login.registration_token') }}</label></td>
|
||||||
<td><input size="32" type="text" id="register_token"></td>
|
<td><input size="32" type="text" id="register_token"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button class="eingabemaske" onclick="abschicken()">Registrieren</button>
|
<button class="eingabemaske" onclick="abschicken()">{{ __('app.login.register_title') }}</button>
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@@ -0,0 +1,93 @@
|
|||||||
|
@php
|
||||||
|
$logoPath = public_path('Dokumente/c3govsticker.png');
|
||||||
|
$logoData = base64_encode(file_get_contents($logoPath));
|
||||||
|
$logoSrc = 'data:image/png;base64,' . $logoData;
|
||||||
|
@endphp
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="de">
|
||||||
|
<head>
|
||||||
|
<title>Voranträge</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||||
|
<style>
|
||||||
|
#logo {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
top: 10px;
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page {
|
||||||
|
page-break-before: always;
|
||||||
|
margin-left: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stampfield {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 50px;
|
||||||
|
right: 50px;
|
||||||
|
width: 90%;
|
||||||
|
height: 50%;
|
||||||
|
border: 1px solid black;
|
||||||
|
padding: 5px;
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div>
|
||||||
|
<h1 class="center">Voranträge gem. § 5 C3GovVerwV für die (temporäre) Bz.Reg.-Erw.</h1>
|
||||||
|
<h1 class="center">{{ $event->name }}</h1>
|
||||||
|
<h2 class="center">der Bezirksregion CCC</h2>
|
||||||
|
<h3 style="text-align: center;">Gültig vom {{ $event->from_date_visible->toDateString() }} bis einschließlich dem {{ $event->to_date_visible->toDateString() }}</h3>
|
||||||
|
<img style="display: block; margin: 41%; width: 150px; height: 150px;" src="{{ $logoSrc }}">
|
||||||
|
</div>
|
||||||
|
@foreach($applications as $application)
|
||||||
|
<div class="page">
|
||||||
|
<div style="position: relative;">
|
||||||
|
<img id="logo" src="{{ $logoSrc }}">
|
||||||
|
<h1>Vorantrag {{ $application->reference_number }}</h1>
|
||||||
|
<br /><br />
|
||||||
|
<p>Folgende Entität hat einen Vorantrag gemäß § 5 C3GovVerwV gestellt:</p>
|
||||||
|
<br /><br />
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>Vorname:</td>
|
||||||
|
<td>{{ $application->first_name }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Nachname:</td>
|
||||||
|
<td>{{ $application->last_name }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Ort/Hackspace:</td>
|
||||||
|
<td>{{ $application->location }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Datenbankerfassung am:</td>
|
||||||
|
<td>{{ $application->created_at }}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>Interne Notizen:</td>
|
||||||
|
<td>{{ $application->notes }}</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<br /><br />
|
||||||
|
<p>Obige Angaben sind vor Ausstellung zu prüfen und mittels Formblatt 5 zu genehmigen.</p>
|
||||||
|
<br /><br /><br />
|
||||||
|
<div class="stampfield">
|
||||||
|
<div class="center"><u>Bearbeitungsvermerke</u></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@@ -17,41 +17,41 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<h1>Ticker bearbeiten</h1>
|
<h1>{{ __('app.ticker.title') }}</h1>
|
||||||
<div id="fehlermeldung">Hier kann der Ticker verändert werden.</div>
|
<div id="fehlermeldung">{{ __('app.ticker.description') }}</div>
|
||||||
<div class="split-left">
|
<div class="split-left">
|
||||||
<h2>Deutsch</h2>
|
<h2>{{ __('app.language.de') }}</h2>
|
||||||
<label for="ticker_de">Aktive Tickernachrichten:</label><br/><br/>
|
<label for="ticker_de">{{ __('app.ticker.active_messages') }}</label><br/><br/>
|
||||||
<select name="ticker_de" id="ticker_de" multiple>
|
<select name="ticker_de" id="ticker_de" multiple>
|
||||||
@foreach(TickerMessages::where('language', 'de')->orderBy('updated_at', 'desc')->get() as $tm)
|
@foreach(TickerMessages::where('language', 'de')->orderBy('updated_at', 'desc')->get() as $tm)
|
||||||
<option value="{{$tm->id}}">{{$tm->message}}</option>
|
<option value="{{$tm->id}}">{{$tm->message}}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button onclick="remove('de')">Ausgewählte Tickernachricht löschen</button>
|
<button onclick="remove('de')">{{ __('app.ticker.delete_selected') }}</button>
|
||||||
<br/><br/><br/>
|
<br/><br/><br/>
|
||||||
|
|
||||||
<label for="insert_de">Tickernachricht erstellen: </label><br/>
|
<label for="insert_de">{{ __('app.ticker.create_message') }} </label><br/>
|
||||||
<input size="32" type="text" id="insert_de">
|
<input size="32" type="text" id="insert_de">
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button onclick="insert('de')">Tickernachricht hinzufügen</button>
|
<button onclick="insert('de')">{{ __('app.ticker.add') }}</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="split-right">
|
<div class="split-right">
|
||||||
<h2>Englisch</h2>
|
<h2>{{ __('app.language.en') }}</h2>
|
||||||
<label for="ticker_en">Aktive Tickernachrichten:</label><br/><br/>
|
<label for="ticker_en">{{ __('app.ticker.active_messages') }}</label><br/><br/>
|
||||||
<select name="ticker_en" id="ticker_en" multiple>
|
<select name="ticker_en" id="ticker_en" multiple>
|
||||||
@foreach(TickerMessages::where('language', 'en')->orderBy('updated_at', 'desc')->get() as $tm)
|
@foreach(TickerMessages::where('language', 'en')->orderBy('updated_at', 'desc')->get() as $tm)
|
||||||
<option value="{{$tm->id}}">{{$tm->message}}</option>
|
<option value="{{$tm->id}}">{{$tm->message}}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button onclick="remove('en')">Ausgewählte Tickernachricht löschen</button>
|
<button onclick="remove('en')">{{ __('app.ticker.delete_selected') }}</button>
|
||||||
<br/><br/><br/>
|
<br/><br/><br/>
|
||||||
|
|
||||||
<label for="insert_de">Tickernachricht erstellen: </label><br/>
|
<label for="insert_de">{{ __('app.ticker.create_message') }} </label><br/>
|
||||||
<input size="32" type="text" id="insert_en">
|
<input size="32" type="text" id="insert_en">
|
||||||
<br/><br/>
|
<br/><br/>
|
||||||
<button onclick="insert('en')">Tickernachricht hinzufügen</button>
|
<button onclick="insert('en')">{{ __('app.ticker.add') }}</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@endsection
|
@endsection
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ use App\Http\Controllers\LoginController;
|
|||||||
use App\Http\Controllers\PreApplicationController;
|
use App\Http\Controllers\PreApplicationController;
|
||||||
use App\Http\Controllers\WebsiteController;
|
use App\Http\Controllers\WebsiteController;
|
||||||
use App\Http\Controllers\TickerController;
|
use App\Http\Controllers\TickerController;
|
||||||
|
use App\Http\Controllers\EventController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
|
|
||||||
@@ -13,6 +14,7 @@ Route::get('/', [WebsiteController::class, 'index']);
|
|||||||
Route::get('/ueberuns', [WebsiteController::class, 'about'])->name('about');
|
Route::get('/ueberuns', [WebsiteController::class, 'about'])->name('about');
|
||||||
Route::get('/dokumente', [WebsiteController::class, 'documents'])->name('documents');
|
Route::get('/dokumente', [WebsiteController::class, 'documents'])->name('documents');
|
||||||
Route::get('/kontakt', [WebsiteController::class, 'contact'])->name('contact');
|
Route::get('/kontakt', [WebsiteController::class, 'contact'])->name('contact');
|
||||||
|
Route::get('/faq', [WebsiteController::class, 'faq'])->name('faq');
|
||||||
Route::get('/impressum', [WebsiteController::class, 'imprint'])->name('imprint');
|
Route::get('/impressum', [WebsiteController::class, 'imprint'])->name('imprint');
|
||||||
Route::get('/services', [WebsiteController::class, 'services'])->name('services');
|
Route::get('/services', [WebsiteController::class, 'services'])->name('services');
|
||||||
Route::get('/neuigkeiten', [WebsiteController::class, 'news'])->name('news');
|
Route::get('/neuigkeiten', [WebsiteController::class, 'news'])->name('news');
|
||||||
@@ -42,6 +44,12 @@ Route::delete('/intern/nachrichten/delete', [BlogController::class, 'deleteBlog'
|
|||||||
Route::put('/intern/nachrichten/edit', [BlogController::class, 'editBlog']);
|
Route::put('/intern/nachrichten/edit', [BlogController::class, 'editBlog']);
|
||||||
|
|
||||||
Route::get('/intern/antraege', [WebsiteController::class, 'editApplications'])->name('editApplications');
|
Route::get('/intern/antraege', [WebsiteController::class, 'editApplications'])->name('editApplications');
|
||||||
|
Route::get('/intern/antraege/generate-pdf', [PreApplicationController::class, 'generatePDF'])->name('generatePDF');
|
||||||
Route::post('/intern/antraege/hinzufuegen', [PreApplicationController::class, 'addApplication']);
|
Route::post('/intern/antraege/hinzufuegen', [PreApplicationController::class, 'addApplication']);
|
||||||
Route::delete('/intern/antraege/loeschen', [PreApplicationController::class, 'deleteApplication']);
|
Route::delete('/intern/antraege/loeschen', [PreApplicationController::class, 'deleteApplication']);
|
||||||
Route::put('/intern/antraege/bearbeiten', [PreApplicationController::class, 'editApplication']);
|
Route::put('/intern/antraege/bearbeiten', [PreApplicationController::class, 'editApplication']);
|
||||||
|
|
||||||
|
Route::get('/intern/events', [WebsiteController::class, 'editEvents'])->name('editEvents');
|
||||||
|
Route::post('/intern/events/hinzufuegen', [EventController::class, 'addEvent']);
|
||||||
|
Route::delete('/intern/events/loeschen', [EventController::class, 'deleteEvent']);
|
||||||
|
Route::patch('/intern/events/setActivity', [EventController::class, 'setActivity']);
|
||||||
|
|||||||
Reference in New Issue
Block a user