diff --git a/app/Http/Controllers/AdminInterface.php b/app/Http/Controllers/AdminInterface.php index c6eb5d77166be4d393d3be2759bffa340f8c7fc3..5a626ecf863c97cf3ba11568620911c5f5378cd1 100644 --- a/app/Http/Controllers/AdminInterface.php +++ b/app/Http/Controllers/AdminInterface.php @@ -6,6 +6,7 @@ use Illuminate\Http\Request; use App\Http\Requests; use Redis; +use Response; class AdminInterface extends Controller { @@ -36,9 +37,71 @@ class AdminInterface extends Controller } #$data = [ 5 => "majm", 2 => "mngsn", 7 => "akljsd"]; #arsort($data); - return view('admin') + return view('admin.admin') ->with('data', $data) ->with('title', "Admin-Interface-MetaGer") ->with('time', $time); } + + public function count() + { + $logToday = "mg3.log"; + if(file_exists("/var/log/metager/".$logToday)) + { + $logToday = file("/var/log/metager/".$logToday); + }else + { + return redirect(''); + } + $oldLogs = []; + $yesterday = 0; + $rekordTag = 0; + $rekordTagDate = ""; + $size = 0; + $count = 0; + for($i = 1; $i <= 28; $i ++ ) + { + $logDate = "/var/log/metager/archive/mg3.log.$i"; + if( file_exists($logDate) ) + { + $sameTime = exec("grep -n '" . date('H') . ":" . date('i') . ":' $logDate | tail -1 | cut -f1 -d':'"); + $insgesamt = exec("wc -l $logDate | cut -f1 -d' '"); + if($insgesamt > $rekordTag) + { + $rekordTag = $insgesamt; + $rekordTagSameTime = $sameTime; + $rekordTagDate = date("d.m.Y", mktime(date("H"),date("i"), date("s"), date("m"), date("d")-$i, date("Y"))); + } + $oldLogs[$i]['sameTime'] = $sameTime; + $oldLogs[$i]['insgesamt'] = $insgesamt; + # Nun noch den median: + $count += $insgesamt; + $size++; + if($size > 0) + $oldLogs[$i]['median'] = ($count/$size); + } + } + + + return view('admin.count') + ->with('title', 'Suchanfragen - MetaGer') + ->with('today', number_format(floatval(sizeof($logToday)), 0, ",", ".")) + ->with('oldLogs', $oldLogs) + ->with('rekordCount', number_format(floatval($rekordTag), 0, ",", ".")) + ->with('rekordTagSameTime', number_format(floatval($rekordTagSameTime), 0, ",", ".")) + ->with('rekordDate', $rekordTagDate); + } + public function check () + { + $q = ""; + $logFile = "/var/log/metager/mg3.log"; + if( file_exists($logFile) ) + { + $q = exec("tail -n 1 $logFile"); + $q = substr($q, strpos($q, "search=")+7); + } + return view('admin.check') + ->with('title', 'Wer sucht was? - MetaGer') + ->with('q', $q); + } } diff --git a/app/Http/routes.php b/app/Http/routes.php index 5f4820a68d006e0ea0e1b0eebe0ac1d4b86b662b..fa340204a80d07cd26e25e832090a987b14431ff 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -115,6 +115,8 @@ }); Route::get('admin', 'AdminInterface@index'); + Route::get('admin/count', 'AdminInterface@count'); + Route::get('admin/check', 'AdminInterface@check'); Route::get('settings', 'StartpageController@loadSettings'); diff --git a/app/MetaGer.php b/app/MetaGer.php index 03679ee9529412a4e0eb152413995b8a348974d2..1896a8255655c673f538cdde5b173f67fdeaae16 100644 --- a/app/MetaGer.php +++ b/app/MetaGer.php @@ -152,7 +152,7 @@ class MetaGer private function createLogs() { $redis = Redis::connection('redisLogs'); - if( $redis ) + try { $logEntry = ""; $logEntry .= "[" . date(DATE_RFC822, mktime(date("H"),date("i"), date("s"), date("m"), date("d"), date("Y"))) . "]"; @@ -165,7 +165,8 @@ class MetaGer .$this->request->header('HTTP_LANGUAGE') .$this->request->header('User-Agent') .$this->request->header('Keep-Alive') - .$this->request->header('X-Forwarded-For')); + .$this->request->header('X-Forwarded-For') + .date("H")); # Wichtig!! Den Parameter um die aktuelle Stunde erweitern. Ansonsten wäre die anonId dauerhaft einem Nutzer zuzuordnen. $logEntry .= " anonId=$anonId"; $logEntry .= " ref=" . $this->request->header('Referer'); $useragent = $this->request->header('User-Agent'); @@ -176,6 +177,9 @@ class MetaGer $logEntry .= " iter= mm= time=" . round((microtime(true)-$this->starttime), 2) . " serv=" . $this->fokus . " which= hits= stringSearch= QuickTips= SSS= check="; $logEntry .= " search=" . $this->eingabe; $redis->rpush('logs.search', $logEntry); + }catch( \Exception $e) + { + return; } } diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 775130e3a86c242e9874cf01037b2e4ef351ee17..9538eae6c059b361aa3a5c301c2a36b472215a58 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -28,25 +28,32 @@ class AppServiceProvider extends ServiceProvider $today = strtotime(date(DATE_RFC822, mktime(0,0,0, date("m"), date("d"), date("Y")))); $end = strtotime(date(DATE_RFC822, mktime(date("H"),date("i"), date("s"), date("m"), date("d"), date("Y")))) - $today; $expireAt = strtotime(date(DATE_RFC822, mktime(0,0,0, date("m"), date("d")+1, date("Y")))); - $redis = Redis::connection('redisLogs'); - $p = getmypid(); - $host = gethostname(); - $begin = $this->begin - $today; - $redis->pipeline(function($pipe) use ($p, $expireAt, $host, $begin, $end) - { - for( $i = $begin; $i <= $end; $i++) + try{ + $redis = Redis::connection('redisLogs'); + if( !$redis ) + return; + $p = getmypid(); + $host = gethostname(); + $begin = $this->begin - $today; + $redis->pipeline(function($pipe) use ($p, $expireAt, $host, $begin, $end) { - $pipe->sadd("logs.worker.$host.$i", strval($p)); - $pipe->expire("logs.worker.$host.$i", 10); - $pipe->eval("redis.call('hset', 'logs.worker.$host', '$i', redis.call('scard', 'logs.worker.$host.$i'))", 0); - $pipe->sadd("logs.worker", $host); - if( date("H") !== 0 ) + for( $i = $begin; $i <= $end; $i++) { - $pipe->expire("logs.worker.$host", $expireAt); - $pipe->expire("logs.worker", $expireAt); + $pipe->sadd("logs.worker.$host.$i", strval($p)); + $pipe->expire("logs.worker.$host.$i", 10); + $pipe->eval("redis.call('hset', 'logs.worker.$host', '$i', redis.call('scard', 'logs.worker.$host.$i'))", 0); + $pipe->sadd("logs.worker", $host); + if( date("H") !== 0 ) + { + $pipe->expire("logs.worker.$host", $expireAt); + $pipe->expire("logs.worker", $expireAt); + } } - } - }); + }); + }catch( \Exception $e) + { + return; + } }); } diff --git a/public/js/scriptStartPage.js b/public/js/scriptStartPage.js index 900ddd42d705a7d840d36d0ac16c8b7f703283f7..d2fff42ea6fd226190dc2294e191d2c56efdd06c 100644 --- a/public/js/scriptStartPage.js +++ b/public/js/scriptStartPage.js @@ -43,17 +43,6 @@ $(document).ready(function(){ $("#anpassen-label").click(function(){ window.location = "./settings/"; }); - - $(".cookie-box button").click(function(){ - if(localStorage) - { - localStorage.setItem("cookie", "no"); - } - }); - if( localStorage && localStorage.getItem("cookie") == "no") - { - $(".cookie-box").addClass("hidden"); - } }); /* diff --git a/resources/views/admin.blade.php b/resources/views/admin/admin.blade.php similarity index 100% rename from resources/views/admin.blade.php rename to resources/views/admin/admin.blade.php diff --git a/resources/views/admin/check.blade.php b/resources/views/admin/check.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..e45d105e3d33a85709a30be3123e8a435b0eae1d --- /dev/null +++ b/resources/views/admin/check.blade.php @@ -0,0 +1,9 @@ +@extends('layouts.subPages') + +@section('title', $title ) + +@section('content') +<h1>Die letzte durchgeführte Suchanfrage bei MetaGer war:</h1> +<h2><span class="text-danger">{{ $q }}</span></h2> +<h3>Die gleiche Suche auf <a href="{{ action('MetaGerSearch@search') }}?eingabe={{ urlencode($q) }}&encoding=utf8&focus=web&lang=all" target="_blank">MetaGer</a>, oder <a href="https://www.google.de/?gws_rd=ssl#q={{ urlencode($q) }}" target="_blank">Google</a> durchführen.</h3> +@endsection \ No newline at end of file diff --git a/resources/views/admin/count.blade.php b/resources/views/admin/count.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..556645e6471bb79b8e99e98f1c8961185ab34e3d --- /dev/null +++ b/resources/views/admin/count.blade.php @@ -0,0 +1,36 @@ +@extends('layouts.subPages') + +@section('title', $title ) + +@section('content') +<h2>{{ exec("uptime") }}</h2> +<table class="table table-striped"> + <caption>Daten der letzten Tage</caption> + <tr> + <th>Datum</th> + <th>Suchanfragen zur gleichen Zeit</th> + <th>Suchanfragen insgesamt</th> + <th>Mittelwert</th> + </tr> + @if( isset($today) ) + <tr> + <td>{{ date(DATE_RFC822, mktime(date("H"),date("i"), date("s"), date("m"), date("d"), date("Y"))) }}</td> + <td>{{ $today }}</td> + <td>???</td> + <td>???</td> + </tr> + @endif + @foreach($oldLogs as $key => $value) + <tr> + <td>{{ date(DATE_RFC822, mktime(date("H"),date("i"), date("s"), date("m"), date("d")-$key, date("Y"))) }}</td> + <td>{{ $value['sameTime'] }}</td> + <td>{{ $value['insgesamt'] }}</td> + <td>{{ $value['median'] }}</td> + </tr> + @endforeach +</table> + +@if( isset($rekordDate) && isset($rekordTagSameTime) && isset($rekordCount) ) +<h3>Rekord am {{ $rekordDate }} zur gleichen Zeit <span class="text-info">{{ $rekordTagSameTime }}</span> - insgesamt <span class="text-danger">{{ $rekordCount }}</span></h3> +@endif +@endsection \ No newline at end of file diff --git a/resources/views/datenschutz.blade.php b/resources/views/datenschutz.blade.php index e0157df3ca976e1803bb4b6a05b27e59d4abca3c..80e12b17d824a10e8f49896a050ac6c74e70eebe 100644 --- a/resources/views/datenschutz.blade.php +++ b/resources/views/datenschutz.blade.php @@ -14,10 +14,6 @@ </li> <li > {{ trans('datenschutz.policy.5') }} - <ul class="bg-info text-info" style="text-align: left;"> - <li>In der Zeit vom 07.07.2016 bis 15.07.2016 stellen wir unsere Serverkonfiguration auf ein verteiltes System um. Während dieser Umstellungszeit müssen wir hierfür einen Cookie setzen, der beschreibt, welcher Server welche Abfrage zu bearbeiten hat; in diesem Cookie werden keinerlei personenbeziehbaren Daten gespeichert, sondern lediglich eine Ziffer, welche den Antwort-Server referenziert (Sie können das in Ihrem Cookie nachprüfen). Spätestens nach oben genanntem Umstellungszeitraum verschwindet der Cookie wieder. -</li> - </ul> </li> <li>{{ trans('datenschutz.policy.6') }}</li> <li>{{ trans('datenschutz.policy.7') }} <a href="http://forum.suma-ev.de/viewtopic.php?f=3&t=43&sid=c994b628153235dfef098ba6fea3d60e" target="_blank">{{ trans('datenschutz.policy.8') }}</a></li> diff --git a/resources/views/layouts/staticPages.blade.php b/resources/views/layouts/staticPages.blade.php index 4fae746a981767090ff7fe70b4581059895d1690..346de8e0fff844a4bc95bb91ee835457be87d0d1 100644 --- a/resources/views/layouts/staticPages.blade.php +++ b/resources/views/layouts/staticPages.blade.php @@ -121,13 +121,6 @@ @endforeach @endif <!--[if lte IE 8]><script type="text/javascript" src="/js/html5shiv.min.js"></script><![endif]--> - </div> - <div class="alert alert-info alert-dismissible cookie-box" role="alert" style="position:fixed; width:100%; bottom:0;"> - <button type="button" class="close" data-dismiss="alert" aria-label="Close"> - <span aria-hidden="true">×</span> - </button> - In der Zeit vom 07.07.2016 bis 15.07.2016 führen wir Wartungsarbeiten durch, die das Setzen eines nicht identifizierenden Cookies für diesen Zeitraum unvermeidbar machen. Weitere Informationen finden Sie auf unserer <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/datenschutz#cookie") }}">Datenschutz-Seite</a>. - </div> - + </div> </body> </html> diff --git a/storage/app/public/_ads.txt b/storage/app/public/_ads.txt deleted file mode 100755 index 0bedeb86095ae3c1523c0abec30b210af2e3e467..0000000000000000000000000000000000000000 --- a/storage/app/public/_ads.txt +++ /dev/null @@ -1,8 +0,0 @@ -[ - { - "title" : "MetaGer4You:", - "descr" : "Wenn in Ihrer Firma täglich viele verschiedene Datenbanken und Suchdienste abzufragen sind - warum machen Sie es nicht einfacher? WIR programmieren Ihnen IHRE Metasuche nach Ihren Anforderungen! Fragen Sie uns: <a href=\"mailto:office@suma-ev.de\">office@suma-ev.de</a>", - "URL" : "mailto:office@suma-ev.de" - - } -] \ No newline at end of file diff --git a/storage/app/public/ads.txt b/storage/app/public/ads.txt old mode 100644 new mode 100755 index a35bbb4b9dfd9cdc7ef5708e6bb34d3f346f2a39..0bedeb86095ae3c1523c0abec30b210af2e3e467 --- a/storage/app/public/ads.txt +++ b/storage/app/public/ads.txt @@ -1,7 +1,8 @@ [ { - "title" : "Hinweis:", - "descr" : "In der Zeit vom 07.07.2016 bis 15.07.2016 führen wir Wartungsarbeiten durch, die das Setzen eines nicht identifizierenden Cookies für diesen Zeitraum unvermeidbar machen. Weitere Informationen finden Sie auf unserer <a href=\"/datenschutz#cookie\" target=\"_blank\">Datenschutz-Seite</a>.", - "URL" : "/datenschutz#cookie" + "title" : "MetaGer4You:", + "descr" : "Wenn in Ihrer Firma täglich viele verschiedene Datenbanken und Suchdienste abzufragen sind - warum machen Sie es nicht einfacher? WIR programmieren Ihnen IHRE Metasuche nach Ihren Anforderungen! Fragen Sie uns: <a href=\"mailto:office@suma-ev.de\">office@suma-ev.de</a>", + "URL" : "mailto:office@suma-ev.de" + } ] \ No newline at end of file