First Commit

This commit is contained in:
Kevin Adametz 2018-10-29 09:15:36 +01:00
commit 0c9a118281
633 changed files with 76612 additions and 0 deletions

View file

@ -0,0 +1,53 @@
@extends('layouts.layout-2-2')
@section('content')
<div class="card mb-4">
<h6 class="card-header">
{{$user->email}} | {{__('Change E-Mail')}}
</h6>
<div class="card-body">
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-10">
<p>{{__('Change the e-mail address of the contact here. We will send the contact a new activation link to the new e-mail address to verify it.')}}</p>
</div>
</div>
{!! Form::open(['url' => route('admin_lead_change_mail', [$user->id]) ]) !!}
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('New E-Mail Address')}}*</label>
<div class="col-sm-10">
<input class="form-control {{ $errors->has('email') ? 'is-invalid' : '' }}" type="email" name="email" placeholder="{{__('New E-Mail Address')}}*" required>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('Confirm new E-Mail')}}*</label>
<div class="col-sm-10">
<input class="form-control" {{ $errors->has('email_confirmation') ? 'is-invalid' : '' }} type="email" name="email_confirmation" placeholder="{{__('Confirm new E-Mail Address')}}*" required>
@if ($errors->has('email_confirmation'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email_confirmation') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<div class="col-sm-10 ml-sm-auto">
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
<a href="{{ route('admin_lead_edit', [$user->id]) }}" class="btn btn-default">{{ __('back') }}</a>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View file

@ -0,0 +1,60 @@
@extends('layouts.layout-2-2')
@section('content')
<div class="row">
<div class="col-sm-6 col-xl-3">
<div class="card mb-4">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="lnr lnr-users display-4 text-primary"></div>
<div class="ml-3">
<div class="text-muted small">{{ __('gesamte Kontakte') }}</div>
<div class="text-large">{{ $export['leads'] }}</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="card mb-4">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="lnr lnr-users display-4 text-success"></div>
<div class="ml-3">
<div class="text-muted small">{{ __('E-Mail verifiziert') }}</div>
<div class="text-large">{{ $export['confirmed'] }}</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="card mb-4">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="lnr lnr-users display-4 text-primary"></div>
<div class="ml-3">
<div class="text-muted small">{{ __('Daten freigeben') }}</div>
<div class="text-large">{{ $export['active'] }}</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-6 col-xl-3">
<div class="card mb-4">
<div class="card-body">
<div class="d-flex align-items-center">
<div class="lnr lnr-users display-4 text-success"></div>
<div class="ml-3">
<div class="text-muted small">{{__('Einwilligung für weitere Informationen')}}</div>
<div class="text-large">{{ $export['agreement'] }}</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection

View file

@ -0,0 +1,40 @@
@extends('layouts.layout-2')
@section('content')
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<h4 class="font-weight-bold py-3 mb-4">
{{ __('Create/Edit Contact') }}
</h4>
{!! Form::open(['url' => route('admin_user_store'), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
<input type="hidden" name="user_id" id="user_id" value="@if($user->id>0){{$user->id}}@else new @endif">
{{-- @include('user.form') --}}
<div class="text-left mt-3">
<button type="submit" class="btn btn-submit">{{ __('save') }}</button>&nbsp;
<a href="{{ route('admin_users') }}" class="btn btn-default">{{ __('abort') }}</a>
</div>
{!! Form::close() !!}
@endsection

View file

@ -0,0 +1,123 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-4">
{{ __('User') }}
</h4>
<div class="card">
<div class="card-datatable table-responsive">
<table class="datatables-users table table-striped table-bordered">
<thead>
<tr>
<th>{{__('edit')}}</th>
<th>{{__('Name')}}</th>
<th>{{__('E-Mail')}}</th>
<th>{{__('Zugang')}}</th>
<th>{{__('verified')}}</th>
<th>{{__('active')}}</th>
<th>{{__('delete')}}</th>
</tr>
</thead>
</table>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-default">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('admin_user_store') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<div class="modal-header">
<h5 class="modal-title">{{__('User')}}<span class="font-weight-light">{{__('create/edit')}}</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="email" class="form-label">{{__('E-Mail')}}</label>
<input type="text" class="form-control" name="email" placeholder="{{__('E-Mail')}}" readonly>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="admin" class="form-label">{{__('Role')}}</label>
<select class="selectpicker" data-style="btn-default" name="admin">
{!! HTMLHelper::getRolesOptions() !!}
</select>
</div>
</div>
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
<input type="checkbox" class="custom-control-input" name="confirmed" checked>
<span class="custom-control-label">{{__('verified')}}</span>
</label>
</div>
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
<input type="checkbox" class="custom-control-input" name="active" checked>
<span class="custom-control-label">{{__('active')}}</span>
</label>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<script>
$( document ).ready(function() {
$('#modals-default').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='email']").val(button.data('email'));
$(this).find(".modal-body select[name='admin']").val(button.data('admin'));
$('.selectpicker').selectpicker('refresh');
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
$(this).find(".modal-body input[name='confirmed']").prop( "checked", button.data('confirmed'));
});
$('.datatables-users').dataTable({
"processing": true,
"serverSide": true,
"ajax": '{!! route('data_table_users') !!}',
"columns": [
{ data: 'action_edit', orderable: false, searchable: false},
{ data: 'name', name: 'name' },
{ data: 'email', name: 'email' },
{ data: 'admin', name: 'admin' },
{ data: 'confirmed', name: 'confirmed' },
{ data: 'active', name: 'active' },
{ data: 'action_delete', orderable: false, searchable: false},
],
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
}
});
});
</script>
@endsection

View file

@ -0,0 +1,76 @@
@extends('layouts.auth')
@section('content')
<!-- Content -->
<div class="authentication-wrapper authentication-2 ui-bg-cover ui-bg-overlay-container px-4" style="background-image: url({{asset('images/sphinx.jpg')}});">
<div class="ui-bg-overlay bg-dark opacity-25"></div>
<div class="authentication-inner py-5">
<div class="card">
<div class="p-4 p-sm-5" style="padding-bottom: 1.5rem !important;">
<!-- Logo -->
<div class="d-flex justify-content-center align-items-center pb-2 mb-2">
<div class="">
<div class="w-100 position-relative">
<a href="https://www.sterntours.de"><img src="{{ asset('/images/stern-tours-logo.png') }}" alt="STERN TOURS" class=""></a>
</div>
</div>
</div>
<!-- / Logo -->
<h5 class="text-center text-muted font-weight-normal mb-4">{{ __('Login to your account') }}</h5>
<!-- Form -->
<form method="POST" class="my-5" action="{{ route('login') }}" aria-label="{{ __('Login') }}">
@csrf
<div class="form-group">
<label class="form-label">{{ __('E-Mail Address') }}</label>
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required autofocus>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<label class="form-label d-flex justify-content-between align-items-end">
<div>{{ __('Password') }}</div>
<a class="" href="{{ route('password.request') }}">
{{ __('Forgot your Password?') }}
</a>
</label>
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
<div class="d-flex justify-content-between align-items-center m-0">
<label class="custom-control custom-checkbox m-0">
<input type="checkbox" class="custom-control-input" name="remember" {{ old('remember') ? 'checked' : '' }}>
<span class="custom-control-label">{{ __('Remember Me') }}</span>
</label>
<button type="submit" class="btn btn-primary">{{ __('Login') }}</button>
</div>
</form>
<!-- / Form -->
<div class="mt-5">
<a class="update_modal_data_load" href="{{ route('data_protected') }}" data-url="{{ route('loading_modal') }}" data-data="data_protection" data-target="#modal-loading">{{ __('data protection') }}</a>
<a class="update_modal_data_load float-right" href="{{ route('imprint') }}" data-url="{{ route('loading_modal') }}" data-data="imprint" data-target="#modal-loading">{{ __('imprint') }}</a>
</div>
</div>
</div>
</div>
</div>
@endsection

View file

@ -0,0 +1,64 @@
@extends('layouts.auth')
@section('content')
<!-- Content -->
<div class="authentication-wrapper authentication-2 ui-bg-cover ui-bg-overlay-container px-4" style="background-image: url({{asset('images/sphinx.jpg')}});">
<div class="ui-bg-overlay bg-dark opacity-25"></div>
<div class="authentication-inner py-5">
<div class="card">
<div class="p-4 p-sm-5" style="padding-bottom: 1.5rem !important;">
<!-- Logo -->
<div class="d-flex justify-content-center align-items-center pb-2 mb-2">
<div class="">
<div class="w-100 position-relative">
<a href="https://www.sterntours.de"><img src="{{ asset('/images/stern-tours-logo.png') }}" alt="STERN TOURS" class=""></a>
</div>
</div>
</div>
<!-- / Logo -->
<h5 class="text-center text-muted font-weight-normal mb-4">{{ __('Reset Password') }}</h5>
<!-- Form -->
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<!-- Form -->
<form method="POST" class="my-5" action="{{ route('password.email') }}" aria-label="{{ __('Reset Password') }}">
@csrf
<div class="form-group">
<label for="email" class="form-label">{{ __('E-Mail Address') }}</label>
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<button type="submit" class="btn btn-primary btn-block mt-4">{{ __('Reset Password') }}</button>
</form>
<!-- / Form -->
<div class="text-center text-muted">
<a href="{{ route('login') }}">{{ __('Login') }}</a>
</div>
<div class="mt-5">
<a class="update_modal_data_load" href="{{ route('data_protected') }}" data-url="{{ route('loading_modal') }}" data-data="data_protection" data-target="#modal-loading">{{ __('data protection') }}</a>
<a class="update_modal_data_load float-right" href="{{ route('imprint') }}" data-url="{{ route('loading_modal') }}" data-data="imprint" data-target="#modal-loading">{{ __('imprint') }}</a>
</div>
</div>
</div>
</div>
</div>
@endsection

View file

@ -0,0 +1,85 @@
@extends('layouts.auth')
@section('content')
<!-- Content -->
<div class="authentication-wrapper authentication-2 ui-bg-cover ui-bg-overlay-container px-4" style="background-image: url({{asset('images/sphinx.jpg')}});">
<div class="ui-bg-overlay bg-dark opacity-25"></div>
<div class="authentication-inner py-5">
<div class="card">
<div class="p-4 p-sm-5" style="padding-bottom: 1.5rem !important;">
<!-- Logo -->
<div class="d-flex justify-content-center align-items-center pb-2 mb-4">
<div class="">
<div class="w-100 position-relative">
<a href="https://www.sterntours.de"><img src="{{ asset('/images/stern-tours-logo.png') }}" alt="STERN TOURS" class=""></a>
</div>
</div>
</div>
<!-- / Logo -->
<h5 class="text-center text-muted font-weight-normal mb-4">{{ __('Reset Password') }}</h5>
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
<!-- Form -->
<form method="POST" class="my-5" action="{{ route('password.request') }}" aria-label="{{ __('Reset Password') }}">
@csrf
<input type="hidden" name="token" value="{{ $token }}">
<div class="form-group">
<label for="email" class="form-label">{{ __('E-Mail Address') }}</label>
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<label for="password" class="form-label">{{ __('Password') }}</label>
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<label for="password-confirm" class="form-label">{{ __('Confirm Password') }}</label>
<input id="password-confirm" type="password" class="form-control{{ $errors->has('password-confirm') ? ' is-invalid' : '' }}" name="password_confirmation" required>
@if ($errors->has('password-confirm'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password-confirm') }}</strong>
</span>
@endif
</div>
<button type="submit" class="btn btn-primary btn-block mt-4">{{ __('Reset Password') }}
</button>
</form>
<!-- / Form -->
<div class="text-center text-muted">
<a href="{{ route('login') }}">{{ __('Login') }}</a>
</div>
<div class="mt-5">
<a class="update_modal_data_load" href="{{ route('data_protected') }}" data-url="{{ route('loading_modal') }}" data-data="data_protection" data-target="#modal-loading">{{ __('data protection') }}</a>
<a class="update_modal_data_load float-right" href="{{ route('imprint') }}" data-url="{{ route('loading_modal') }}" data-data="imprint" data-target="#modal-loading">{{ __('imprint') }}</a>
</div>
</div>
</div>
</div>
</div>
@endsection

View file

@ -0,0 +1,88 @@
@extends('layouts.auth')
@section('content')
<!-- Content -->
<div class="authentication-wrapper authentication-2 ui-bg-cover ui-bg-overlay-container px-4" style="background-image: url({{asset('images/sphinx.jpg')}});">
<div class="ui-bg-overlay bg-dark opacity-25"></div>
<div class="authentication-inner py-5">
<div class="card">
<div class="p-4 p-sm-5" style="adding-bottom: 0.25rem !important;">
<!-- Logo -->
<div class="d-flex justify-content-center align-items-center pb-2 mb-4">
<div class="">
<div class="w-100 position-relative">
<a href="https://www.sterntours.de"><img src="{{ asset('/images/stern-tours-logo.png') }}" alt="STERN TOURS" class=""></a>
</div>
</div>
</div>
<!-- / Logo -->
<h5 class="text-center text-muted font-weight-normal mb-4">{{ __('Register') }}</h5>
<form method="POST" class="my-5" action="{{ route('register') }}" aria-label="{{ __('Register') }}">
@csrf
<div class="form-group">
<label for="email" class="form-label">{{ __('E-Mail Address') }}</label>
<input id="email" type="email" class="form-control{{ $errors->has('email') ? ' is-invalid' : '' }}" name="email" value="{{ old('email') }}" required>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<label for="password" class="form-label">{{ __('Password') }}</label>
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
<div class="form-group">
<label for="password-confirm" class="form-label">{{ __('Confirm Password') }}</label>
<input id="password-confirm" type="password" class="form-control{{ $errors->has('password-confirm') ? ' is-invalid' : '' }}" name="password_confirmation" required>
@if ($errors->has('password-confirm'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password-confirm') }}</strong>
</span>
@endif
</div>
<button type="submit" class="btn btn-primary btn-block mt-4"> {{ __('Register') }}</button>
<div class="text-light small mt-4">
By clicking "Sign Up", you agree to our
<a href="javascript:void(0)">terms of service and privacy policy</a>. Well occasionally send you account related emails.
</div>
</form>
<!-- / Form -->
<div class="text-center text-muted">
{{ __('Already have an account?') }}
<a href="{{ route('login') }}">{{ __('Login') }}</a>
</div>
<div class="mt-2">
<a class="update_modal_data_load" href="{{ route('data_protected') }}" data-url="{{ route('loading_modal') }}" data-data="data_protection" data-target="#modal-loading">{{ __('data protection') }}</a>
<a class="update_modal_data_load float-right" href="{{ route('imprint') }}" data-url="{{ route('loading_modal') }}" data-data="imprint" data-target="#modal-loading">{{ __('imprint') }}</a>
</div>
<!-- Form -->
</div>
</div>
</div>
</div>
</div>
@endsection

View file

@ -0,0 +1,227 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Vorlage verwalten
</h4>
{!! Form::open(['url' => route('draft_detail', [$id]), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
<input type="hidden" name="id" id="id" value="{{$id}}">
<!-- draft -->
<div class="card mb-2">
<div class="card-body">
<div class="form-group">
<label class="custom-control custom-checkbox float-right">
{!! Form::checkbox('active', 1, $draft->active, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('sichtbar')}}</span>
</label>
<label class="form-label" for="draft_name">{{ __('Bezeichnung') }}*</label>
{{ Form::text('name', $draft->name, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'draft_name', 'required'=>true)) }}
</div>
</div>
</div>
@if(count($draft->draft_items))
@php($i = 1)
<div class="text-right mb-2">
<button type="submit" name="action" value="addItem" class="btn btn-sm btn-primary"><i class="far fa-plus"></i> Neue Leistung hinzufügen</button>
</div>
@foreach($draft->draft_items as $draft_item)
<!-- item -->
<div class="card mb-2">
<div class="card-body row">
<div class="form-group col-sm-4">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][draft_type_id]" id="draft_item_{{$draft_item->id }}_draft_type_id" data-live-search="true" required>
<option value="" disabled>Vorlagen-Typ*</option>
{!! HTMLHelper::getDraftTypes($draft_item->draft_type_id) !!}
</select>
</div>
<div class="form-group col-sm-3 col-6">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][days_start]]" id="draft_item_{{$draft_item->id }}_days_start">
<option value="">(Datum) Start + Tage</option>
{!! HTMLHelper::getRangeOptions($draft_item->days_start, 30, ' Tag(e)') !!}
</select>
</div>
<div class="form-group col-sm-3 col-6">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][days_duration]" id="draft_item_{{$draft_item->id }}_days_duration">
<option value="">(Datum) Dauer + Tage</option>
{!! HTMLHelper::getRangeOptions($draft_item->days_duration, 30, ' Tag(e)') !!}
</select>
</div>
<div class="form-group col-sm-2 text-right">
<h5 class="float-right mt-1">#{{ $i++ }} </h5>
<button type="submit" name="action" value="up_{{$draft_item->id}}" class="btn btn-xs btn-default"><i class="fa fa-arrow-up"></i> </button>
<button type="submit" name="action" value="down_{{$draft_item->id}}" class="btn btn-xs btn-default mr-2"><i class="fa fa-arrow-down"></i> </button>
</div>
<div class="form-group col-sm-12">
{{ Form::textarea('draft_item['.$draft_item->id.'][service]', $draft_item->service, array('placeholder'=>__('Leistungen'), 'class'=>'form-control', 'id'=>'draft_item_'.$draft_item->id.'_service', 'rows'=>'1')) }}
</div>
<div class="form-group col-sm-2 col-3">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][adult]" id="draft_item_{{$draft_item->id }}_adult">
<option value="">Teilnehmer</option>
{!! HTMLHelper::getRangeOptions($draft_item->adult, 10, ' T.') !!}
</select>
</div>
<div class="form-group col-sm-2 col-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
{{ Form::text('draft_item['.$draft_item->id.'][price_adult]', $draft_item->price_adult, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$draft_item->id.'_price_adult',)) }}
</div>
</div>
<div class="form-group col-sm-2 col-3">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$draft_item->id}}][children]" id="draft_item_{{$draft_item->id}}_children">
<option value="">Kinder</option>
{!! HTMLHelper::getRangeOptions($draft_item->children, 10, ' K.') !!}
</select>
</div>
<div class="form-group col-sm-2 col-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
{{ Form::text('draft_item['.$draft_item->id.'][price_children]', $draft_item->price_children, array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$draft_item->id.'_price_children')) }}
</div>
</div>
<div class="form-group col-sm-2 col-3">
<label class="custom-control custom-checkbox mt-2">
{!! Form::checkbox('draft_item['.$draft_item->id.'][in_pdf]', 1, $draft_item->in_pdf, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('in PDF')}}</span>
</label>
</div>
<div class="form-group col-sm-2 col-6">
<div class="text-right mt-3">
<a class="text-danger" href="{{ route('draft_item_delete', [$draft_item->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="far fa-trash-alt"></i></a>
</div>
</div>
</div>
</div>
@endforeach
@endif
@if(!empty($draft_items))
@foreach($draft_items as $key => $draft_item)
<!-- item -->
<div class="card mb-2">
<div class="card-body row">
<div class="form-group col-sm-6">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$key}}][draft_type_id]" id="draft_item_{{$key }}_draft_type_id" data-live-search="true" required>
<option value="" disabled>Vorlagen-Typ*</option>
{!! HTMLHelper::getDraftTypes($draft_item['draft_type_id']) !!}
</select>
</div>
<div class="form-group col-sm-3 col-6">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$key}}][days_start]]" id="draft_item_{{$key }}_days_start">
<option value="">(Datum) Start + Tage</option>
{!! HTMLHelper::getRangeOptions($draft_item['days_start'], 30, ' Tag(e)') !!}
</select>
</div>
<div class="form-group col-sm-3 col-6">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$key}}][days_duration]" id="draft_item_{{$key }}_days_duration">
<option value="">(Datum) Dauer + Tage</option>
{!! HTMLHelper::getRangeOptions($draft_item['days_duration'], 30, ' Tag(e)') !!}
</select>
</div>
<div class="form-group col-sm-12">
{{ Form::textarea('draft_item['.$key.'][service]', $draft_item['service'], array('placeholder'=>__('Leistungen'), 'class'=>'form-control', 'id'=>'draft_item_'.$key.'_service', 'rows'=>'1')) }}
</div>
<div class="form-group col-sm-2 col-3">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$key}}][adult]" id="draft_item_{{$key }}_adult">
<option value="">Teilnehmer</option>
{!! HTMLHelper::getRangeOptions($draft_item['adult'], 10, ' T.') !!}
</select>
</div>
<div class="form-group col-sm-2 col-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
{{ Form::text('draft_item['.$key.'][price_adult]', $draft_item['price_adult'], array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$key.'_price_adult',)) }}
</div>
</div>
<div class="form-group col-sm-2 col-3">
<select class="selectpicker" data-style="btn-light" name="draft_item[{{$key}}][children]" id="draft_item_{{$key}}_children">
<option value="">Kinder</option>
{!! HTMLHelper::getRangeOptions($draft_item['children'], 10, ' K.') !!}
</select>
</div>
<div class="form-group col-sm-2 col-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"></span>
</div>
{{ Form::text('draft_item['.$key.'][price_children]', $draft_item['price_children'], array('placeholder'=>__('Preis in €'), 'class'=>'form-control', 'id'=>'draft_item_'.$key.'_price_children')) }}
</div>
</div>
<div class="form-group col-sm-2 col-3">
<label class="custom-control custom-checkbox mt-2">
{!! Form::checkbox('draft_item['.$key.'][in_pdf]', 1, $draft_item['in_pdf'], ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('in PDF')}}</span>
</label>
</div>
</div>
</div>
@endforeach
<div class="text-left mt-3">
<button type="submit" name="action" value="saveAllFromOld" class="btn btn-submit">{{ __('aus Vorlage speichern') }}</button>&nbsp;
<a href="{{route('drafts')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
@else
<div class="text-right">
<button type="submit" name="action" value="addItem" class="btn btn-sm btn-primary"><i class="far fa-plus"></i> Neue Leistung hinzufügen</button>
</div>
<div class="text-left mt-3">
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('drafts')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
@endif
{!! Form::close() !!}
@endsection

View file

@ -0,0 +1,187 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Vorlagen
</h4>
<div class="nav-tabs-top mb-4">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-top-drafts">Übersicht</a>
</li>
<li class="nav-item">
<a class="nav-link @if($step == 'type') active show @endif" data-toggle="tab" href="#navs-top-draft_types">Typen</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade @if($step == false) active show @endif" id="navs-top-drafts">
<div class="card-body">
<div class="card-datatable table-responsive">
<table class="datatables-drafts table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('sichtbar')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($drafts as $value)
<tr>
<td>
<a href="{{ route('draft_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="far fa-edit"></span>
</a>
</td>
<td><a href="{{ route('draft_detail', [$value->id]) }}">{{ $value->name }}</a></td>
<td data-sort="{{ $value->active }}">
@if($value->active)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td><a class="text-danger" href="{{ route('draft_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="far fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4">
<a href="{{ route('draft_detail', ['new']) }}" class="btn btn-sm btn-primary">Neue Vorlage anlegen</a>
<a href="{{ route('draft_load_old') }}" class="btn btn-sm btn-default float-right">aus alter Vorlage laden</a><br>
<a href="{{ route('draft_load_new') }}" class="btn btn-sm btn-default float-right mt-2">aus Vorlage duplizieren</a>
</div>
</div>
<script>
$( document ).ready(function() {
$('.datatables-drafts').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
}
});
});
</script>
</div>
</div>
<div class="tab-pane fade @if($step == 'type') active show @endif" id="navs-top-draft_types">
<div class="card-body">
<div class="card-datatable table-responsive">
<table class="datatables-types table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('sichtbar')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($draft_types as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-type"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-active="{{ $value->active }}">
<span class="far fa-edit"></span>
</button>
</td>
<td>{{ $value->name }}</td>
<td data-sort="{{ $value->active }}">
@if($value->active)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td><a class="text-danger" href="{{ route('draft_type_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="far fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4 text-right">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-type"
data-id="new"
data-name=""
data-active="1"
>Neuen Typ anlegen</button>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-type">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('draft_type_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<div class="modal-header">
<h5 class="modal-title">Vorlagen-Typ <span class="font-weight-light">anlegen/bearbeiten</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="name" class="form-label">Name*</label>
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
</div>
</div>
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
<input type="checkbox" class="custom-control-input" name="active" checked>
<span class="custom-control-label">{{__('sichtbar')}}</span>
</label>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<script>
$( document ).ready(function() {
$('#modals-type').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$('.selectpicker').selectpicker('refresh');
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
});
$('.datatables-types').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
}
});
});
</script>
</div>
</div>
</div>
</div>
@endsection

View file

@ -0,0 +1,40 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Vorlage duplizieren
</h4>
{!! Form::open(['url' => route('draft_load_new'), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
<div class="card mb-2">
<div class="card-body row">
<div class="form-group col-sm-6">
<select class="selectpicker" data-style="btn-light" name="load_new" id="load_new" data-live-search="true" required>
@foreach($drafts as $d)
<option value="{{$d->id}}">{{$d->name}}</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="text-left mt-3">
<button type="submit" name="action" value="loadOld" class="btn btn-submit">{{ __('laden') }}</button>&nbsp;
<a href="{{route('drafts')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
{!! Form::close() !!}
@endsection

View file

@ -0,0 +1,40 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Vorlage laden
</h4>
{!! Form::open(['url' => route('draft_load_old'), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
<div class="card mb-2">
<div class="card-body row">
<div class="form-group col-sm-6">
<select class="selectpicker" data-style="btn-light" name="load_old" id="load_old" data-live-search="true" required>
@foreach($templates as $t)
<option value="{{$t->id}}">{{$t->title}}</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="text-left mt-3">
<button type="submit" name="action" value="loadOld" class="btn btn-submit">{{ __('laden') }}</button>&nbsp;
<a href="{{route('drafts')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
{!! Form::close() !!}
@endsection

View file

@ -0,0 +1,214 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>STERN TOURS</title>
<!-- Designed by https://github.com/kaytcat -->
<!-- Robot header image designed by Freepik.com -->
<style type="text/css">
@import url(https://fonts.googleapis.com/css?family=Roboto);
/* Take care of image borders and formatting */
img {
max-width: 600px;
outline: none;
text-decoration: none;
-ms-interpolation-mode: bicubic;
}
a {
text-decoration: none;
border: 0;
outline: none;
color: #5f8155;
}
a:hover {
color:#e5aa30;
}
a img {
border: none;
}
/* General styling */
td, h1, h2, h3 {
font-family: "Roboto", Helvetica, Arial, sans-serif;
font-weight: 400;
}
td {
text-align: center;
}
body {
-webkit-font-smoothing:antialiased;
-webkit-text-size-adjust:none;
width: 100%;
height: 100%;
color: #37302d;
background: #ffffff;
font-size: 15px;
line-height: 26px
}
table {
border-collapse: collapse !important;
}
.headline {
color: #5f8155;
font-size: 16px;
}
.force-full-width {
width: 100% !important;
}
</style>
<style type="text/css" media="screen">
@media screen {
/*Thanks Outlook 2013! http://goo.gl/XLxpyl*/
td, h1, h2, h3 {
font-family: 'Roboto', 'Helvetica Neue', 'Arial', 'sans-serif' !important;
}
}
</style>
<style type="text/css" media="only screen and (max-width: 480px)">
/* Mobile styles */
@media only screen and (max-width: 480px) {
table[class="w320"] {
width: 320px !important;
}
}
</style>
<!--[if mso]>
<style type="text/css">
body, table, td {font-family: Helvetica, Arial, sans-serif !important;}
</style>
<![endif]-->
</head>
<body class="body" style="padding:0; margin:0; display:block; background:#f8f8f8; -webkit-text-size-adjust:none" bgcolor="#f8f8f8">
<table align="center" cellpadding="0" cellspacing="0" width="100%" height="100%" >
<tr>
<td align="center" valign="top" bgcolor="#f8f8f8" width="100%">
<center>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="700" class="w320">
<tr>
<td align="center" valign="top">
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%" style="margin:0 auto;">
<tr>
<td style="font-size: 30px; text-align:center;">
<br>
<img src="https://www.sterntours.de/images/da2f996_wlogo_1.png" alt="STERN TOURS" style="border:none" width="260">
<br>
<br>
</td>
</tr>
</table>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="100%" bgcolor="#ffffff">
<tr>
<td class="headline">
<br><br>
<b>{{ $salutation }} </b>
</td>
</tr>
<tr>
<td>
<center>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
<tr>
<td style="color:#514d6a;">
<br>
{{ $copy1line }}
<br>
<br>
</td>
</tr>
</table>
</center>
</td>
</tr>
<tr>
<td>
<!--[if mso]>
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="http://" style="height:50px;v-text-anchor:middle;width:250px;" arcsize="50%" stroke="f" fillcolor="#5f8155">
<w:anchorlock/>
<center>
<![endif]-->
<a href="{{ $url }}"
style="background-color:#5f8155;border-radius:40px;color:#ffffff;display:inline-block;font-family:Helvetica, Arial, sans-serif;font-size:15px;font-weight:bold;line-height:50px;text-align:center;text-decoration:none;width:250px;-webkit-text-size-adjust:none;">{{ $button }}</a>
<!--[if mso]>
</center>
</v:roundrect>
<![endif]-->
<br>
</td>
<tr>
<tr>
<td style="color:#514d6a;font-size: 14px;">
<center>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" width="90%">
<tr>
<td style="color:#514d6a;">
<br>
{{ $copy2line }}<br>
<span style="color: #cabda9; font-weight: normal; font-size: 13px; text-decoration: underline; word-wrap: break-word;">{{ $url }}</span>
<br><br>
<b>{{ $greetings }}</b> <br><b>Ihr Team von STERN TOURS</b>
<br>
<br>
<br>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
<table style="margin: 0 auto;" cellpadding="0" cellspacing="0" class="force-full-width" bgcolor="#f8f8f8">
<tr>
<td style="color:#7B7B7E; font-size:14px;">
<br>
STERN TOURS GmbH | Emser Straße 3 | 10719 Berlin<br>
Tel: +49 (0) 30 700 94 100 | Fax: +49 (0) 30 700 94 1044 | stern@sterntours.de<br>
<br>
<a href="https://www.sterntours.de" style="color: #7B7B7E; text-decoration: underline;">www.sterntours.de</a>
<br>
</td>
</tr>
<tr>
<td style="color:#bbbbbb; font-size:12px; line-height: 14px;">
<br>
Geschäftsführer: Thomas Stern | Registergericht: Amtsgericht Charlottenburg | Registernummer: HRB 67111<br>
Steuernummer: 27/545/30703 | UST-Ident.-Nr.: DE192609253 | Finanzamt: Wilmersdorf<br>
© 2018 All Rights Reserved
<br>
<br>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
</table>
</body>
</html>

290
resources/views/home.blade.php Executable file
View file

@ -0,0 +1,290 @@
@extends('layouts.layout-2')
@section('content')
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<style>
</style>
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
<h4>{{ __('Your Data') }}</h4>
<p>{{__('Here you can adjust your data.')}}</p>
<div id="accordion">
<div class="card mb-2">
<a class="card-header">
<div class="collapsed text-dark" data-toggle="collapse" href="#accordion-2" aria-expanded="false">
{{ __('Your Data') }} <i class="ion ion-ios-arrow-down"></i>
</div>
</a>
<div id="accordion-2" class="collapse" data-parent="#accordion" style="">
<div class="card-body" style="background-color: #f5f5f5;">
{{--
@if($user->account->company == 1)
<h5 class="mt-0 mb-3">{{ __('Company data') }}</h5>
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>{{ __('Company name') }}:</td>
<td>{{ $user->account->company_name }}</td>
</tr>
<tr>
<td>{{ __('Street') }} / {{ __('House number') }}:</td>
<td>{{ $user->account->company_street }}</td>
</tr>
<tr>
<td>{{ __('Postcode') }}:</td>
<td>{{ $user->account->company_postal_code }}</td>
</tr>
<tr>
<td>{{ __('City') }}:</td>
<td>{{ $user->account->company_city }}</td>
</tr>
<tr>
<td>{{ __('Country') }}:</td>
<td>@if($user->account->company_country_id) {{ $user->account->company_country->getLocated() }} @endif</td>
</tr>
<tr>
<td>{{ __('Phone') }}:</td>
<td>@if($user->account->company_pre_phone_id) {{ $user->account->company_pre_phone->code }}@endif {{ $user->account->company_phone }}</td>
</tr>
<tr>
<td>{{ __('Homepage') }}:</td>
<td>{{ $user->account->company_homepage }}</td>
</tr>
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
<h5 class="mt-4 mb-3">{{ __('Industry') }}</h5>
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
@foreach($user->account->getUserIndustrySectorsParents() as $user_industry_sector_parents)
<tr>
<td>{{ $user_industry_sector_parents->industry_sector->getLang('name') }}:</td>
<td>
@foreach($user->account->getUserIndustrySectorsChilds($user_industry_sector_parents->industry_sector->id) as $user_industry_sector_childs)
{{ $user_industry_sector_childs->industry_sector->getLang('name') }},
@endforeach
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
@endif
<h5 class="mt-4 mb-3">{{ __('Your Data') }}</h5>
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>{{ __('Function') }}:</td>
<td>{{ $user->account->position_text }}</td>
</tr>
<tr>
<td>{{ __('Salutation') }}:</td>
<td>{!! HTMLHelper::getSalutationLang($user->account->salutation) !!}</td>
</tr>
<tr>
<td>{{ __('Title') }}:</td>
<td>{{ $user->account->title }}</td>
</tr>
<tr>
<td>{{ __('First name') }}:</td>
<td>{{ $user->account->first_name }}</td>
</tr>
<tr>
<td>{{ __('Last Name') }}:</td>
<td>{{ $user->account->last_name }}</td>
</tr>
<tr>
<td>{{ __('Street') }} / {{ __('House number') }}:</td>
<td>{{ $user->account->street }}</td>
</tr>
<tr>
<td>{{ __('Postcode') }}:</td>
<td>{{ $user->account->postal_code }}</td>
</tr>
<tr>
<td>{{ __('City') }}:</td>
<td>{{ $user->account->city }}</td>
</tr>
<tr>
<td>{{ __('Country') }}:</td>
<td>@if($user->account->country_id){{ $user->account->country->getLocated() }}@endif</td>
</tr>
<tr>
<td>{{ __('Phone') }}:</td>
<td>@if($user->account->pre_phone_id) {{ $user->account->pre_phone->code }}@endif {{ $user->account->phone }}</td>
</tr>
<tr>
<td>{{ __('Mobile Phone') }}:</td>
<td>@if($user->account->pre_mobil_id) {{ $user->account->pre_mobil->code }}@endif {{ $user->account->mobil }}</td>
</tr>
<tr>
<td>{{ __('E-Mail Address') }}:</td>
<td>{{ $user->email }}</td>
</tr>
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
<h5 class="mt-4 mb-3">{{ __('Your interests') }}</h5>
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
@foreach($user->account->user_interests as $user_interest)
<tr>
<td>{{ $user_interest->interest->getLang('name') }}:</td>
<td>
<span class="ion ion-md-checkmark-circle-outline text-primary"></span>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<hr class="border-primary mt-2">
<div class="table-responsive">
<table class="table user-view-table m-0">
<tbody>
<tr>
<td>{{ $user->account->contactpartner }}</td>
</tr>
</tbody>
</table>
</div>
--}}
</div>
</div>
</div>
</div>
@if($user->active == 0)
<a href="{{ route('user_edit') }}" class="btn btn-secondary"
onclick="$('#user-edit-info-btn').click();">{{ __('Adjust data') }}</a>
@endif
@if($user->active == 1)
<a href="{{ route('user_edit') }}" class="btn btn-secondary"
onclick="$('#user-edit-info-btn').click();">{{ __('Adjust data') }}</a>
@endif
</div>
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
<h4>{{__('Activities') }}</h4>
@if($user->active == 1)
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
<strong>{{__('Data released')}}</strong> {{__('at')}} {{ $user->getActiveDateFormat() }}</p>
@endif
@if($user->confirmed == 1)
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
<strong>{{__('E-Mail verified')}}</strong> {{__('at')}} {{ $user->getConfirmationDateFormat() }}</p>
@endif
@if($user->account_id)
@if($user->account->data_protection)
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
<strong>{{__('Privacy policy approved')}}</strong> {{__('at')}} {{ $user->account->getDataProtectionFormat() }}
</p>
@endif
@if($user->active == 1)
@if($user->agreement)
<p><span class="ion ion-md-checkmark-circle-outline text-primary"></span>
<strong>{{__('Consent for further information')}}</strong> {{__('at')}} {{ $user->getAgreementFormat() }}
</p>
@else
<p><span class="ion ion-md-close-circle-outline text-danger"></span>
<strong>{{__('Consent for further information')}}</strong> {{ __('nicht akzeptiert') }}</p>
@endif
@endif
@endif
</div>
@if($user->active == 1)
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
<h4>{{ __('Einwilligung & Datenschutz') }}</h4>
{!! Form::open(['url' => route('user_data_accepted_form'), 'class' => 'form-horizontal' , 'id'=>'data-privacy-form-validations']) !!}
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
<input type="checkbox" class="custom-control-input" name="sender_accepted_infos"
id="sender_accepted_infos" @if($user->agreement) checked @endif>
<span class="custom-control-label"> {{ __('Yes, I agree that will send me more information.') }}</span>
</label>
</div>
<div class="text-left mt-3">
<button type="submit" class="btn btn-secondary">{{__('save changes') }}</button>&nbsp;
</div>
{!! Form::close() !!}
</div>
@endif
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
<h4>{{__('Login & Security') }}</h4>
<p>{{__('Sign in with your e-mail:')}} {{ Auth::user()->email }}</p>
@if(!$user->isPasswort())
<p>{{__('Assign a password for your account.')}}</p>
<a href="{{route('user_update_password_first')}}" class="btn btn-submit">{{__('Create Password')}}</a>
@else
<p>{{__('Change your password here to access your account.')}}</p>
<a href="{{route('user_update_password')}}" class="btn btn-secondary">{{__('Change password')}}</a>
@endif
<a href="{{route('user_update_email')}}" class="btn btn-secondary">{{__('Change E-Mail')}}</a>
</div>
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
<h4>{{ __('Logout') }}</h4>
<a href="{{route('logout')}}" class="btn btn-primary"><i class="ion ion-ios-log-out text-default"></i>
&nbsp; {{ __('Logout') }}</a>
</div>
<div class="card-body" style="background: #fff; border: 1px solid rgba(24, 28, 33, 0.06);">
<h4>{{__('Delete') }}</h4>
<p>{{__('If you no longer want to use our offer, you can delete your account here.')}}</p>
<a href="{{route('user_delete_account')}}" class="btn btn-default">{{__('Delete Account')}}</a>
</div>
@endsection

View file

@ -0,0 +1,79 @@
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name', 'Laravel') }}</title>
<!-- Scripts -->
<script src="{{ asset('js/app.js') }}" defer></script>
<!-- Fonts -->
<link rel="dns-prefetch" href="https://fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css">
<!-- Styles -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
</head>
<body>
<div id="app">
<nav class="navbar navbar-expand-md navbar-light navbar-laravel">
<div class="container">
<a class="navbar-brand" href="{{ url('/') }}">
{{ config('app.name', 'Laravel') }}
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<!-- Left Side Of Navbar -->
<ul class="navbar-nav mr-auto">
</ul>
<!-- Right Side Of Navbar -->
<ul class="navbar-nav ml-auto">
<!-- Authentication Links -->
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@else
<li class="nav-item dropdown">
<a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre>
{{ Auth::user()->name }} <span class="caret"></span>
</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</div>
</li>
@endguest
</ul>
</div>
</div>
</nav>
<main class="py-4">
@yield('content')
</main>
</div>
</body>
</html>

View file

@ -0,0 +1,126 @@
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}" class="default-style">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>{{ config('app.name') }}</title>
<!-- Main font -->
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i,900" rel="stylesheet">
<!-- Icons. Uncomment required icon fonts -->
<link rel="stylesheet" href="{{ mix('/vendor/fonts/fontawesome.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/fonts/ionicons.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/fonts/linearicons.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/fonts/open-iconic.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/fonts/pe-icon-7-stroke.css') }}">
<!-- Core stylesheets -->
<link rel="stylesheet" href="{{ mix('/vendor/css/bootstrap.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/css/appwork.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/css/theme-corporate.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/css/colors.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/css/uikit.css') }}">
<link rel="stylesheet" href="{{ asset('/vendor/css/mycolors.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/libs/growl/growl.css') }}">
<link rel="stylesheet" href="{{ asset('/vendor/libs/dropzone/dropzone.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/libs/bootstrap-select/bootstrap-select.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/libs/select2/select2.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/libs/datatables/datatables.css') }}">
<!-- Layout helpers -->
<script src="{{ mix('/vendor/js/layout-helpers.js') }}"></script>
<!-- Libs -->
<!-- `perfect-scrollbar` library required by SideNav plugin -->
<link rel="stylesheet" href="{{ mix('/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') }}">
<style>
.btn.btn-light {
font-size: 0.9em;
}
.table thead th {
border-top: none;
}
.card-body {
padding: 1rem 1.5rem;
}
</style>
@yield('styles')
<!-- Application stylesheets -->
<link rel="stylesheet" href="{{ mix('/css/application.css') }}">
<script src="{{ asset('/js/jquery.min.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ asset('/css/cookieconsent.min.css') }}" />
<script src="{{ asset('/js/cookieconsent.min.js') }}"></script>
<script>
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#5f8155",
"text": "#ffffff"
},
"button": {
"background": "#ffc926",
"text": "#ffffff"
}
},
"content": {
"message": "{{__('This website uses cookies in order to guarantee the best possible service. With your visit to this site you agree to our use of cookies.') }}",
"dismiss": "{{__('OK')}}",
"link": "{{__('data protection')}}",
"href": "{{ route('data_protected') }}",
"target": "_blank",
}
})});
</script>
</head>
<body>
@yield('layout-content')
<!-- Core scripts -->
<script src="{{ mix('/vendor/libs/popper/popper.js') }}"></script>
<script src="{{ mix('/vendor/js/bootstrap.js') }}"></script>
<script src="{{ mix('/vendor/js/sidenav.js') }}"></script>
<script src="{{ mix('/vendor/libs/growl/growl.js') }}"></script>
<script src="{{asset('/vendor/libs/dropzone/dropzone.js')}}"></script>
<script src="{{ mix('/vendor/libs/validate/validate.js') }}"></script>
<script src="{{ mix('/vendor/libs/bootstrap-select/bootstrap-select.js') }}"></script>
<script src="{{ mix('/vendor/libs/select2/select2.js') }}"></script>
<script src="{{ mix('/vendor/libs/datatables/datatables.js') }}"></script>
<!-- Libs -->
<!-- `perfect-scrollbar` library required by SideNav plugin -->
<script src="{{ mix('/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') }}"></script>
@yield('scripts')
<!-- Application javascripts -->
<script src="{{ mix('/js/application.js') }}"></script>
<script src="{{ asset('/js/custom.js') }}"></script>
</body>
</html>

View file

@ -0,0 +1,129 @@
<!DOCTYPE html>
<html lang="en" class="default-style">
<head>
<title>{{ config('app.name') }} Login</title>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<meta name="csrf-token" content="{{ csrf_token() }}">
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i,900" rel="stylesheet">
<!-- Icons. Uncomment required icon fonts -->
<link rel="stylesheet" href="{{ mix('/vendor/fonts/fontawesome.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/fonts/ionicons.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/fonts/linearicons.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/fonts/open-iconic.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/fonts/pe-icon-7-stroke.css') }}">
<!-- Core stylesheets -->
<link rel="stylesheet" href="{{ mix('/vendor/css/bootstrap.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/css/appwork.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/css/theme-corporate.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/css/colors.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/css/uikit.css') }}">
<link rel="stylesheet" href="{{ asset('/vendor/css/mycolors.css') }}">
<link rel="stylesheet" href="{{ mix('/vendor/libs/growl/growl.css') }}">
<!-- Layout helpers -->
<script src="{{ mix('/vendor/js/layout-helpers.js') }}"></script>
<!-- Core scripts -->
<!-- Libs -->
<link rel="stylesheet" href="{{ asset('/vendor/libs/perfect-scrollbar/perfect-scrollbar.css') }}">
<!-- Page -->
<link rel="stylesheet" href="{{ asset('/vendor/css/pages/authentication.css') }}">
<script src="{{ asset('/js/jquery.min.js') }}"></script>
<link rel="stylesheet" type="text/css" href="{{ asset('/css/cookieconsent.min.css') }}" />
<script src="{{ asset('/js/cookieconsent.min.js') }}"></script>
<script>
window.addEventListener("load", function(){
window.cookieconsent.initialise({
"palette": {
"popup": {
"background": "#5f8155",
"text": "#ffffff"
},
"button": {
"background": "#ffc926",
"text": "#ffffff"
}
},
"content": {
"message": "{{__('This website uses cookies in order to guarantee the best possible service. With your visit to this site you agree to our use of cookies.') }}",
"dismiss": "{{__('OK')}}",
"link": "{{__('data protection')}}",
"href": "{{ route('data_protected') }}",
"target": "_blank",
}
})});
</script>
</head>
<body>
<div class="page-loader">
<div class="bg-primary"></div>
</div>
@if(Session::has('alert-error'))
<script>
$( document ).ready(function() {
$.growl.error({
title: "{{__('error')}}",
message: '{{ Session::get('alert-error') }}',
location: 'tr'
});
});
</script>
@endif
@if(Session::has('alert-success'))
<script>
$( document ).ready(function() {
$.growl({
title: "{{__('saved')}}",
message: '{{ Session::get('alert-success') }}',
location: 'tr'
});
});
</script>
@endif
<!-- / Styles -->
@yield('content')
<div class="modal fade" id="modal-loading" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content" id="modal-loading-response">
</div>
</div>
</div>
<!-- / Content -->
<script src="{{ mix('/vendor/libs/popper/popper.js') }}"></script>
<script src="{{ mix('/vendor/js/bootstrap.js') }}"></script>
<script src="{{ mix('/vendor/js/sidenav.js') }}"></script>
<script src="{{ mix('/vendor/libs/growl/growl.js') }}"></script>
<!-- Core scripts -->
<!-- Libs -->
<script src="{{ mix('/vendor/libs/perfect-scrollbar/perfect-scrollbar.js') }}"></script>
<script src="{{ asset('/js/custom.js') }}"></script>
</body>
</html>

View file

@ -0,0 +1,24 @@
<nav class="layout-footer footer bg-footer-theme">
<div class="container-fluid container-p-x pb-3">
</div>
</nav>
<nav class="layout-footer footer bg-footer-theme">
<div class="container-fluid container-p-x pb-3 text-right">
<button type="button" class="btn btn-outline-primary mt-2 btn-sm update_modal_data_load" data-url="{{ route('loading_modal') }}" data-data="data_protection" data-target="#modal-loading">{{__('data protection')}}</button>
<button type="button" class="btn btn-outline-primary mt-2 btn-sm update_modal_data_load" data-url="{{ route('loading_modal') }}" data-data="imprint" data-target="#modal-loading">{{__('imprint')}}</button>
</div>
</nav>
<div class="modal fade" id="modal-loading" style="display: none;" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content" id="modal-loading-response">
</div>
</div>
</div>

View file

@ -0,0 +1,33 @@
<nav class="layout-navbar navbar navbar-expand-lg align-items-lg-center bg-navbar-theme container-p-x" id="layout-navbar">
@empty($hide_layout_sidenav_toggle)
<!-- Sidenav toggle -->
<div class="layout-sidenav-toggle navbar-nav align-items-lg-center mr-auto mr-lg-1-5">
<a class="nav-item nav-link px-0 ml-2" href="javascript:void(0)">
<i class="ion ion-md-menu text-large align-middle"></i>
</a>
</div>
@endempty
<!-- Brand -->
<a href="https://www.sterntours.de"><img src="{{ asset('/images/stern-tours-logo.png') }}" alt="STERN TOURS" class="" style="width: 170px;"></a>
<div class="navbar-nav align-items-lg-center ml-auto">
<div class="demo-navbar-messages nav-item dropdown mr-lg-3">
<div class="demo-navbar-user nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" data-toggle="dropdown">
<span class="d-inline-flex flex-lg-row-reverse align-items-center align-middle">
<span class="px-1 ml-2 ml-lg-0">{{ Auth::user()->email }}</span>
</span>
</a>
<div class="dropdown-menu dropdown-menu-right">
<a href="{{ route('logout') }}" class="dropdown-item">
<i class="ion ion-ios-log-out text-danger"></i> &nbsp; Log Out</a>
</div>
</div>
</div>
</div>
</nav>

View file

@ -0,0 +1,86 @@
@if(Auth::check())
<div id="layout-sidenav" class="{{ isset($layout_sidenav_horizontal) ? 'layout-sidenav-horizontal sidenav-horizontal container-p-x flex-grow-0' : 'layout-sidenav sidenav-vertical' }} sidenav bg-sidenav-theme">
<!-- Inner -->
<ul class="sidenav-inner{{ empty($layout_sidenav_horizontal) ? ' py-1' : '' }}">
<li class="sidenav-item{{ Request::is('home') ? ' active' : '' }}">
<a href="{{ route('home') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-home"></i><div>{{__('Home')}}</div></a>
</li>
<li class="sidenav-item{{ Request::is('user/edit') ? ' active' : '' }}">
<a href="{{ route('user_edit') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-create"></i><div>{{ __('Your Data') }}</div></a>
</li>
@if(Auth::user()->isAdmin())
<li class="sidenav-divider mb-1"></li>
<li class="sidenav-header small font-weight-semibold">ADMIN</li>
<li class="sidenav-item{{ Request::is('travel_programs') ? ' active' : '' }}">
<a href="{{ route('travel_programs') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-airplane"></i><div>Programme</div></a>
</li>
<li class="sidenav-item{{ Request::is('drafts') ? ' active' : '' }}">
<a href="{{ route('drafts') }}" class="sidenav-link"><i class="sidenav-icon ion ion-md-paper"></i><div>Vorlagen</div></a>
</li>
<li class="sidenav-divider mb-1"></li>
<li class="sidenav-header small font-weight-semibold">ADMIN altes System</li>
<li class="sidenav-item">
<a href="javascript:void(0)" class="sidenav-link sidenav-toggle">
<i class="sidenav-icon ion ion-ios-people"></i>
<div>Kundenverwaltung</div>
</a>
<ul class="sidenav-menu">
<li class="sidenav-item">
<a href="{{ make_old_url('/index.php/customers') }}" class="sidenav-link">
<div>Kunden</div>
</a>
</li>
<li class="sidenav-item">
<a href="{{ make_old_url('/index.php/leads') }}" class="sidenav-link">
<div>Anfragen</div>
</a>
</li>
<li class="sidenav-item">
<a href="{{ make_old_url('/index.php/bookings') }}" class="sidenav-link">
<div>Buchungen</div>
</a>
</li>
<li class="sidenav-item">
<a href="{{ make_old_url('/index.php/payments') }}" class="sidenav-link">
<div>Zahlungen</div>
</a>
</li>
</ul>
</li>
@endif
@if(Auth::user()->isSuperAdmin())
<li class="sidenav-divider mb-1"></li>
<li class="sidenav-header small font-weight-semibold">SUPERADMIN</li>
<li class="sidenav-item{{ Request::is('admin/users') ? ' active' : '' }} {{ Request::is('admin/user/edit/*') ? ' active' : '' }}">
<a href="{{ route('admin_users') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-ribbon"></i><div>{{ __('User Rechte') }}</div></a>
</li>
<li class="sidenav-item{{ Request::is('admin/translate') ? ' active' : '' }}">
<a href="{{ route('admin_translate') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-browsers"></i><div>{{ __('Translate') }}</div></a>
</li>
@endif
<li class="sidenav-divider mb-1"></li>
<li class="sidenav-item">
<a href="{{ route('logout') }}" class="sidenav-link"><i class="sidenav-icon ion ion-ios-power"></i><div>{{ __('Logout') }}</div></a>
</li>
</ul>
</div>
@endif

View file

@ -0,0 +1,39 @@
@extends('layouts.application')
@section('layout-content')
<!-- Layout wrapper -->
<div class="layout-wrapper layout-1">
<div class="layout-inner">
<!-- Layout navbar -->
@include('layouts.includes.layout-navbar')
<!-- Layout container -->
<div class="layout-container">
<!-- Layout sidenav -->
@include('layouts.includes.layout-sidenav')
<!-- Layout content -->
<div class="layout-content">
<!-- Content -->
<div class="container-fluid d-flex align-items-stretch flex-grow-1 p-0">
@yield('content')
</div>
<!-- / Content -->
<!-- Layout footer -->
@include('layouts.includes.layout-footer')
</div>
<!-- Layout content -->
</div>
<!-- / Layout container -->
</div>
<!-- Overlay -->
<div class="layout-overlay layout-sidenav-toggle"></div>
</div>
<!-- / Layout wrapper -->
@endsection

View file

@ -0,0 +1,39 @@
@extends('layouts.application')
@section('layout-content')
<!-- Layout wrapper -->
<div class="layout-wrapper layout-1">
<div class="layout-inner">
<!-- Layout navbar -->
@include('layouts.includes.layout-navbar')
<!-- Layout container -->
<div class="layout-container">
<!-- Layout sidenav -->
@include('layouts.includes.layout-sidenav')
<!-- Layout content -->
<div class="layout-content">
<!-- Content -->
<div class="container-fluid flex-grow-1 container-p-y">
@yield('content')
</div>
<!-- / Content -->
<!-- Layout footer -->
@include('layouts.includes.layout-footer')
</div>
<!-- Layout content -->
</div>
<!-- / Layout container -->
</div>
<!-- Overlay -->
<div class="layout-overlay layout-sidenav-toggle"></div>
</div>
<!-- / Layout wrapper -->
@endsection

View file

@ -0,0 +1,75 @@
@extends('layouts.application')
@section('layout-content')
@if(Session::has('alert-save'))
<script>
$( document ).ready(function() {
$.growl({
title: "{{__('saved')}}",
message: "{{__('The changes have been saved.')}}",
location: 'tr'
});
});
</script>
@endif
@if(Session::has('alert-error'))
<script>
$( document ).ready(function() {
$.growl.error({
title: "{{__('error')}}",
message: '{{ Session::get('alert-error') }}',
location: 'tr'
});
});
</script>
@endif
@if(Session::has('alert-success'))
<script>
$( document ).ready(function() {
$.growl({
title: "{{__('saved')}}",
message: '{{ Session::get('alert-success') }}',
location: 'tr'
});
});
</script>
@endif
<!-- Layout wrapper -->
<div class="layout-wrapper layout-2">
<div class="layout-inner">
<!-- Layout sidenav -->
@include('layouts.includes.layout-sidenav')
<!-- Layout container -->
<div class="layout-container">
<!-- Layout navbar -->
@include('layouts.includes.layout-navbar')
<!-- Layout content -->
<div class="layout-content">
<!-- Content -->
<div class="container-fluid d-flex align-items-stretch flex-grow-1 p-0">
@yield('content')
</div>
<!-- / Content -->
<!-- Layout footer -->
@include('layouts.includes.layout-footer')
</div>
<!-- Layout content -->
</div>
<!-- / Layout container -->
</div>
<!-- Overlay -->
<div class="layout-overlay layout-sidenav-toggle"></div>
</div>
<!-- / Layout wrapper -->
@endsection

View file

@ -0,0 +1,77 @@
@extends('layouts.application')
@section('layout-content')
@if(Session::has('alert-save'))
<script>
$( document ).ready(function() {
$.growl({
title: "{{__('saved')}}",
message: "{{__('The changes have been saved.')}}",
location: 'tr'
});
});
</script>
@endif
@if(Session::has('alert-error'))
<script>
$( document ).ready(function() {
$.growl.error({
title: "{{__('error')}}",
message: '{{ Session::get('alert-error') }}',
location: 'tr'
});
});
</script>
@endif
@if(Session::has('alert-success'))
<script>
$( document ).ready(function() {
$.growl({
title: "{{__('saved')}}",
message: '{{ Session::get('alert-success') }}',
location: 'tr'
});
});
</script>
@endif
<!-- Layout wrapper -->
<div class="layout-wrapper layout-2">
<div class="layout-inner">
<!-- Layout sidenav -->
@include('layouts.includes.layout-sidenav')
<!-- Layout container -->
<div class="layout-container">
<!-- Layout navbar -->
@include('layouts.includes.layout-navbar')
<!-- Layout content -->
<div class="layout-content">
<!-- Content -->
<div class="container-fluid flex-grow-1 container-p-y">
@yield('content')
</div>
<!-- / Content -->
<!-- Layout footer -->
@include('layouts.includes.layout-footer')
</div>
<!-- Layout content -->
</div>
<!-- / Layout container -->
</div>
<!-- Overlay -->
<div class="layout-overlay layout-sidenav-toggle"></div>
</div>
<!-- / Layout wrapper -->
@endsection

View file

@ -0,0 +1,5 @@
@extends('layouts.application')
@section('layout-content')
@yield('content')
@endsection

View file

@ -0,0 +1,36 @@
@extends('layouts.application')
@section('layout-content')
<!-- Layout wrapper -->
<div class="layout-wrapper layout-1 layout-without-sidenav">
<div class="layout-inner">
<!-- Layout navbar -->
@include('layouts.includes.layout-navbar', ['hide_layout_sidenav_toggle' => true])
<!-- Layout container -->
<div class="layout-container">
<!-- Layout content -->
<div class="layout-content">
<!-- Layout sidenav -->
@include('layouts.includes.layout-sidenav', ['layout_sidenav_horizontal' => true])
<!-- Content -->
<div class="container-fluid flex-grow-1 container-p-y">
@yield('content')
</div>
<!-- / Content -->
<!-- Layout footer -->
@include('layouts.includes.layout-footer')
</div>
<!-- Layout content -->
</div>
<!-- / Layout container -->
</div>
</div>
<!-- / Layout wrapper -->
@endsection

View file

@ -0,0 +1,36 @@
@extends('layouts.application')
@section('layout-content')
<!-- Layout wrapper -->
<div class="layout-wrapper layout-1">
<div class="layout-inner">
<!-- Layout container -->
<div class="layout-container">
<!-- Layout sidenav -->
@include('layouts.includes.layout-sidenav')
<!-- Layout content -->
<div class="layout-content">
<!-- Content -->
<div class="container-fluid d-flex align-items-stretch flex-grow-1 p-0">
@yield('content')
</div>
<!-- / Content -->
<!-- Layout footer -->
@include('layouts.includes.layout-footer')
</div>
<!-- Layout content -->
</div>
<!-- / Layout container -->
</div>
<!-- Overlay -->
<div class="layout-overlay layout-sidenav-toggle"></div>
</div>
<!-- / Layout wrapper -->
@endsection

View file

@ -0,0 +1,36 @@
@extends('layouts.application')
@section('layout-content')
<!-- Layout wrapper -->
<div class="layout-wrapper layout-1">
<div class="layout-inner">
<!-- Layout container -->
<div class="layout-container">
<!-- Layout sidenav -->
@include('layouts.includes.layout-sidenav')
<!-- Layout content -->
<div class="layout-content">
<!-- Content -->
<div class="container-fluid flex-grow-1 container-p-y">
@yield('content')
</div>
<!-- / Content -->
<!-- Layout footer -->
@include('layouts.includes.layout-footer')
</div>
<!-- Layout content -->
</div>
<!-- / Layout container -->
</div>
<!-- Overlay -->
<div class="layout-overlay layout-sidenav-toggle"></div>
</div>
<!-- / Layout wrapper -->
@endsection

View file

@ -0,0 +1,34 @@
@extends('layouts.application')
@section('layout-content')
<!-- Layout wrapper -->
<div class="layout-wrapper layout-1 layout-without-sidenav">
<div class="layout-inner">
<!-- Layout navbar -->
@include('layouts.includes.layout-navbar', ['hide_layout_sidenav_toggle' => true])
<!-- Layout container -->
<div class="layout-container">
<!-- Layout content -->
<div class="layout-content">
<!-- Content -->
<div class="container-fluid flex-grow-1 container-p-y">
@yield('content')
</div>
<!-- / Content -->
<!-- Layout footer -->
@include('layouts.includes.layout-footer')
</div>
<!-- Layout content -->
</div>
<!-- / Layout container -->
</div>
</div>
<!-- / Layout wrapper -->
@endsection

View file

@ -0,0 +1,574 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="modal-title" id="myModalUpdate">{{__('data protection') }}</h3>
</div>
<div class="modal-body">
<h1>Datenschutzerklärung STERN TOURS GmbH</h1>
<h2>I. Name und Anschrift des Verantwortlichen</h2>
<p>
Der Verantwortliche im Sinne der geltenden datenschutzrechtlichen Bestimmungen ist:<br><strong>Firma STERN TOURS
GmbH</strong></p>
<p>
Emser Str. 3<br>
10719 Berlin<br>
Vertreten d. d. Geschäftsführer Herrn Thomas Stern<br>
Telefon: +49 30 700 94 100<br>
Telefax: +49 30 700 94 1044<br>
E-Mail: <a href="mailto:stern@sterntours.de">stern@sterntours.de</a></p>
<h2>II. Allgemeines zur Datenverarbeitung</h2>
<p>
<strong>1. Umfang der Verarbeitung personenbezogener Daten</strong><br>
Wir erheben und verwenden personenbezogene Daten (nachfolgend pb. Daten) unserer Nutzer grundsätzlich nur, soweit
dies zur Bereitstellung einer funktionsfähigen Website sowie unserer Inhalte und Leistungen erforderlich ist oder
eine Einwilligung des Nutzers vorliegt. Eine Ausnahme gilt in solchen Fällen, in denen eine vorherige Einholung
einer Einwilligung aus tatsächlichen Gründen nicht möglich und die Verarbeitung der Daten durch gesetzliche
Vorschriften gestattet ist.</p>
<p><strong>2. Rechtsgrundlage für die Verarbeitung personenbezogener Daten</strong><br>
Nachfolgend finden Sie die gesetzlichen Grundlagen, die die DSGVO vorsieht: <br>
Bei der Verarbeitung pb. Daten</p>
<ul>
<li>auf Grundlage einer Einwilligung des Betroffenen ist Art. 6 Abs. 1 lit. a EU-Datenschutzgrundverordnung (DSGVO)
Rechtsgrundlage;
</li>
<li>die zur Erfüllung eines Vertrages mit der betroffenen Person dient, ist Art. 6 Abs. 1 lit. b DSGVO
Rechtsgrundlage.
</li>
<li>die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind, ist Art. 6 Abs. 1 lit. b DSGVO
Rechtsgrundlage;
</li>
<li>die zur Erfüllung einer uns obliegenden rechtlichen Verpflichtung erforderlich ist, dient Art. 6 Abs. 1 lit. c
DSGVO als Rechtsgrundlage;
</li>
<li>die wegen lebenswichtiger Interessen der betroffenen Person oder anderer natürlicher Personen erforderlich sind,
ist Art. 6 Abs. 1 lit. d DSGVO Rechtsgrundlage.
</li>
<li>die zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich sind und den
Interessen, Grundrechte und Grundfreiheiten des Betroffenen überwiegen, dient Art. 6 Abs. 1 lit. f DSGVO als
Rechtsgrundlage für die Verarbeitung.
</li>
</ul>
<p><strong>3. Datenlöschung und Speicherdauer</strong><br>
Grundsätzlich löschen oder sperren wir pb. Daten, sobald der Zweck der Speicherung entfällt. Sind wir gesetzlich
dazu verpflichtet Daten aufzubewahren, erfolgt eine Sperrung oder Löschung erst nach Ablauf der gesetzlichen
Aufbewahrungspflicht, es sei denn, eine Erforderlichkeit zur weiteren Speicherung der Daten für einen
Vertragsabschluss oder eine Vertragserfüllung besteht.</p>
<p><strong>4. Empfänger der erhobenen Daten</strong><br>
Empfänger der über die Internetseite erhoben Daten ist der genannte Verantwortliche. Darüber hinaus haben
Auftragsverarbeiter (Webhoster, EDV-Betreuer, Softwarenanbieter) Zugriff auf die über die Internetseite erhobenen
Daten. Die Einhaltung der gesetzlichen Regelungen ist insoweit jedoch durch Auftragsverarbeitungsverträge, die wir
mit unseren in der EU ansässigen Auftragsverarbeitern schließen, gewährleistet. Darüber hinaus erfolgt eine
Übermittlung Ihrer Daten an Dritte, derer wir uns zur Durchführung unserer Leistungen bedienen (Fluglinien,
Beförderungsunternehmen, Hotels, Mietwagenunternehmen, Zahlungsdienstleister, Kreditinstitute, etc.). Je nach
Reiseland können sich diese Empfänger auch in Drittländern, die das Datenschutzniveau der DSGVO nicht einhalten,
befinden (bspw. Reisen in den Oman). </p>
<p><strong>5. Profiling / automatisierte Entscheidungsfindung</strong><br>
Zur Begründung und Durchführung der Geschäftsbeziehung nutzen wir grundsätzlich keine automatisierte
Entscheidungsfindung gemäß Art. 22 EU-DSGVO. Sollten wir diese Verfahren in Einzelfällen einsetzen, werden Sie
hierüber gesondert informiert, sofern dies gesetzlich vorgegeben ist.</p>
<h2>III. Bereitstellung der Website und Erstellung von Logfiles</h2>
<p>
<strong>1. Umfang der Datenverarbeitung</strong><br>
Bei jedem Aufruf unserer Internetseite erfasst unser System automatisiert Daten und Informationen vom Computersystem
des aufrufenden Rechners.<br>
Folgende Daten werden hierbei erhoben:<br>
(1) Informationen über den Browsertyp und die verwendete Version<br>
(2) Das Betriebssystem des Nutzers<br>
(3) Die IP-Adresse des Nutzers<br>
(4) Datum und Uhrzeit des Zugriffs<br>
(5) Seite, von der aus zugegriffen wird <br>
(6) Name der Datei <br>
(7) Übertragene Datenmenge<br>
(8) Zugriffsstatus (Datei, übertragen, Datei nicht gefunden)</p>
<p>Die Daten werden ebenfalls in den Logfiles (Protokolldateien / Protokoll aller oder bestimmter Prozesse auf einem
Computersystem) unseres Systems gespeichert. Nicht hiervon betroffen sind die IP-Adresse des Nutzers oder anderen
Daten, die die Zuordnung zu einem Nutzer ermöglichen. Eine Speicherung dieser Daten zusammen mit anderen
personenbezogenen Daten des Nutzers findet nicht statt.</p>
<p><strong>2. Rechtsgrundlage für die Datenverarbeitung</strong><br>
Rechtsgrundlage für die vorübergehende Speicherung der Daten und der Logfiles ist Art. 6 Abs. 1 lit. f DSGVO.</p>
<p><strong>3. Zweck der Datenverarbeitung</strong><br>
Die vorübergehende Speicherung der IP-Adresse durch das System ist notwendig, um eine Auslieferung der Website an
den Rechner des Nutzers zu ermöglichen. Hierfür muss die IP-Adresse des Nutzers für die Dauer der Sitzung
gespeichert bleiben.<br>
Die Speicherung in Logfiles erfolgt, um die Funktionsfähigkeit der Website sicherzustellen. Zudem dienen uns die
Daten zur Optimierung der Website und zur Sicherstellung der Sicherheit unserer informationstechnischen Systeme.<br>
In diesen Zwecken liegt auch unser berechtigtes Interesse an der Datenverarbeitung nach Art. 6 Abs. 1 lit. f DSGVO.
Da für uns ein Rückschluss von IP-Adresse auf eine natürliche Person nicht ohne weiteres möglich ist, es sich ferner
bei einer IP-Adresse nicht um ein sensibles Datum handelt, diese umgehend nach Besuch der Internetseite gelöscht
wird und wir diese benötigen, um unsere Internetseite anzubieten, überwiegt unser Interesse gegenüber dem Interesse
des Betroffenen.</p>
<p><strong>4. Dauer der Speicherung</strong><br>
Die erhobenen Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung (Bereitstellung der
Internetseite) nicht mehr erforderlich sind. Im Falle der Speicherung der Daten in Logfiles ist dies nach spätestens
sieben Tagen der Fall. </p>
<p><strong>5. Widerspruchs- und Beseitigungsmöglichkeit</strong><br>
Die Erfassung der Daten zur Bereitstellung der Website und die Speicherung der Daten in Logfiles ist für den Betrieb
der Internetseite zwingend erforderlich. Es besteht folglich seitens des Nutzers keine Widerspruchsmöglichkeit.</p>
<h2>IV. Verwendung von Cookies</h2>
<p>
<strong>1. Beschreibung und Umfang der Datenverarbeitung</strong><br><u>a) Technisch notwendige Cookies</u><br>
Unsere Webseite verwendet technisch notwendige Cookies. Bei Cookies handelt es sich um Textdateien, die im
Internetbrowser bzw. vom Internetbrowser auf dem Computersystem des Nutzers gespeichert werden. Ruft ein Nutzer eine
Website auf, so kann ein Cookie auf dem Betriebssystem des Nutzers gespeichert werden. Dieser Cookie enthält eine
charakteristische Zeichenfolge, die eine eindeutige Identifizierung des Browsers beim erneuten Aufrufen der Website
ermöglicht. <br>
Es handelt sich dabei um den Cookie PHPSESSID. Dieses Cookie speichert Ihre aktuelle Sitzung mit Bezug auf
PHP-Anwendungen und gewährleistet so, dass alle Funktionen der Seite, die auf der PHP-Programmiersprache basieren,
vollständig angezeigt werden können.</p>
<p><u>b) Technisch nicht notwendige Cookies</u><br>
aa) StepMap Kartendienst <br>
Um Ihnen Reisen auf Karten anzeigen zu können, nutzen wir Dienstleistungen der StepMap GmbH , Romy-Schneider-Straße
6, 13599 Berlin. Die Firma StepMap GmbH nutzt zur Darstellung der Karten ebenfalls Cookies.
Auf diese Weise können folgende Daten übermittelt werden: <br><br>
(1) IP-Adresse<br>
(2) Datum und Uhrzeit der Anfrage<br>
(3) Zeitzonendifferenz zur Greenwich Mean Time (GMT)<br>
(4) Inhalt der Anforderung (konkrete Seite)<br>
(5) Zugriffsstatus/HTTP-Statuscode<br>
(6) jeweils übertragene Datenmenge<br>
(7) Website, von der die Anforderung kommt<br>
(8) Browser<br>
(9) Betriebssystem und dessen Oberfläche<br>
(10) Sprache und Version der Browsersoftware</p>
<p>Die vorgenannten Informationen werden StepMap weitergegeben. StepMap wird Ihre IP-Adresse jedoch nicht mit anderen
von Ihnen gespeicherten Daten zusammenführen. StepMap ist ein deutsches Unternehmen und unterliegt damit ebenfalls
der DSGVO und dem BDSG-neu.</p>
<p><u>bb) Microsoft BING Ads</u><br>
Diese Website nutzt das Conversion Tracking von Bing Ads (Microsoft Corporation, One Microsoft Way, Redmond, WA
98052-6399, USA). Wenn Sie auf eine Bing Anzeige geklickt haben, wird ein Cookie auf Ihrem Rechner gesetzt. Sowohl
Bing als auch der Websitebetreiber können dadurch erkennen, dass jemand über die Bing Anzeigen zur Website
weitergeleitet wurde und eine vorher festgelegte Zielseite (Conversion-Seite) erreicht hat. Wir möchten Sie darauf
hinweisen, dass durch dieses Verfahren auch ihre IP-Adresse erfasst wird. Wenn Sie nicht an dem beschriebenen
Tracking-Verfahren teilnehmen möchten, kann das hierfür erforderliche Setzen eines Cookies per Browser-Einstellung
abgelehnt werden. Die Deaktivierung kann auch über folgenden Link erfolgen: <a
href="http://choice.microsoft.com/de/opt-out" target="_blank">http://choice.microsoft.com/de/opt-out</a><br>
Weitere Informationen zum Datenschutz und zu den eingesetzten Cookies bei Microsoft Bing finden Sie auf der Website
von Microsoft: <a href="https://privacy.microsoft.com/de-de/privacystatement" target="_blank">https://privacy.microsoft.com/de-de/privacystatement</a><br><strong>Widerspruchsmöglichkeit
(Opt-out):</strong> <a href="http://choice.microsoft.com/de/opt-out" target="_blank">http://choice.microsoft.com/de/opt-out</a>
</p>
<p><u>cc) Google Adwords</u><br>
Wir nutzen das Online-Werbeprogramm „Google AdWords“ und im Rahmen von Google AdWords das Conversion-Tracking. Das
Google Conversion Tracking ist ein Analysedienst der Google Inc. (1600 Amphitheatre Parkway, Mountain View, CA
94043, USA; „Google“). Wenn Sie auf eine von Google geschaltete Anzeige klicken, wird ein Cookie für das
Conversion-Tracking auf Ihrem Rechner abgelegt. Diese Cookies verlieren nach 30 Tagen ihre Gültigkeit, enthalten
keine personenbezogenen Daten und dienen somit nicht der persönlichen Identifizierung. Wenn Sie bestimmte
Internetseiten unserer Website besuchen und das Cookie noch nicht abgelaufen ist, können Google und wir erkennen,
dass Sie auf die Anzeige geklickt haben und zu dieser Seite weitergeleitet wurden. Jeder Google AdWords-Kunde erhält
ein anderes Cookie. Somit besteht keine Möglichkeit, dass Cookies über die Websites von AdWords-Kunden nachverfolgt
werden können. </p>
<p>Wenn Sie nicht am Tracking teilnehmen möchten, können Sie dieser Nutzung widersprechen, indem Sie die Installation
der Cookies durch eine entsprechende Einstellung Ihrer Browser Software verhindern (Deaktivierungsmöglichkeit). Sie
werden sodann nicht in die Conversion-Tracking Statistiken aufgenommen. Weiterführende Informationen sowie die
Datenschutzerklärung von Google finden Sie unter: <a href="http://www.google.com/policies/technologies/ads/"
target="_blank">http://www.google.com/policies/technologies/ads/</a>,<br><a
href="http://www.google.de/policies/privacy/" target="_blank">http://www.google.de/policies/privacy/</a><br><a
href="https://support.google.com/adwords/answer/1722022?hl=de" target="_blank">https://support.google.com/adwords/answer/1722022?hl=de</a><br><br><strong>Widerspruchsmöglichkeit
(Opt-out):</strong>
<a href="https://www.google.com/settings/u/0/ads/anonymous?hl=de&amp;sig=ACi0TCgbJZ82qHPMEYoQJIy26Ljqx57yhP0ScvxTnIVEJBZMdU77SQUCZAYG1XAFfrbRPq9NN6Q3XntWfoR5P_U_AMV-sgbC0vMVzWRy8PoL4UlDPINr8p8"
target="_blank">https://www.google.com/settings/u/0/ads/anonymous?hl=de&amp;sig=ACi0TCgbJZ82qHPMEYoQJIy26Ljqx57yhP0ScvxTnIVEJBZMdU77SQUCZAYG1XAFfrbRPq9NN6Q3XntWfoR5P_U_AMV-sgbC0vMVzWRy8PoL4UlDPINr8p8</a>
</p>
<p><u>dd) Google Doubleclick</u><br>
Datenschutzinformationen des Anbieters: <a href="https://www.google.de/intl/de/policies/privacy/" target="_blank">https://www.google.de/intl/de/policies/privacy/</a><br><strong>Widerspruchsmöglichkeit
(Opt-out):</strong> <a href="https://www.google.com/settings/u/0/ads/authenticated" target="_blank">https://www.google.com/settings/u/0/ads/authenticated</a>
</p>
<p><strong>2. Rechtsgrundlage für die Datenverarbeitung für Cookies</strong><br>
Die Rechtsgrundlage für die Verarbeitung personenbezogener Daten unter Verwendung von Cookies ist Art. 6 Abs. 1 lit.
f DSGVO.</p>
<p><strong>3. Zweck der Datenverarbeitung</strong><br><u>a) Zweck für technisch notwendige Cookies</u><br>
Der Zweck der Verwendung technisch notwendiger Cookies ist, die Nutzung von Websites für die Nutzer zu vereinfachen.
Einige Funktionen unserer Internetseite können ohne den Einsatz von Cookies nicht angeboten werden. Für diese ist es
erforderlich, dass der Browser auch nach einem Seitenwechsel wiedererkannt wird.<br>
Für folgende Anwendungen benötigen wir Cookies:<br>
(1) Merken von Suchbegriffen<br>
(2) Übertragen von Formularinhalten<br>
(3) Sprachauswahl <br>
Die durch technisch notwendige Cookies erhobenen Nutzerdaten werden nicht zur Erstellung von Nutzerprofilen
verwendet.</p>
<p><u>b) Zweck technisch nicht notwendiger Cookies</u><br>
Die Verwendung der StepMap Cookies erfolgt zu dem Zweck, Ihnen Reiseinformationen anschaulich zu vermitteln. BING
ermöglicht uns die Aktivitäten von Nutzern auf unserer Website zu Werbezwecken und Optimierungszwecken
nachzuverfolgen, wenn diese über Anzeigen von Bing Ads auf unsere Website gelangt sind. Die Informationen, die
mithilfe von Google Adwords eingeholten werden, dienen dazu, Conversion-Statistiken für AdWords-Kunden zu erstellen,
die sich für Conversion-Tracking entschieden haben. Hierbei erfahren die Kunden die Gesamtanzahl der Nutzer, die auf
ihre Anzeige geklickt haben und zu einer mit einem Conversion-Tracking-Tag versehenen Seite weitergeleitet wurden.
Sie erhalten jedoch keine Informationen, mit denen sich Nutzer persönlich identifizieren lassen. In den vorgenannten
Zwecken liegt auch unser berechtigtes Interesse in der Verarbeitung der personenbezogenen Daten nach Art. 6 Abs. 1
lit. f DSGVO.</p>
<p><strong>4. Dauer der Speicherung, Widerspruchs- und Beseitigungsmöglichkeit</strong><br>
Cookies werden auf dem Rechner des Nutzers gespeichert und von diesem an unserer Seite übermittelt. Daher haben Sie
als Nutzer auch die volle Kontrolle über die Verwendung von Cookies. Durch eine Änderung der Einstellungen in Ihrem
Internetbrowser können Sie die Übertragung von Cookies deaktivieren oder einschränken. Bereits gespeicherte Cookies
können jederzeit gelöscht werden. Dies kann auch automatisiert erfolgen. Werden Cookies für unsere Website
deaktiviert, können möglicherweise nicht mehr alle Funktionen der Website vollumfänglich genutzt werden. Durch die
Nutzung der Website erklären Sie sich mit der Bearbeitung der über Sie erhobenen Daten durch Google in der zuvor
beschriebenen Art und Weise und zu dem zuvor benannten Zweck einverstanden.</p>
<p>Durch spezielle Browsereinstellungen können Sie alle oder einige Cookies auf Ihrem Gerät akzeptieren, blockieren oder
deaktivieren. Eine entsprechende Anleitung der gängigsten Browser finden Sie hier:
<br>
- <a title="Firefox" target="_blank"
href="https://support.mozilla.org/de/kb/cookies-informationen-websites-auf-ihrem-computer/">Firefox</a><br>
- <a title="Chrom" target="_blank" href="https://support.google.com/chrome/answer/95647?hl=de">Chrom</a><br>
- <a title="Internet Explorer" target="_blank"
href="https://support.microsoft.com/de-de/help/278835/how-to-delete-cookie-files-in-internet-explorer">Internet
Explorer</a><br>
- <a title="Safari" target="_blank" href="https://support.apple.com/kb/ph21411?locale=en_US">Safari</a>
</p>
<h2>V. E-Mail-Kontakt / Kontaktformular / Chat</h2>
<p>
<strong>1. Umfang der Datenverarbeitung</strong><br>
Auf unserer Internetseite ist eine Kontaktaufnahme über die bereitgestellte E-Mail-Adresse, ein Kontaktformular oder
einen Live Chat möglich. Die mit der E-Mail oder dem Kontaktformular übermittelten personenbezogenen Daten des
Nutzers werden von uns gespeichert. Zur Kontaktaufnahmen über das Kontaktformular genügt der Nachname und die
E-Mailadresse, welches Pflichtfelder sind. Alle anderen im Kontaktformular angegebenen Felder sind freiwillige
Felder. Der Chat kann grundsätzlich ohne Angabe von Daten gestartet werden, um mit uns in Kontakt zu treten. Sind
wir offline, können Sie uns über den Chat eine Nachricht hinterlassen. Wir benötigen in diesem Fall allerdings
zumindest Ihre E-Mailadresse sowie den Inhalt Ihrer Mitteilung, um auf Ihre Anfrage reagieren zu können. Die von
Ihnen freiwillig mitgeteilten Daten werden ausschließlich für die Verarbeitung der Konversation oder Buchungsanfrage
verwendet.<br>
Bei Nutzung des Kontaktformulars speichern wir zusätzlich aus Sicherheitsgründen noch Ihre IP-Adresse sowie Uhrzeit
und Datum der Kontaktaufnahme. Bei Nutzung des Chats wird die IP-Adresse ausschließlich anonymisiert erhoben. </p>
<p><strong>2. Rechtsgrundlage für die Datenverarbeitung</strong><br>
Rechtsgrundlage für die Verarbeitung der Daten ist Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse). Zielt der
Kontakt auf den Abschluss eines Vertrages ab, so ist zusätzliche Rechtsgrundlage für die Verarbeitung Art. 6 Abs. 1
lit. b DSGVO (zur Erfüllung eines Vertrags). </p>
<p><strong>3. Zweck der Datenverarbeitung</strong><br>
Die Verarbeitung der personenbezogenen Daten der Kontaktaufnahme dient uns allein zur Bearbeitung der
Kontaktaufnahme und Ihrem Anliegen. Darin liegt auch unser berechtigtes Interesse. Da die Kontaktaufnahme von Ihnen
ausgeht, Ihnen freisteht und wir zuvor darüber informieren, wie wir mit den übermittelten Daten umgehen, überwiegt
insoweit unser berechtigtes Interesse gegenüber Ihrem Persönlichkeitsrecht. Die Speicherung von IP-Adresse und
Absendezeitpunkt dient dem Schutz vor Missbrauch. Auch insoweit überwiegt unser berechtigtes Interesse. </p>
<p><strong>4. Dauer der Speicherung</strong><br>
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind.
Für die personenbezogenen Daten, die per E-Mail oder per Kontaktformular übersandt wurden, ist dies dann der Fall,
wenn die jeweilige Konversation mit dem Nutzer beendet ist. Beendet ist die Konversation dann, wenn sich aus den
Umständen entnehmen lässt, dass der betroffene Sachverhalt abschließend geklärt ist. Bei Nutzung der Chat-Funktion
löschen wir die Daten unmittelbar nach erfolgreicher Kontaktaufnahme. Sollte eine Kontaktaufnahme scheitern, werden
die Daten spätestens innerhalb von einer Woche die Daten gelöscht. </p>
<p><strong>5. Widerspruchs- und Beseitigungsmöglichkeit</strong><br>
Der Nutzer hat jederzeit die Möglichkeit der Speicherung seiner personenbezogenen Daten zu widersprechen. In einem
solchen Fall kann die Konversation nicht fortgeführt werden. Der Widerspruch kann sowohl per E-Mail, per Post oder
Telefax erfolgen. <br>
Alle personenbezogenen Daten, die im Zuge der Kontaktaufnahme gespeichert wurden, werden in diesem Fall von uns
gelöscht. <br>
Soweit Daten im Rahmen eines Vertragsverhältnisses erhoben werden, besteht die Möglichkeit des Widerspruchs nicht,
da diese zwingend zur Durchführung des Vertrags notwendig sind.</p>
<h2>VI. Reisebuchung </h2>
<p>
<strong>1. Umfang der Datenverarbeitung</strong><br>
Auf unserer Internetseite bieten wir Nutzern die Möglichkeit, sich unter Angabe personenbezogener Daten eine Reise
zu buchen. Die Daten werden dabei in eine Eingabemaske eingegeben und an uns über eine Buchungssoftware übermittelt
und gespeichert. Folgende Daten werden im Rahmen des Registrierungsprozesses erhoben:<br><u>Pflichtfelder:</u> <br>
(1) Anrede, Vor- u. Nachname, Straße, Hausnummer, PLZ, Ort, Land, Telefonnummer,
E-Mailadresse<br>
(2) Zimmertyp<br>
(3) Reiseteilnehmer (Geschlecht / Vor- u. Nachname/ Geburtsdatum) <br>
(4) IP-Adresse des Nutzers / Datum und Uhrzeit der Registrierung<br>
(5) Zahlungsart Kreditkartenzahlung: Kreditkartenhalter (Vor- und Nachname), Zahlung per* (Auswahl der Kreditkarte),
Kreditkartennummer, CVC-Code, Gültig bis (Monat und Jahr)
<br><u>Freiwillige Angaben:</u> <br>
(6) Faxnummer<br>
(7) Ihre Mitteilung </p>
<p><strong>2. Rechtsgrundlage für die Datenverarbeitung</strong><br>
Rechtsgrundlagen für die Verarbeitung der Daten ist Art. 6 Abs. 1 lit. b DSGVO (vertragliche / vorvertragliche
Durchführung), Ihre im Buchungsvorgang erteilte Einwilligung, Art. 6 Abs. 1 lit.a DSGVO, Art. 6 Abs. 1 lit. c DSGVO
(gesetzliche Verpflichtung gemäß BGB, HGB, Fluggastdatengesetz, EU-Pauschalreiserichtlinie, AO, etc.) sowie Art. 6
Abs. 1 lit. f DSGVO (berechtigtes Interesse). </p>
<p><strong>3. Zweck der Datenverarbeitung</strong><br>
Die Datenverarbeitung ist zur Erfüllung des Reisevertrages und der damit verbundenen Leistungen zwingend notwendig.
Dies ist Zweck der Datenverarbeitung. Unser berechtigtes Interesse an der jeweiligen Verarbeitung ergibt sich aus
den nachfolgenden Zwecken:</p>
<ul>
<li>Unterstützung unserer Vertriebsorganisation bei der Reiseberatung und -betreuung und dem Vertrieb im Rahmen der
Reisebetreuung
</li>
<li>Weiterentwicklung von Reisedienstleistungen und Zusatzprodukten</li>
<li>Werbung, der Markt- und der Meinungsforschung</li>
<li>Geltendmachung rechtlicher Ansprüche und Verteidigung bei rechtlichen Streitigkeiten</li>
<li>Prävention und Aufklärung von Straftaten</li>
<li>Gewährleistung der IT-Sicherheit und Verfügbarkeit des IT-Betriebs</li>
</ul>
<p>Unser Interesse an der jeweiligen Verarbeitung ergibt sich aus den jeweiligen Zwecken und ist im Übrigen
wirtschaftlicher Natur (effiziente Aufgabenerfüllung, Vertrieb, Vermeidung von Rechtsrisiken).</p>
<p><strong>4. Dauer der Speicherung</strong><br>
Die Daten werden gelöscht, sobald sie für die Erreichung des Zweckes ihrer Erhebung nicht mehr erforderlich sind, es
sei denn wir sind gesetzlich zur Aufbewahrung der Daten, bspw. nach steuerrechtlichen Vorgaben oder aus anderen
gesetzlichen Gründen verpflichtet. Die dort vorgegebenen Fristen zur Aufbewahrung bzw. Dokumentation betragen zwei
bis maximal zehn Jahre. Schließlich beurteilt sich die Speicherdauer auch nach den gesetzlichen Verjährungsfristen,
die zum Beispiel nach den §§ 195 ff. des Bürgerlichen Gesetzbuches (BGB) in der Regel drei Jahre. </p>
<p><strong>5. Datenübermittlung</strong><br>
Zur Durchführung der Reise ist es notwendig Ihre Daten an Auftragsverabeiter (IT-Dienstleister, Buchungssysteme,
Druckdienstleistungen), die Ihre Daten weisungsgebunden für uns verarbeiten sowie Dritte (Fluglinien, Hotels,
Autovermietungen, etc.) in der EU / dem EWR, aber je nach Reiseziel auch in Drittländer, in denen keinerlei
Datenschutzabkommen gelten (Bsp. Oman, Israel etc.) weiterzugeben. Empfänger der Daten sind insoweit auch
Fluglinien, Hotels, Mietwagenunternehmen, öffentliche Stellen und Institutionen (Finanzbehörden, Botschaften des
Ziellandes) bei Vorliegen einer gesetzlichen oder behördlichen Verpflichtung (Aufbewahrungspflichten,
VISA-Beschaffung, Einholen von Einreisebestimmungen) sowie sonstige Stellen, für die Sie uns Ihre Einwilligung zur
Datenübermittlung erteilt haben.<br><br>
Im Hinblick auf Israel hat die EU-Kommission ein angemessenes Datenschutzniveau durch Angemessenheitsbeschluss
2011/61/EU festgestellt. Im Hinblick auf Reiseländer wie <a href="/reisefuehrer/aegypten"
class="intern-link show-layer keyword-link">Ägypten</a>,
Jordanien, Oman, Usbekistan, Türkei und Marokko besteht kein angemessenes Datenschutzniveau. Wir weisen insoweit
darauf hin, dass die Datenübermittlung in diese Länder mit Risiken verbunden ist. Buchen Sie eine Reise in eines der
genannten Länder, ist die Übermittlung Ihrer personenbezogenen Daten für uns jedoch zwingend zur Vertragserfüllung
notwendig. Wir sind daher gemäß Art. 49 Abs. 1 Unterabschnitt 1 lit. b) und c) berechtigt, Ihre Daten an unsere
Dienstleister in dem jeweiligen Drittland zu übermitteln. <br><br>
Mit der Buchung erklären Sie sich insoweit mit der Datenverarbeitung einverstanden. </p>
<p><strong>6. Verpflichtung zur Bereitstellung der Daten</strong><br>
Sie sind im Rahmen einer Buchung verpflichtet, die zur Begründung, Durchführung und Beendigung der
Geschäftsbeziehung notwendigen Daten zur Verfügung zu stellen. Sofern Sie die Daten nicht zur Verfügung stellen,
können Sie über unsere Internetseite keine Reise buchen. </p>
<p><strong>7. Widerspruchs- und Beseitigungsmöglichkeit</strong><br>
Eine vorzeitige Löschung der Daten ist nur möglich, soweit nicht vertragliche oder gesetzliche Verpflichtungen einer
Löschung entgegenstehen. Anderenfalls sind derartige Begehren per E-Mail oder Post an den Verantwortlichen zu
richten. </p>
<h2>VII. a Verwendung von YouTube-Videos</h2>
<p>
Unsere Website nutzt die YouTube-Einbettungsfunktion zur Anzeige und Wiedergabe von Videos des Anbieters „YouTube“,
der zu der Google LLC., 1600 Amphitheatre Parkway, Mountain View, CA 94043, USA („Google“) gehört.<br><br>
Hierbei wird der erweiterte Datenschutzmodus verwendet, der nach Anbieterangaben eine Speicherung von
Nutzerinformationen erst bei Wiedergabe des/der Videos in Gang setzt. Wird die Wiedergabe eingebetteter
YouTube-Videos gestartet, setzt der Anbieter „YouTube“ Cookies ein, um Informationen über das Nutzerverhalten zu
sammeln. Hinweisen von „YouTube“ zufolge dienen diese unter anderem dazu, Videostatistiken zu erfassen, die
Nutzerfreundlichkeit zu verbessern und missbräuchliche Handlungsweisen zu unterbinden. Wenn Sie bei Google
eingeloggt sind, werden Ihre Daten direkt Ihrem Konto zugeordnet, wenn Sie ein Video anklicken. Wenn Sie die
Zuordnung mit Ihrem Profil bei YouTube nicht wünschen, müssen Sie sich vor Aktivierung des Buttons ausloggen. Google
speichert Ihre Daten (selbst für nicht eingeloggte Nutzer) als Nutzungsprofile und wertet diese aus. <br>
Eine solche Auswertung erfolgt insbesondere gemäß Art. 6 Abs. 1 lit.f DSGVO auf Basis der berechtigten Interessen
von Google an der Einblendung personalisierter Werbung, Marktforschung und/oder bedarfsgerechten Gestaltung seiner
Website. <br>
Ihnen steht ein Widerspruchsrecht zu gegen die Bildung dieser Nutzerprofile, wobei Sie sich zur Ausübung dessen an
YouTube richten müssen. <br>
Unabhängig von einer Wiedergabe der eingebetteten Videos wird bei jedem Aufruf dieser Website eine Verbindung zum
Google-Netzwerk „DoubleClick“ aufgenommen, was ohne unseren Einfluss weitere Datenverarbeitungsvorgänge auslösen
kann.<br>
Google LLC mit Sitz in den USA ist für das us-europäische Datenschutzübereinkommen „Privacy Shield“ zertifiziert,
welches die Einhaltung des in der EU geltenden Datenschutzniveaus gewährleistet.<br>
Weitere Informationen zum Datenschutz bei „YouTube“ finden Sie in der Datenschutzerklärung des Anbieters unter: <a
href="https://www.google.de/intl/de/policies/privacy" target="_blank">https://www.google.de/intl/de/policies/privacy</a>
</p>
<h2>VII. b Verwendung von Google reCaptcha</h2>
<p>
</p>
<p><strong>1. Umfang der Datenverarbeitung </strong><br>
Zum Schutz ihrer Aufträge per Internetformular verwendet den Dienst reCAPTCHA des Unternehmens Google Inc. (Google).
Die Abfrage dient der Unterscheidung, ob die Eingabe durch einen Menschen oder missbräuchlich durch automatisierte,
maschinelle Verarbeitung erfolgt. <br>
Die Abfrage schließt den Versand der IP-Adresse und ggf. weiterer von Google für den Dienst reCAPTCHA benötigter
Daten an Google ein. Zu diesem Zweck wird Ihre Eingabe an Google übermittelt und dort weiter verwendet. Durch die
Nutzung von reCaptcha erklären Sie sich damit einverstanden, dass die von Ihnen geleistete Erkennung in die
Digitalisierung alter Werke einfließt. Im Falle der Aktivierung der IP-Anonymisierung auf dieser Webseite wird Ihre
IP-Adresse von Google jedoch innerhalb von Mitgliedstaaten der Europäischen Union oder in anderen Vertragsstaaten
des Abkommens über den Europäischen Wirtschaftsraum zuvor gekürzt. Nur in Ausnahmefällen wird die volle IP-Adresse
an einen Server von Google in den USA übertragen und dort gekürzt. Im Auftrag des Betreibers dieser Website wird
Google diese Informationen benutzen, um Ihre Nutzung dieses Dienstes auszuwerten. Die im Rahmen von reCaptcha von
Ihrem Browser übermittelte IP-Adresse wird nicht mit anderen Daten von Google zusammengeführt. Für diese Daten
gelten die abweichenden Datenschutzbestimmungen des Unternehmens Google. Weitere Informationen zu den
Datenschutzrichtlinien von Google finden Sie unter:
<a href="https://www.google.com/intl/de/policies/privacy/" target="_blank">https://www.google.com/intl/de/policies/privacy/</a>.
</p>
<p><strong>2. Rechtsgrundlage</strong><br>
Rechtsgrundlage ist Art. 6 Abs. 1 lit. f DSGVO.</p>
<p><strong>3. Zweck der Verarbeitung</strong><br>
Die Verarbeitung dient der IT-Sicherheit und dem Schutz vor Missbrauch. Darin liegt auch unser berechtigtes
Interesse. </p>
<h2>VIII. Rechte der betroffenen Person</h2>
<p>
Werden personenbezogene Daten von Ihnen verarbeitet, sind Sie Betroffener i.S.d. DSGVO und es stehen Ihnen folgende
Rechte zu:</p>
<p><strong>1. Auskunftsrecht</strong><br>
Sie können von uns eine Bestätigung darüber verlangen, ob personenbezogene Daten, die Sie betreffen, von uns
verarbeitet werden.
Liegt eine solche Verarbeitung vor, können Sie von uns über folgende Informationen Auskunft verlangen:<br>
(1) die Zwecke, zu denen die personenbezogenen Daten verarbeitet werden;<br>
(2) die Kategorien von personenbezogenen Daten, welche verarbeitet werden;<br>
(3) die Empfänger bzw. die Kategorien von Empfängern, gegenüber denen die Sie betreffenden personenbezogenen Daten
offengelegt wurden oder noch offengelegt werden;<br>
(4) die geplante Dauer der Speicherung der Sie betreffenden personenbezogenen Daten oder, falls konkrete Angaben
hierzu nicht möglich sind, Kriterien für die Festlegung der Speicherdauer;<br>
(5) das Bestehen eines Rechts auf Berichtigung oder Löschung der Sie betreffenden personenbezogenen Daten, eines
Rechts auf Einschränkung der Verarbeitung durch den Verantwortlichen oder eines Widerspruchsrechts gegen diese
Verarbeitung; <br>
(6) das Bestehen eines Beschwerderechts bei einer Aufsichtsbehörde;<br>
(7) alle verfügbaren Informationen über die Herkunft der Daten, wenn die personenbezogenen Daten nicht bei der
betroffenen Person erhoben werden;<br>
(8) das Bestehen einer automatisierten Entscheidungsfindung einschließlich Profiling gemäß Art. 22 Abs. 1 und 4
DSGVO und zumindest in diesen Fällen aussagekräftige Informationen über die involvierte Logik sowie die
Tragweite und die angestrebten Auswirkungen einer derartigen Verarbeitung für die betroffene Person.<br><br>
Ihnen steht das Recht zu, Auskunft darüber zu verlangen, ob die betreffenden personenbezogenen Daten in ein
Drittland oder an eine internationale Organisation übermittelt werden. In diesem Zusammenhang können Sie verlangen,
über die geeigneten Garantien gem. Art. 46 DSGVO im Zusammenhang mit der Übermittlung unterrichtet zu werden.</p>
<p><strong>2. Recht auf Berichtigung</strong><br>
Sie haben ein Recht auf Berichtigung und/oder Vervollständigung, sofern die verarbeiteten personenbezogenen Daten,
die Sie betreffen, unrichtig oder unvollständig sind. Wir haben die Berichtigung dann unverzüglich vorzunehmen.</p>
<p><strong>3. Recht auf Einschränkung der Verarbeitung</strong><br>
Unter den folgenden Voraussetzungen können Sie die Einschränkung der Verarbeitung der Sie betreffenden
personenbezogenen Daten verlangen:<br>
(1) wenn Sie die Richtigkeit der Sie betreffenden personenbezogenen für eine Dauer bestreiten, die es uns
ermöglicht, die Richtigkeit der personenbezogenen Daten zu überprüfen;<br>
(2) die Verarbeitung durch uns unrechtmäßig ist, Sie die Löschung der personenbezogenen Daten durch uns ablehnen und
stattdessen die Einschränkung der Nutzung der personenbezogenen Daten von uns verlangen;<br>
(3) wir die personenbezogenen Daten für die Zwecke der Verarbeitung nicht länger benötigen, Sie diese jedoch zur
Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen benötigen, oder<br>
(4) wenn Sie Widerspruch gegen die Verarbeitung gemäß Art. 21 Abs. 1 DSGVO eingelegt haben und noch nicht feststeht,
ob unsere berechtigten Gründe gegenüber Ihren Gründen überwiegen.<br><br>
Wurde die Verarbeitung der Sie betreffenden personenbezogenen Daten eingeschränkt, dürfen diese Daten von ihrer
Speicherung abgesehen nur mit Ihrer Einwilligung oder zur Geltendmachung, Ausübung oder Verteidigung von
Rechtsansprüchen oder zum Schutz der Rechte einer anderen natürlichen oder juristischen Person oder aus Gründen
eines wichtigen öffentlichen Interesses der Union oder eines Mitgliedstaats von uns verarbeitet werden.<br>
Wurde die Einschränkung der Verarbeitung nach den o.g. Voraussetzungen eingeschränkt, werden Sie von uns
unterrichtet bevor die Einschränkung aufgehoben wird.</p>
<p><strong>4. Recht auf Löschung</strong><br><u>a) Löschungspflicht</u><br>
Sie können von uns verlangen, dass die Sie betreffenden personenbezogenen Daten unverzüglich gelöscht werden. Wir
sind verpflichtet, diese Daten unverzüglich zu löschen, sofern einer der folgenden Gründe zutrifft:<br>
(1) Die Sie betreffenden personenbezogenen Daten sind für die Zwecke, für die sie erhoben oder auf sonstige Weise
verarbeitet wurden, nicht mehr notwendig.<br>
(2) Sie widerrufen Ihre Einwilligung, auf die sich die Verarbeitung gem. Art. 6 Abs. 1 lit. a oder Art. 9 Abs. 2
lit. a DSGVO stützte, und es fehlt an einer anderweitigen Rechtsgrundlage für die Verarbeitung.<br>
(3) Sie legen gem. Art. 21 Abs. 1 DSGVO Widerspruch gegen die Verarbeitung ein und es liegen keine vorrangigen
berechtigten Gründe für die Verarbeitung vor, oder Sie legen gem. Art. 21 Abs. 2 DSGVO Widerspruch gegen die
Verarbeitung ein. <br>
(4) Die Sie betreffenden personenbezogenen Daten wurden unrechtmäßig verarbeitet. <br>
(5) Die Löschung der Sie betreffenden personenbezogenen Daten ist zur Erfüllung einer rechtlichen Verpflichtung nach
dem Unionsrecht oder dem Recht der Mitgliedstaaten erforderlich, dem wir unterliegen.<br>
(6) Die Sie betreffenden personenbezogenen Daten wurden in Bezug auf angebotene Dienste der Informationsgesellschaft
gemäß Art. 8 Abs. 1 DSGVO erhoben.</p>
<p><u>b) Information an Dritte</u><br>
Haben wir die Sie betreffenden personenbezogenen Daten öffentlich gemacht und sind wir gem. Art. 17 Abs. 1 DSGVO zu
deren Löschung verpflichtet, so treffen wir angemessene Maßnahmen (auch technischer Art), um Verantwortliche, die
die personenbezogenen Daten verarbeiten, darüber zu informieren, dass Sie als betroffene Person die Löschung aller
Links zu diesen personenbezogenen Daten oder von Kopien oder Replikationen dieser personenbezogenen Daten verlangt
haben. </p>
<p><u>c) Ausnahmen</u><br>
Das Recht auf Löschung besteht nicht, soweit die Verarbeitung erforderlich ist<br>
(1) zur Ausübung des Rechts auf freie Meinungsäußerung und Information;<br>
(2) zur Erfüllung einer rechtlichen Verpflichtung, die die Verarbeitung nach dem Recht der Union oder der
Mitgliedstaaten, dem wir unterliegen erfordert, oder zur Wahrnehmung einer Aufgabe, die im öffentlichen Interesse
liegt oder in Ausübung öffentlicher Gewalt erfolgt, die uns ggfs. übertragen wurde;<br>
(3) aus Gründen des öffentlichen Interesses im Bereich der öffentlichen Gesundheit gemäß Art. 9 Abs. 2 lit. h und i
sowie Art. 9 Abs. 3 DSGVO;<br>
(4) für im öffentlichen Interesse liegende Archivzwecke, wissenschaftliche oder historische Forschungszwecke oder
für statistische Zwecke gem. Art. 89 Abs. 1 DSGVO, soweit das unter Abschnitt a) genannte Recht voraussichtlich die
Verwirklichung der Ziele dieser Verarbeitung unmöglich macht oder ernsthaft beeinträchtigt, oder<br>
(5) zur Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.</p>
<p><strong>5. Recht auf Unterrichtung</strong><br>
Haben Sie das Recht auf Berichtigung, Löschung oder Einschränkung der Verarbeitung uns gegenüber geltend gemacht,
sind wir verpflichtet, allen Empfängern, denen Ihre personenbezogenen Daten offengelegt wurden, die Berichtigung,
Löschung der Daten oder Einschränkung der Verarbeitung mitzuteilen, es sei denn, dies erweist sich als unmöglich
oder ist für uns mit einem unverhältnismäßigen Aufwand verbunden.
Ihnen steht das Recht zu, von uns über diese Empfänger unterrichtet zu werden.</p>
<p><strong>6. Recht auf Datenübertragbarkeit</strong><br>
Sie haben das Recht, die Sie betreffenden personenbezogenen Daten von uns in einem strukturierten, gängigen und
maschinenlesbaren Format zu erhalten. Außerdem haben Sie das Recht diese Daten einem anderen Verantwortlichen ohne
Behinderung durch uns zu übermitteln, sofern<br>
(1) die Verarbeitung auf einer Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO oder Art. 9 Abs. 2 lit. a DSGVO oder auf
einem Vertrag gem. Art. 6 Abs. 1 lit. b DSGVO beruht und<br>
(2) die Verarbeitung mithilfe automatisierter Verfahren erfolgt.<br>
Sie haben insoweit auch das Recht, dass wir Ihre Daten einem anderen Verantwortlichen übermitteln, soweit dies
technisch machbar ist. Freiheiten und Rechte anderer Personen dürfen hierdurch jedoch nicht beeinträchtigt
werden.<br>
Dieses Recht auf Datenübertragbarkeit gilt nicht für eine Verarbeitung personenbezogener Daten, die für die
Wahrnehmung einer Aufgabe erforderlich ist, die im öffentlichen Interesse liegt oder in Ausübung öffentlicher Gewalt
erfolgt, die uns übertragen wurde.</p>
<p><strong>7. Widerspruchsrecht</strong><br>
Sie haben das Recht, aus Gründen, die sich aus ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung
der Sie betreffenden personenbezogenen Daten, die aufgrund von Art. 6 Abs. 1 lit. e oder f DSGVO erfolgt,
Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmungen gestütztes Profiling. <br>
Wir verarbeiten die Sie betreffenden personenbezogenen Daten nicht mehr, es sei denn, wir können zwingende
schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder
die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.</p>
<p><strong>8. Recht auf Widerruf der datenschutzrechtlichen Einwilligungserklärung</strong><br>
Sie haben das Recht, datenschutzrechtliche Einwilligungserklärungen jederzeit zu widerrufen. Durch den Widerruf der
Einwilligung wird die Rechtmäßigkeit der aufgrund der Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht
berührt.</p>
<p><strong>9. Recht auf Beschwerde bei einer Aufsichtsbehörde</strong><br>
Unbeschadet eines anderweitigen verwaltungsrechtlichen oder gerichtlichen Rechtsbehelfs steht Ihnen das Recht auf
Beschwerde bei einer Aufsichtsbehörde, insbesondere in dem Mitgliedstaat ihres Aufenthaltsorts, ihres Arbeitsplatzes
oder des Orts des mutmaßlichen Verstoßes, zu, wenn Sie der Ansicht sind, dass die Verarbeitung der Sie betreffenden
personenbezogenen Daten gegen die DSGVO verstößt.
Die Aufsichtsbehörde, bei der die Beschwerde eingereicht wurde, unterrichtet Sie als Beschwerdeführer über den Stand
und die Ergebnisse der Beschwerde einschließlich der Möglichkeit eines gerichtlichen Rechtsbehelfs nach Art. 78
DSGVO.</p>
<h2>IX. Herausgabe von zwingend benötigten pb. Daten</h2>
<p>
Im Rahmen unserer Geschäftsbeziehung benötigen wir von Ihnen zwingend folgende personenbezogenen Daten</p>
<ul>
<li>Daten, die für die Aufnahme und die Durchführung der Geschäftsbeziehung gebraucht werden</li>
<li>Daten, die für die Erfüllung der damit verbundenen vertraglichen Pflichten notwendig sind</li>
<li>Daten, zu deren Erhebung wir rechtlich verpflichtet sind.</li>
</ul>
<p>Ohne diese personenbezogenen Daten sind wir in der Regel nicht in der Lage, einen Vertrag mit Ihnen einzugehen oder
auszuführen.</p>
<h2>X. Transportverschlüsselung</h2>
<p>
Um Ihre Daten vor unerwünschten Zugriffen zu schützen, setzen wir auf unseren Seiten ein Verschlüsselungsverfahren
ein. Ihre Angaben werden dann von Ihrem Rechner zu unserem Server und umgekehrt über das Internet mittels einer 128
Bit TLS-Verschlüsselung (Transport Layer Security) (Hinweis, wir empfehlen mindestens eine TLS 1.2-Verschlüsselung)
übertragen. Sie erkennen dies daran, dass auf der Statusleiste Ihres Browsers das Schloss-Symbol geschlossen ist und
die Adresszeile mit https:// beginnt. Wir verzichten auf eine Verschlüsselung, wenn sie lediglich allgemein
verfügbare Informationen mit uns austauschen.</p>
<p>Stand Mai 2018</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default waves-effect" data-dismiss="modal">{{__('close')}}</button>
</div>

View file

@ -0,0 +1,38 @@
@extends('layouts.auth')
@section('content')
<!-- Content -->
<div class="authentication-wrapper authentication-2 ui-bg-cover ui-bg-overlay-container px-4" style="background-color:#ffc926;">
<div class="ui-bg-overlay bg-dark opacity-25"></div>
<div class="authentication-inner py-5" style="max-width: none; ">
<div class="card">
<div class="p-4 p-sm-5">
<a class="btn btn-primary pull-right" href="{{url('/')}}">{{__('back')}}</a>
<!-- Logo -->
<div class="d-flex justify-content-center align-items-center pb-2 mb-4">
<div class="">
<div class="w-100 position-relative">
<a href="https://www.sterntours.de"><img src="{{ asset('/images/stern-tours-logo.png') }}" alt="STERN TOURS" class=""></a>
</div>
</div>
</div>
<!-- / Logo -->
@include('legal.data_protect_de')
<a class="btn btn-primary pull-right" href="{{url('/')}}">{{__('back')}}</a>
</div>
</div>
</div>
</div>
@endsection

View file

@ -0,0 +1,36 @@
@extends('layouts.auth')
@section('content')
<!-- Content -->
<div class="authentication-wrapper authentication-2 ui-bg-cover ui-bg-overlay-container px-4" style="background-color:#ffc926;">
<div class="ui-bg-overlay bg-dark opacity-25"></div>
<div class="authentication-inner py-5" style="max-width: none; ">
<div class="card">
<div class="p-4 p-sm-5">
<a class="btn btn-primary pull-right" href="{{url('/')}}">{{__('back')}}</a>
<!-- Logo -->
<div class="d-flex justify-content-center align-items-center pb-2 mb-4">
<div class="">
<div class="w-100 position-relative">
<a href="https://www.sterntours.de"><img src="{{ asset('/images/stern-tours-logo.png') }}" alt="STERN TOURS" class=""></a>
</div>
</div>
</div>
<!-- / Logo -->
@include('legal.imprint_de')
<a class="btn btn-primary pull-right" href="{{url('/')}}">{{__('back')}}</a>
</div>
</div>
</div>
</div>
@endsection

View file

@ -0,0 +1,85 @@
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="modal-title" id="myModalUpdate">{{ __('imprint') }}
</h3>
</div>
<div class="modal-body">
<h1>Impressum vom Kulturreise-Spezialist STERN TOURS aus Berlin</h1>
<p class="ft">
Verantwortlicher im Sinne des Presserechts sowie Diensteanbieter nach § 5 TMG (Telemediengesetz) und Betreiber der Webseite<br><br><strong>STERN TOURS GmbH</strong><br>Emser Straße 3<br>
10719 Berlin
</p>
<p class="ft">
Geschäftsführer: Thomas Stern<br>
E-Mail: stern@sterntours.de<br>
Tel.: 030 / 700 94 100<br>
Fax: 030 / 700 94 1044
</p>
<p class="ft">
Registergericht: Amtsgericht Charlottenburg<br>
Registernummer: HRB 67111<br>
Steuernummer: 27/545/30703<br>
UST-Ident.-Nr.: DE192609253<br>
Finanzamt: Wilmersdorf
</p>
<p>Wir vermitteln Reiseversicherungen im Status eines erlaubnisfreien Annexvermittlers gemäß § 34d Abs. 8 Nr. 1 Gewerbeordnung (GewO).</p>
<h2>Beschwerdestelle bei Streitigkeiten mit Versicherungsvermittlern</h2>
<p>Versicherungsombudsmann e.V.<br>
Postfach 08 06 32<br>
10006 Berlin<br>
Telefon: 0800 3696000<br>
Fax: 0800 3699000<br>
E-Mail: beschwerde@versicherungsombudsmann.de<br><a href="https://www.versicherungsombudsmann.de/" target="_blank" rel="nofollow">https://www.versicherungsombudsmann.de/</a></p>
<h2>Online-Streitbeilegung</h2>
<p>gemäß Art. 14 Abs. 1 ODR-VO: Die Europäische Kommission stellt eine Plattform zur Online-Streitbeilegung (OS) bereit, die Sie unter <a href="http://ec.europa.eu/consumers/odr/" target="_blank">http://ec.europa.eu/consumers/odr/</a> finden.</p>
<h2>Nutzungshinweis</h2>
<p class="ft">
Eine unerlaubte Verwendung, Reproduktion, Weitergabe, Veröffentlichungen oder eine kommerzielle Nutzung ohne Genehmigung des Urhebers der auf dieser Website befindlichen Inhalte ist untersagt und wird sowohl straf- als auch zivilrechtlich verfolgt!
</p>
<p class="ft">
Eine Haftung für die Richtigkeit, Vollständigkeit oder Aktualität der hier dargestellten Inhalte kann nicht übernommen werden. Ferner wird keine Haftung für Schäden übernommen, die durch den Gebrauch dieser Website entstehen könnten. Die auf der Webseite enthaltenen Daten sind nicht als offiziell anzusehen. Produktpreise und Serviceleistungen, die in der Webseite erscheinen, sind möglicherweise falsch.
</p>
<p class="ft">
<b>Allgemeiner Hinweis</b> Alle genannten Informationen und Angebote können ohne Angabe von Gründen jederzeit geändert werden. Irrtümer und Fehler bleiben vorbehalten. Es gelten die jeweils rechtlich Allgemeine Geschäftsbedingungen und Verträge.
</p>
<h2>Quellen</h2>
<p class="ft">
Das Wissen, das hier zusammengetragen wurde, stammt aus Büchern, von Privatpersonen und diversen Internetseiten. Wir versichern jedoch, dass wir einzelne Sätze (abgesehen von Zahlen), denen&nbsp;wir uns&nbsp;aus Büchern oder anderen Websites bedient haben, nur sinngemäß und absolut in eigenen Worten wiedergegeben haben.
</p>
<p class="ft">
Desweiteren haben unsere User die Möglichkeit, eigene Länderinformationen und Reiseberichte zu schreiben und hier zu veröffentlichen. Diese werden dazu angehalten, nur Texte und Bilder zu verwenden, die sie selber produziert haben, um keinerlei Urheberrechte zu verletzen. Die E-Mail- und IP-Adressen aller User werden von unserem System erfasst und können zurückverfolgt werden. STERN TOURS übernimmt, trotz sorgfältiger Kontrollen, keine&nbsp;Haftung für von Usern gepostete Beiträge.
</p>
<p class="ft">
<b>Sonstiger Text</b> Auswärtiges Amt, Privatpersonen,&nbsp;das Internet,&nbsp;User.
</p>
<p class="ft">
Einige der verwendeten Fotos sind aus den Datenbanken von fotolia.de, photocase.com, sxc.hu und pixelio.de. Vielen Dank für die Erlaubnis der Veröffentlichung.
</p>
<h2>Bildnachweis</h2>
<p class="ft">
In unserem Bildnachweis ist sämtliches Bildmaterial, das wir zur Illustration aus externen Quellen übernommen haben, aufgelistet. Solche externen Quellen sind entweder Imagestocks und Bilddatenbanken aus dem Internet wie beispielsweise die Plattform www.fotolia.de, oder es handelt sich um Bildmaterial, das uns freundlicherweise von unseren Kunden zur Nutzung zur Verfügung gestellt wurde. Vielen Dank dafür. Wir behandeln die Quellenangeben mit größter Sorgfalt, um etwaigen Rechtsstreitigkeiten vorzubeugen. Das Urheberrecht ist für viele Internetnutzer offenbar ein schwieriges Thema. Uns ist die Brisanz von Urheberrechtsverletzungen bewusst, so dass wir uns, wie gesagt, um Vollständigkeit und Transparenz bemühen. Sollten Sie dennoch einmal feststellen, dass eines Ihrer Werke ohne die Nennung Ihres Namens verwendet wurde kontaktieren Sie uns bitte zuerst. Wir werden dann umgehend die Angaben ergänzen, denn wir wollen uns nicht mit fremden Federn schmücken. Auch das darf man von einem seriösen Reiseveranstalter schließlich erwarten.
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default waves-effect" data-dismiss="modal">{{__('close')}}</button>
</div>

View file

@ -0,0 +1,130 @@
@extends('layouts.layout-2-2')
@section('content')
<style type="text/css">
.form-control.has-error {
border: 1px solid #ea8e49;
}
</style>
<!-- row -->
<div class="row">
<div class="col-md-12">
<div class="white-box p-0 min-height-500">
<!-- .left-right-aside-column-->
<div class="page-aside">
<!-- .left-aside-column-->
<div class="left-aside">
<div class="scrollable">
<ul class="list-style-none">
<li class="box-label">Choose <select onchange="if (this.value) window.location.href=this.value" >
<option value="">Pick one:</option>
@foreach($langs as $lang)
<option value="{{ url('/admin/translation/0/'.$lang.'/'.$langsource.'/'.$show) }}" @if($language == $lang) selected @endif>{{ $lang }}</option>
@endforeach
</select>
</li>
<li class="divider"></li>
@foreach($files as $fl)
<li <?php if(substr($fl, 0, strrpos($fl,' (')) === $edit) echo 'class="font-bold"' ?>><a href="{{ url('/admin/translation/'.substr($fl, 0, strrpos($fl,' (')).'/'.$language.'/'.$langsource.'/'.$show) }}">{{ $fl }}</a></li>
@endforeach
</ul>
</div>
</div>
@if($translations)
{!! Form::open([ 'url' => route('admin_translation_update', [$file, $language, $langsource, $show]), 'method' => 'post', 'class' => 'form-horizontal' ]) !!}
<!-- /.left-aside-column-->
<div class="right-aside">
<div class="clearfix"></div>
<div class="scrollable">
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-primary">
Save
</button>
</div>
</div>
<div class="clearfix"><br></div>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th width="20%">Key</th>
<th width="40%">Source
<select onchange="if (this.value) window.location.href=this.value" >
<option value="">Pick one:</option>
@foreach($langs as $source)
<option value="{{ url('/admin/translation/'.$file.'/'.$language.'/'.$source.'/'.$show) }}" @if($source == $langsource) selected @endif>{{ $source }}</option>
@endforeach
</select>
</th>
<th width="40%">Translation
<select onchange="if (this.value) window.location.href=this.value" >
<option value="">Pick one:</option>
@foreach($langs as $lang)
<option value="{{ url('/admin/translation/'.$file.'/'.$lang.'/'.$langsource.'/'.$show) }}" @if($language == $lang) selected @endif>{{ $lang }}</option>
@endforeach
</select>
<select onchange="if (this.value) window.location.href=this.value" >
<option value="{{ url('/admin/translation/'.$file.'/'.$language.'/'.$langsource.'/all') }}" @if($show == 'all') selected @endif>ALL</option>
<option value="{{ url('/admin/translation/'.$file.'/'.$language.'/'.$langsource.'/empty') }}" @if($show == 'empty') selected @endif>EMPTY</option>
</select>
</th>
</tr>
</thead>
<tbody>
@foreach($translations as $key => $value)
@include('components.translation_row', [
'key' => $key,
'value' => $value,
'language'=> $language,
'parent' => null,
'prefix' => $prefix,
'langsource' => $langsource,
'show' => $show,
])
@endforeach
</tbody>
</table>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-primary">
Save
</button>
</div>
</div>
</div>
{!! Form::close() !!}
@endif
<!-- .left-aside-column-->
</div>
<!-- /.left-right-aside-column-->
</div>
</div>
</div>
<!-- /.row -->
@endsection

View file

@ -0,0 +1,181 @@
@extends('layouts.app-main')
@section('content')
<style type="text/css">
.form-control.has-error {
border: 1px solid #ea8e49;
}
</style>
<!-- row -->
<div class="row">
<div class="col-md-12">
<div class="white-box p-0 min-height-500">
<!-- .left-right-aside-column-->
<div class="page-aside">
<!-- .left-aside-column-->
<div class="left-aside">
<div class="scrollable">
<ul class="list-style-none">
<?php /*
<li class="box-label">Choose <select onchange="if (this.value) window.location.href=this.value" >
<option value="">Pick one:</option>
@foreach($langs as $lang)
<option value="{{ url('/admin/trans/eloquent/0/'.$lang.'/'.$langsource.'/'.$show) }}" @if($language == $lang) selected @endif>{{ $lang }}</option>
@endforeach
</select>
</li>
*/?>
<li class="divider"></li>
@foreach($files as $k => $fl)
<li <?php if($fl == $edit) echo 'class="font-bold"' ?>><a href="{{ url('/admin/trans/eloquent/'.$k.'/'.$language.'/'.$langsource.'/all') }}">{{ $fl }}</a></li>
@endforeach
</ul>
</div>
</div>
@if($entries)
<div class="right-aside">
<div class="scrollable">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
@foreach($entries as $entry)
<tr>
<td>
<a href="{{ url('/admin/trans/eloquent/'.$edit.'/'.$language.'/'.$langsource.'/detail/'.$entry->id) }} ">
{{ $entry->name ? $entry->name : $entry->title }}</a>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
@endif
@if($translations)
{!! Form::open([ 'url' => route('admin_trans_eloquent_update', [$file, $language, $langsource, $show, $id]), 'method' => 'post', 'class' => 'form-horizontal' ]) !!}
<!-- /.left-aside-column-->
<div class="right-aside">
<div class="clearfix"></div>
<div class="scrollable">
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-primary">
Save
</button>
</div>
</div>
<div class="clearfix"><br></div>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th width="50%">Source
<select onchange="if (this.value) window.location.href=this.value" >
<option value="">Pick one:</option>
@foreach($langs as $source)
<option value="{{ url('/admin/trans/eloquent/'.$file.'/'.$language.'/'.$source.'/'.$show.'/'.$id) }}" @if($source == $langsource) selected @endif>{{ $source }}</option>
@endforeach
</select>
</th>
<th width="50%">Translation
<select onchange="if (this.value) window.location.href=this.value" >
<option value="">Pick one:</option>
@foreach($langs as $lang)
@if($lang != "de")
<option value="{{ url('/admin/trans/eloquent/'.$file.'/'.$lang.'/'.$langsource.'/'.$show.'/'.$id) }}" @if($language == $lang) selected @endif>{{ $lang }}</option>
@endif
@endforeach
</select>
<?php /* <select onchange="if (this.value) window.location.href=this.value" >
<option value="{{ url('/admin/trans/eloquent/'.$file.'/'.$language.'/'.$langsource.'/all/'.$id) }}" @if($show == 'all') selected @endif>ALL</option>
<option value="{{ url('/admin/trans/eloquent/'.$file.'/'.$language.'/'.$langsource.'/empty/'.$id) }}" @if($show == 'empty') selected @endif>EMPTY</option>
</select>
*/
?>
</th>
</tr>
</thead>
<tbody>
@foreach($fields as $field)
<?php $bool = false; ?>
<tr <?php if($show == 'empty' && $bool) echo 'style="display:none"'; ?>>
<td>{!! $translations->{$field} !!}</td>
<td>
<?php
$old = $field;
$class = "";
if($field != 'name' && $field != 'title' && $field != 'direction')
$class = 'summernote';
?>
{{ $old }}
<textarea name="trans_{{$field}}"
class="{{$class}} form-control @if(!$bool) has-error @endif"
rows="2">{{ old("{$old}", $translations->getTrans($field, $language)) }}</textarea>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-primary">
Save
</button>
</div>
</div>
</div>
{!! Form::close() !!}
@endif
<!-- .left-aside-column-->
</div>
<!-- /.left-right-aside-column-->
</div>
</div>
</div>
<!-- /.row -->
@endsection

View file

@ -0,0 +1,128 @@
@extends('layouts.layout-2')
@section('content')
<!-- row -->
<div class="row">
<div class="col-lg-3 col-xl-2">
<div>
@foreach($files as $k => $fl)
<a href="{{ url('/admin/translate/edit/'.$k) }}" class="media align-items-center bg-lighter text-dark py-1 px-1 @if($k == $language) active @endif">
<div class=" text-center text-xlarge"><img src="{{asset('images/'.$k.'.png')}}" alt="" height="20"></div>
<div class="media-body ml-3">
{{ $k }}
</div>
</a>
@endforeach
</div>
</div>
<div class="col">
<div class="white-box p-0 min-height-500">
<!-- .left-right-aside-column-->
<div class="page-aside">
<!-- .left-aside-column-->
@if($translations)
{!! Form::open([ 'url' => route('admin_translate_update', [$language, $from]), 'method' => 'post', 'class' => 'form-horizontal' ]) !!}
<!-- /.left-aside-column-->
<div class="right-aside">
<div class="clearfix"></div>
<div class="scrollable">
<div class="row">
<div class="col-12">
<div class="float-right">
Translation from
<select class="selectpicker" onchange="if (this.value) window.location.href=this.value" >
@foreach($files as $k => $fl)
<option value="{{ url('/admin/translate/edit/'.$language.'/'.$k) }}" @if($k == $from) selected @endif>{{ $k }}</option>
@endforeach
</select>
</div>
<div class="">
<br>
<button type="submit" class="btn btn-primary">
Save
</button>
</div>
</div>
</div>
<div class="clearfix"><br></div>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th width="30%">Source</th>
<th width="70%">Translation {{ $language }}
</th>
</tr>
</thead>
<tbody>
<?php
$dest = (array) $translations['dest'];
$from = (array) $translations['from'];
?>
@foreach($translations['keys'] as $key => $value)
<?php
$text = $value;
if(!empty($dest[$key])){
$text = $dest[$key];
}
if(!empty($from[$key])){
$text = $from[$key];
}
?>
<tr <?php if($show == 'empty' && $bool) echo 'style="display:none"'; ?>>
<td>{{ $text }}</td>
<td>
<textarea name="{{ $key }}"
class="form-control"
rows="4">@if(!empty($dest[$key])){{ $dest[$key] }}@endif</textarea>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-primary">
Save
</button>
</div>
</div>
</div>
{!! Form::close() !!}
@endif
<!-- .left-aside-column-->
</div>
<!-- /.left-right-aside-column-->
</div>
</div>
</div>
<!-- /.row -->
@endsection

View file

@ -0,0 +1,47 @@
@if(is_array($value))
<tr>
<td @if(is_array($value))colspan="3"@endif>
<h4>{{ $key }}</h4>
</td>
</tr>
@foreach($value as $subKey => $subValue)
@include('components.translation_row', [
'language' => $language,
'key' => $subKey,
'value' => $subValue,
'parent' => isset($parent) && $parent ? "{$parent}[$key]" : $key,
'prefix' => "{$prefix}.{$key}",
'langsource' => $langsource,
'show' => $show,
])
@endforeach
@else
<?php
$bool = Lang::has($prefix.'.'.$key, $language, false);
?>
<tr <?php if($show == 'empty' && $bool) echo 'style="display:none"'; ?>>
<td>{{ $key }}</td>
<td>{!! nl2br(htmlentities($value)) !!}</td>
<td>
<?php
$old = $key;
$name = $key;
if (isset($parent) && $parent)
{
$name = "{$parent}[{$key}]";
$old = preg_replace('/\[([^\]])\]/', ".$1", "{$parent}[{$key}]");
}
?>
<textarea name="{{ $name }}"
class="form-control @if(!$bool) has-error @endif"
rows="4">{{ old(
"{$old}",
$bool ? Lang::trans($prefix.'.'.$key, [], $language) : null
) }}</textarea>
</td>
</tr>
@endif

View file

@ -0,0 +1,278 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Programm verwalten
</h4>
{!! Form::open(['url' => route('travel_program_detail', [$id]), 'class' => 'form-horizontal']) !!}
<input type="hidden" name="id" id="id" value="{{$id}}">
<!-- draft -->
<div class="card mb-2">
<div class="card-body">
<div class="form-group">
<label class="custom-control custom-checkbox float-right">
{!! Form::checkbox('status', 1, $program->status, ['class'=>'custom-control-input']) !!}
<span class="custom-control-label">{{__('aktiv')}}</span>
</label>
<label class="form-label" for="program_title">{{ __('Title') }}*</label>
{{ Form::text('title', $program->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'program_title', 'required'=>true)) }}
</div>
<div class="form-row">
<div class="form-group col-sm-6">
<label class="form-label" for="program_subtitle">{{ __('Subtitle') }}*</label>
{{ Form::text('subtitle', $program->subtitle, array('placeholder'=>__('Subtitle'), 'class'=>'form-control', 'id'=>'program_subtitle', 'required'=>true)) }}
</div>
<div class="form-group col-sm-6">
<label class="form-label" for="program_code">{{ __('Programm Code') }}*</label>
{{ Form::text('program_code', $program->program_code, array('placeholder'=>__('Subtitle'), 'class'=>'form-control', 'id'=>'program_code', 'required'=>true)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="weekdays" class="form-label">{{__('Wochentage')}}*</label>
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple required>
{!! HTMLHelper::getWeekdaysOptions(false, $program->getWeekdaysArray()) !!}
</select>
</div>
</div>
</div>
</div>
<!-- program classes -->
<div class="card mb-2">
<h6 class="card-header">
Eingetragene Kategorien/Klassen
</h6>
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Standard</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($program->classes as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-class"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-description="{{ $value->description }}"
data-standard="{{ $value->standard }}">
<span class="far fa-edit"></span>
</button>
</td>
<td>{{ $value->name }}</td>
<td>@if($value->standard)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td><a class="text-danger" href="{{ route('travel_program_class_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="far fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="text-right">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-class"
data-id="new"
data-name=""
data-description=""
data-active="1"
>Neue Katagorie anlegen</button>
</div>
</div>
</div>
<!-- program classes -->
<div class="card mb-2">
<h6 class="card-header">
Vorlagen Reiseprogramm (CRM)
</h6>
<div class="card-body">
<table class="table table-striped">
<thead>
<tr>
<th>#</th>
<th>Name</th>
<th>Kategorie</th>
<th>Wochentage</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($program->travel_program_drafts as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
data-id="{{ $value->id }}"
data-travel_class_id="{{ $value->travel_class_id }}"
data-draft_id="{{ $value->draft_id }}"
data-weekdays="{{ json_encode($value->weekdays) }}">
<span class="far fa-edit"></span>
</button>
</td>
<td>{{ $value->draft->name }}</td>
<td>@if( $value->travel_class)
{{ $value->travel_class->name }}
@else
alle Kategorien
@endif
</td>
<td>
{!! HTMLHelper::getWeekdaysString($value->weekdays) !!}
</td>
<td><a class="text-danger" href="{{ route('travel_program_draft_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="far fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="text-right">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-draft"
data-id="new"
data-travel_class_id=""
data-draft_id=""
data-weekdays=""
>Neue Vorlage zuordnen</button>
</div>
</div>
</div>
<div class="text-left mt-3">
<button type="submit" name="action" value="saveAll" class="btn btn-submit">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('travel_programs')}}" class="btn btn-default">{{ __('back') }}</a>
<a href="https://v2.stern-tours.de/acp/travel_program/show/{{$program->id}}/" class="btn btn-default float-right">{{ __('zurück ins v2 Programm') }}</a>
</div>
{!! Form::close() !!}
<!-- Modal template -->
<div class="modal fade" id="modals-class">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_class_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="program_id" value="{{$program->id}}">
<div class="modal-header">
<h5 class="modal-title">Programm Katagorie/Klassen <span class="font-weight-light">anlegen/bearbeiten</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label class="custom-control custom-checkbox float-right">
<input type="checkbox" class="custom-control-input" name="standard" checked>
<span class="custom-control-label">{{__('Standard')}}</span>
</label>
<label for="name" class="form-label">Name*</label>
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="description" class="form-label">Beschreibung</label>
<input type="text" class="form-control" name="description" placeholder="{{__('Description')}}">
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-draft">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('travel_program_draft_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<input type="hidden" class="form-control" name="travel_program_id" value="{{$program->id}}">
<div class="modal-header">
<h5 class="modal-title">Vorlage Reiseprogramm <span class="font-weight-light">zuordnen</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="draft_id" class="form-label">{{__('Vorlage')}}</label>
<select class="selectpicker" data-style="btn-default" name="draft_id" data-live-search="true" required>
{!! HTMLHelper::getDraftOptions() !!}
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="travel_class_id" class="form-label">{{__('Kategorie')}}</label>
<select class="selectpicker" data-style="btn-default" name="travel_class_id">
{!! HTMLHelper::getTravelClassOptions($program->id) !!}
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col">
<label for="weekdays" class="form-label">{{__('Wochentage')}}</label>
<select class="selectpicker" data-style="btn-default" name="weekdays[]" multiple>
{!! HTMLHelper::getWeekdaysOptions($program->id) !!}
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<script>
$( document ).ready(function() {
$('#modals-class').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$(this).find(".modal-body input[name='description']").val(button.data('description'));
$(this).find(".modal-body input[name='standard']").prop( "checked", button.data('standard'));
});
$('#modals-draft').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body select[name='draft_id']").val(button.data('draft_id'));
$(this).find(".modal-body select[name='travel_class_id']").val(button.data('travel_class_id'));
$(this).find(".modal-body select[name='weekdays[]']").val(button.data('weekdays'));
$('.selectpicker').selectpicker('refresh');
});
});
</script>
@endsection

View file

@ -0,0 +1,186 @@
@extends('layouts.layout-2')
@section('content')
<h4 class="font-weight-bold py-3 mb-1">
Programme
</h4>
<div class="nav-tabs-top mb-4">
<ul class="nav nav-tabs">
<li class="nav-item">
<a class="nav-link @if($step == false) active show @endif" data-toggle="tab" href="#navs-top-drafts">Übersicht</a>
</li>
{{--
<li class="nav-item">
<a class="nav-link @if($step == 'type') active show @endif" data-toggle="tab" href="#navs-top-draft_types">Typen</a>
</li>
--}}
</ul>
<div class="tab-content">
<div class="tab-pane fade @if($step == false) active show @endif" id="navs-top-drafts">
<div class="card-body">
<div class="card-datatable table-responsive">
<table class="datatables-programms table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Programm')}}</th>
<th>{{__('Code')}}</th>
<th>{{__('Status')}}</th>
</tr>
</thead>
<tbody>
@foreach($travel_programs as $value)
<tr>
<td>
<a href="{{ route('travel_program_detail', [$value->id]) }}" class="btn icon-btn btn-sm btn-primary">
<span class="far fa-edit"></span>
</a>
</td>
<td> <a href="{{ route('travel_program_detail', [$value->id]) }}">{{ $value->title }}</a></td>
<td>
{{ $value->program_code }}
</td>
<td data-sort="{{ $value->status }}">
@if($value->status)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4">
</div>
</div>
<script>
$( document ).ready(function() {
$('.datatables-programms').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
}
});
});
</script>
</div>
</div>
{{--
<div class="tab-pane fade @if($step == 'type') active show @endif" id="navs-top-draft_types">
<div class="card-body">
<div class="card-datatable table-responsive">
<table class="datatables-types table table-striped table-bordered">
<thead>
<tr>
<th style="max-width: 60px;">&nbsp;</th>
<th>{{__('Name')}}</th>
<th>{{__('sichtbar')}}</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach($draft_types as $value)
<tr>
<td>
<button type="button" class="btn icon-btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-type"
data-id="{{ $value->id }}"
data-name="{{ $value->name }}"
data-active="{{ $value->active }}">
<span class="far fa-edit"></span>
</button>
</td>
<td>{{ $value->name }}</td>
<td data-sort="{{ $value->active }}">
@if($value->active)
<span class="badge badge-pill badge-success"><i class="far fa-check"></i></span>
@else
<span class="badge badge-pill badge-danger"><i class="far fa-times"></i></span>
@endif
</td>
<td><a class="text-danger" href="{{ route('draft_type_delete', [$value->id]) }}" onclick="return confirm('{{__('Wirklich löschen?')}}');"><i class="far fa-trash-alt"></i></a></td>
</tr>
@endforeach
</tbody>
</table>
<div class="mt-4">
<button type="button" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#modals-type"
data-id="new"
data-name=""
data-active="1"
>Typ anlegen</button>
</div>
</div>
<!-- Modal template -->
<div class="modal fade" id="modals-type">
<div class="modal-dialog">
<form class="modal-content" action="{{ route('draft_type_update') }}" method="post">
@csrf
<input type="hidden" class="form-control" name="id">
<div class="modal-header">
<h5 class="modal-title">Vorlagen-Typ <span class="font-weight-light">anlegen/bearbeiten</span></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<div class="form-group col">
<label for="name" class="form-label">Name*</label>
<input type="text" class="form-control" name="name" placeholder="{{__('Description')}}" required>
</div>
</div>
<div class="form-group">
<label class="custom-control custom-checkbox m-0">
<input type="checkbox" class="custom-control-input" name="active" checked>
<span class="custom-control-label">{{__('sichtbar')}}</span>
</label>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{__('close')}}</button>
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
</div>
</form>
</div>
</div>
<script>
$( document ).ready(function() {
$('#modals-type').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget);
$(this).find(".modal-content input[name='id']").val(button.data('id'));
$(this).find(".modal-body input[name='name']").val(button.data('name'));
$('.selectpicker').selectpicker('refresh');
$(this).find(".modal-body input[name='active']").prop( "checked", button.data('active'));
});
$('.datatables-types').dataTable({
"bLengthChange": false,
"iDisplayLength": 50,
"language": {
"url": "/js/German.json"
}
});
});
</script>
</div>
</div>
</div>
--}}
</div>
@endsection

View file

@ -0,0 +1,31 @@
@extends('layouts.layout-2')
@section('content')
<div class="card mb-4">
<h6 class="card-header">
{{__('Delete Account')}}
</h6>
<div class="card-body">
<p>{{__('Confirm your identity with your password before proceeding.')}}</p>
{!! Form::open(['url' => route('user_delete_account')]) !!}
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('Password')}}*</label>
<div class="col-sm-10">
<input class="form-control {{ $errors->has('old_password') ? 'is-invalid' : '' }}" type="password" name="old_password" placeholder="{{__('Password')}}*" required>
@if ($errors->has('old_password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('old_password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<div class="col-sm-10 ml-sm-auto">
<button type="submit" class="btn btn-danger">{{__('Delete Account')}}</button>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View file

@ -0,0 +1,36 @@
@extends('layouts.layout-2')
@section('content')
@if ($errors->any())
<div class="row">
<div class="col-sm-12">
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
</div>
</div>
@endif
<h4 class="font-weight-bold py-3 mb-4">
{{ __('Your Data') }}
</h4>
{!! Form::open(['url' => route('user_edit'), 'class' => 'form-horizontal', 'id'=>'lead-form-validation']) !!}
<input type="hidden" name="user_id" id="user_id" value="@if($user->id>0){{$user->id}}@else new @endif">
{{-- @include('user.form') --}}
<div class="text-left mt-3">
<button type="submit" class="btn btn-secondary">{{ __('save changes') }}</button>&nbsp;
<a href="{{route('home')}}" class="btn btn-default">{{ __('back') }}</a>
</div>
{!! Form::close() !!}
@endsection

View file

@ -0,0 +1,252 @@
<div class="card mb-4">
<h5 class="card-header">
{{ __('use') }}
</h5>
<div class="card-body">
<div class="form-group">
<label class="form-label">{{ __('business or private') }}*</label>
<select class="selectpicker" name="company" id="company" data-style="btn-light" data-live-search="false" required, tabindex="0">
{!! HTMLHelper::getCompanyOptions($user->account->company) !!}
</select>
@if ($errors->has('company'))
<span class="help-block">
<strong>{{ $errors->first('company') }}</strong>
</span>
@endif
</div>
</div>
</div>
<div class="card mb-4 show_company_holder">
<h5 class="card-header">
{{ __('Company data') }}
</h5>
<div class="card-body">
<div class="form-group">
<label for="company_name" class="form-label">{{ __('Company name') }}*</label>
{{ Form::text('company_name', $user->account->company_name, array('placeholder'=>__('Company name'), 'class'=>'form-control', 'id'=>'company_name', 'required' => true, 'tabindex' => 1)) }}
</div>
<div class="form-group">
<label class="form-label" for="company_street">{{ __('Street') }} / {{ __('House number') }}</label>
{{ Form::text('company_street', $user->account->company_street, array('placeholder'=>__('Street'), 'class'=>'form-control', 'id'=>'company_street', 'tabindex' => 2)) }}
</div>
<div class="form-row">
<div class="form-group col-md-2">
<label class="form-label" for="company_postal_code">{{ __('Postcode') }}</label>
{{ Form::text('company_postal_code', $user->account->company_postal_code, array('placeholder'=>__('Postcode'), 'class'=>'form-control', 'id'=>'company_postal_code', 'tabindex' => 3)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="company_city">{{ __('City') }}</label>
{{ Form::text('company_city', $user->account->company_city, array('placeholder'=>__('City'), 'class'=>'form-control', 'id'=>'company_city', 'tabindex' => 4)) }}
</div>
<div class="form-group col-md-4 {{ $errors->has('company_country_id') ? 'has-error' : '' }}">
<label class="form-label">{{ __('Country') }}*</label>
<select class="selectpicker" name="company_country_id" id="company_country_id" data-style="btn-light" data-live-search="true" required tabindex="5">
{!! HTMLHelper::getContriesWithMore($user->account->company_country_id) !!}
</select>
@if ($errors->has('company_country_id'))
<span class="help-block">
<strong>{{ $errors->first('company_country_id') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label class="form-label" for="company_pre_phone_id">{{ __('Country code') }}</label>
<select class="selectpicker" name="company_pre_phone_id" id="company_pre_phone_id" data-style="btn-light" data-live-search="true" tabindex="19">
{!! HTMLHelper::getContriesCodes($user->account->company_pre_phone_id) !!}
</select>
</div>
<div class="form-group col-md-8">
<label class="form-label" for="company_phone">{{ __('Phone') }}</label>
{{ Form::text('company_phone', $user->account->company_phone, array('placeholder'=>__('Phone'), 'class'=>'form-control', 'id'=>'company_phone', 'tabindex' => 7)) }}
</div>
</div>
<div class="form-group">
<label class="form-label" for="company_homepage">{{ __('Homepage') }}</label>
{{ Form::text('company_homepage', $user->account->company_homepage, array('placeholder'=>__('Homepage'), 'class'=>'form-control', 'id'=>'company_homepage', 'tabindex' => 8)) }}
</div>
</div>
</div>
<div class="card mb-4 show_company_holder">
<h5 class="card-header">
{{ __('Industry') }}
</h5>
<div class="card-body">
<div class="row">
{!! HTMLHelper::getIndustrySectorForHTML($user->account->getUserIndustrySectorIds()) !!}
</div>
</div>
</div>
<div class="card mb-4">
<h5 class="card-header">
{{ __('Your Data') }}
</h5>
<div class="card-body">
<div class="form-group">
<label class="form-label" for="position_text">{{ __('Function') }}</label>
{{ Form::text('position_text', $user->account->position_text, array('placeholder'=>__('Function'), 'class'=>'form-control', 'id'=>'position_text', 'tabindex' => 9)) }}
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label class="form-label">{{ __('Salutation') }}*</label>
<select class="selectpicker" data-style="btn-light" name="salutation" id="salutation" required tabindex="10">
{!! HTMLHelper::getSalutation($user->account->salutation) !!}
</select>
</div>
<div class="form-group col-md-8">
<label class="form-label" for="title">{{ __('Title') }}</label>
{{ Form::text('title', $user->account->title, array('placeholder'=>__('Title'), 'class'=>'form-control', 'id'=>'title', 'tabindex' => 11)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-md-6">
<label class="form-label" for="first_name">{{ __('First name') }}</label>
{{ Form::text('first_name', $user->account->first_name, array('placeholder'=>__('First name'), 'class'=>'form-control', 'id'=>'first_name', 'tabindex' => 12)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="last_name">{{ __('Last Name') }}*</label>
{{ Form::text('last_name', $user->account->last_name, array('placeholder'=>__('Last Name'), 'class'=>'form-control', 'id'=>'last_name', 'required'=>true, 'tabindex' => 13)) }}
</div>
</div>
<div class="form-group">
<label class="form-label" for="street">{{ __('Street') }} / {{ __('House number') }}</label>
{{ Form::text('street', $user->account->street, array('placeholder'=>__('Street'), 'class'=>'form-control', 'id'=>'street', 'tabindex' => 14)) }}
</div>
<div class="form-row">
<div class="form-group col-md-2">
<label class="form-label" for="postal_code">{{ __('Postcode') }}</label>
{{ Form::text('postal_code', $user->account->postal_code, array('placeholder'=>__('Postcode'), 'class'=>'form-control', 'id'=>'postal_code', 'tabindex' => 15)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="city">{{ __('City') }}</label>
{{ Form::text('city', $user->account->city, array('placeholder'=>__('City'), 'class'=>'form-control', 'id'=>'city', 'tabindex' => 16)) }}
</div>
<div class="form-group col-md-4 {{ $errors->has('country_id') ? 'has-error' : '' }}">
<label class="form-label">{{ __('Country') }}*</label>
<select class="selectpicker" name="country_id" id="country_id" data-style="btn-light" data-live-search="true" required tabindex="17">
{!! HTMLHelper::getContriesWithMore($user->account->country_id) !!}
</select>
@if ($errors->has('country_id'))
<span class="help-block">
<strong>{{ $errors->first('country_id') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label class="form-label" for="pre_mobil_id">{{ __('Country code') }}</label>
<select class="selectpicker" name="pre_phone_id" id="pre_phone_id" data-style="btn-light" data-live-search="true" tabindex="19">
{!! HTMLHelper::getContriesCodes($user->account->pre_phone_id) !!}
</select>
</div>
<div class="form-group col-md-8">
<label class="form-label" for="phone">{{ __('Phone') }}</label>
{{ Form::text('phone', $user->account->phone, array('placeholder'=>__('Mobile Phone'), 'class'=>'form-control', 'id'=>'phone', 'tabindex' => 18)) }}
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4">
<label class="form-label" for="pre_mobil_id">{{ __('Country code') }}</label>
<select class="selectpicker" name="pre_mobil_id" id="pre_mobil_id" data-style="btn-light" data-live-search="true" tabindex="19">
{!! HTMLHelper::getContriesCodes($user->account->pre_mobil_id) !!}
</select>
</div>
<div class="form-group col-md-8">
<label class="form-label" for="mobil">{{ __('Mobile Phone') }}</label>
{{ Form::text('mobil', $user->account->mobil, array('placeholder'=>__('Mobile Phone'), 'class'=>'form-control', 'id'=>'mobil', 'tabindex' => 19)) }}
</div>
</div>
<hr>
@if($user->email)
<div class="form-row">
<div class="form-group col-md-6">
<label class="form-label" for="email">{{ __('E-Mail Address') }}*</label>
{{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email', 'readonly'=>true, 'tabindex' => 20)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="email-confirm">{{ __('Confirm E-Mail') }}</label>
{{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm', 'readonly'=>true, 'tabindex' => 21)) }}
</div>
</div>
@if(isset($can_change_mail))
@if(count($user->user_update_email) > 0)
<p class="badge badge-primary" style=" color:#fff;">{{ $user->user_update_email->first()->email }} {{__('waiting for activation since')}} | {{ $user->user_update_email->first()->created_at->format('d.m.Y H:i') }}</p><br>
@endif
<a href="{{ route('admin_lead_change_mail', [$user->id]) }}" class="btn btn-submit btn-sm"> {{ __('Contact') }} {{__('Change E-Mail')}}</a>
@else
<a href="{{ route('user_update_email', [$user->id]) }}" class="btn btn-submit btn-sm">{{__('Change E-Mail')}}</a>
@endif
@else
<div class="form-row">
<div class="form-group col-md-6">
<label class="form-label" for="email">{{ __('E-Mail Address') }}*</label>
{{ Form::text('email', $user->email, array('placeholder'=>'E-Mail', 'class'=>'form-control', 'id'=>'email', 'tabindex' => 20)) }}
</div>
<div class="form-group col-md-6">
<label class="form-label" for="email-confirm">{{ __('Confirm E-Mail') }}</label>
{{ Form::text('email-confirm', $user->email, array('placeholder'=>__('Confirm E-Mail'), 'class'=>'form-control', 'id'=>'email-confirm', 'tabindex' => 21)) }}
</div>
</div>
@endif
</div>
</div>
<div class="card mb-4">
<h5 class="card-header">
{{ __('Your interests') }}
</h5>
<div class="card-body">
<div class="row">
{!! HTMLHelper::getIntereststForHTML($user->account->getUserInterestIds()) !!}
</div>
</div>
</div>
<div class="card mb-4">
<h5 class="card-header">
{{ __('Your contact at JACKON') }}
</h5>
<div class="card-body">
<div class="form-group">
{{ Form::text('contactpartner', $user->account->contactpartner, array('placeholder'=>__('Name'), 'class'=>'form-control', 'id'=>'contactpartner', 'tabindex' => 22)) }}
</div>
</div>
</div>

View file

@ -0,0 +1,52 @@
@extends('layouts.layout-2')
@section('content')
<div class="card mb-4">
<h6 class="card-header">
{{__('Change E-Mail')}}
</h6>
<div class="card-body">
<div class="row">
<div class="col-sm-2"></div>
<div class="col-sm-10">
<p>{{__('Change your e-mail address here. We will send you a new activation link to your new e-mail address to verify it.')}}</p>
</div>
</div>
{!! Form::open(['url' => route('user_update_email')]) !!}
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('New E-Mail Address')}}*</label>
<div class="col-sm-10">
<input class="form-control {{ $errors->has('email') ? 'is-invalid' : '' }}" type="email" name="email" placeholder="{{__('New E-Mail Address')}}*" required>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('Confirm new E-Mail')}}*</label>
<div class="col-sm-10">
<input class="form-control" {{ $errors->has('email_confirmation') ? 'is-invalid' : '' }} type="email" name="email_confirmation" placeholder="{{__('Confirm new E-Mail')}}*" required>
@if ($errors->has('email_confirmation'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email_confirmation') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<div class="col-sm-10 ml-sm-auto">
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
<a href="{{ route('home') }}" class="btn btn-default">{{ __('back') }}</a>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View file

@ -0,0 +1,54 @@
@extends('layouts.layout-2')
@section('content')
<div class="card mb-4">
<h6 class="card-header">
{{__('Change Password')}}
</h6>
<div class="card-body">
{!! Form::open(['url' => route('user_update_password')]) !!}
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('Old Password')}}*</label>
<div class="col-sm-10">
<input class="form-control {{ $errors->has('old_password') ? 'is-invalid' : '' }}" type="password" name="old_password" placeholder="{{__('Old Password')}}*" required>
@if ($errors->has('old_password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('old_password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('New Password')}}*</label>
<div class="col-sm-10">
<input class="form-control {{ $errors->has('password') ? 'is-invalid' : '' }}" type="password" name="password" placeholder="{{__('New Password')}}*" required>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('Confirm new Password')}}*</label>
<div class="col-sm-10">
<input class="form-control" {{ $errors->has('password_confirmation') ? 'is-invalid' : '' }} type="password" name="password_confirmation" placeholder="{{__('Confirm new Password')}}*" required>
@if ($errors->has('password_confirmation'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password_confirmation') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<div class="col-sm-10 ml-sm-auto">
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
<a href="{{ route('home') }}" class="btn btn-default">{{ __('back') }}</a>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View file

@ -0,0 +1,43 @@
@extends('layouts.layout-2')
@section('content')
<div class="card mb-4">
<h6 class="card-header">
{{__('Create Password')}}
</h6>
<div class="card-body">
{!! Form::open(['url' => route('user_update_password_first')]) !!}
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('New Password')}}*</label>
<div class="col-sm-10">
<input class="form-control {{ $errors->has('password') ? 'is-invalid' : '' }}" type="password" name="password" placeholder="{{__('New Password')}}*" required>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<label class="col-form-label col-sm-2 text-sm-right">{{__('Confirm new Password')}}*</label>
<div class="col-sm-10">
<input class="form-control" {{ $errors->has('password_confirmation') ? 'is-invalid' : '' }} type="password" name="password_confirmation" placeholder="{{__('Confirm new Password')}}*" required>
@if ($errors->has('password_confirmation'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password_confirmation') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group row">
<div class="col-sm-10 ml-sm-auto">
<button type="submit" class="btn btn-primary">{{__('save')}}</button>
<a href="{{ route('home') }}" class="btn btn-default">{{ __('back') }}</a>
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@endsection

View file

@ -0,0 +1,27 @@
@foreach (session('flash_notification', collect())->toArray() as $message)
@if ($message['overlay'])
@include('flash::modal', [
'modalClass' => 'flash-modal',
'title' => $message['title'],
'body' => $message['message']
])
@else
<div class="alert
alert-{{ $message['level'] }}
{{ $message['important'] ? 'alert-important' : '' }}"
role="alert"
>
@if ($message['important'])
<button type="button"
class="close"
data-dismiss="alert"
aria-hidden="true"
>&times;</button>
@endif
{!! $message['message'] !!}
</div>
@endif
@endforeach
{{ session()->forget('flash_notification') }}

View file

@ -0,0 +1,19 @@
<div id="flash-overlay-modal" class="modal fade {{ $modalClass or '' }}">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">{{ $title }}</h4>
</div>
<div class="modal-body">
<p>{!! $body !!}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>

View file

@ -0,0 +1,19 @@
<table class="action" align="center" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<a href="{{ $url }}" class="button button-{{ $color ?? 'blue' }}" target="_blank">{{ $slot }}</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>

View file

@ -0,0 +1,11 @@
<tr>
<td>
<table class="footer" align="center" width="570" cellpadding="0" cellspacing="0">
<tr>
<td class="content-cell" align="center">
{{ Illuminate\Mail\Markdown::parse($slot) }}
</td>
</tr>
</table>
</td>
</tr>

View file

@ -0,0 +1,7 @@
<tr>
<td class="header">
<a href="{{ $url }}">
{{ $slot }}
</a>
</td>
</tr>

View file

@ -0,0 +1,54 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<style>
@media only screen and (max-width: 600px) {
.inner-body {
width: 100% !important;
}
.footer {
width: 100% !important;
}
}
@media only screen and (max-width: 500px) {
.button {
width: 100% !important;
}
}
</style>
<table class="wrapper" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<table class="content" width="100%" cellpadding="0" cellspacing="0">
{{ $header ?? '' }}
<!-- Email Body -->
<tr>
<td class="body" width="100%" cellpadding="0" cellspacing="0">
<table class="inner-body" align="center" width="570" cellpadding="0" cellspacing="0">
<!-- Body content -->
<tr>
<td class="content-cell">
{{ Illuminate\Mail\Markdown::parse($slot) }}
{{ $subcopy ?? '' }}
</td>
</tr>
</table>
</td>
</tr>
{{ $footer ?? '' }}
</table>
</td>
</tr>
</table>
</body>
</html>

View file

@ -0,0 +1,27 @@
@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
{{ config('app.name') }}
@endcomponent
@endslot
{{-- Body --}}
{{ $slot }}
{{-- Subcopy --}}
@isset($subcopy)
@slot('subcopy')
@component('mail::subcopy')
{{ $subcopy }}
@endcomponent
@endslot
@endisset
{{-- Footer --}}
@slot('footer')
@component('mail::footer')
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
@endcomponent
@endslot
@endcomponent

View file

@ -0,0 +1,13 @@
<table class="panel" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td class="panel-content">
<table width="100%" cellpadding="0" cellspacing="0">
<tr>
<td class="panel-item">
{{ Illuminate\Mail\Markdown::parse($slot) }}
</td>
</tr>
</table>
</td>
</tr>
</table>

View file

@ -0,0 +1,7 @@
<table class="promotion" align="center" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
{{ Illuminate\Mail\Markdown::parse($slot) }}
</td>
</tr>
</table>

View file

@ -0,0 +1,13 @@
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<a href="{{ $url }}" class="button button-green" target="_blank">{{ $slot }}</a>
</td>
</tr>
</table>
</td>
</tr>
</table>

View file

@ -0,0 +1,7 @@
<table class="subcopy" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td>
{{ Illuminate\Mail\Markdown::parse($slot) }}
</td>
</tr>
</table>

View file

@ -0,0 +1,3 @@
<div class="table">
{{ Illuminate\Mail\Markdown::parse($slot) }}
</div>

View file

@ -0,0 +1,287 @@
/* Base */
body, body *:not(html):not(style):not(br):not(tr):not(code) {
font-family: Avenir, Helvetica, sans-serif;
box-sizing: border-box;
}
body {
background-color: #f5f8fa;
color: #74787E;
height: 100%;
hyphens: auto;
line-height: 1.4;
margin: 0;
-moz-hyphens: auto;
-ms-word-break: break-all;
width: 100% !important;
-webkit-hyphens: auto;
-webkit-text-size-adjust: none;
word-break: break-all;
word-break: break-word;
}
p,
ul,
ol,
blockquote {
line-height: 1.4;
text-align: left;
}
a {
color: #3869D4;
}
a img {
border: none;
}
/* Typography */
h1 {
color: #2F3133;
font-size: 19px;
font-weight: bold;
margin-top: 0;
text-align: left;
}
h2 {
color: #2F3133;
font-size: 16px;
font-weight: bold;
margin-top: 0;
text-align: left;
}
h3 {
color: #2F3133;
font-size: 14px;
font-weight: bold;
margin-top: 0;
text-align: left;
}
p {
color: #74787E;
font-size: 16px;
line-height: 1.5em;
margin-top: 0;
text-align: left;
}
p.sub {
font-size: 12px;
}
img {
max-width: 100%;
}
/* Layout */
.wrapper {
background-color: #f5f8fa;
margin: 0;
padding: 0;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.content {
margin: 0;
padding: 0;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
/* Header */
.header {
padding: 25px 0;
text-align: center;
}
.header a {
color: #bbbfc3;
font-size: 19px;
font-weight: bold;
text-decoration: none;
text-shadow: 0 1px 0 white;
}
/* Body */
.body {
background-color: #FFFFFF;
border-bottom: 1px solid #EDEFF2;
border-top: 1px solid #EDEFF2;
margin: 0;
padding: 0;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.inner-body {
background-color: #FFFFFF;
margin: 0 auto;
padding: 0;
width: 570px;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 570px;
}
/* Subcopy */
.subcopy {
border-top: 1px solid #EDEFF2;
margin-top: 25px;
padding-top: 25px;
}
.subcopy p {
font-size: 12px;
}
/* Footer */
.footer {
margin: 0 auto;
padding: 0;
text-align: center;
width: 570px;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 570px;
}
.footer p {
color: #AEAEAE;
font-size: 12px;
text-align: center;
}
/* Tables */
.table table {
margin: 30px auto;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.table th {
border-bottom: 1px solid #EDEFF2;
padding-bottom: 8px;
margin: 0;
}
.table td {
color: #74787E;
font-size: 15px;
line-height: 18px;
padding: 10px 0;
margin: 0;
}
.content-cell {
padding: 35px;
}
/* Buttons */
.action {
margin: 30px auto;
padding: 0;
text-align: center;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.button {
border-radius: 3px;
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
color: #FFF;
display: inline-block;
text-decoration: none;
-webkit-text-size-adjust: none;
}
.button-blue {
background-color: #3097D1;
border-top: 10px solid #3097D1;
border-right: 18px solid #3097D1;
border-bottom: 10px solid #3097D1;
border-left: 18px solid #3097D1;
}
.button-green {
background-color: #2ab27b;
border-top: 10px solid #2ab27b;
border-right: 18px solid #2ab27b;
border-bottom: 10px solid #2ab27b;
border-left: 18px solid #2ab27b;
}
.button-red {
background-color: #bf5329;
border-top: 10px solid #bf5329;
border-right: 18px solid #bf5329;
border-bottom: 10px solid #bf5329;
border-left: 18px solid #bf5329;
}
/* Panels */
.panel {
margin: 0 0 21px;
}
.panel-content {
background-color: #EDEFF2;
padding: 16px;
}
.panel-item {
padding: 0;
}
.panel-item p:last-of-type {
margin-bottom: 0;
padding-bottom: 0;
}
/* Promotions */
.promotion {
background-color: #FFFFFF;
border: 2px dashed #9BA2AB;
margin: 0;
margin-bottom: 25px;
margin-top: 25px;
padding: 24px;
width: 100%;
-premailer-cellpadding: 0;
-premailer-cellspacing: 0;
-premailer-width: 100%;
}
.promotion h1 {
text-align: center;
}
.promotion p {
font-size: 15px;
text-align: center;
}

View file

@ -0,0 +1 @@
{{ $slot }}: {{ $url }}

View file

@ -0,0 +1 @@
{{ $slot }}

View file

@ -0,0 +1 @@
[{{ $slot }}]({{ $url }})

View file

@ -0,0 +1,9 @@
{!! strip_tags($header) !!}
{!! strip_tags($slot) !!}
@isset($subcopy)
{!! strip_tags($subcopy) !!}
@endisset
{!! strip_tags($footer) !!}

View file

@ -0,0 +1,27 @@
@component('mail::layout')
{{-- Header --}}
@slot('header')
@component('mail::header', ['url' => config('app.url')])
{{ config('app.name') }}
@endcomponent
@endslot
{{-- Body --}}
{{ $slot }}
{{-- Subcopy --}}
@isset($subcopy)
@slot('subcopy')
@component('mail::subcopy')
{{ $subcopy }}
@endcomponent
@endslot
@endisset
{{-- Footer --}}
@slot('footer')
@component('mail::footer')
© {{ date('Y') }} {{ config('app.name') }}. @lang('All rights reserved.')
@endcomponent
@endslot
@endcomponent

View file

@ -0,0 +1 @@
{{ $slot }}

View file

@ -0,0 +1 @@
{{ $slot }}

View file

@ -0,0 +1 @@
[{{ $slot }}]({{ $url }})

View file

@ -0,0 +1 @@
{{ $slot }}

View file

@ -0,0 +1 @@
{{ $slot }}

View file

@ -0,0 +1,64 @@
@component('mail::message')
{{-- Greeting --}}
@if (! empty($greeting))
# {{ $greeting }}
@else
@if ($level == 'error')
# @lang('Whoops!')
@else
# @lang('Hello!')
@endif
@endif
{{-- Intro Lines --}}
@foreach ($introLines as $line)
{{ $line }}
@endforeach
{{-- Action Button --}}
@isset($actionText)
<?php
switch ($level) {
case 'success':
$color = 'green';
break;
case 'error':
$color = 'red';
break;
default:
$color = 'blue';
}
?>
@component('mail::button', ['url' => $actionUrl, 'color' => $color])
{{ $actionText }}
@endcomponent
@endisset
{{-- Outro Lines --}}
@foreach ($outroLines as $line)
{{ $line }}
@endforeach
{{-- Salutation --}}
@if (! empty($salutation))
{{ $salutation }}
@else
@lang('Regards'),<br>{{ config('app.name') }}
@endif
{{-- Subcopy --}}
@isset($actionText)
@component('mail::subcopy')
@lang(
"If youre having trouble clicking the \":actionText\" button, copy and paste the URL below\n".
'into your web browser: [:actionURL](:actionURL)',
[
'actionText' => $actionText,
'actionURL' => $actionUrl
]
)
@endcomponent
@endisset
@endcomponent

View file

@ -0,0 +1,44 @@
@if ($paginator->hasPages())
<ul class="pagination" role="navigation">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.previous')">
<span class="page-link" aria-hidden="true">&lsaquo;</span>
</li>
@else
<li class="page-item">
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')">&lsaquo;</a>
</li>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
<li class="page-item disabled" aria-disabled="true"><span class="page-link">{{ $element }}</span></li>
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<li class="page-item active" aria-current="page"><span class="page-link">{{ $page }}</span></li>
@else
<li class="page-item"><a class="page-link" href="{{ $url }}">{{ $page }}</a></li>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li class="page-item">
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')">&rsaquo;</a>
</li>
@else
<li class="page-item disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
<span class="page-link" aria-hidden="true">&rsaquo;</span>
</li>
@endif
</ul>
@endif

View file

@ -0,0 +1,44 @@
@if ($paginator->hasPages())
<ul class="pagination" role="navigation">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="disabled" aria-disabled="true" aria-label="@lang('pagination.previous')">
<span aria-hidden="true">&lsaquo;</span>
</li>
@else
<li>
<a href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')">&lsaquo;</a>
</li>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
<li class="disabled" aria-disabled="true"><span>{{ $element }}</span></li>
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<li class="active" aria-current="page"><span>{{ $page }}</span></li>
@else
<li><a href="{{ $url }}">{{ $page }}</a></li>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li>
<a href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')">&rsaquo;</a>
</li>
@else
<li class="disabled" aria-disabled="true" aria-label="@lang('pagination.next')">
<span aria-hidden="true">&rsaquo;</span>
</li>
@endif
</ul>
@endif

View file

@ -0,0 +1,36 @@
@if ($paginator->hasPages())
<div class="ui pagination menu" role="navigation">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<a class="icon item disabled" aria-disabled="true" aria-label="@lang('pagination.previous')"> <i class="left chevron icon"></i> </a>
@else
<a class="icon item" href="{{ $paginator->previousPageUrl() }}" rel="prev" aria-label="@lang('pagination.previous')"> <i class="left chevron icon"></i> </a>
@endif
{{-- Pagination Elements --}}
@foreach ($elements as $element)
{{-- "Three Dots" Separator --}}
@if (is_string($element))
<a class="icon item disabled" aria-disabled="true">{{ $element }}</a>
@endif
{{-- Array Of Links --}}
@if (is_array($element))
@foreach ($element as $page => $url)
@if ($page == $paginator->currentPage())
<a class="item active" href="{{ $url }}" aria-current="page">{{ $page }}</a>
@else
<a class="item" href="{{ $url }}">{{ $page }}</a>
@endif
@endforeach
@endif
@endforeach
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<a class="icon item" href="{{ $paginator->nextPageUrl() }}" rel="next" aria-label="@lang('pagination.next')"> <i class="right chevron icon"></i> </a>
@else
<a class="icon item disabled" aria-disabled="true" aria-label="@lang('pagination.next')"> <i class="right chevron icon"></i> </a>
@endif
</div>
@endif

View file

@ -0,0 +1,25 @@
@if ($paginator->hasPages())
<ul class="pagination" role="navigation">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="page-item disabled" aria-disabled="true">
<span class="page-link">@lang('pagination.previous')</span>
</li>
@else
<li class="page-item">
<a class="page-link" href="{{ $paginator->previousPageUrl() }}" rel="prev">@lang('pagination.previous')</a>
</li>
@endif
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li class="page-item">
<a class="page-link" href="{{ $paginator->nextPageUrl() }}" rel="next">@lang('pagination.next')</a>
</li>
@else
<li class="page-item disabled" aria-disabled="true">
<span class="page-link">@lang('pagination.next')</span>
</li>
@endif
</ul>
@endif

View file

@ -0,0 +1,17 @@
@if ($paginator->hasPages())
<ul class="pagination" role="navigation">
{{-- Previous Page Link --}}
@if ($paginator->onFirstPage())
<li class="disabled" aria-disabled="true"><span>@lang('pagination.previous')</span></li>
@else
<li><a href="{{ $paginator->previousPageUrl() }}" rel="prev">@lang('pagination.previous')</a></li>
@endif
{{-- Next Page Link --}}
@if ($paginator->hasMorePages())
<li><a href="{{ $paginator->nextPageUrl() }}" rel="next">@lang('pagination.next')</a></li>
@else
<li class="disabled" aria-disabled="true"><span>@lang('pagination.next')</span></li>
@endif
</ul>
@endif