diff --git a/app/Http/Controllers/HumanVerification.php b/app/Http/Controllers/HumanVerification.php index 49852b7a6b3502a280dc0f8325b5120b5e4c907f..2fe0c6af7ee5a57b38b9d2bffeb5bc935ad0aff2 100644 --- a/app/Http/Controllers/HumanVerification.php +++ b/app/Http/Controllers/HumanVerification.php @@ -8,6 +8,7 @@ use Illuminate\Hashing\BcryptHasher as Hasher; use Illuminate\Http\Request; use Illuminate\Support\Facades\Redis; use Input; +use LaravelLocalization; class HumanVerification extends Controller { @@ -26,6 +27,40 @@ class HumanVerification extends Controller } if ($request->getMethod() == 'POST') { + # Check if Weekday matches + $weekdays = [ + 'de' => [ + 'montag', + 'dienstag', + 'mittwoch', + 'donnerstag', + 'freitag', + 'samstag', + 'sonntag', + ], + 'en' => [ + 'monday', + 'tuesday', + 'wednesday', + 'thursday', + 'friday', + 'saturday', + 'sunday', + ], + 'es' => [ + 'lunes', + 'martes', + 'miércoles', + 'jueves', + 'viernes', + 'sábado', + 'domingo', + ], + ]; + $lang = LaravelLocalization::getCurrentLocale(); + $dow = Carbon::now()->dayOfWeek; + + $dowCheck = strtolower(trim($request->input('dw', ''))) === $weekdays[$lang][$dow - 1]; $user = $redis->hgetall(HumanVerification::PREFIX . "." . $id); $user = ['uid' => $user["uid"], @@ -40,7 +75,7 @@ class HumanVerification extends Controller $key = $request->input('captcha'); $key = strtolower($key); - if (!$hasher->check($key, $lockedKey)) { + if (!$dowCheck || !$hasher->check($key, $lockedKey)) { $captcha = Captcha::create("default", true); $pipeline = $redis->pipeline(); $pipeline->hset(HumanVerification::PREFIX . "." . $id, 'lockedKey', $captcha["key"]); @@ -50,7 +85,7 @@ class HumanVerification extends Controller ->with('id', $id) ->with('url', $url) ->with('image', $captcha["img"]) - ->with('errorMessage', 'Fehler: Falsches Captcha eingegeben!'); + ->with('errorMessage', 'Fehler: Falsche Eingabe!'); } else { # If we can unlock the Account of this user we will redirect him to the result page if ($user !== null && $user["locked"]) { diff --git a/app/Http/Controllers/StartpageController.php b/app/Http/Controllers/StartpageController.php index c1a2a403316e0e0baf1f86f4423fc2b39a87e7aa..21eca379ec0d9e17ae55c32e4804ff83b9f43764 100644 --- a/app/Http/Controllers/StartpageController.php +++ b/app/Http/Controllers/StartpageController.php @@ -3,11 +3,9 @@ namespace App\Http\Controllers; use App; -use DB; use Illuminate\Http\Request; use Jenssegers\Agent\Agent; use LaravelLocalization; -use Log; use Response; class StartpageController extends Controller @@ -44,15 +42,6 @@ class StartpageController extends Controller $lang = 'all'; } - # Sponsorenlinks - $sponsors = []; - try { - $sponsors = DB::table('sponsorenlinks')->where('langcode', 'de')->orderByRaw('LENGTH(linktext)', 'ASC')->get(); - DB::disconnect('mysql'); - } catch (\Illuminate\Database\QueryException $e) { - Log::info($e); - } - return view('index') ->with('title', trans('titles.index')) ->with('homeIcon') @@ -63,7 +52,6 @@ class StartpageController extends Controller ->with('request', $request->input('request', 'GET')) ->with('option_values', $option_values) ->with('autocomplete', $autocomplete) - ->with('sponsors', $sponsors) ->with('pluginmodal', $request->input('plugin-modal', 'off')); } diff --git a/resources/js/scriptStartPage.js b/resources/js/scriptStartPage.js deleted file mode 100644 index a04a61d91ec47136a5eb0b068cb9c561594ef5a9..0000000000000000000000000000000000000000 --- a/resources/js/scriptStartPage.js +++ /dev/null @@ -1,166 +0,0 @@ -const DEFAULT_FOCUS = 'web'; - -$(document).ready(function () { - // checkPlugin() - if (location.href.indexOf('#plugin-modal') > -1) { - $('#plugin-modal').modal('show'); - } - $('#addFocusBtn').removeClass('hide'); - $('button').popover(); - - loadLocalStorage(); - setActionListeners(); - loadSavedResults(); -}); - -/** - * Loads the user theme and stored settings from local storage - */ -function loadLocalStorage() { - setSettings(); -} - -/** - * Sets all action listeners for this page - */ -function setActionListeners() { - $('button').on('shown.bs.popover', function () { - $('#color-chooser a').click(function () { - var theme = $(this).attr('data-rgba'); - if (localStorage) { - localStorage.setItem('theme', theme); - location.href = '/'; - } - }); - }); - $('#mobileFoki').change(function () { - var focus = $('#mobileFoki > option:selected').val(); - if (focus == 'angepasst') { - window.location = './settings/'; - } else { - window.location = './?focus=' + focus; - } - }); - if ($('fieldset#foki.mobile').length) { - $('fieldset#foki.mobile label#anpassen-label').click(function () { - window.location = './settings/'; - }); - } -} - -/** - * Loads stored settings from local storage - */ -function setSettings() { - if ($('fieldset#foki.mobile').length) { - $('fieldset.mobile input#bilder').val('angepasst'); - $('fieldset.mobile input#bilder').prop('checked', true); - $('fieldset.mobile input#bilder').attr('id', 'angepasst'); - $('fieldset.mobile label#bilder-label').attr('id', 'anpassen-label'); - $('fieldset.mobile label#anpassen-label').attr('for', 'angepasst'); - $('fieldset.mobile label#anpassen-label i.fa').attr('class', 'fa fa-cog'); - $('fieldset.mobile label#anpassen-label span.content').html('angepasst'); - } -} -// Polyfill for form attribute -(function ($) { - /** - * polyfill for html5 form attr - */ - // detect if browser supports this - var sampleElement = $('[form]').get(0); - var isIE11 = !(window.ActiveXObject) && 'ActiveXObject' in window; - if (sampleElement && window.HTMLFormElement && sampleElement.form instanceof HTMLFormElement && !isIE11) { - // browser supports it, no need to fix - return; - } - /** - * Append a field to a form - * - */ - $.fn.appendField = function (data) { - // for form only - if (!this.is('form')) return; - // wrap data - if (!$.isArray(data) && data.name && data.value) { - data = [data]; - } - var $form = this; - // attach new params - $.each(data, function (i, item) { - $('<input/>').attr('type', 'hidden').attr('name', item.name).val(item.value).appendTo($form); - }); - return $form; - }; - /** - * Find all input fields with form attribute point to jQuery object - * - */ - $('form[id]').submit(function (e) { - var $form = $(this); - // serialize data - var data = $('[form=' + $form.attr('id') + ']').serializeArray(); - // append data to form - $form.appendField(data); - }).each(function () { - var form = this, - $form = $(form), - $fields = $('[form=' + $form.attr('id') + ']'); - $fields.filter('button, input').filter('[type=reset],[type=submit]').click(function () { - var type = this.type.toLowerCase(); - if (type === 'reset') { - // reset form - form.reset(); - // for elements outside form - $fields.each(function () { - this.value = this.defaultValue; - this.checked = this.defaultChecked; - }).filter('select').each(function () { - $(this).find('option').each(function () { - this.selected = this.defaultSelected; - }); - }); - } else if (type.match(/^submit|image$/i)) { - $(form).appendField({ - name: this.name, - value: this.value - }).submit(); - } - }); - }); -})(jQuery); -// Opera 8.0+ -var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0; -// Firefox 1.0+ -var isFirefox = typeof InstallTrigger !== 'undefined'; -// At least Safari 3+: "[object HTMLElementConstructor]" -var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0; -// Internet Explorer 6-11 -var isIE = /*@cc_on!@*/ false || !!document.documentMode; -// Edge 20+ -var isEdge = !isIE && !!window.StyleMedia; -// Chrome 1+ -var isChrome = !!window.chrome && !!window.chrome.webstore; -// Blink engine detection -var isBlink = (isChrome || isOpera) && !!window.CSS; -// Prüft, ob der URL-Parameter "usage" auf "once" gesetzt ist. - -function loadSavedResults() { - var results = new Results(); - if (results.length > 0) { - var html = $('\ - <div class="focus">\ - <input id="savedResults" class="focus-radio hide" name="focus" value="container" form="searchForm" type="radio" required="">\ - <label id="saved-results-label" class="focus-label" for="savedResults">\ - <i class="fas fa-save"></i>\ - <span class="content">gespeicherte Ergebnisse</span>\ - <span class="badge">' + results.length + '</span>\ - </label>\ - </div>\ - '); - $('#addFocusBtnDiv').before(html); - $('#foki input#savedResults').change(function () { - if ($(this).prop('checked')) $('#searchForm').submit(); - }); - } -} \ No newline at end of file diff --git a/resources/lang/de/captcha.php b/resources/lang/de/captcha.php new file mode 100644 index 0000000000000000000000000000000000000000..3a1ac2e1103bb7108e51d7b33fde29b165a7c3a2 --- /dev/null +++ b/resources/lang/de/captcha.php @@ -0,0 +1,11 @@ +<?php +return [ + '1' => 'Entschuldigen Sie die Störung', + '2' => 'Sie befinden sich in einem Netzwerk aus dem wir verstärkt automatisierte Anfragen erhalten. Keine Sorge: Das bedeutet nicht unbedingt, dass diese Anfragen von Ihrem PC kommen.', + '3' => 'Allerdings können wir Ihre Anfragen nicht von denen des "Robots" unterscheiden. Zum Schutz der von uns abgefragten Suchmaschinen müssen wir aber sicherstellen, dass diese nicht mit (automatisierten) Abfragen überflutet werden.', + '4' => 'Bitte geben Sie deshalb die Zeichen aus dem Bild in die erste Eingabebox und den heutigen Wochentag in die zweite Eingabebox ein und bestätigen Sie mit "OK" um zur Ergebnisseite zu gelangen.', + '5' => 'Captcha eingeben', + '6' => 'Wochentag eingeben', + '7' => 'Sollten Sie diese Nachricht häufiger sehen oder handelt es sich dabei um einen Irrtum, schicken Sie uns gerne eine Nachricht über unser <a href=":url">Kontaktformular</a>.', + '8' => 'Nennen Sie uns in diesem Fall bitte unbedingt folgende Vorgangsnummer:', +]; diff --git a/resources/lang/de/index.php b/resources/lang/de/index.php index 272ce73c200e8c52888453a7352da3da2cab92bb..3e61d897d196019caf0ba235ba8507c0a4c04065 100644 --- a/resources/lang/de/index.php +++ b/resources/lang/de/index.php @@ -27,20 +27,14 @@ return [ 'focus-creator.delete' => 'Eigene Suche löschen', 'focus-creator.focusname' => 'Suchname: ', - 'slogan.title' => 'Besser suchen, schneller finden', - 'slogan.1' => 'Datenschutz & Privatsphäre: Bei uns einfach und selbstverständlich.', - 'slogan.2' => 'Wir arbeiten nicht gewinnorientiert, wir sind ein gemeinnütziger Verein: <a href="/beitritt">Werden Sie Mitglied</a> oder <a href="/spende">spenden Sie</a>!', - 'slogan.3' => 'Mit MetaGer bewahren Sie einen neutralen Blick auf’s Web!', - - 'sponsors.head' => 'Partner', - 'sponsors.woxikon' => 'SEO Agentur', - 'sponsors.gutscheine' => 'STERN.de: Günstige Kredite im Kreditvergleich', - 'sponsors.seo' => 'Weihnachtsfeier', - - 'about.title' => 'Über uns', - 'about.1.1' => '<a href="/datenschutz">Datenschutz & Privatsphäre</a>: Bei uns einfach & selbstverständlich.', - 'about.2.1' => 'Wir arbeiten nicht gewinnorientiert, wir sind ein <a href="/spende">gemeinnütziger Verein</a>: <a href="/beitritt">Werden Sie Mitglied!</a>', - 'about.3.1' => 'Überzeugen Sie sich von unseren Datenschutz- und Privatsphärefeatures', + 'about.1.1' => "Garantierte Privatsphäre", + 'about.1.2' => 'Mit uns behalten Sie die volle Kontrolle über Ihre Daten.', + 'about.2.1' => 'Gemeinnütziger Verein', + 'about.2.2' => 'Wir als SUMA-EV sind unabhängig, weil wir keine kommerziellen Interessen verfolgen!', + 'about.3.1' => 'Unterstützen & Spenden', + 'about.3.2' => 'Mit Ihrer Spende unterstützen Sie die Arbeit des SUMA-EV und den Betrieb von MetaGer.', + 'about.4.1' => 'Machen Sie mit!', + 'about.4.2' => 'Stärken Sie uns, indem Sie Mitglied im Trägerverin werden.', 'lang.tooltip' => 'Ergebnissprache wählen', 'key.placeholder' => 'Mitglieder-Key eingeben', diff --git a/resources/lang/en/captcha.php b/resources/lang/en/captcha.php new file mode 100644 index 0000000000000000000000000000000000000000..6dbd03d8a605832339b57bf31009698518b9d667 --- /dev/null +++ b/resources/lang/en/captcha.php @@ -0,0 +1,11 @@ +<?php +return [ + '1' => 'Sorry to bother you', + '2' => 'You are in a network from which we increasingly receive automated requests. Do not worry: this does not necessarily mean that these requests come from your PC.', + '3' => 'However, we can not distinguish your requests from those of the "robot". To protect the search engines we query, we must ensure that they are not flooded with (automated) queries.', + '4' => 'Therefore, please enter the characters from the picture in the first input box and today\'s day of the week in the second input box and confirm with "OK" to get to the result page.', + '5' => 'Enter captcha', + '6' => 'Enter weekday', + '7' => 'If you see this message more often, or if it is a mistake, feel free to send a message via our <a href=":url"> contact form </a>.', + '8' => 'In this case, please give us the following transaction number:', +]; diff --git a/resources/lang/en/index.php b/resources/lang/en/index.php index 787b3d82eee1e58cf9fb0c90dac4d9e0c429c400..eeee73fff310b190783f97f143f65067c00a9ac2 100644 --- a/resources/lang/en/index.php +++ b/resources/lang/en/index.php @@ -27,20 +27,14 @@ return [ "focus-creator.delete" => "Delete search focus", "focus-creator.focusname" => "Focus:", - 'slogan.title' => 'MetaGer: Privacy protected Search and Find', - 'slogan.1' => 'We provide privacy & data protection and we are a non profit NGO.', - 'slogan.2' => '<a href="/beitritt">Become a member</a> oder <a href="/spende">donate</a>! Our source code is open: <a href="https://gitlab.metager3.de/open-source/MetaGer">gitlab.metager3.de</a>', - 'slogan.3' => 'You keep a neutral view on the web by using MetaGer', - - "sponsors.head" => "Partners", - 'sponsors.woxikon' => 'Tagesgeld jetzt!', - 'sponsors.gutscheine' => 'Aktuelle Gutscheine auf Gutschein-Magazin.de', - 'sponsors.seo' => 'Suchmaschinenoptimierung', - - "about.title" => "About Us", - "about.1.1" => "We provide <a href=\"/en/datenschutz\">privacy & data protection.</a>", - "about.2.1" => 'We are a <a href="/en/spende">non profit NGO</a>. Our source code is open:<a href="https://gitlab.metager3.de/open-source/MetaGer" target="_blank">gitlab.metager3.de</a>', - "about.3.1" => "Everyone might check our data protection & privacy features.", + 'about.1.1' => "Guaranteed Privacy", + 'about.1.2' => 'With us you have full control over your data.', + 'about.2.1' => 'Nonprofit organization', + 'about.2.2' => 'We as SUMA-EV are independent because we do not pursue commercial interests!', + 'about.3.1' => 'Support & Donate', + 'about.3.2' => 'With your donation you support the work of the SUMA-EV and the operation of MetaGer.', + 'about.4.1' => 'Join in!', + 'about.4.2' => 'Strengthen us by becoming a member.', 'lang.tooltip' => 'Language', 'key.placeholder' => 'Enter member key', diff --git a/resources/lang/es/captcha.php b/resources/lang/es/captcha.php new file mode 100644 index 0000000000000000000000000000000000000000..88ef414ae20ea4824ecb36e9e0e2b62f7547b279 --- /dev/null +++ b/resources/lang/es/captcha.php @@ -0,0 +1,11 @@ +<?php +return [ + '1' => 'Perdon por la molestia', + '2' => 'Estás en una red desde la que recibimos cada vez más consultas automáticas. No se preocupe: esto no significa necesariamente que estas solicitudes provengan de su PC.', + '3' => 'Sin embargo, no podemos distinguir sus peticiones de las del "robot". Para proteger los motores de búsqueda que consultamos, debemos asegurarnos de que no estén inundados de consultas (automatizadas).', + '4' => 'Por lo tanto, ingrese los caracteres de la imagen en el primer cuadro de entrada y el dÃa de la semana de hoy en el segundo cuadro de entrada y confirme con "OK" para acceder a la página de resultados.', + '5' => 'Entrar en captcha', + '6' => 'Entrar en dÃa laborable', + '7' => 'Si ve este mensaje con más frecuencia o si es un error, puede enviar un mensaje a través de nuestro <a href=":url"> formulario de contacto </a>.', + '8' => 'En este caso, por favor dénos el siguiente número de transacción:', +]; diff --git a/resources/lang/es/index.php b/resources/lang/es/index.php index 95d8a91dc0c7d32b8fa92fbb4acd9961a0d97300..5621468331f64c93b4c2b4280b7717bd798ae86d 100644 --- a/resources/lang/es/index.php +++ b/resources/lang/es/index.php @@ -1,24 +1,25 @@ <?php return [ - "foki.web" => "Web", - "foki.bilder" => "Imágenes", - "foki.nachrichten" => "Informativos/PolÃtica", - "foki.wissenschaft" => "Ciencia", - "foki.produkte" => "Productos", - "foki.angepasst" => "ajustado", - "foki.maps" => "Maps.metager.de", - "design" => "Escoger un diseño personalizado", - "conveyor" => "Comprar en tiendas que apoyan MetaGer ", - "partnertitle" => "Apoyar MetaGer, sin costos para usted", - "plugin" => "Añadir MetaGer-Plugin", - "plugin-title" => "Añadir MetaGer a su navegador", - "sponsors.head" => "Esponsores", - "sponsors.woxikon" => "<a href=\"http://www.woxikon.de/\" class=\"mutelink\" target=\"_blank\" rel=\"noopener\">Buscar palabras & sinónimos</a>", - "sponsors.seo" => "<a href=\"http://www.gutschein-magazin.de/\" class=\"mutelink\" target=\"_blank\" rel=\"noopener\">Vales actuales de Gutschein-Magazin.de</a>", - "sponsors.gutscheine" => "<a href=\"https://www.finanzcheck.de/\" class=\"mutelink\" target=\"_blank\" rel=\"noopener\">Comparar créditos económicos en FINANZCHECK.de</a>", - "about.title" => "Sobre nosotros", - "about.1.1" => "<a href=\"/es/datenschutz\">Privacidad & protección de datos</a> son con nosotros simples & dado por sentado", - "about.2.1" => "No trabajamos orientado al lucro, somos una <a href=\"/es/spende\">asociación sin fines de lucro</a>", - "placeholder" => "MetaGer: Buscar & encontrar seguro", + "foki.web" => "Web", + "foki.bilder" => "Imágenes", + "foki.nachrichten" => "Informativos/PolÃtica", + "foki.wissenschaft" => "Ciencia", + "foki.produkte" => "Productos", + "foki.angepasst" => "ajustado", + "foki.maps" => "Maps.metager.de", + "design" => "Escoger un diseño personalizado", + "conveyor" => "Comprar en tiendas que apoyan MetaGer ", + "partnertitle" => "Apoyar MetaGer, sin costos para usted", + "plugin" => "Añadir MetaGer-Plugin", + "plugin-title" => "Añadir MetaGer a su navegador", + 'about.1.1' => "Privacidad garantizada", + 'about.1.2' => 'Con nosotros usted tiene control total sobre sus datos.', + 'about.2.1' => 'Asociación sin ánimo de lucro', + 'about.2.2' => '¡Nosotros como SUMA-EV somos independientes porque no perseguimos intereses comerciales!', + 'about.3.1' => 'Apoyar y Donar', + 'about.3.2' => 'Con su donación usted apoya el trabajo de SUMA-EV y el funcionamiento de MetaGer.', + 'about.4.1' => '¡Únete!', + 'about.4.2' => 'Fortalécenos haciéndote miembro.', + "placeholder" => "MetaGer: Buscar & encontrar seguro", ]; diff --git a/resources/less/metager/pages/start-page.less b/resources/less/metager/pages/start-page.less index f3afdb33df55c4fff20a51b1d757762b4cd8f1ec..acf3b3115d86e8d6924d79eb26afa8cb942b3fb5 100644 --- a/resources/less/metager/pages/start-page.less +++ b/resources/less/metager/pages/start-page.less @@ -1,12 +1,10 @@ /* Startseite */ @main-content-width: 1000px; -@foki-edge-rounding: 7px; #main-content { flex-grow: 1; display: flex; flex-direction: column; - margin-top: 5vh; @media(max-width: @main-content-width) { width: 100%; } @@ -27,7 +25,7 @@ position: absolute; bottom: 0px; right: 8px; - padding: 16px; + padding: 11px; color: #777; border: 0; width: 30px; @@ -38,7 +36,7 @@ color: red; background-color: #ccc; } - @media(max-width: @screen-mobile) { + @media(max-width: 503px) { display: flex; } } @@ -47,76 +45,36 @@ .startpage #main-content { justify-content: center; - margin-top: 0; - @media(max-width: @screen-mobile){ - justify-content: start; - margin-top: 20vh; - } -} - -#additional-content { - flex-grow: 2; - padding-top: 50px; - display: flex; - @media(max-width: @screen-mobile) { - flex-direction: column; - position: absolute; - top: 100vh; - } - #about-us { - max-width: 500px; - margin-right: 50px; - @media(max-width: @screen-mobile) { - margin: 0px; - max-width: 100%; - .card-medium; - order: 2; - p { - text-align: justify; + #about-us { + font-size: 1.4em; + color: #777; + text-align: center; + display: grid; + grid-gap: 24px; + margin-top: 60px; + justify-content: center; + grid-template-columns: 240px; + width: 100%; + top: 100vh; + position: absolute; + @media(min-width: 504px){ + grid-template-columns: 240px 240px ; + grid-gap: 24px; + top: inherit; + bottom: 100px; + position: inherit; } - } - h2 { - font-size: 1.3em; - } - p { - font-size: 1em; - } - } - #s { - @media(max-width: @screen-mobile) { - margin: 8px 0px; - .card-medium; - } - h2 { - font-size: 1.3em; - } - ul { - list-style-type: none; - padding: 0px; - text-align: left; - margin-bottom: 0; - li.sr { - a { - color: inherit; - display: flex; - justify-content: space-between; - font-size: 1em; - i { - margin-left: 10px; - } + > a { + display: flex; + flex-direction: column; + cursor: pointer; + color: inherit; + > div.teaser { + font-size: .7em; + } + &:hover > div.teaser { + visibility: inherit; } } } - } -} - -#spendenaufruf { - text-align: center; - a { - background-color: white; - display: inline-block; - width: 100%; - max-width: 770px; - margin-bottom: 10px; - } } \ No newline at end of file diff --git a/resources/views/humanverification/captcha.blade.php b/resources/views/humanverification/captcha.blade.php index 9f58d36e3122ab75bda226e399157b23fc58f110..98be1b7563548c7719da7e0ada9fc0ec0ffada4b 100644 --- a/resources/views/humanverification/captcha.blade.php +++ b/resources/views/humanverification/captcha.blade.php @@ -3,21 +3,21 @@ @section('title', $title ) @section('content') - <h1>Entschuldigen Sie die Störung</h1> - <p>Sie befinden sich in einem Netzwerk aus dem wir verstärkt automatisierte Anfragen erhalten. Keine Sorge: Das bedeutet nicht unbedingt, dass diese Anfragen von Ihrem PC kommen.</p> - <p>Allerdings können wir Ihre Anfragen nicht von denen des "Robots" unterscheiden. Zum Schutz der von uns abgefragten Suchmaschinen müssen wir aber sicherstellen, dass diese nicht mit (automatisierten) Abfragen überflutet werden.</p> - - <p>Bitte geben Sie deshalb die Zeichen aus dem Bild in die Eingabebox ein und bestätigen Sie mit "OK" um zur Ergebnisseite zu gelangen.</p> - <form method="post" action="{{ route('verification', ['id' => $id]) }}"> + <h1>@lang('captcha.1')</h1> + <p>@lang('captcha.2')</p> + <p>@lang('captcha.3')</p> + <p>@lang('captcha.4')</p> + <form method="post" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('verification', ['id' => $id])) }}"> <input type="hidden" name="url" value="{!! $url !!}"> <input type="hidden" name="id" value="{{ $id }}"> <p><img src="{{ $image }}" /></p> @if(isset($errorMessage)) <p><font color="red">{{$errorMessage}}</font></p> @endif - <p><input type="text" class="form-control" name="captcha" placeholder="Captcha eingeben" autofocus></p> + <p><input type="text" class="form-control" name="captcha" placeholder="@lang('captcha.5')" autofocus></p> + <p><input type="text" class="form-control" name="dw" placeholder="@lang('captcha.6')"></p> <p><button type="submit" class="btn btn-success" name="check">OK</button></p> </form> - <p>Sollten Sie diese Nachricht häufiger sehen oder handelt es sich dabei um einen Irrtum, schicken Sie uns gerne eine Nachricht über unser <a href="/kontakt">Kontaktformular</a>.</p> - <p>Nennen Sie uns in diesem Fall bitte unbedingt folgende Vorgangsnummer: {{ $id }} + <p>@lang('captcha.7', ['url' => LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), 'kontakt')])</p> + <p>@lang('captcha.8') {{ $id }} @endsection diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php index 20596384b53bfd0fb3ca582499439614b09d53cd..4f61be96385d83fb92fc8b96ef4b5f1f4c0d1c9f 100644 --- a/resources/views/index.blade.php +++ b/resources/views/index.blade.php @@ -10,29 +10,33 @@ <div id="plugin-btn-div"> <a id="plugin-btn" href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/plugin") }}" title="{{ trans('index.plugin-title') }}"><i class="fa fa-plug" aria-hidden="true"></i> {{ trans('index.plugin') }}</a> </div> + <div id="about-us"> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "about") }}"> + <i class="fas fa-user-secret"></i> + <span>@lang('index.about.1.1')</span> + <div class="teaser">@lang('index.about.1.2')</div> + </a> + @if(LaravelLocalization::getCurrentLocale() === "de") + <a href="https://suma-ev.de" target="_blank"> + @else + <a href="https://suma-ev.de/en/index.html" target="_blank"> + @endif + <i class="fas fa-heart"></i> + <span>@lang('index.about.2.1')</span> + <div class="teaser">@lang('index.about.2.2')</div> + </a> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "spende") }}"> + <i class="fas fa-money-bill-wave"></i> + <span>@lang('index.about.3.1')</span> + <div class="teaser">@lang('index.about.3.2')</div> + </a> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "beitritt") }}"> + <i class="fas fa-user-friends"></i> + <span>@lang('index.about.4.1')</span> + <div class="teaser">@lang('index.about.4.2')</div> + </a> + </div> <a id="scroll-helper" href="#about-us"> <i class="fas fa-angle-double-down"></i> </a> - <script src="{{ mix('js/scriptStartPage.js') }}" defer></script> -@endsection - -@section('additional-content') - <div id="about-us"> - <div> - <h2>{!! trans('index.slogan.title') !!}</h2> - <p>{!! trans('index.slogan.1') !!}</p> - <p>{!! trans('index.slogan.2') !!}</p> - <p>{!! trans('index.slogan.3') !!}</p> - </div> - </div> - <div id="s"> - <h2>{{ trans('index.sponsors.head') }}</h2> - <ul class="startpage"> - @foreach($sponsors as $link) - <li class="sr"> - <a href="{{ $link->link }}" target="_blank" rel="noopener"><p>{{ $link->linktext }}</p> <i class="fa fa-external-link-alt"></i></a> - </li> - @endforeach - </ul> - </div> @endsection diff --git a/resources/views/layouts/staticPages.blade.php b/resources/views/layouts/staticPages.blade.php index 226d987d4a290ae49196abe9b8f00390769c794e..f9beaa9db8968d2a79b1b1e79fa5170e6a91ebae 100644 --- a/resources/views/layouts/staticPages.blade.php +++ b/resources/views/layouts/staticPages.blade.php @@ -56,9 +56,6 @@ @endif @yield('content') </main> - <div id="additional-content"> - @yield('additional-content') - </div> </div> @include('parts.sidebar', ['id' => 'staticPagesSideBar']) @include('parts.sidebar-opener', ['class' => 'fixed']) diff --git a/resources/views/parts/footer.blade.php b/resources/views/parts/footer.blade.php index d38e39de2d74d0469d1ae06c2e528f7bc8ee546b..1634790b6b9a776c5f4680ecc279a7f8daa28791 100644 --- a/resources/views/parts/footer.blade.php +++ b/resources/views/parts/footer.blade.php @@ -5,8 +5,10 @@ <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "impressum") }}">{{ trans('sidebar.nav8') }}</a> <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "datenschutz") }}">{{ trans('sidebar.nav3') }}</a> </div> + @if($type !== 'startpage') <div> <span class="hidden-xs">{{ trans('footer.sumaev.1') }} <a href="{{ trans('footer.sumaev.link') }}">{{ trans('footer.sumaev.2') }}</a></span> </div> + @endif </footer> @endif diff --git a/routes/session.php b/routes/session.php index cc96ecbba1b777c343ff68d6e07ac8c439c16f9e..273bef8d22697af51e6e4652956bf9be42e2a668 100644 --- a/routes/session.php +++ b/routes/session.php @@ -1,4 +1,11 @@ <?php # In this File we collect all routes which require a session or other cookies to be active - -Route::match(['get', 'post'], 'meta/verification/{id}/{url?}', 'HumanVerification@captcha')->name('verification'); +Route::group( + [ + 'prefix' => LaravelLocalization::setLocale(), /*, + 'middleware' => [ 'localeSessionRedirect', 'localizationRedirect' ]*/ + ], + function () { + Route::match(['get', 'post'], 'meta/verification/{id}/{url?}', 'HumanVerification@captcha')->name('verification'); + } +); diff --git a/webpack.mix.js b/webpack.mix.js index 19f67149574b8f6713986de5bb28109b9580ea11..aea26fc5dfa049d8924766b4d82fc0df3693016d 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -50,13 +50,6 @@ mix ], "public/js/lib.js" ) - .babel( - [ - "resources/js/scriptStartPage.js", - "resources/js/result-saver.js" - ], - "public/js/scriptStartPage.js" - ) .babel( [ "resources/js/scriptSettings.js"