Skip to content
Snippets Groups Projects
Commit 90eae865 authored by Dominik Hebeler's avatar Dominik Hebeler
Browse files

Merge branch '1113-fix-assoziator' into 'development'

Resolve "Fix Assoziator"

Closes #1113

See merge request !1840
parents 2739b59f 07514f73
No related branches found
No related tags found
3 merge requests!1895Development,!1874Development,!1840Resolve "Fix Assoziator"
...@@ -14,13 +14,25 @@ class Assoziator extends Controller ...@@ -14,13 +14,25 @@ class Assoziator extends Controller
return redirect(LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/asso')); return redirect(LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/asso'));
} }
$url = "https://metager.de/meta/meta.ger3?eingabe=" . urlencode($eingabe) . "&out=atom10&key=test"; $params = [
"eingabe" => $eingabe,
"out" => "atom10",
"key" => env("ASSO_KEY", "test"),
];
$url = route("resultpage", $params);
# Special Case for local development as the port forwarding does not work within docker
if(env("APP_ENV", "") === "local" && stripos($url, "http://localhost:8080") === 0){
$url = str_replace("http://localhost:8080", "http://nginx", $url);
}
$ch = curl_init(); $ch = curl_init();
curl_setopt_array($ch, array( curl_setopt_array($ch, array(
CURLOPT_RETURNTRANSFER => 1, CURLOPT_RETURNTRANSFER => 1,
CURLOPT_USERAGENT => $_SERVER["AGENT"], CURLOPT_USERAGENT => $_SERVER["HTTP_USER_AGENT"],
CURLOPT_FOLLOWLOCATION => true, CURLOPT_FOLLOWLOCATION => true,
CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_CONNECTTIMEOUT => 10,
CURLOPT_MAXCONNECTS => 500, CURLOPT_MAXCONNECTS => 500,
...@@ -34,6 +46,11 @@ class Assoziator extends Controller ...@@ -34,6 +46,11 @@ class Assoziator extends Controller
)); ));
$response = curl_exec($ch); $response = curl_exec($ch);
if(curl_errno($ch)){
abort(500, curl_error($ch));
}
$responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $responseCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch); curl_close($ch);
...@@ -115,8 +132,9 @@ class Assoziator extends Controller ...@@ -115,8 +132,9 @@ class Assoziator extends Controller
->with('navbarFocus', 'dienste') ->with('navbarFocus', 'dienste')
->with('words', $words) ->with('words', $words)
->with('keywords', $eingabe) ->with('keywords', $eingabe)
->with('wordCount', $wordCount); ->with('wordCount', $wordCount)
->with('css', [mix('css/asso/style.css')])
->with('darkcss', [mix('css/asso/dark.css')]);;
die(var_dump($words));
} }
} }
...@@ -17,7 +17,7 @@ class BrowserVerification ...@@ -17,7 +17,7 @@ class BrowserVerification
* @param \Closure $next * @param \Closure $next
* @return mixed * @return mixed
*/ */
public function handle($request, Closure $next) public function handle($request, Closure $next, $route = "resultpage")
{ {
$bvEnabled = config("metager.metager.browserverification_enabled"); $bvEnabled = config("metager.metager.browserverification_enabled");
...@@ -42,6 +42,7 @@ class BrowserVerification ...@@ -42,6 +42,7 @@ class BrowserVerification
} }
header('X-Accel-Buffering: no'); header('X-Accel-Buffering: no');
//use parameter for middleware to skip this when using associator
if (($request->filled("loadMore") && Cache::has($request->input("loadMore"))) || app('App\Models\Key')->getStatus()) { if (($request->filled("loadMore") && Cache::has($request->input("loadMore"))) || app('App\Models\Key')->getStatus()) {
return $next($request); return $next($request);
} }
...@@ -83,7 +84,7 @@ class BrowserVerification ...@@ -83,7 +84,7 @@ class BrowserVerification
$params = $request->all(); $params = $request->all();
$params["mgv"] = $key; $params["mgv"] = $key;
$url = route("resultpage", $params); $url = route($route, $params);
echo(view('layouts.resultpage.unverifiedResultPage') echo(view('layouts.resultpage.unverifiedResultPage')
->with('url', $url) ->with('url', $url)
......
...@@ -46,6 +46,8 @@ class HumanVerification ...@@ -46,6 +46,8 @@ class HumanVerification
* If someone that uses a bot finds this out we * If someone that uses a bot finds this out we
* might have to change it at some point. * might have to change it at some point.
*/ */
//use parameter for middleware to skip this when using associator
if (!env('BOT_PROTECTION', false) || app('App\Models\Key')->getStatus()) { if (!env('BOT_PROTECTION', false) || app('App\Models\Key')->getStatus()) {
$update = false; $update = false;
return $next($request); return $next($request);
......
.reasso {
color: #fd8307;
}
tr:nth-child(odd){
background-color: #333030;
}
\ No newline at end of file
table {
width: 100%;
}
table > tbody > tr {
text-align: center;
}
tr:nth-child(odd){
background-color: #dbd8d8;
}
form div.input-group-addon button {
padding: 9px;
}
.reasso {
color: #06C;
font-size: 1.3rem;
cursor: pointer;
}
.reasso:hover {
color: red;
}
td.association {
display: flex;
align-items: center;
margin-left: 8px;
padding: 8px;
}
.asso-search-link {
margin-right: 10px;
}
\ No newline at end of file
@extends('layouts.subPages') @extends('layouts.subPages')
@section('title', $title ) @section('title', $title)
@section('content') @section('content')
<style> <h1 class="page-title">{{ trans('asso.head.1') }}</h1>
form div.input-group-addon button { <div class="card-heavy">
padding: 9px; <p>{{ trans('asso.1.1') }} <a
} href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/datenschutz') }}"
target="_blank">{{ trans('asso.1.2') }}</a>{{ trans('asso.1.3') }}.</p>
.reasso { <form method="get" class="form-inline"
color: rgb(0, 102, 204); action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), route('assoresults')) }}">
} <input type="text" class="form-control search-input-mini" placeholder="{{ trans('asso.search.placeholder') }}"
.reasso:hover { @if (isset($keywords)) value="{{ $keywords }}" @endif name="q" required autofocus /><button type="submit" class="search-btn-mini"><i
color: red; class="fa fa-search" aria-hidden="true"></i></button>
} </form>
</div>
td.association { @if (isset($words))
display: flex; <div class="card-heavy">
} <div class="table-responsive">
.asso-search-link { <table class="table">
margin-right: 10px; <caption>Assoziationen für "{{ $keywords }}"</caption>
} <thead>
</style> <tr>
<h1 class="page-title">{{ trans('asso.head.1') }}</h1> <th>#</th>
<div class="card-heavy"> <th>Assoziation</th>
<p>{{ trans('asso.1.1') }} <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), '/datenschutz') }}" target="_blank">{{ trans('asso.1.2') }}</a>{{ trans('asso.1.3') }}.</p> <th>Relevanz</th>
</tr>
<form method="post" class="form-inline"> </thead>
<input type="text" class="form-control search-input-mini" placeholder="{{ trans('asso.search.placeholder') }}" @if(isset($keywords)) value="{{$keywords}}" @endif name="q" required autofocus/><button type="submit" class="search-btn-mini"><i class="fa fa-search" aria-hidden="true"></i></button> <tbody>
</form> @php $i = 1; @endphp
</div> @foreach ($words as $key => $value)
@if(isset($words)) <tr>
<div class="card-heavy"> <td>{{ $i }}</td>
<div class="table-responsive"> <td class="association">
<table class="table"> <a class="asso-search-link"
<caption>Assoziationen für "{{ $keywords }}"</caption> href="{{ action('MetaGerSearch@search', ['eingabe' => $key]) }}"
<thead> title="{{ trans('asso.searchasso.title') }}"><i class="fa fa-search"
<tr> aria-hidden="true"></i></a>
<th>#</th> <a name="q" value="{{ $key }}" class="reasso"
<th>Assoziation</th> href="{{ route('assoresults', ['q' => $key]) }}"
<th>Relevanz</th> title="{{ trans('asso.reasso.title') }}">{{ $key }}</a>
</tr> </td>
</thead> <td>{{ round(($value / $wordCount) * 100, 2) }}%</td>
<tbody> @php $i++; @endphp
@php $i = 1; @endphp </tr>
@foreach($words as $key => $value) @endforeach
<tr> </tbody>
<td>{{ $i }}</td> </table>
<td class="association"> </div>
<a class="asso-search-link" href="{{ action('MetaGerSearch@search', ['eingabe' => $key]) }}" title="{{ trans('asso.searchasso.title') }}"><i class="fa fa-search" aria-hidden="true"></i></a> </div>
<form method="POST"> @endif
<button name="q" value="{{ $key }}" class="reasso" type="submit" title="{{ trans('asso.reasso.title') }}">{{ $key }}</button>
</form>
</td>
<td>{{ round(($value / $wordCount) * 100, 2) }}%</td>
@php $i++; @endphp
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
@endif
@endsection @endsection
...@@ -38,9 +38,11 @@ Route::group( ...@@ -38,9 +38,11 @@ Route::group(
Route::get('asso', function () { Route::get('asso', function () {
return view('assoziator.asso') return view('assoziator.asso')
->with('title', trans('titles.asso')) ->with('title', trans('titles.asso'))
->with('navbarFocus', 'dienste'); ->with('navbarFocus', 'dienste')
->with('css', [mix('css/asso/style.css')])
->with('darkcss', [mix('css/asso/dark.css')]);
}); });
Route::post('asso', 'Assoziator@asso'); Route::get('asso/meta.ger3', 'Assoziator@asso')->middleware('browserverification:assoresults', 'humanverification')->name("assoresults");
Route::get('impressum', function () { Route::get('impressum', function () {
return view('impressum') return view('impressum')
......
...@@ -55,6 +55,12 @@ mix ...@@ -55,6 +55,12 @@ mix
.less("resources/less/metager/pages/count/style.less", "public/css/count/style.css", { .less("resources/less/metager/pages/count/style.less", "public/css/count/style.css", {
strictMath: true strictMath: true
}) })
.less("resources/less/metager/pages/asso/style-dark.less", "public/css/asso/dark.css", {
strictMath: true
})
.less("resources/less/metager/pages/asso/style.less", "public/css/asso/style.css", {
strictMath: true
})
.less("resources/less/metager/pages/spende/danke.less", "public/css/spende/danke.css", { .less("resources/less/metager/pages/spende/danke.less", "public/css/spende/danke.css", {
strictMath: true strictMath: true
}) })
......
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