Commit ffe30296 authored by Karl Hasselbring's avatar Karl Hasselbring

Merge-Folgereparaturen

parent e5aa5b61
...@@ -24,3 +24,5 @@ langfiles.zip ...@@ -24,3 +24,5 @@ langfiles.zip
**/*.map **/*.map
/.buildpath /.buildpath
/.project /.project
composer.lock
\ No newline at end of file
...@@ -690,8 +690,7 @@ class MetaGer ...@@ -690,8 +690,7 @@ class MetaGer
return return
$sumaName === "qualigo" $sumaName === "qualigo"
|| $sumaName === "similar_product_ads" || $sumaName === "similar_product_ads"
|| (!$overtureEnabled && $sumaName === "overtureAds") || (!$overtureEnabled && $sumaName === "overtureAds");
|| $sumaName == "rlvproduct";
} }
public function sumaIsDisabled($suma) public function sumaIsDisabled($suma)
...@@ -780,7 +779,7 @@ class MetaGer ...@@ -780,7 +779,7 @@ class MetaGer
$realEngNames = []; $realEngNames = [];
foreach ($enabledSearchengines as $realEng) { foreach ($enabledSearchengines as $realEng) {
$nam = $realEng["name"]->__toString(); $nam = $realEng["name"]->__toString();
if ($nam !== "qualigo" && $nam !== "overtureAds" && $nam !== "rlvproduct") { if ($nam !== "qualigo" && $nam !== "overtureAds") {
$realEngNames[] = $nam; $realEngNames[] = $nam;
} }
} }
......
$(function () { $(function () {
loadLocalStorage(); loadLocalStorage();
setSearchbarActionListeners();
}); });
/** /**
...@@ -12,10 +11,6 @@ function loadLocalStorage () { ...@@ -12,10 +11,6 @@ function loadLocalStorage () {
} }
} }
function setSearchbarActionListeners () {
$('#toggleOptBtn').click(toggleOptionsDialog);
}
function setSettings () { function setSettings () {
var acceptedParams = ['autocomplete', 'key', 'lang', 'newtab', 'sprueche']; var acceptedParams = ['autocomplete', 'key', 'lang', 'newtab', 'sprueche'];
for (var key in localStorage) { for (var key in localStorage) {
...@@ -41,385 +36,4 @@ function setSettings () { ...@@ -41,385 +36,4 @@ function setSettings () {
if (requestMethod !== null && (requestMethod === 'GET' || requestMethod === 'POST')) { if (requestMethod !== null && (requestMethod === 'GET' || requestMethod === 'POST')) {
$('#searchForm').attr('method', requestMethod); $('#searchForm').attr('method', requestMethod);
} }
} }
\ No newline at end of file
function toggleOptionsDialog () {
var btnMode = $('#toggleOptBtn').attr('data-mode');
if (btnMode == 'o') {
openOptionsDialog();
} else {
closeOptionsDialog();
}
}
function openOptionsDialog () {
$('#toggleOptBtn').html('<i class="fa fa-chevron-up" aria-hidden="true"></i>');
$('#toggleOptBtn').attr('data-mode', 'c');
$('.search-option-frame').removeClass('hide');
}
function closeOptionsDialog () {
$('#toggleOptBtn').html('<i class="fa fa-sliders" aria-hidden="true"></i>');
$('#toggleOptBtn').attr('data-mode', 'o');
$('.search-option-frame').addClass('hide');
}
$(function () {
setFocusCreatorActionListeners();
loadInitialCustomFocuses();
loadInitialSelectedFocus();
focusChanged();
});
/**
* Sets all action listeners for this page
*/
function setFocusCreatorActionListeners () {
$('.focusCheckbox').click(checkboxCheckListener);
$('#addFocusBtn').click(() => showFocusCreateDialog(''));
$('#editFocusBtn').click(editCurrentFocus);
$('.save-focus-btn').click(saveFocus);
$('.delete-focus-btn').click(deleteFocus);
$('#focus-select').change(focusChanged);
// Save Focus on clicking enter while in the focus name input
$('#focus-name').keyup(function (event) {
if (event.keyCode == 13) {
saveFocus();
}
});
$('#create-focus-modal').on('shown.bs.modal', function () {
$('#focus-name').focus();
});
}
/**
* Loads all the custom focuses stored in local storage
*/
function loadInitialCustomFocuses () {
for (var key in localStorage) {
if (key.startsWith('focus_')) {
var focus = loadFocusById(key);
addFocus(focus.name);
}
}
}
function loadInitialSelectedFocus () {
setFocus(getFocusInUrl());
}
/**
* Shows the focus create dialog
* If an id is given it will try to load a focus for the given id
*/
function showFocusCreateDialog (id) {
if (id === undefined) {
id = '';
}
document.getElementById('original-id').value = id;
$('#create-focus-modal').modal('show');
var storedFocus = loadFocusById(id);
var focus = {};
// Try to load a focus for the given id
$('#focus-name').val('');
uncheckAll();
if (storedFocus !== null) {
try {
focus = JSON.parse(localStorage.getItem(id));
$('#focus-name').val(focus.name);
for (var key in focus) {
if (key.startsWith('engine_')) {
$('.focusCheckbox[name=' + key + ']').prop('checked', true);
}
}
} catch (ex) {
console.error(ex);
}
}
toggleDeleteButton();
}
/**
* Shows the focus create dialog for a given id
*/
function showFocusEditDialog (id) {
showFocusCreateDialog(id);
}
function getCurrentFocus () {
return $("#foki > div.active").attr("id");
}
/**
* Shows an edit dialog for the current selected focus
*/
function editCurrentFocus () {
var currentFocus = getCurrentFocus();
showFocusEditDialog(currentFocus);
}
/**
* Shows/Hides the delete button if (no) checkboxes are selected
*/
function toggleDeleteButton () {
if (atLeastOneChecked()) {
$('.delete-focus-btn').show();
} else {
$('.delete-focus-btn').hide();
}
}
/**
* Save the current Focus
* Listens for save button
*/
function saveFocus () {
/* Vorprüfungen */
// Falls keine Suchmaschine ausgewählt wurde
if (!atLeastOneChecked()) {
switch (document.documentElement.lang) {
case 'en':
alert('Please select at least 1 search engine.');
break;
case 'es':
alert('Por favor, seleccione al menos un motor de búsqueda.');
break;
default:
alert('Bitte mindestens 1 Suchmaschine auswählen.');
break;
}
return;
}
// Falls der Name zu kurz ist oder ungültige Zeichen enthält
var name = document.getElementById('focus-name').value;
if (!isValidName(name)) {
switch (document.documentElement.lang) {
case 'en':
alert('No characters other than a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed, at least 1 character');
break;
case 'es':
alert('Por favor, introduzca un nombre válido');
break;
default:
alert('Bitte gültigen Namen eingeben:\n* Keine Sonderzeichen\n* Mindestens 1 Buchstabe\n');
break;
}
return;
}
// Liest die original-id des aktuellen fokus-dialogs (gesetzt wenn man einen Fokus bearbeitet)
var oldId = document.getElementById('original-id').value;
var id = getIdFromName(name);
var overwrite = true;
// Wenn bereits ein Fokus mit dem Namen existiert, man diesen aber nicht editiert sondern gerade einen Neuen erstellt
if (alreadyInUse(name) && oldId !== id) {
// Fragt den Nutzer ob er den Fokus überschreiben möchte
if (!confirm('Name bereits genutzt\nüberschreiben?')) {
// Falls nicht wird das Speichern abgebrochen
return;
}
// Ansonsten wird der andere Fokus gelöscht
deleteFocusById(id);
}
/* Fokus speichern */
var focus = {};
// Ausgewählte Suchmaschinen lesen und zu Fokus hinzufügen
$('input[type=checkbox]:checked').each(function (el) {
focus[$(this).attr('name')] = $(this).val();
});
// Name setzen
focus['name'] = name;
// Alte Version des Fokus löschen (aus localStorage und von der Webseite, falls eine existiert)
if (oldId !== '') {
localStorage.removeItem(oldId);
removeFocusById(oldId);
}
// Neue Version des Fokus hinzufügen (zu localStorage und der Webseite)
localStorage.setItem(id, JSON.stringify(focus));
addFocus(name);
setFocus(id);
// Fokus-Formular verbergen
$('#create-focus-modal').modal('hide');
}
/**
* Delete current Focus
* Listens for delete button
*/
function deleteFocusById (id) {
localStorage.removeItem(id);
removeFocusById(id);
$('#focus-select').change();
}
/**
* Delete current Focus
* Listens for delete button
*/
function deleteFocus () {
var oldId = document.getElementById('original-id').value;
deleteFocusById(oldId);
$('#create-focus-modal').modal('hide');
$('#focus-select').change();
}
/**
* Is the name valid (in terms of characters)?
*/
function isValidName (name) {
// no Characters other then a-z, A-Z, 0-9, ä, ö, ü, ß, -, _ allowed
// at least 1 character
return /^[a-zA-Z0-9äöüß\-_ ]+$/.test(name);
}
/**
* Is at least one focus selected?
*/
function atLeastOneChecked () {
return $('.focusCheckbox:checked').length > 0;
}
/**
* Is there already a focus with this name?
*/
function alreadyInUse (name) {
return localStorage.hasOwnProperty(getIdFromName(name));
}
/**
* Adds an option to the focus selector
*/
function addFocus (name) {
var id = getIdFromName(name);
var customFocus = $('<div id="' + id +'"><a href="#" target="_self">' + name + '</a><a class="edit-focus" data-id="' + id + '" href="#"><i class="fa fa-wrench"></i></div>');
$(customFocus).find(".edit-focus").click(function(){
showFocusEditDialog($(this).attr("data-id"));
});
$("#foki .search-option-frame").before(customFocus);
}
/**
* Remove the focuses html-elements
*/
function removeFocus (name) {
removeFocusById(getIdFromName(name));
}
/**
* Remove the focuses html-elements
*/
function removeFocusById (id) {
if (id == '') {
return;
}
$('#focus-select option[value="' + id + '"]').remove();
}
/**
* Turns a name into an id
* Converts special characters and spaces
*/
function getIdFromName (name) {
name = name.toLowerCase();
name = name.split(' ').join('_');
name = name.split('ä').join('ae');
name = name.split('ö').join('oe');
name = name.split('ü').join('ue');
return 'focus_' + name;
}
/**
* Loads the focus object for the given id from local storage
*/
function loadFocusById (id) {
return JSON.parse(localStorage.getItem(id));
}
/**
* Unchecks all focuses from the focus creator dialog
*/
function uncheckAll () {
$('.focusCheckbox').prop('checked', false);
}
/**
* Sets the selected focus to default
*/
function setFocusToDefault () {
setFocus(DEFAULT_FOCUS);
}
/**
* Sets the selected focus
* @param {String} focusID The id of the focus, without #
*/
function setFocus (focusID) {
$('#focus-select option[value="' + focusID + '"]').prop('selected', true);
$('#focus-select').change();
}
function focusChanged () {
var selectedFocus = getCurrentFocus();
if (focusIsEditable(selectedFocus)) {
enableEditFocusBtn();
} else {
disableEditFocusBtn();
}
loadFocusForSearch(selectedFocus);
}
function focusIsEditable (focus) {
if (focus.startsWith('focus_')) {
return true;
} else {
return false;
}
}
function enableEditFocusBtn () {
$('#editFocusBtn').removeClass('disabled').click(editCurrentFocus);
}
function disableEditFocusBtn () {
$('#editFocusBtn').addClass('disabled').off('click');
}
function loadFocusForSearch (focus) {
var focus = loadFocusById(focus);
var url ="/meta/meta.ger3?eingabe=x&focus=";
console.log(focus, url);
clearCustomSearch();
for (var key in focus) {
if (key.startsWith('engine_') && focus[key] == 'on') {
addSumaToCustomSearch(key);
}
}
}
function getFocusInUrl () {
var url = window.location;
var focReg = /focus=(focus_\w+)/.exec(url);
if (focReg && focReg[1]) {
return focReg[1];
}
}
function checkboxCheckListener (event) {
toggleDeleteButton();
var elem = event.target;
if (elem.name) {
if (elem.checked) {
setCheckedForAllWithName(elem.name, true);
} else {
setCheckedForAllWithName(elem.name, false);
}
}
}
function setCheckedForAllWithName (name, checked) {
$('.focusCheckbox[name=' + name + ']').prop('checked', checked);
}
//# sourceMappingURL=searchbar.js.map
...@@ -155,10 +155,6 @@ var isChrome = !!window.chrome && !!window.chrome.webstore; ...@@ -155,10 +155,6 @@ var isChrome = !!window.chrome && !!window.chrome.webstore;
// Blink engine detection // Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS; var isBlink = (isChrome || isOpera) && !!window.CSS;
// Prüft, ob der URL-Parameter "usage" auf "once" gesetzt ist. // Prüft, ob der URL-Parameter "usage" auf "once" gesetzt ist.
alert(t('select-valid-name'));
} else if(atLeastOneChecked()) {
alert(t('select-engine'));
} else {
function loadSavedResults () { function loadSavedResults () {
var results = new Results(); var results = new Results();
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
font-size: @result-font-small; font-size: @result-font-small;
width: fit-content; width: auto;
&, &,
&:active, &:active,
&:hover, &:hover,
......
...@@ -11,14 +11,6 @@ ...@@ -11,14 +11,6 @@
@include('parts.searchbar', ['class' => 'startpage-searchbar']) @include('parts.searchbar', ['class' => 'startpage-searchbar'])
<script type="text/javascript" src="{{ elixir('js/scriptStartPage.js') }}"></script> <script type="text/javascript" src="{{ elixir('js/scriptStartPage.js') }}"></script>
<script type="text/javascript" src="{{ elixir('js/searchbar.js') }}"></script> <script type="text/javascript" src="{{ elixir('js/searchbar.js') }}"></script>
<hr>
<h4>{{ trans('index.plugin.head.8') }}</h4>
<ol>
<li>{!! trans('index.plugin.firefox-klar.1') !!}</li>
<li>{{ trans('index.plugin.firefox-klar.2')}}<img src="/img/FirefoxKlar-Settings.png" width="100%"/></li>
<li>{{ trans('index.plugin.firefox-klar.3') }}<img src="/img/FirefoxKlar-addSearchengine.png" width="100%"/></li>
<li>{{ trans('index.plugin.firefox-klar.4') }}</li>
</ol>
<script src="{{ elixir('js/translations.js') }}"></script> <script src="{{ elixir('js/translations.js') }}"></script>
@endsection @endsection
......
...@@ -35,12 +35,6 @@ ...@@ -35,12 +35,6 @@
<body> <body>
<header> <header>
@yield('homeIcon') @yield('homeIcon')
@if(LaravelLocalization::getCurrentLocale() == "de")
<li>
<a href="https://shop.spreadshirt.de/metager/" rel="noopener" target="_blank">MetaGer-Fanshop</a>
</li>
@endif
</header> </header>
@include('parts.sidebar', ['id' => 'staticPagesSideBar']) @include('parts.sidebar', ['id' => 'staticPagesSideBar'])
<div class="wrapper"> <div class="wrapper">
...@@ -60,26 +54,6 @@ ...@@ -60,26 +54,6 @@
@yield('content') @yield('content')
</main> </main>
@yield('optionalContent') @yield('optionalContent')
<div class="hidden-xs mg-img">
</div>
<div id="info">
<div class="links">
<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "kontakt") }}">
{{ trans('staticPages.nav5') }}
</a>
<span> - </span>
<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "impressum") }}">
{{ trans('staticPages.nav8') }}
</a>
@if(LaravelLocalization::getCurrentLocale() == "de")
<span> - </span>
<a href="https://shop.spreadshirt.de/metager/" rel="noopener" target="_blank">Fanshop</a>
@endif
</div>
<div>
{{ trans('staticPages.sumaev.1') }}<a href="https://www.suma-ev.de/">{{ trans('staticPages.sumaev.2') }}</a>
<div class="hidden-xs mg-img">
<img src="{{ action('ImageController@generateImage')}}?site={{ urlencode(url()->current()) }}" class="hidden" />
</div> </div>
@if (isset($page) && $page === 'startpage') @if (isset($page) && $page === 'startpage')
@include('parts.footer', ['type' => 'startpage', 'id' => 'startPageFooter']) @include('parts.footer', ['type' => 'startpage', 'id' => 'startPageFooter'])
......
...@@ -22,17 +22,13 @@ ...@@ -22,17 +22,13 @@
</div> </div>
@endif @endif
<main id="results"> <main id="results">
{{-- Show initial products or ads --}} {{-- Show initial ads --}}
@if( $metager->getFokus() !== "produktsuche" && !$apiAuthorized) @if($mobile)
@include('layouts.products', ['products' => $metager->getProducts()]) @include('layouts.ad', ['ad' => $metager->popAd()])
@else @else
@if($mobile) @for($i = 0; $i <= 2; $i++)
@include('layouts.ad', ['ad' => $metager->popAd()]) @include('layouts.ad', ['ad' => $metager->popAd()])
@else @endfor
@for($i = 0; $i <= 2; $i++)
@include('layouts.ad', ['ad' => $metager->popAd()])
@endfor
@endif
@endif @endif
{{-- Show map --}} {{-- Show map --}}
{{-- Create results and ongoing ads --}} {{-- Create results and ongoing ads --}}
......
...@@ -19,16 +19,12 @@ ...@@ -19,16 +19,12 @@
</div> </div>
@endif @endif
<div id="results"> <div id="results">
@if( $metager->getFokus() !== "produktsuche" && !$apiAuthorized) @if($mobile)
@include('layouts.products', ['products' => $metager->getProducts()]) @include('layouts.ad', ['ad' => $metager->popAd()])
@else @else
@if($mobile) @for($i = 0; $i <= 2; $i++)
@include('layouts.ad', ['ad' => $metager->popAd()]) @include('layouts.ad', ['ad' => $metager->popAd()])
@else @endfor
@for($i = 0; $i <= 2; $i++)
@include('layouts.ad', ['ad' => $metager->popAd()])
@endfor
@endif
@endif @endif
{{-- Show map --}} {{-- Show map --}}
{{-- Create results and ongoing ads --}} {{-- Create results and ongoing ads --}}
......
@if ($type === 'startpage' || $type === 'subpage' || $type === 'resultpage') @if ($type === 'startpage' || $type === 'subpage' || $type === 'resultpage')
<footer class="{{ $id }} noprint"> <footer class="{{ $id }} noprint">
<div id="info"> <div id="info">
<span><a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "kontakt") }}">{{ trans('staticPages.nav5') }}</a> - <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "impressum") }}">{{ trans('staticPages.nav8') }}</a></span> <span><a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "kontakt") }}">{{ trans('staticPages.nav5') }}</a> - <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "impressum") }}">{{ trans('staticPages.nav8') }}</a>@if(LaravelLocalization::getCurrentLocale() == "de") - <a href="https://shop.spreadshirt.de/metager/" rel="noopener" target="_blank">Fanshop</a>@endif</span>
<span class="hidden-xs">{{ trans('staticPages.sumaev.1') }}<a href="https://www.suma-ev.de/">{{ trans('staticPages.sumaev.2') }}</a></span> <span class="hidden-xs">{{ trans('staticPages.sumaev.1') }}<a href="https://www.suma-ev.de/">{{ trans('staticPages.sumaev.2') }}</a></span>
</div> </div>
</footer> </footer>
......
...@@ -82,6 +82,11 @@ ...@@ -82,6 +82,11 @@
<li> <li>
<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/beitritt/") }}" tabindex="203">{{ trans('staticPages.nav23') }}</a> <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/beitritt/") }}" tabindex="203">{{ trans('staticPages.nav23') }}</a>
</li> </li>
@if(LaravelLocalization::getCurrentLocale() == "de")