Commit 623e3d2a authored by Davide Aprea's avatar Davide Aprea

added controller functions for adding and deleting blacklist entries

parent 6d368f1d
......@@ -22,4 +22,6 @@ npm-debug.log
composer.lock
package-lock.json
local.log
\ No newline at end of file
local.log
browserstack.err
......@@ -268,4 +268,47 @@ class SettingsController extends Controller
}
return redirect($request->input('url', 'https://metager.de'));
}
public function newBlacklist(Request $request)
{
$fokus = $request->input('fokus', '');
$url = $request->input('url', '');
$blacklist = $request->input('blacklist');
$path = \Request::path();
$cookiePath = "/" . substr($path, 0, strpos($path, "meta/") + 5);
$cookies = Cookie::get();
$cookieCounter = 0;
$noduplicate = true;
if(!empty($cookies)){
foreach ($cookies as $key => $value) {
if($value==$blacklist){
$noduplicate = false;
break;
}
if(stripos($key, 'blpage') !== false) {
$cookieCounter++;
}
}
}
if($noduplicate){
$cookieName= $fokus . '_blpage' . $cookieCounter;
Cookie::queue($cookieName, $blacklist, 0, $cookiePath, null, false, false);
}
return redirect($request->input('url', 'https://metager.de'));
}
public function deleteBlacklist(Request $request)
{
$fokus = $request->input('fokus', '');
$url = $request->input('url', '');
$path = \Request::path();
$cookieKey = $request->input('cookieKey');
$cookiePath = "/" . substr($path, 0, strpos($path, "meta/") + 5);
Cookie::queue($cookieKey, "", 0, $cookiePath, null, false, false);
return redirect($request->input('url', 'https://metager.de'));
}
}
<?php
return [
"header.1" => "Sucheinstellungen",
"text.1" => "Hier können Sie dauerhafte Sucheinstellungen für Ihre MetaGer-Suche im Fokus :fokusName vornehmen. Sollten diese nicht dauerhaft gespeichert bleiben, überprüfen Sie bitte in Ihren Browsereinstellungen, ob dieser beim Beenden gespeicherte Cookies löscht.",
'header.1' => 'Sucheinstellungen',
'text.1' => 'Hier können Sie dauerhafte Sucheinstellungen für Ihre MetaGer-Suche im Fokus :fokusName vornehmen. Sollten diese nicht dauerhaft gespeichert bleiben, überprüfen Sie bitte in Ihren Browsereinstellungen, ob dieser beim Beenden gespeicherte Cookies löscht.',
"hint.header" => "Hinweis",
"hint.text" => "Um Ihre Sucheinstellungen zu speichern, verwenden wir nicht-personenbeziehbare Cookies. Diese werden im Klartext in Ihrem Browser gespeichert. Sie können sich eine Übersicht aller von Ihnen vorgenommenen Einstellungen und Cookies <a href=\":link\">anzeigen lassen</a>.",
'hint.header' => 'Hinweis',
'hint.text' => 'Um Ihre Sucheinstellungen zu speichern, verwenden wir nicht-personenbeziehbare Cookies. Diese werden im Klartext in Ihrem Browser gespeichert. Sie können sich eine Übersicht aller von Ihnen vorgenommenen Einstellungen und Cookies <a href=:link>anzeigen lassen</a>.',
"header.2" => "Verwendete Suchmaschinen",
"text.2" => "Nachfolgend sehen Sie alle für diesen Fokus verfügbaren Suchmaschinen. Mit einem Klick auf den Namen können Sie Ein-/Ausgeschaltet werden. Eingeschaltete Suchmaschinen sind in grün dargestellt. Ausgeschaltete in rot oder grau.",
"disabledByFilter" => "Durch Suchfilter deaktiviert:",
'header.2' => 'Verwendete Suchmaschinen',
'text.2' => 'Nachfolgend sehen Sie alle für diesen Fokus verfügbaren Suchmaschinen. Mit einem Klick auf den Namen können Sie Ein-/Ausgeschaltet werden. Eingeschaltete Suchmaschinen sind in grün dargestellt. Ausgeschaltete in rot oder grau.',
'disabledByFilter' => 'Durch Suchfilter deaktiviert:',
"header.3" => "Suchfilter",
"text.3" => "An dieser Stelle können Sie Suchfilter dauerhaft setzen. Mit der Auswahl eines Suchfilters stehen nur noch Suchmaschinen zur Verfügung, welche diesen Filter unterstützen. Umgekehrt werden auch nur Suchfilter angezeigt, welche von der aktuellen Suchmaschinenauswahl unterstützt werden.",
'header.3' => 'Suchfilter',
'text.3' => 'An dieser Stelle können Sie Suchfilter dauerhaft setzen. Mit der Auswahl eines Suchfilters stehen nur noch Suchmaschinen zur Verfügung, welche diesen Filter unterstützen. Umgekehrt werden auch nur Suchfilter angezeigt, welche von der aktuellen Suchmaschinenauswahl unterstützt werden.',
"save" => "Speichern",
"reset" => "Alle Einstellungen löschen",
"back" => "Zurück zur letzten Seite",
'header.4' => 'Blacklist',
'text.4' => 'Hier können Sie Seiten eintragen, welche aus Ihrer Suche ausgeschlossen werden sollen.',
'address' => 'Adresseingabe',
'save' => 'Speichern',
'reset' => 'Alle Einstellungen löschen',
'back' => 'Zurück zur letzten Seite',
'add' => 'Hinzufügen',
// Translations from the settings overview
'noSettings' => "Aktuell sind keine Einstellungen gesetzt!",
'allSettings.header' => "Auf :root gesetzte Einstellungen",
'allSettings.text' => "Hier finden Sie eine Übersicht aller von Ihnen gesetzten Einstellungen und Cookies. Sie können einzelne Einträge löschen, oder alle entfernen. Bedenken Sie, dass die zugehörigen Einstellungen dann nicht mehr verwendet werden.",
'noSettings' => 'Aktuell sind keine Einstellungen gesetzt!',
'allSettings.header' => 'Auf :root gesetzte Einstellungen',
'allSettings.text' => 'Hier finden Sie eine Übersicht aller von Ihnen gesetzten Einstellungen und Cookies. Sie können einzelne Einträge löschen, oder alle entfernen. Bedenken Sie, dass die zugehörigen Einstellungen dann nicht mehr verwendet werden.',
'meaning' => "Bedeutung",
'actions' => "Aktionen",
'meaning' => 'Bedeutung',
'actions' => 'Aktionen',
'engineDisabled' => "Die Suchmaschine :engine wird im Fokus :focus nicht abgefragt.",
'inFocus' => "im Fokus",
'key' => "Ihr Schlüssel für die werbefreie Suche",
'removeCookie' => "Diesen Cookie entfernen",
'engineDisabled' => 'Die Suchmaschine :engine wird im Fokus :focus nicht abgefragt.',
'inFocus' => 'im Fokus',
'key' => 'Ihr Schlüssel für die werbefreie Suche',
'removeCookie' => 'Diesen Cookie entfernen',
];
......@@ -82,24 +82,54 @@
</div>
<button type="submit" class="btn btn-default">@lang('settings.save')</button>
</form>
</div>
<div class="card-light">
<h2>@lang('settings.header.4')</h2>
<p>@lang('settings.text.4')</p>
<form id="blacklist" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('newBlacklist', ["fokus" => $fokus, "url" => $url])) }}" method="post">
<input type="hidden" name="url" value="{{ $url }}">
<input type="hidden" name="fokus" value="{{ $fokus }}">
<label for="blacklist">@lang('settings.address')</label>
<input id="blacklist" name="blacklist" type="text">
<button type="submit" class="btn btn-default">@lang('settings.add')</button> <!--input field flex-grow:1;-->
</form>
@if(!empty(Cookie::get()))
<form id="deleteentry" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('deleteBlacklist', ["fokus" => $fokus, "url" => $url])) }}" method="post">
<table>
@foreach(Cookie::get() as $key => $value)
@if(stripos($key, 'blpage') !== false)
<tr>
<td>
{{ $value }}
</td>
<td>
<button type="submit" name="cookieKey" value="{{ $key }}">>delete entry<</button>
</td>
</tr>
@endif
@endforeach
</table>
</form>
@endif
</div>
@if(LaravelLocalization::getCurrentLocale() === "de")
<div class="card-light">
<h2>Weitere Einstellungen</h2>
<form id="setting-form" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('enableSetting')) }}" method="post" class="form">
<input type="hidden" name="fokus" value="{{ $fokus }}">
<input type="hidden" name="url" value="{{ $url }}">
<div class="form-group">
<label for="zitate">Zitate</label>
<select name="zitate" id="zitate" class="form-control">
<option value="on" @if(Cookie::get($fokus . "_setting_zitate") === null)disabled selected @endif>Anzeigen</option>
<option value="off" {{ Cookie::get($fokus . "_setting_zitate") === "off" ? "disabled selected" : "" }}>Nicht Anzeigen</option>
</select>
<div class="card-light">
<h2>Weitere Einstellungen</h2>
<form id="setting-form" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('enableSetting')) }}" method="post" class="form">
<input type="hidden" name="fokus" value="{{ $fokus }}">
<input type="hidden" name="url" value="{{ $url }}">
<div class="form-group">
<label for="zitate">Zitate</label>
<select name="zitate" id="zitate" class="form-control">
<option value="on" @if(Cookie::get($fokus . "_setting_zitate") === null)disabled selected @endif>Anzeigen</option>
<option value="off" {{ Cookie::get($fokus . "_setting_zitate") === "off" ? "disabled selected" : "" }}>Nicht Anzeigen</option>
</select>
</div>
<button type="submit" class="btn btn-default">@lang('settings.save')</button>
</form>
</div>
<button type="submit" class="btn btn-default">@lang('settings.save')</button>
</form>
</div>
@endif
<div class="card-light" id="actions">
@if($settingActive)
......
......@@ -20,6 +20,8 @@ Route::group(
Route::post('ef', 'SettingsController@enableFilter')->name('enableFilter');
Route::post('es', 'SettingsController@enableSetting')->name('enableSetting');
Route::post('ds', 'SettingsController@deleteSettings')->name('deleteSettings');
Route::post('nb', 'SettingsController@newBlacklist')->name('newBlacklist');
Route::post('db', 'SettingsController@deleteBlacklist')->name('deleteBlacklist');
# Route to show and delete all settings
Route::get('all-settings', 'SettingsController@allSettingsIndex')->name('showAllSettings');
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment