Skip to content
Snippets Groups Projects
Commit 623e3d2a authored by Davide's avatar Davide
Browse files

added controller functions for adding and deleting blacklist entries

parent 6d368f1d
No related branches found
No related tags found
5 merge requests!1730Development,!1724Development,!1723Development,!1712Development,!1701Resolve "settings for blacklisting pages"
...@@ -22,4 +22,6 @@ npm-debug.log ...@@ -22,4 +22,6 @@ npm-debug.log
composer.lock composer.lock
package-lock.json package-lock.json
local.log local.log
\ No newline at end of file
browserstack.err
...@@ -268,4 +268,47 @@ class SettingsController extends Controller ...@@ -268,4 +268,47 @@ class SettingsController extends Controller
} }
return redirect($request->input('url', 'https://metager.de')); 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 <?php
return [ return [
"header.1" => "Sucheinstellungen", '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.", '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.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.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", '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.", '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:", 'disabledByFilter' => 'Durch Suchfilter deaktiviert:',
"header.3" => "Suchfilter", '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.", '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", 'header.4' => 'Blacklist',
"reset" => "Alle Einstellungen löschen", 'text.4' => 'Hier können Sie Seiten eintragen, welche aus Ihrer Suche ausgeschlossen werden sollen.',
"back" => "Zurück zur letzten Seite", 'address' => 'Adresseingabe',
'save' => 'Speichern',
'reset' => 'Alle Einstellungen löschen',
'back' => 'Zurück zur letzten Seite',
'add' => 'Hinzufügen',
// Translations from the settings overview // Translations from the settings overview
'noSettings' => "Aktuell sind keine Einstellungen gesetzt!", 'noSettings' => 'Aktuell sind keine Einstellungen gesetzt!',
'allSettings.header' => "Auf :root gesetzte Einstellungen", '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.", '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", 'meaning' => 'Bedeutung',
'actions' => "Aktionen", 'actions' => 'Aktionen',
'engineDisabled' => "Die Suchmaschine :engine wird im Fokus :focus nicht abgefragt.", 'engineDisabled' => 'Die Suchmaschine :engine wird im Fokus :focus nicht abgefragt.',
'inFocus' => "im Fokus", 'inFocus' => 'im Fokus',
'key' => "Ihr Schlüssel für die werbefreie Suche", 'key' => 'Ihr Schlüssel für die werbefreie Suche',
'removeCookie' => "Diesen Cookie entfernen", 'removeCookie' => 'Diesen Cookie entfernen',
]; ];
...@@ -82,24 +82,54 @@ ...@@ -82,24 +82,54 @@
</div> </div>
<button type="submit" class="btn btn-default">@lang('settings.save')</button> <button type="submit" class="btn btn-default">@lang('settings.save')</button>
</form> </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> </div>
@if(LaravelLocalization::getCurrentLocale() === "de") @if(LaravelLocalization::getCurrentLocale() === "de")
<div class="card-light"> <div class="card-light">
<h2>Weitere Einstellungen</h2> <h2>Weitere Einstellungen</h2>
<form id="setting-form" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('enableSetting')) }}" method="post" class="form"> <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="fokus" value="{{ $fokus }}">
<input type="hidden" name="url" value="{{ $url }}"> <input type="hidden" name="url" value="{{ $url }}">
<div class="form-group"> <div class="form-group">
<label for="zitate">Zitate</label> <label for="zitate">Zitate</label>
<select name="zitate" id="zitate" class="form-control"> <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="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> <option value="off" {{ Cookie::get($fokus . "_setting_zitate") === "off" ? "disabled selected" : "" }}>Nicht Anzeigen</option>
</select> </select>
</div>
<button type="submit" class="btn btn-default">@lang('settings.save')</button>
</form>
</div> </div>
<button type="submit" class="btn btn-default">@lang('settings.save')</button>
</form>
</div>
@endif @endif
<div class="card-light" id="actions"> <div class="card-light" id="actions">
@if($settingActive) @if($settingActive)
......
...@@ -20,6 +20,8 @@ Route::group( ...@@ -20,6 +20,8 @@ Route::group(
Route::post('ef', 'SettingsController@enableFilter')->name('enableFilter'); Route::post('ef', 'SettingsController@enableFilter')->name('enableFilter');
Route::post('es', 'SettingsController@enableSetting')->name('enableSetting'); Route::post('es', 'SettingsController@enableSetting')->name('enableSetting');
Route::post('ds', 'SettingsController@deleteSettings')->name('deleteSettings'); 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 to show and delete all settings
Route::get('all-settings', 'SettingsController@allSettingsIndex')->name('showAllSettings'); Route::get('all-settings', 'SettingsController@allSettingsIndex')->name('showAllSettings');
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment