diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2e06f408921f0740dbbe286087a5d5d50dc7ea2f..95aedbd35282e0f616398b7c969c15863d81118c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,22 +17,59 @@ update(144.76.113.134): - git clone "$path" MetaGer_neu - cd MetaGer_neu - composer install - - scp metager@metager3.de:~/.env . - - scp metager@metager3.de:~/sumas.xml config/ - - scp metager@metager3.de:~/sumasEn.xml config/ - - scp metager@metager3.de:~/blacklistUrl.txt config/ - - scp metager@metager3.de:~/blacklistDomains.txt config/ + - scp -P 63824 metager@metager3.de:~/.env . + - scp -P 63824 metager@metager3.de:~/sumas.xml config/ + - scp -P 63824 metager@metager3.de:~/sumasEn.xml config/ + - scp -P 63824 metager@metager3.de:~/blacklistUrl.txt config/ + - scp -P 63824 metager@metager3.de:~/blacklistDomains.txt config/ - touch storage/logs/laravel.log - touch storage/logs/worker.log - chmod 777 config/sumas.xml config/sumasEn.xml database/metager.sqlite - chmod -R 777 storage - chmod -R 777 bootstrap/cache - - php ~/MetaGer/artisan down + - if [ -f ~/MetaGer/artisan ]; then php ~/MetaGer/artisan down;fi - cd ~/ - - rm -rf MetaGer + - while [ -d ~/MetaGer ]; do rm -rf ~/MetaGer;done - mv MetaGer_neu MetaGer - - php ~/MetaGer/artisan queue:restart - php ~/MetaGer/artisan migrate --force + - sudo pkill --signal SIGHUP supervisord + - php ~/MetaGer/artisan up + +update(metager2): + tags: + - metager2 + only: + - master + before_script: + # Abhängigkeiten überprüfen + - which composer + - which git + - which php7.0 + - which sqlite3 + script: + # Pfad zum neu geklonten Repo + - path=`pwd` + - cd ~/ + - if [ -d MetaGer_neu ]; then rm -rf MetaGer_neu;fi + - git clone "$path" MetaGer_neu + - cd MetaGer_neu + - composer install + - scp -P 63824 metager@metager3.de:~/.env . + - scp -P 63824 metager@metager3.de:~/sumas.xml config/ + - scp -P 63824 metager@metager3.de:~/sumasEn.xml config/ + - scp -P 63824 metager@metager3.de:~/blacklistUrl.txt config/ + - scp -P 63824 metager@metager3.de:~/blacklistDomains.txt config/ + - touch storage/logs/laravel.log + - touch storage/logs/worker.log + - chmod 777 config/sumas.xml config/sumasEn.xml database/metager.sqlite + - chmod -R 777 storage + - chmod -R 777 bootstrap/cache + - if [ -f ~/MetaGer/artisan ]; then php ~/MetaGer/artisan down;fi + - cd ~/ + - while [ -d ~/MetaGer ]; do rm -rf ~/MetaGer;done + - mv MetaGer_neu MetaGer + - php ~/MetaGer/artisan migrate --force + - sudo pkill --signal SIGHUP supervisord - php ~/MetaGer/artisan up update(metager3.de): @@ -54,20 +91,20 @@ update(metager3.de): - git clone "$path" MetaGer_neu - cd MetaGer_neu - composer install - - scp metager@metager3.de:~/.env . - - scp metager@metager3.de:~/sumas.xml config/ - - scp metager@metager3.de:~/sumasEn.xml config/ - - scp metager@metager3.de:~/blacklistUrl.txt config/ - - scp metager@metager3.de:~/blacklistDomains.txt config/ + - scp -P 63824 metager@metager3.de:~/.env . + - scp -P 63824 metager@metager3.de:~/sumas.xml config/ + - scp -P 63824 metager@metager3.de:~/sumasEn.xml config/ + - scp -P 63824 metager@metager3.de:~/blacklistUrl.txt config/ + - scp -P 63824 metager@metager3.de:~/blacklistDomains.txt config/ - touch storage/logs/laravel.log - touch storage/logs/worker.log - chmod 777 config/sumas.xml config/sumasEn.xml database/metager.sqlite - chmod -R 777 storage - chmod -R 777 bootstrap/cache - - php ~/MetaGer/artisan down + - if [ -f ~/MetaGer/artisan ]; then php ~/MetaGer/artisan down;fi - cd ~/ - - rm -rf MetaGer + - while [ -d ~/MetaGer ]; do rm -rf ~/MetaGer;done - mv MetaGer_neu MetaGer - - php ~/MetaGer/artisan queue:restart - php ~/MetaGer/artisan migrate --force + - sudo pkill --signal SIGHUP supervisord - php ~/MetaGer/artisan up \ No newline at end of file diff --git a/app/Http/Controllers/AdminInterface.php b/app/Http/Controllers/AdminInterface.php index 97f88236e71ebc61ac042ba925d99f3b68e1ea04..5a626ecf863c97cf3ba11568620911c5f5378cd1 100644 --- a/app/Http/Controllers/AdminInterface.php +++ b/app/Http/Controllers/AdminInterface.php @@ -57,9 +57,11 @@ class AdminInterface extends Controller $yesterday = 0; $rekordTag = 0; $rekordTagDate = ""; + $size = 0; + $count = 0; for($i = 1; $i <= 28; $i ++ ) { - $logDate = "/var/log/metager/archive/" . "mg3.log.$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':'"); @@ -72,69 +74,22 @@ class AdminInterface extends Controller } $oldLogs[$i]['sameTime'] = $sameTime; $oldLogs[$i]['insgesamt'] = $insgesamt; - } - } - - $median = []; - # Median für 7 Tage: - $size = 0; - $count = 0; - for($i = 1; $i <= 7; $i++) - { - if( isset($oldLogs[$i]) ) - { - $count += $oldLogs[$i]['insgesamt']; + # Nun noch den median: + $count += $insgesamt; $size++; + if($size > 0) + $oldLogs[$i]['median'] = ($count/$size); } } - $median[7] = ($count/$size); - # Median für 14 Tage: - $size = 0; - $count = 0; - for($i = 1; $i <= 14; $i++) - { - if( isset($oldLogs[$i]) ) - { - $count += $oldLogs[$i]['insgesamt']; - $size++; - } - } - $median[14] = ($count/$size); - # Median für 21 Tage: - $size = 0; - $count = 0; - for($i = 1; $i <= 21; $i++) - { - if( isset($oldLogs[$i]) ) - { - $count += $oldLogs[$i]['insgesamt']; - $size++; - } - } - $median[21] = ($count/$size); - - # Median für 28 Tage: - $size = 0; - $count = 0; - for($i = 1; $i <= 28; $i++) - { - if( isset($oldLogs[$i]) ) - { - $count += $oldLogs[$i]['insgesamt']; - $size++; - } - } - $median[28] = ($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) - ->with('median', $median); + ->with('rekordDate', $rekordTagDate); } public function check () { diff --git a/app/Http/Controllers/MailController.php b/app/Http/Controllers/MailController.php index f170a9101c182a7a2f325380c5585575c60dc0d7..a914ea40bea5f0157db2778bd0096fa74700ba87 100644 --- a/app/Http/Controllers/MailController.php +++ b/app/Http/Controllers/MailController.php @@ -32,12 +32,12 @@ class MailController extends Controller }else{ # Wir versenden die Mail des Benutzers an uns: $message = $request->input('message'); - - if( Mail::send(['text' => 'kontakt.mail'], ['messageText'=>$message], function($message) use($replyTo){ + $subject = "[Ticket " . date("Y") . date("d") . date("m") . date("H") . date("i") . date("s") . "] MetaGer - Kontaktanfrage"; + if( Mail::send(['text' => 'kontakt.mail'], ['messageText'=>$message], function($message) use($replyTo, $subject){ $message->to("office@suma-ev.de", $name = null); $message->from($replyTo, $name = null); $message->replyTo($replyTo, $name = null); - $message->subject("MetaGer - Kontaktanfrage"); + $message->subject($subject); }) ){ # Mail erfolgreich gesendet $messageType = "success"; @@ -76,11 +76,11 @@ class MailController extends Controller $messageToUser = "Sie haben eins der folgenden Felder nicht ausgefüllt: IBAN, BIC, Nachricht. Bitte korrigieren Sie Ihre Eingabe und versuchen es erneut.\n"; $messageType = "error"; }else{ - $message = "\r\n Name:" . $request->input('Name', 'Keine Angabe'); - $message .= "\r\n Telefon:" . $request->input('Telefon', 'Keine Angabe'); - $message .= "\r\n Kontonummer:" . $request->input('Kontonummer'); - $message .= "\r\n Bankleitzahl:" . $request->input('Bankleitzahl'); - $message .= "\r\n Nachricht:" . $request->input('Nachricht'); + $message = "\r\nName: " . $request->input('Name', 'Keine Angabe'); + $message .= "\r\nTelefon: " . $request->input('Telefon', 'Keine Angabe'); + $message .= "\r\nKontonummer: " . $request->input('Kontonummer'); + $message .= "\r\nBankleitzahl: " . $request->input('Bankleitzahl'); + $message .= "\r\nNachricht: " . $request->input('Nachricht'); $replyTo = $request->input('email', 'anonymous-user@metager.de'); if (!filter_var($replyTo, FILTER_VALIDATE_EMAIL)) { @@ -107,7 +107,7 @@ class MailController extends Controller } - return view('spende') + return view('spende.spende') ->with('title', 'Kontakt') ->with('css', 'donation.css') ->with($messageType,$messageToUser); diff --git a/app/Http/Controllers/MetaGerSearch.php b/app/Http/Controllers/MetaGerSearch.php index 48a24e206e5b5e5f9eb7e01378254a5a31e57fa3..d1b179e30ee8b9040ea413a9ff117767eb76903a 100644 --- a/app/Http/Controllers/MetaGerSearch.php +++ b/app/Http/Controllers/MetaGerSearch.php @@ -32,8 +32,7 @@ class MetaGerSearch extends Controller # Ergebnisse der Suchmaschinen kombinieren: $metager->combineResults(); - - $metager->removeInvalids(); + # Die Ausgabe erstellen: return $metager->createView(); } diff --git a/app/Http/Controllers/Pictureproxy.php b/app/Http/Controllers/Pictureproxy.php index efcea2918e4dcd3a2f12cf2d2d6a71aae8591988..45312e78ead26b4110d6f72bbe6f05e0a1cee712 100644 --- a/app/Http/Controllers/Pictureproxy.php +++ b/app/Http/Controllers/Pictureproxy.php @@ -17,19 +17,24 @@ class Pictureproxy extends Controller function get(Request $request) { if( $request->has('url') ) { - $file = file_get_contents($request->input('url')); - $responseCode = explode(" ", $http_response_header[0])[1]; - $contentType = ""; - foreach($http_response_header as $header) - { - if( strpos($header, "Content-Type:") === 0) + try{ + $file = file_get_contents($request->input('url')); + $responseCode = explode(" ", $http_response_header[0])[1]; + $contentType = ""; + foreach($http_response_header as $header) { - $tmp = explode(": ", $header); - $contentType = $tmp[1]; + if( strpos($header, "Content-Type:") === 0) + { + $tmp = explode(": ", $header); + $contentType = $tmp[1]; + } } + $response = Response::make($file, $responseCode); + $response->header('Content-Type', $contentType); + }catch(\ErrorException $e) + { + $response = Response::make("", 404); } - $response = Response::make($file, $responseCode); - $response->header('Content-Type', $contentType); return $response; } } diff --git a/app/Http/Controllers/StartpageController.php b/app/Http/Controllers/StartpageController.php index 59c9261a91f328915813b4097c7fe5a4102a13ed..6a22e7a6f3e4aa3c13279bedcbd179a3efcb7863 100644 --- a/app/Http/Controllers/StartpageController.php +++ b/app/Http/Controllers/StartpageController.php @@ -110,7 +110,7 @@ class StartpageController extends Controller { $sumaFile = ""; if(App::isLocale('en')) - $sumaFile = config_path() . "/sumasEn.xml"; + $sumaFile = config_path() . "/sumas.xml"; else $sumaFile = config_path() . "/sumas.xml"; diff --git a/app/Http/routes.php b/app/Http/routes.php index fa340204a80d07cd26e25e832090a987b14431ff..0e24294b234f31f1d08f4a89dc0f5b146a8f5d5a 100644 --- a/app/Http/routes.php +++ b/app/Http/routes.php @@ -72,14 +72,34 @@ }); Route::get('spende', function() { - return view('spende') + return view('spende.spende') ->with('title', trans('titles.spende')) ->with('css', 'donation.css') ->with('navbarFocus', 'foerdern'); }); - + + Route::get('beitritt', function () + { + return view('spende.beitritt') + ->with('title', trans('titles.beitritt')) + ->with('css', 'beitritt.css') + ->with('navbarFocus', 'foerdern'); + }); + + Route::get('bform1.htm', function() + { + return redirect('beitritt'); + }); + Route::get('spendenaufruf', function() + { + return view('spende.spendenaufruf') + ->with('title', 'Spendenaufruf - MetaGer') + ->with('navbarFocus', 'foerdern'); + }); + Route::post('spende', 'MailController@donation'); + Route::get('datenschutz', function() { return view('datenschutz') @@ -128,4 +148,8 @@ Route::get('qt', 'MetaGerSearch@quicktips'); Route::get('tips', 'MetaGerSearch@tips'); Route::get('opensearch.xml', 'StartpageController@loadPlugin'); + Route::get('owi', function() + { + return redirect('https://metager.de/klassik/en/owi/'); + }); }); diff --git a/app/Jobs/Search.php b/app/Jobs/Search.php index 6575b54f3649997b6c8fc9c22e1ac77afad29843..62fc6b289a31bca00015f1d3e6a7397b3f9ef57b 100644 --- a/app/Jobs/Search.php +++ b/app/Jobs/Search.php @@ -83,7 +83,7 @@ class Search extends Job implements ShouldQueue break; } if( sizeof(($tmp = explode(": ", $data))) === 2 ) - $headers[trim($tmp[0])] = trim($tmp[1]); + $headers[strtolower(trim($tmp[0]))] = trim($tmp[1]); $c++; } while (true); @@ -91,13 +91,13 @@ class Search extends Job implements ShouldQueue // end of headers if(sizeof($headers) > 1){ $bodySize = 0; - if( isset($headers["Transfer-Encoding"]) && $headers["Transfer-Encoding"] === "chunked" ) + if( isset($headers["transfer-encoding"]) && $headers["transfer-encoding"] === "chunked" ) { $body = $this->readChunked(); - }elseif( isset($headers['Content-Length']) ) + }elseif( isset($headers['content-length']) ) { - $length = trim($headers['Content-Length']); + $length = trim($headers['content-length']); if(is_numeric($length) && $length >= 1) $body = $this->readBody($length); $bodySize = strlen($body); @@ -111,7 +111,7 @@ class Search extends Job implements ShouldQueue } Redis::del($this->host . "." . $this->socketNumber); - if( isset($headers["Content-Encoding"]) && $headers['Content-Encoding'] === "gzip") + if( isset($headers["content-encoding"]) && $headers['content-encoding'] === "gzip") { $body = $this->gunzip($body); } diff --git a/app/MetaGer.php b/app/MetaGer.php index 8794d78262c56b5f4b401535bcd46f0580716584..11b94096d4e6b8086617a67327ab0c3d2394f33d 100644 --- a/app/MetaGer.php +++ b/app/MetaGer.php @@ -29,6 +29,7 @@ class MetaGer protected $hostBlacklist = []; protected $domainBlacklist = []; protected $stopWords = []; + protected $phrases = []; protected $engines = []; protected $results = []; protected $ads = []; @@ -152,7 +153,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"))) . "]"; @@ -177,6 +178,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; } } @@ -267,6 +271,7 @@ class MetaGer $this->results = $paginatedSearchResults; + $this->validated = false; if( isset($this->password) ) { # Wir bieten einen bezahlten API-Zugriff an, bei dem dementsprechend die Werbung ausgeblendet wurde: @@ -277,6 +282,7 @@ class MetaGer if( $this->password === $password ) { $this->ads = []; + $this->validated = true; } } } @@ -388,7 +394,7 @@ class MetaGer } if( $enginesWithSite === 0 ) { - $this->errors[] = "Sie wollten eine Sitesearch auf " . $this->site . " durchführen. Leider unterstützen die eingestellten Suchmaschinen diese nicht. Sie können <a href=\"" . $this->generateSearchLink("web", false) . "\">hier</a> die Sitesearch im Web-FoKus durchführen. Es werden ihnen Ergebnisse ohne Sitesearch angezeigt."; + $this->errors[] = "Sie wollten eine Sitesearch auf " . $this->site . " durchführen. Leider unterstützen die eingestellten Suchmaschinen diese nicht. Sie können <a href=\"" . $this->generateSearchLink("web", false) . "\">hier</a> die Sitesearch im Web-Fokus durchführen. Es werden ihnen Ergebnisse ohne Sitesearch angezeigt."; $siteSearchFailed = true; }else { @@ -505,7 +511,7 @@ class MetaGer # SUMA-FILE if(App::isLocale("en")){ - $this->sumaFile = config_path() . "/sumasEn.xml"; + $this->sumaFile = config_path() . "/sumas.xml"; }else{ $this->sumaFile = config_path() . "/sumas.xml"; } @@ -693,9 +699,19 @@ class MetaGer } # Meldung über eine Phrasensuche - if(preg_match("/\"(.+)\"/si", $this->q, $match)){ - $this->warnings[] = "Sie führen eine Phrasensuche durch: \"" . $match[1] . "\""; + $p = ""; + $tmp = $this->q; + while(preg_match("/(.*)\"(.+)\"(.*)/si", $tmp, $match)){ + $tmp = $match[1] . $match[3]; + $this->phrases[] = strtolower($match[2]); } + foreach($this->phrases as $phrase) + { + $p .= "\"$phrase\", "; + } + $p = rtrim($p, ", "); + if(sizeof($this->phrases) > 0) + $this->warnings[] = "Sie führen eine Phrasensuche durch: $p"; } public function getFokus () @@ -747,6 +763,11 @@ class MetaGer return $this->category; } + public function getPhrases () + { + return $this->phrases; + } + public function getSumaFile () { return $this->sumaFile; @@ -824,6 +845,8 @@ class MetaGer $requestData['focus'] = $fokus; if($results) $requestData['out'] = "results"; + else + $requestData['out'] = ""; $link = action('MetaGerSearch@search', $requestData); return $link; } diff --git a/app/Models/Forwarder.php b/app/Models/Forwarder.php deleted file mode 100644 index 57cd1fc129b97f88ae6c1cf196ec89dba6709110..0000000000000000000000000000000000000000 --- a/app/Models/Forwarder.php +++ /dev/null @@ -1,69 +0,0 @@ -<?php - -namespace App\MetaGer; - -use App\lib\Redis; - -class Forwarder -{ - public static function getFreeServer() - { - # Variablen Deklarationen: - $host = $_SERVER["SERVER_NAME"]; # Dieser Server ist der Host für den Redis-Server - $redis; # In diesem Objekt erhalten wir Zugriff auf die Redis-Datenbank (Redis) - $cfg; # In diesem Objekt erhalten wir Zugriff auf unsere Konfiguration (Config::Simple) - $servers; # Beinhaltet später eine Liste, aller verbundenen Server, an die wir die Anfrage schicken können - $server; - $protocol; # Beinhaltet später den Server ( und sein Protokoll ), der die Suchanfrage tatsächlich beantworten soll - $result; - - # Load Config File; - $cfg = parse_ini_file(config_path() . '/metager.ini', TRUE); - - # Connect to our Redis Server - try { - $redis = new Redis($host, $cfg['redis']['port']); - } catch(\Exception $e){ - $redis = new Redis($cfg['redis']['server'], $cfg['redis']['port']); - } - $response = $redis->cmd('auth', $cfg['redis']['password'] )->get(); - if($response !== "OK"){ - die("Couldn't authenticate to Redis Server"); - } - - # Fill $servers Array from Redis: - $serversArray = self::indexedToAssociative($redis->cmd('hgetall', 'servers')->get()); - - foreach($serversArray as $key => $value ){ - $data = explode("\t", $value); - $age = time() - $data[0]; # Erste Stelle ist die Zeit in Sekunden, an der sich der Server das letzte Mal angemeldet hat. - if($age > 3){ - # Der Server hat sich seit 3 Sekunden nicht mehr gemeldet. Er kommt schon einmal nicht in Frage und wird aus der Datenbank geworfen: - $redis->cmd("hdel", "servers", $key)->set(); - }elseif() - } - - return time(); - # Select a matching Server: - } - - /** - * Converts an indexed Array to an Associative one - * Every Element on an even index is the Ḱey to the Element on the next uneven index - * - * @param indexedArray $array - * @return associativeArray $result - */ - private static function indexedToAssociative($array){ - $result = array(); - for($i = 0; $i < sizeof($array); $i++){ - if($i %2 === 0){ - $server = $array[$i]; - }else{ - $result[$server] = $array[$i]; - $server = ""; - } - } - return $result; - } -} \ No newline at end of file diff --git a/app/Models/Result.php b/app/Models/Result.php index 6ba3a088253d8e0adfd8862615984b61b4d8602e..275a54889578f78145e3d4a4b18b87ae8fc3f54c 100644 --- a/app/Models/Result.php +++ b/app/Models/Result.php @@ -157,30 +157,37 @@ class Result return false; } - $text = $this->titel . " " . $this->descr; - - if($metager->getLang() !== "all") + # Nun der Eventuelle Sprachfilter + if( $metager->getLang() !== "all" ) { - $result = $metager->getLanguageDetect()->detect($text, 1); - $lang = ""; - foreach($result as $key => $value) - { - $lang = $key; - } + $text = $this->titel . " " . $this->descr; + $path = app_path() . "/Models/lang.pl"; + $lang = exec("echo '$text' | $path"); - if($lang !== "" && $lang !== $metager->getLang()) + if( $metager->getLang() !== $lang ) return false; } + + # Wir wenden die Stoppwortsuche an und schmeißen entsprechende Ergebnisse raus: foreach($metager->getStopWords() as $stopWord) { + $text = $this->titel . " " . $this->descr; if(stripos($text, $stopWord) !== false) { return false; } } + # Die Strinsuche: + $text = strtolower($this->titel) . " " . strtolower($this->descr); + foreach($metager->getPhrases() as $phrase) + { + if(strpos($text, $phrase) === FALSE) + return false; + } + # Abschließend noch 2 Ãœberprüfungen. Einmal den Host filter, der Sicherstellt, dass von jedem Host maximal 3 Links angezeigt werden # und dann noch den Dublettefilter, der sicher stellt, dass wir nach Möglichkeit keinen Link doppelt in der Ergebnisliste haben # Diese Ãœberprüfung führen wir unter bestimmten Bedingungen nicht durch: @@ -247,4 +254,4 @@ class Result return "https://proxy.suma-ev.de/cgi-bin/nph-proxy.cgi/en/I0/" . $tmp; } -} \ No newline at end of file +} diff --git a/app/Models/Search.php b/app/Models/Search.php deleted file mode 100644 index 343f0ac9ec15f610f9224780f9c614751cc0724c..0000000000000000000000000000000000000000 --- a/app/Models/Search.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php - -namespace App\MetaGer; -use Illuminate\Http\Request; -use App\MetaGer\Searchengine; - -class Search -{ - - public static function loadSearchEngines(Request $request) - { - - # Ãœberprüfe, welche Sumas eingeschaltet sind - $xml = simplexml_load_file(SUMA_FILE); - $enabledSearchengines = []; - $overtureEnabled = FALSE; - - if(FOKUS === "angepasst") - { - $sumas = $xml->xpath("suma"); - foreach($sumas as $suma) - { - if($request->has($suma["service"]) - # || ( FOKUS !== "bilder" - # && ($suma["name"]->__toString() === "qualigo" - # || $suma["name"]->__toString() === "similar_product_ads" - # || ( !$overtureEnabled && $suma["name"]->__toString() === "overtureAds" ) - # ) - # ) - ){ - if($suma["name"]->__toString() === "overture") - { - $overtureEnabled = TRUE; - } - $enabledSearchengines[] = $suma; - } - } - }else{ - $sumas = $xml->xpath("suma"); - foreach($sumas as $suma){ - $types = explode(",",$suma["type"]); - if(in_array(FOKUS, $types) - # || ( FOKUS !== "bilder" - # && ($suma["name"]->__toString() === "qualigo" - # || $suma["name"]->__toString() === "similar_product_ads" - # || ( !$overtureEnabled && $suma["name"]->__toString() === "overtureAds" ) - # ) - # ) - ){ - if($suma["name"]->__toString() === "overture") - { - $overtureEnabled = TRUE; - } - $enabledSearchengines[] = $suma; - } - } - } - - $engines = []; - foreach($enabledSearchengines as $engine){ - $path = "App\MetaGer\parserSkripte\\" . $engine["name"]->__toString(); - $engines[] = new $path($engine); - } - - return $engines; - } -} \ No newline at end of file diff --git a/app/Models/lang.pl b/app/Models/lang.pl new file mode 100755 index 0000000000000000000000000000000000000000..fe071d8a46ced99f3f45a8b641e17d05c014f687 --- /dev/null +++ b/app/Models/lang.pl @@ -0,0 +1,10 @@ +#!/usr/bin/perl + +use Lingua::Identify qw(:language_identification); + +$text = <STDIN>; + +$a = langof($text); + +print $a; + diff --git a/app/Models/parserSkripte/Europeana.php b/app/Models/parserSkripte/Europeana.php new file mode 100644 index 0000000000000000000000000000000000000000..2da2db448e9aac4a4d10999eae634202f8222f77 --- /dev/null +++ b/app/Models/parserSkripte/Europeana.php @@ -0,0 +1,68 @@ +<?php + +namespace app\Models\parserSkripte; +use App\Models\Searchengine; +use Symfony\Component\DomCrawler\Crawler; + +class Europeana extends Searchengine +{ + public $results = []; + + function __construct (\SimpleXMLElement $engine, \App\MetaGer $metager) + { + parent::__construct($engine, $metager); + } + + public function loadResults ($result) + { + $result = preg_replace("/\r\n/si", "", $result); + try { + $content = json_decode($result); + } catch (\Exception $e) { + abort(500, "$result is not a valid json string"); + } + + if(!$content) + { + return; + } + + $results = $content->items; + foreach($results as $result) + { + if(isset($result->edmPreview)) { + $title = $result->title[0]; + + if (preg_match("/(.+)\?.*/si", $result->guid, $match)){ + $link = $match[1]; + } else { + $link = ""; + } + + $anzeigeLink = $link; + $descr = ""; + + /*if (preg_match("/(?:uri=)(.+)/si", urldecode($result->edmPreview[0]), $match)){ + $image = $match[1]; + } else { + $image = ""; + } + echo $image . " +";*/ + $image = urldecode($result->edmPreview[0]); + $this->counter++; + $this->results[] = new \App\Models\Result( + $this->engine, + $title, + $link, + $anzeigeLink, + $descr, + $this->gefVon, + $this->counter, + false, + $image + ); + } + } + } +} \ No newline at end of file diff --git a/app/Models/parserSkripte/Exalead.php b/app/Models/parserSkripte/Exalead.php index 96b930ab529f29ff404d7d4c76ad111e9b5a6d13..c558e8e49046cfbe42ef24560f57b6b409caf250 100644 --- a/app/Models/parserSkripte/Exalead.php +++ b/app/Models/parserSkripte/Exalead.php @@ -45,24 +45,29 @@ class Exalead extends Searchengine } foreach($results as $result) { - $result->registerXPathNamespace($prefix,$namespace); - $title = $result->xpath("a:metas/a:Meta[@name='title']/a:MetaString[@name='value']")[0]->__toString(); - $link = $result->xpath("a:metas/a:Meta[@name='url']/a:MetaString[@name='value']")[0]->__toString(); - $anzeigeLink = $link; - if(sizeOf($result->xpath("a:metas/a:Meta[@name='metadesc']/a:MetaString[@name='value']")) === 0) - $descr = ""; - else - $descr = $result->xpath("a:metas/a:Meta[@name='metadesc']/a:MetaString[@name='value']")[0]->__toString(); - $this->counter++; - $this->results[] = new \App\Models\Result( - $this->engine, - $title, - $link, - $anzeigeLink, - $descr, - $this->gefVon, - $this->counter - ); + try{ + $result->registerXPathNamespace($prefix,$namespace); + $title = $result->xpath("a:metas/a:Meta[@name='title']/a:MetaString[@name='value']")[0]->__toString(); + $link = $result->xpath("a:metas/a:Meta[@name='url']/a:MetaString[@name='value']")[0]->__toString(); + $anzeigeLink = $link; + if(sizeOf($result->xpath("a:metas/a:Meta[@name='metadesc']/a:MetaString[@name='value']")) === 0) + $descr = ""; + else + $descr = $result->xpath("a:metas/a:Meta[@name='metadesc']/a:MetaString[@name='value']")[0]->__toString(); + $this->counter++; + $this->results[] = new \App\Models\Result( + $this->engine, + $title, + $link, + $anzeigeLink, + $descr, + $this->gefVon, + $this->counter + ); + }catch(\ErrorException $e) + { + continue; + } } } } diff --git a/app/Models/parserSkripte/Yandex.php b/app/Models/parserSkripte/Yandex.php index 2a0366bdc32643472ef274123e37ba161b17a8c7..c3cb2d013031a0f7dc00084d3bdf90adf72ab123 100644 --- a/app/Models/parserSkripte/Yandex.php +++ b/app/Models/parserSkripte/Yandex.php @@ -39,6 +39,10 @@ class Yandex extends Searchengine $link = $result->{"doc"}->{"url"}->__toString(); $anzeigeLink = $link; $descr = strip_tags($result->{"doc"}->{"headline"}->asXML()); + if( !$descr ) + { + $descr = strip_tags($result->{"doc"}->{"passages"}->asXML()); + } $this->counter++; $this->results[] = new \App\Models\Result( $this->engine, 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/config/trustedproxy.php b/config/trustedproxy.php index 70885b4e4d1e70f47ba0c3431d70ae61c3fcd3bc..b18d7c5579091e55e94606ab5606c3d508dc65c3 100755 --- a/config/trustedproxy.php +++ b/config/trustedproxy.php @@ -17,6 +17,7 @@ return [ '5.9.157.179', '144.76.113.134', '130.75.2.6', + '144.76.182.236', ], /* diff --git a/public/2866738.html b/public/2866738.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/public/css/beitritt.css b/public/css/beitritt.css new file mode 100644 index 0000000000000000000000000000000000000000..eeb540395c67b3b243b3320a086748832f52bff6 --- /dev/null +++ b/public/css/beitritt.css @@ -0,0 +1,29 @@ +.form-group{ + text-align: left; +} + +label.non-bold{ + font-weight: normal; + font-size: 16px; +} + +ul{ + list-style-type: initial!important; + text-align: left!important; +} + +hr{ + margin: 10px 0!important; +} + +@media print +{ + .noprint {display:none!important;} + #spendenaufruf{display:none!important;} + footer{display:none!important;} + .wrapper{padding-top:0!important;} + *{font-size:12px!important;} + input[type=text], input[type=email]{padding:0!important;height:initial!important;border:0;} + h1{margin-top: 0!important; padding-top:0!important;} + .form-group{margin-bottom:10px!important;} +} diff --git a/public/css/quicktips.css b/public/css/quicktips.css index 3cda80cd19d82bda9fda26b5708acdb78b6de941..4fdce19610bb766a73ef526cecf1b24fac9c0bb6 100644 --- a/public/css/quicktips.css +++ b/public/css/quicktips.css @@ -16,10 +16,6 @@ margin-bottom:0; } -.quicktip a { - color: #00F; -} - .qtheader { font-family: verdana,arial,helvetica,sans-serif; } @@ -41,3 +37,13 @@ .author { float: right !important; } + +.quicktip h1 { + font-size: 22px; + margin-top: 0px; +} + +.quicktip.aufruf { + border-left: 3px solid #FF4000; + color: #FF4000; +} diff --git a/public/css/style.css b/public/css/style.css index e1ac2b8f72c5bc7db238fb94333486710be44a26..0a7aa04b0aca78801f491b25846bfe15ec556eff 100644 --- a/public/css/style.css +++ b/public/css/style.css @@ -88,7 +88,7 @@ section#moreInformation { body > div { background-color: transparent; - padding-top: 10%; + padding-top: 70px; } #color-chooser li { @@ -343,9 +343,15 @@ header ul li{ .mg-panel { margin: 0 auto; + margin-top:7%; padding: 10px 20px; margin-bottom: 0; background-color: white; -webkit-box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.3); -moz-box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.3); box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.3); -} \ No newline at end of file +} + + + + + diff --git a/public/css/styleResultPage.css b/public/css/styleResultPage.css index 86884153cb57deecacfa36413f6dee3fe9c7c5b7..65fb3116e89ff8dbbf432d2895abb1015723278a 100644 --- a/public/css/styleResultPage.css +++ b/public/css/styleResultPage.css @@ -300,6 +300,7 @@ a:hover } .result:not(.ad) .link > span{ white-space:nowrap; + margin: 0 5px; } .result:not(.ad) .link .options{ color: #333; @@ -312,7 +313,7 @@ a:hover color: #333; display:block; padding-left:5px; - padding-right:10px; + padding-right:5px; } .result:not(.ad) .link .options > a > span{ font-size:10px; diff --git a/public/img/aufruf.png b/public/img/aufruf.png new file mode 100644 index 0000000000000000000000000000000000000000..fc0443ff91146f0368ba0265bf40e7a9d60e3649 Binary files /dev/null and b/public/img/aufruf.png differ diff --git a/public/js/scriptResultPage.js b/public/js/scriptResultPage.js index 9af84b26388b5de2261afaf7827ec0f3b31731c6..bae64e8e5cedae5ab68f5bd28072716fe61d8ddf 100644 --- a/public/js/scriptResultPage.js +++ b/public/js/scriptResultPage.js @@ -1,18 +1,7 @@ $(document).ready(function(){ - if( top != self ){ - postSize($(document).height()); - } getDocumentReadyForUse(); }); -function postSize(height){ - var target = parent.postMessage ? parent : (parent.document.postMessage ? parent.document : undefined); - - if(typeof target != "undefined" && document.body.scrollHeight){ - target.postMessage(height, "*"); - } -} - function tabs(){ //return; $("#foki a").each(function(){ @@ -54,7 +43,7 @@ function theme(){ localStorage.removeItem("theme"); }else{ theme = theme.split(","); - $($("head link")[2]).attr("href", "/css/theme.css.php?r=" + theme[0] + "&g=" + theme[1] + "&b=" + theme[2] + "&a=" + theme[3]); + $("#theme").attr("href", "/css/theme.css.php?r=" + theme[0] + "&g=" + theme[1] + "&b=" + theme[2] + "&a=" + theme[3]); } } } diff --git a/public/js/settings.js b/public/js/settings.js index eb7c6f1f3bdbda14cdc32ccc00ced9c3586beafb..05497e3db60d236833aa2dbfb93bc68910f49394 100644 --- a/public/js/settings.js +++ b/public/js/settings.js @@ -14,11 +14,11 @@ $(document).ready(function(){ $("select").each(function(el){ localStorage.setItem($(this).attr("name"), $(this).val()); }); - document.location.href="../"; + document.location.href=$("#save").attr("data-href"); }); $("#reset").click(function(){ resetOptions(); - document.location.href="../"; + document.location.href=$("#save").attr("data-href"); }); } $(".checker").click(function(){ @@ -33,7 +33,7 @@ $(document).ready(function(){ alert("Auf der folgenden Startseite sind Ihre Einstellungen nun einmalig gespeichert. Nach Ihrer ersten Suche sind diese wieder verloren. Wenn Sie diese speichern möchten, können Sie sich allerdings ein Lesezeichnen einrichten."); }); $("#plugin").click(function(){ - $("form").attr('action', '/#plugin-modal'); + $("form").attr('action', $("#save").attr("data-href") + '#plugin-modal'); alert("Ihr Browserplugin mit den persönlichen Sucheinstellungen wurde generiert. Folgen Sie bitte der Anleitung auf der folgenden Seite um es zu installieren. Beachten Sie: Zuvor sollten Sie ein eventuell bereits installiertes MetaGer-Plugin entfernen."); }); }); diff --git a/public/robots.txt b/public/robots.txt index c0d9dfcad6d8b125c3c274a3a1c6894b5bd18ea8..5db6fc29c14eb966235857a9788509356aeaf0ee 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,6 +1,10 @@ User-agent: * Disallow: /klassik/meta/ +Disallow: /en/klassik/meta/ Disallow: /meta/ +Disallow: /en/meta/ +Disallow: /qt +Disallow: /en/qt Disallow: /domains/ Disallow: /metager3/ Disallow: /alpha/ \ No newline at end of file diff --git a/readme.md b/readme.md index 5f115efeae8c0d45435d60c6876b89d94d72a689..71413eb6d61a7452d6c8702118c02839caf60d09 100644 --- a/readme.md +++ b/readme.md @@ -2,11 +2,14 @@ MetaGer ist eine datenschutzfreundliche und freie Meta-Suchmaschine. -## Live-Version -Hinweis: Diese Open-Source Version von MetaGer ist noch nicht bereit, auf unserem Live-Server (https://metager.de) verwendet zu werden. -Während wir daran arbeiten sie soweit fertig zu stellen, dass alles exakt so funktioniert, wie in der Live-Version auch, sorgt -ein Mechanismus für den automatischen Deploy dafür, dass zu jedem beliebigen Zeitpunkt der Master-Branch in seiner aktuellen Version -über die Adresse https://metager3.de ( Entwicklungsserver ) erreichbar ist. +## Abhängigkeiten +* composer (https://getcomposer.org/) +* php7.0 + * php7.0-mbstring + * php7.0-dom +* sqlite3 +* redis-server +* Das Perl-Paket: Lingua::Identify (http://search.cpan.org/~ambs/Lingua-Identify-0.56/lib/Lingua/Identify.pm) ## MetaGer zu langsam? Damit MetaGer so schnell wird, wie auf unserem Live-Server, erfordert es ein wenig Konfigurationsarbeit. Der Grund, warum die Version nach dem Checkout langsamer als normal ist, ist der, dass die eingestellten Suchmaschinen im Standard synchron abgefragt werden. @@ -28,7 +31,7 @@ Es steht dir jedoch frei, ein Ticket zu eröffnen. ## Sicherheitslücken Falls du eine Sicherheitslücke findest oder dir etwas unsicher vorkommt, -zögere biite nicht ein Ticket zu schreiben oder eine Mail an [office@suma-ev.de](mailto:office@suma-ev.de) zu senden. +zögere bitte nicht ein Ticket zu schreiben oder eine Mail an [office@suma-ev.de](mailto:office@suma-ev.de) zu senden. ## Lizenzen diff --git a/resources/lang/de/index.php b/resources/lang/de/index.php index 8996e9c6e25f09b00caf4dc5dc4fb1d1da1236b2..a2d6b3834c08a13bf5dc3bcbc8e06e6c3cfb6227 100644 --- a/resources/lang/de/index.php +++ b/resources/lang/de/index.php @@ -16,9 +16,9 @@ return [ 'sponsors.head.1' => 'Weitere Informationen', 'sponsors.head.2' => 'Sponsoren', - 'sponsors.woxikon' => 'Woxikon: Nach Wörtern & Synonymen suchen', - 'sponsors.gutscheine' => 'Aktuelle Gutscheine auf Gutschein-Magazin.de', - 'sponsors.kredite' => 'Günstige Kredite auf FINANZCHECK.de vergleichen ', + 'sponsors.woxikon' => '<a href="http://www.woxikon.de/" class="mutelink" target="_blank">Woxikon: Nach Wörtern & Synonymen suchen</a>', + 'sponsors.gutscheine' => '<a href="http://www.gutschein-magazin.de/" class="mutelink" target="_blank">Aktuelle Gutscheine auf Gutschein-Magazin.de</a>', + 'sponsors.kredite' => '<a href="https://www.finanzcheck.de/" class="mutelink" target="_blank">Günstige Kredite auf FINANZCHECK.de vergleichen ', 'about.title' => 'Ãœber uns', 'about.1.1' => 'Datenschutz & Privatsphäre', diff --git a/resources/lang/de/kontakt.php b/resources/lang/de/kontakt.php index d8d3b40581a7025ec460c219dbe04c8b91ef621b..e91717bb1c3710532d02b3145d4dac422bb7617c 100644 --- a/resources/lang/de/kontakt.php +++ b/resources/lang/de/kontakt.php @@ -3,7 +3,7 @@ return [ 'headline.1' => 'Kontakt', 'headline.2' => 'Forum', - 'headline.3' => 'Bitte stellen Sie Ihre Frage zuerst in unserem', + 'headline.3' => 'Bitte stellen Sie technische Fragen zuerst in unserem <a href="http://forum.suma-ev.de/" target="_blank">Forum</a>', 'headline.4' => 'So können auch andere von einer Antwort profitieren.', 'form.1' => 'Sicheres Kontakformular', @@ -18,8 +18,8 @@ Dafür wird Javascript benötigt.', 'form.8' => 'Falls Sie Javascript deaktiviert haben, wird Ihre Eingabe unverschlüsselt gesendet.', 'form.9' => 'Verschlüsseln und senden', - 'mail.1' => 'Per E-Mail', - 'mail.2' => 'Sie können uns auch direkt eine e-mail an die folgende Adresse schicken:', + 'mail.1' => 'Per Email', + 'mail.2' => 'Sie können uns auch direkt eine email an die folgende Adresse schicken:', 'mail.3' => 'Falls Sie diese verschlüsseln wollen, finden Sie nachfolgend unseren öffentlichen OpenPGP-Schlüssel:', 'letter.1' => 'Per Brief-Post', diff --git a/resources/lang/de/settings.php b/resources/lang/de/settings.php index edc340f7759df77f72a27940dd280997920ae379..01cc55cc5506c822641bc86302aac6f121d23d02 100644 --- a/resources/lang/de/settings.php +++ b/resources/lang/de/settings.php @@ -12,6 +12,7 @@ return [ 'allgemein.4' => 'Sprache auswählen', 'allgemein.5' => 'Alle Sprachen', 'allgemein.6' => 'Deutsch', + 'allgemein.6_1' => 'Englisch', 'allgemein.7' => 'Anzahl der Ergebnisse pro Seite', 'allgemein.8' => 'Alle', 'allgemein.9' => 'Maximale Suchzeit', @@ -38,4 +39,5 @@ return [ 'speichern.1' => 'Startseite für einmalige Nutzung generieren', 'speichern.2' => 'Einstellungen dauerhaft speichern', 'speichern.3' => 'Plugin mit diesen Einstellungen generieren', + 'speichern.4' => 'Einstellungen zurücksetzen', ]; \ No newline at end of file diff --git a/resources/lang/de/spenden.php b/resources/lang/de/spenden.php index 59aeb85ac4a262733a4975518484f1c76c48ff41..9552650ed55a9deeb6df93b319ddf4810890f312 100644 --- a/resources/lang/de/spenden.php +++ b/resources/lang/de/spenden.php @@ -12,12 +12,12 @@ BIC: GENODEM1GLS GLS Gemeinschaftsbank, Bochum', 'bankinfo.3' => 'Falls Sie eine Spendenbescheinigung wünschen, geben Sie auf dem Überweisungsformular bitte Ihre vollständige Adresse, und (sofern vorhanden) auch Ihre E-Mail Adresse an.', - 'logos.1' => 'Bequem mit Paypal', - 'logos.2' => 'oder Bitcoins', + 'logos.1' => 'Bequem mit Paypal,<br>dort auch per Kreditkarte ohne Registrierung,', + 'logos.2' => 'oder per Bitcoin, <br>sicher und pseudonym.', 'lastschrift.1' => 'Spenden mittels elektronischem Lastschriftverfahren:', 'lastschrift.2' => 'Tragen Sie hier Ihre Kontodaten sowie den gewünschten Betrag ein. Wir buchen dann entsprechend von Ihrem Konto ab.', - 'lastschrift.3' => 'Bitte geben Sie ihren Namen ein:', + 'lastschrift.3' => 'Bitte geben Sie Ihren Namen ein:', 'lastschrift.3.placeholder' => 'Name', 'lastschrift.4' => 'Ihre E-Mail Adresse:', 'lastschrift.5' => 'Ihre Telefonnummer, um Ihre Spende ggf. durch einen Rückruf zu verifizieren:', @@ -45,4 +45,4 @@ Das können Sie mit einer Spende auf dieser Seite tun. Oder, wenn Sie freie 'about.4.3' => 'und klicken dort unterhalb der Suchwort-Eingabebox auf', 'about.4.4' => 'Machen Sie Ihre Einkäufe bei MetaGer-Fördershops - klicken Sie hier!', 'about.4.5' => 'Dieser Klick führt Sie in die Shop-Auswahl des Boost-Projektes. Dort suchen Sie sich Ihren Shop aus und machen wie gewohnt Ihren Einkauf. Das ist alles. Wenn genug Menschen dies tun, dann brauchen wir keine Werbung mehr. Nur zwei Mausklicks für Sie - für alle eine Chance für den freien Wissenszugang in der digitalen Welt.' -]; \ No newline at end of file +]; diff --git a/resources/lang/de/staticPages.php b/resources/lang/de/staticPages.php index 495558211891501c8ba7eb9d29b73b232eed1e26..532979e82de3035aa2319c43ef6e3dd8eb556a38 100644 --- a/resources/lang/de/staticPages.php +++ b/resources/lang/de/staticPages.php @@ -24,5 +24,8 @@ return [ 'navigationToggle' => 'Navigation anzeigen', 'sumaev.1' => 'MetaGer wird entwickelt und betrieben vom ', - 'sumaev.2' => 'SUMA-EV - Verein für freien Wissenszugang.' + 'sumaev.2' => 'SUMA-EV - Verein für freien Wissenszugang.', + 'meta.Description' => 'Sicher suchen und finden unter Wahrung der Privatsphäre. Das digitale Wissen der Welt muss ohne Bevormundung durch Staaten oder Konzerne frei zugänglich sein und bleiben.', + 'meta.Keywords' => 'Internetsuche, privatsphäre, privacy, Suchmaschine, Datenschutz, Anonproxy, anonym suchen, Bildersuche, Suchmaschine, anonym, MetaGer, metager, metager.de', + 'meta.language' => 'de' ]; \ No newline at end of file diff --git a/resources/lang/de/titles.php b/resources/lang/de/titles.php index c2cd27479bbf39b32d2db96ba61b85955493ddc2..df4e778293218931ab5480806edb0210ccf08a28 100644 --- a/resources/lang/de/titles.php +++ b/resources/lang/de/titles.php @@ -13,4 +13,5 @@ return [ 'settings' => 'Einstellungen', 'websearch' => 'Websuche-Widget - MetaGer', 'sitesearch' => 'Sitesearch-Widget - MetaGer', + 'beitritt' => 'SUMA-EV Beitrittsformular', ]; \ No newline at end of file diff --git a/resources/lang/de/websearch.php b/resources/lang/de/websearch.php index 0834a7d25aecffac131ccfab3df919bdd7aeb777..73378e91fffec4b1e029c21616da92c0632e2abb 100644 --- a/resources/lang/de/websearch.php +++ b/resources/lang/de/websearch.php @@ -9,4 +9,7 @@ return [ 'head.6' => 'all', 'head.7' => 'Code', 'head.8' => 'Suchen', -]; \ No newline at end of file + 'head.copy' => 'Kopieren', + 'alert.success' => 'Kopieren erfolgreich!', + 'alert.failure' => 'Kopieren fehlgeschlagen!' +]; diff --git a/resources/lang/en/index.php b/resources/lang/en/index.php index 81adc0226ab1ebc7ecd832a8de7e2f8d1f1ac414..00f7294f6e94dd11e92d07f5608fcbe3b13c9880 100644 --- a/resources/lang/en/index.php +++ b/resources/lang/en/index.php @@ -13,12 +13,12 @@ return [ 'plugin' => 'Add the MetaGer-Plugin', 'sponsors.head.1' => 'Further Information', - 'sponsors.head.2' => '', - 'sponsors.woxikon' => '', - 'sponsors.gutscheine' => '', - 'sponsors.kredite' => '', + 'sponsors.head.2' => 'Sponsored Links', + 'sponsors.woxikon' => '<a href="/en/kontakt" class="mutelink" >This could be your link</a>', + 'sponsors.gutscheine' => '<a href="/en/kontakt" class="mutelink" >Please contact us</a>', + 'sponsors.kredite' => '<a href="/en/kontakt" class="mutelink">https://metager.de/kontakt</a>', - 'about.title' => 'About us', + 'about.title' => 'About Us', 'about.1.1' => 'Data protection & privacy', 'about.1.2' => ' are simple and natural for us.', 'about.2.1' => 'We do not work for profit. We are a ', diff --git a/resources/lang/en/kontakt.php b/resources/lang/en/kontakt.php index 652649b15853eee4a0a631bdc77697d3bba92d1b..4036752067539ba9904a7aebf6f41ebdca17a47c 100644 --- a/resources/lang/en/kontakt.php +++ b/resources/lang/en/kontakt.php @@ -3,11 +3,11 @@ return [ 'headline.1' => 'Contact', 'headline.2' => 'Forum', - 'headline.3' => 'Please ask your question first at our', - 'headline.4' => 'This way others can benefit from an answer.', + 'headline.3' => 'If you have a technical question, ask it at our <a href="http://forum.suma-ev.de/" target="_blank">board</a> first, please', + 'headline.4' => 'By this way others can benefit from an answer.', 'form.1' => 'Secure Contact Form', - 'form.2' => 'Via this form you can contact us encrypted', + 'form.2' => 'Via this form you can contact us by encrypted', 'form.3' => '.', 'form.4' => 'Please note that due to a lot of requests we are personnel-wise not able to answer everything promptly.', 'form.5' => 'If you do not enter an email-adress, we can not answer you.', @@ -17,9 +17,9 @@ We use Javascript for this.', 'form.8' => 'If you have Javascript disabled, your message will be send unencrypted.', 'form.9' => 'Encrypt and send', - 'mail.1' => 'By E-Mail', - 'mail.2' => 'You can also e-mail us directly at:', - 'mail.3' => 'If you want to encrypt your e-mail aswell, the following is our public OpenPGP-Key:', + 'mail.1' => 'By Email', + 'mail.2' => 'You can also email us directly at:', + 'mail.3' => 'If you want to encrypt your email you can use our following public OpenPGP-Key:', 'letter.1' => 'By Letter Mail', 'letter.2' => 'We prefer digital contact. However, if you consider it neccessary to contact us postally, you can mail us at:', diff --git a/resources/lang/en/settings.php b/resources/lang/en/settings.php index 1f78bed916cb448850a6b07f41d41e5c44dd1f93..52efb9efc11f8087621f01ce9eb2fc02e7a2bac2 100644 --- a/resources/lang/en/settings.php +++ b/resources/lang/en/settings.php @@ -12,6 +12,7 @@ return [ 'allgemein.4' => 'select language', 'allgemein.5' => 'all languages', 'allgemein.6' => 'german', + 'allgemein.6_1' => 'english', 'allgemein.7' => 'number of results per page', 'allgemein.8' => 'all', 'allgemein.9' => 'maximum search time', @@ -38,4 +39,5 @@ return [ 'speichern.1' => 'Create a startpage for one-time use', 'speichern.2' => 'Save settings permanently', 'speichern.3' => 'Generate plugin with these settings', + 'speichern.4' => 'Reset saved settings', ]; diff --git a/resources/lang/en/spenden.php b/resources/lang/en/spenden.php index a86c57c5238b72382ed3478d1f8e6f5e0f1d5b9a..05aacfbe0908d09daf79f500391db3ff02b5a5d5 100644 --- a/resources/lang/en/spenden.php +++ b/resources/lang/en/spenden.php @@ -14,7 +14,7 @@ GLS Gemeinschaftsbank, Bochum', please specify your full adress and (if available) your E-Mail adress on the money transfer form.', - 'logos.1' => 'Comfortably with Paypal', + 'logos.1' => 'Comfortably with Paypal<br>Via Paypal by credit card too (without PayPal registration),', 'logos.2' => 'or Bitcoins', 'lastschrift.1' => 'Donate by wire transfer', diff --git a/resources/lang/en/staticPages.php b/resources/lang/en/staticPages.php index 19035128835529338c22eab9bed36f38c20a289c..8b81c7702fb16e25a9f238c1bb8dba6d565edf3a 100644 --- a/resources/lang/en/staticPages.php +++ b/resources/lang/en/staticPages.php @@ -8,7 +8,7 @@ return [ 'nav5' => 'Contact', 'nav6' => 'Team', 'nav7' => 'About us', - 'nav8' => 'Site Notice', + 'nav8' => 'Imprint', 'nav9' => 'Help', 'nav10' => 'Widget', 'nav11' => 'Associator', @@ -24,5 +24,8 @@ return [ 'navigationToggle' => 'show navigation', 'sumaev.1' => 'MetaGer is developed and run by ', - 'sumaev.2' => 'SUMA-EV - Association for Free Access to Knowledge.' + 'sumaev.2' => 'SUMA-EV - Association for Free Access to Knowledge.', + 'meta.Description' => 'Search safely while having your privacy respected. The digital knowledge of the world must be freely accessible without paternalism and abide by states or corporations.', + 'meta.Keywords' => 'Internet Search, privacy, searchengine, data protection, Anonproxy, anonymous proxy, search anonymous, image search, anonymous, MetaGer, metager, metager.de, metager.net', + 'meta.language' => 'en' ]; diff --git a/resources/lang/en/websearch.php b/resources/lang/en/websearch.php index f705d97afaaa5fdbf562ebf83fb321a1043e07ae..0ae97b8376b8d33d65b0c50086875a17ddee3616 100644 --- a/resources/lang/en/websearch.php +++ b/resources/lang/en/websearch.php @@ -9,4 +9,7 @@ return [ 'head.6' => 'en', 'head.7' => 'Code', 'head.8' => 'Search', -]; \ No newline at end of file + 'head.copy' => 'Copy', + 'alert.success' => 'Copied!', + 'alert.failure' => 'Something went wrong!' +]; diff --git a/resources/views/admin/count.blade.php b/resources/views/admin/count.blade.php index ac1b6db96e0c42ef082171c63a2d111d9115c805..3867b35be918129e2c889754be3436dba1670c02 100644 --- a/resources/views/admin/count.blade.php +++ b/resources/views/admin/count.blade.php @@ -4,14 +4,33 @@ @section('content') <h2>{{ exec("uptime") }}</h2> -<h3>Heute haben wir bis jetzt => <span class="text-info">{{ $today }}</span> Abfragen</h3> -<h3>Gestern zur gleichen Zeit <span class="text-info">{{ $oldLogs[1]['sameTime'] }}</span> - insgesamt <span class="text-danger">{{ $oldLogs[1]['insgesamt'] }}</span></h3> -<h3>Vorgestern zur gleichen Zeit <span class="text-info">{{ $oldLogs[2]['sameTime'] }}</span> - insgesamt <span class="text-danger">{{ $oldLogs[2]['insgesamt'] }}</span></h3> -<h3>Vorvorgestern zur gleichen Zeit <span class="text-info">{{ $oldLogs[3]['sameTime'] }}</span> - insgesamt <span class="text-danger">{{ $oldLogs[3]['insgesamt'] }}</span></h3> -<ul class="list-unstyled" style="text-align:left;"> - @foreach($median as $time => $value) - <li><h4>Mittelwert der letzten {{ $time }} Tage: <span class="text-danger">{{ number_format($value, 0, ",", ".") }}</span> Abfragen pro Tag</h4></li> +<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 (bis zum jeweiligen Tag zurück)</th> + </tr> + @if( isset($today) ) + <tr> + <td>{{ date("D, d M y", 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("D, d M y", 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 -</ul> +</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/index.blade.php b/resources/views/index.blade.php index f6ef4e0a1ad85b732bc2f3e1a1a7006eafe6f2bb..3877443023a4355a6b2f5efe6b27556c6ed73b1f 100644 --- a/resources/views/index.blade.php +++ b/resources/views/index.blade.php @@ -166,7 +166,10 @@ @foreach ($focusPages as $fp) <input type="hidden" name={{ $fp }} value="on"> @endforeach - @else <input type="hidden" name="lang" value="all"> + @elseif( !App::isLocale('de') ) + <input type="hidden" name="lang" value="{{ App::getLocale() }}"> + @else + <input type="hidden" name="lang" value="all"> @endif <div class="input-group-addon"> <button type="submit"> @@ -201,25 +204,25 @@ <h2>{{ trans('index.sponsors.head.2') }}</h2> <ul> <li> - <a href="http://www.woxikon.de/" class="mutelink" target="_blank">{{ trans('index.sponsors.woxikon') }}</a> + {!! trans('index.sponsors.woxikon') !!}</a> </li> <li> - <a href="http://www.gutschein-magazin.de/" class="mutelink" target="_blank">{{ trans('index.sponsors.gutscheine') }}</a> + {!! trans('index.sponsors.gutscheine') !!} </li> <li> - <a href="https://www.finanzcheck.de/" class="mutelink" target="_blank">{{ trans('index.sponsors.kredite') }}</a> + {!! trans('index.sponsors.kredite') !!} </li> </ul> </div> <div class="col-md-6 col-sm-12"> <h2> - <a href="/about/">{{ trans('index.about.title') }}</a> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "about") }}">{{ trans('index.about.title') }}</a> </h2> <ul> <li> - <a href="/datenschutz/">{{ trans('index.about.1.1') }}</a>{{ trans('index.about.1.2') }} + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "datenschutz") }}">{{ trans('index.about.1.1') }}</a>{{ trans('index.about.1.2') }} </li> - <li>{{ trans('index.about.2.1') }}<a href="/spende/">{{ trans('index.about.2.2') }}</a> + <li>{{ trans('index.about.2.1') }}<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "spende") }}">{{ trans('index.about.2.2') }}</a> </li> </ul> </div> diff --git a/resources/views/kontakt/kontakt.blade.php b/resources/views/kontakt/kontakt.blade.php index 1ffcc0a2a9b4ee22f7f70480cf247408c182e1bc..a5650ff4cd2cca652b2016d774febfdd6db0aa53 100644 --- a/resources/views/kontakt/kontakt.blade.php +++ b/resources/views/kontakt/kontakt.blade.php @@ -5,7 +5,7 @@ @section('content') <h1>{{ trans('kontakt.headline.1') }}</h1> <h2>{{ trans('kontakt.headline.2') }}</h2> -<p><span class="bold">{{ trans('kontakt.headline.3') }} <a href="http://forum.suma-ev.de/" target="_blank">Forum.</a></span> +<p><span class="bold">{!! trans('kontakt.headline.3') !!}</span> <span>{{ trans('kontakt.headline.4') }}</span></p> <h2>{{ trans('kontakt.form.1') }}</h2> <p>{{ trans('kontakt.form.2') }} <a href="mailto:office@suma-ev.de">email</a> {{ trans('kontakt.form.3') }}</p> diff --git a/resources/views/kontakt/mail.blade.php b/resources/views/kontakt/mail.blade.php index 8e2c7fdac7c6d5dd9f85621a35ceee472bb8d945..880b5fabf3851955d7a783efed70ee0c85082566 100644 --- a/resources/views/kontakt/mail.blade.php +++ b/resources/views/kontakt/mail.blade.php @@ -1 +1 @@ -{{ $messageText }} \ No newline at end of file +{!! $messageText !!} \ No newline at end of file diff --git a/resources/views/layouts/researchandtabs.blade.php b/resources/views/layouts/researchandtabs.blade.php index 2ee981228f3eade5de98c12478c2672d48079357..d1955939fca08c7b1e06300e22c8726d41634680 100644 --- a/resources/views/layouts/researchandtabs.blade.php +++ b/resources/views/layouts/researchandtabs.blade.php @@ -31,6 +31,7 @@ </ul> </nav> </header> + <ul class="nav nav-tabs" id="foki" role="tablist"> @if( $metager->getFokus() === "web" ) <li id="webTabSelector" role="presentation" data-loaded="1" class="active"> diff --git a/resources/views/layouts/resultPage.blade.php b/resources/views/layouts/resultPage.blade.php index 581c107c390b3d8c049bd542cdc09d2037e3d948..11979c10b694127bb65d56d407a561ba15798498 100644 --- a/resources/views/layouts/resultPage.blade.php +++ b/resources/views/layouts/resultPage.blade.php @@ -8,20 +8,21 @@ @if( isset($mobile) && $mobile ) <link href="/css/styleResultPageMobile.css" rel="stylesheet" /> @endif - <link href="/css/theme.css.php" rel="stylesheet" /> + <link id="theme" href="/css/theme.css.php" rel="stylesheet" /> <link href="/favicon.ico" rel="icon" type="image/x-icon" /> <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <meta content="width=device-width, initial-scale=1.0, user-scalable=no" name="viewport" /> <meta content="{{ getmypid() }}" name="p" /> <meta content="{{ $eingabe }}" name="q" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <meta name="referrer" content="no-referrer" /> </head> <body id="resultBody"> @if( !isset($suspendheader) ) @include('layouts.researchandtabs') @else <div class="tab-content container-fluid"> - @yield('results') + @yield('results') </div> @endif <footer> diff --git a/resources/views/layouts/staticPages.blade.php b/resources/views/layouts/staticPages.blade.php index fb26fb53633247c45c6c65e38bacfb53c1675a14..35f58fbc98cb364afbe3ccdddb2a7455325be5d6 100644 --- a/resources/views/layouts/staticPages.blade.php +++ b/resources/views/layouts/staticPages.blade.php @@ -2,9 +2,11 @@ <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>@yield('title')</title> + <!-- TradeDoubler site verification 2866738 --> <meta charset="utf-8" /> - <meta name="description" content="Sicher suchen und finden unter Wahrung der Privatsphäre. Das digitale Wissen der Welt muss ohne Bevormundung durch Staaten oder Konzerne frei zugänglich sein und bleiben." /> - <meta name="keywords" content="Internetsuche, privatsphäre, privacy, Suchmaschine, Datenschutz, Anonproxy, anonym suchen, Bildersuche, Suchmaschine, anonym, MetaGer, metager, metager.de" /> + <meta name="description" content="{!! trans('staticPages.meta.Description') !!}" /> + <meta name="keywords" content="{!! trans('staticPages.meta.Keywords') !!}" /> + <meta http-equiv=â€language†content="{!! trans('staticPages.meta.language') !!}" /> <meta name="page-topic" content="Dienstleistung" /> <meta name="robots" content="index,follow" /> <meta name="revisit-after" content="7 days" /> @@ -23,7 +25,7 @@ <body> <header> <nav class="navbar navbar-default"> - <div class="container"> + <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false"> <span class="sr-only">{{ trans('staticPages.navigationToggle') }}</span> @@ -31,10 +33,9 @@ <span class="icon-bar"></span> <span class="icon-bar"></span> </button> - </div> - <div> @yield('homeIcon') </div> + <div class="collapse navbar-collapse" id="navbar-collapse"> <ul class="nav navbar-nav navbar-right"> <li @if ( !isset($navbarFocus) || $navbarFocus === 'suche') class="active" @endif > @@ -72,21 +73,28 @@ <li><a href="http://forum.suma-ev.de/viewtopic.php?f=3&t=43" target="_blank">{{ trans('staticPages.nav14') }}</a></li> </ul> </li> - <!--<li class="dropdown"> + <li class="dropdown"> <a class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" id="navigationSprache">{{ trans('staticPages.nav19') }} <span class="caret"></span></a> <ul class="dropdown-menu"> @foreach(LaravelLocalization::getSupportedLocales() as $localeCode => $properties) - <li><a rel="alternate" hreflang="{{$localeCode}}" href="{{LaravelLocalization::getLocalizedURL($localeCode) }}">{{{ $properties['native'] }}}</a></li> + <li><a rel="alternate" hreflang="{{$localeCode}}" href="{{LaravelLocalization::getLocalizedURL($localeCode) }}">{{{ $properties['native'] }}} @if($properties['native'] !== "Deutsch") (Beta) @endif</a></li> @endforeach </ul> - </li>--> + </li> </ul> </div> </div> </nav> </header> <div class="wrapper"> + @if( App::isLocale('de') ) + <div class="mg-panel container" id="spendenaufruf" style="margin-bottom:-6%;max-height:126px;text-align:center;padding:0px;margin-top:0px"> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spendenaufruf") }}"> + <img src="/img/aufruf.png" style="max-width:100%;max-height:126px;"> + </a> + </div> + @endif <main class="mg-panel container"> @if (isset($success)) <div class="alert alert-success" role="alert">{{ $success }}</div> @@ -102,7 +110,7 @@ <li><a href="https://www.suma-ev.de/" target="_blank"> <img src="/img/suma_ev_logo-m1-greyscale.png" alt="SUMA-EV Logo"></a></li> <li id="info"> - <a href="/kontakt/">{{ trans('staticPages.nav5') }}</a> - <a href="/impressum/">{{ trans('staticPages.nav8') }}</a> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "kontakt") }}">{{ trans('staticPages.nav5') }}</a> - <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "impressum") }}">{{ trans('staticPages.nav8') }}</a> {{ trans('staticPages.sumaev.1') }}<a href="https://www.suma-ev.de/" target="_blank" >{{ trans('staticPages.sumaev.2') }}</a></li> <li><a href="https://www.uni-hannover.de/" target="_blank"> <img src="/img/luh_metager.png" alt="LUH Logo"></a></li> diff --git a/resources/views/metager3.blade.php b/resources/views/metager3.blade.php index b169b36fdd325ffb7a80a91543383df2f57d8e96..a6365fd7e3f0fd7c8606765f2478dee15cab9091 100644 --- a/resources/views/metager3.blade.php +++ b/resources/views/metager3.blade.php @@ -23,6 +23,13 @@ <div class="col-xs-12 col-md-8 resultContainer"> @else <div class="col-xs-12 col-md-12 resultContainer"> + @endif + @if( !$metager->validated && App::isLocale('de') ) + <div class="mg-panel container" style="margin-bottom:20px;max-height:90px;text-align:left; max-width:100%; padding:0px;margin-top:0px"> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spendenaufruf") }}" target="_blank"> + <img src="/img/aufruf.png" style="max-width:100%;max-height:90px;"> + </a> + </div> @endif {{-- 3-Mal Werbung --}} @for($i = 0; $i <= 2; $i++) diff --git a/resources/views/metager3bilder.blade.php b/resources/views/metager3bilder.blade.php index c0ba4a325ecbc06bafd1632a8ef78a69b468d80b..85b5caf2b7c29d4e2d521d0a4dc176f714a5d4c6 100644 --- a/resources/views/metager3bilder.blade.php +++ b/resources/views/metager3bilder.blade.php @@ -19,6 +19,13 @@ </ul> </div> @endif + @if( !$metager->validated && App::isLocale('de') ) + <div class="mg-panel container" id="spendenaufruf" style="margin-bottom:20px;max-height:126px;max-width:100%;text-align:center;padding:0px;margin-top:0px"> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spendenaufruf") }}"> + <img src="/img/aufruf.png" style="max-width:100%;max-height:126px;"> + </a> + </div> + @endif <div id="container"> @foreach($metager->getResults()->items() as $result) <div class="item"> diff --git a/resources/views/metager3bilderresults.blade.php b/resources/views/metager3bilderresults.blade.php index 73fdf5da00fac1a41c3cde303b45fe65634bfd86..f663182815cb7a8ee3f7cf183c7af10389373d86 100644 --- a/resources/views/metager3bilderresults.blade.php +++ b/resources/views/metager3bilderresults.blade.php @@ -16,6 +16,13 @@ </ul> </div> @endif +@if( !$metager->validated && App::isLocale('de') ) + <div class="mg-panel container" id="spendenaufruf" style="margin-bottom:20px;max-height:126px;max-width:100%;text-align:center;padding:0px;margin-top:0px"> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spendenaufruf") }}"> + <img src="/img/aufruf.png" style="max-width:100%;max-height:126px;"> + </a> + </div> + @endif <div id="container"> @foreach($metager->getResults()->items() as $result) <div class="item"> diff --git a/resources/views/metager3results.blade.php b/resources/views/metager3results.blade.php index add3ebca93cdb83dbd8d4f83a1c266ce71102071..1e8039ed34d0cd65a6cd8e674809e57f205b430c 100644 --- a/resources/views/metager3results.blade.php +++ b/resources/views/metager3results.blade.php @@ -17,6 +17,13 @@ </div> @endif <div class="col-xs-12 col-md-8"> + @if( !$metager->validated && App::isLocale('de') ) + <div class="mg-panel container" style="margin-bottom:20px;max-height:90px;text-align:left; max-width:100%; padding:0px;margin-top:0px"> + <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spendenaufruf") }}" target="_blank"> + <img src="/img/aufruf.png" style="max-width:100%;max-height:90px;"> + </a> + </div> + @endif {{-- 3-Mal Werbung --}} @for($i = 0; $i <= 2; $i++) @include('layouts.ad', ['ad' => $metager->popAd()]) diff --git a/resources/views/quicktip.blade.php b/resources/views/quicktip.blade.php index ff49d5a056033ca2a837b17a27605ada395ef151..06ce78ae37cee9637be8051f0e61f1b4379af1be 100644 --- a/resources/views/quicktip.blade.php +++ b/resources/views/quicktip.blade.php @@ -4,7 +4,7 @@ <link rel="stylesheet" type="text/css" href="/css/bootstrap.css" /> <link rel="stylesheet" type="text/css" href="/css/quicktips.css" /> </head> - <body> + <body> @if( $spruch !== "" ) <blockquote id="spruch">{!! $spruch !!}</blockquote> @endif @@ -18,4 +18,4 @@ </div> @endforeach </body> -</html> \ No newline at end of file +</html> diff --git a/resources/views/settings.blade.php b/resources/views/settings.blade.php index f93be13895c46b6ac06763564aeb3653d5c93283..850d74ebbf43e2c964749d4e447021f1f4c86619 100644 --- a/resources/views/settings.blade.php +++ b/resources/views/settings.blade.php @@ -16,8 +16,9 @@ </div> <label class="select-label">{{ trans('settings.allgemein.4') }}:</label> <select class="form-control" name="param_lang"> - <option value="all">{{ trans('settings.allgemein.5') }}</option> - <option value="de">{{ trans('settings.allgemein.6') }}</option></select> + <option value="all" @if(App::isLocale('de')) selected @endif >{{ trans('settings.allgemein.5') }}</option> + <option value="de">{{ trans('settings.allgemein.6') }}</option> + <option value="en" @if(App::isLocale('en')) selected @endif>{{ trans('settings.allgemein.6_1') }}</option></select> <label class="select-label">{{ trans('settings.allgemein.7') }}:</label> <select class="form-control" name="param_resultCount"> <option value="10">10</option> @@ -56,8 +57,8 @@ </div> @endforeach <input id="unten" type="submit" class="btn btn-primary" value="{{ trans('settings.speichern.1') }}"> - <input type="button" class="btn btn-primary hidden" id="save" value="{{ trans('settings.speichern.2') }}"> + <input type="button" class="btn btn-primary hidden" id="save" data-href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}" value="{{ trans('settings.speichern.2') }}"> <input id="plugin" type="submit" class="btn btn-primary" value="{{ trans('settings.speichern.3') }}"> - <input type="button" class="btn btn-danger hidden" id="reset" value="Einstellungen Zurücksetzen"> + <input type="button" class="btn btn-danger hidden" id="reset" value="{{ trans('settings.speichern.4') }}"> </form> @endsection \ No newline at end of file diff --git a/resources/views/spende/beitritt.blade.php b/resources/views/spende/beitritt.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..8da1a712ec8844dbb4bff91fcaa50df2387c1429 --- /dev/null +++ b/resources/views/spende/beitritt.blade.php @@ -0,0 +1,119 @@ +@extends('layouts.subPages') + +@section('title', $title ) + +@section('navbarFocus.donate', 'class="dropdown active"') + +@section('content') +<h1>SUMA-EV Beitrittserklärung</h1> +<form> + <div class="form-group"> + <label for="name" class="non-bold">Hiermit erkläre ich,</label> + <input type="text" class="form-control" name="name" placeholder="Name, Vorname" required/> + </div> + <div class="form-group"> + <label for="firma" class="non-bold">für die Firma:</label> + <input type="text" class="form-control" name="firma" placeholder="Diese Zeile nur beim Beitritt von Firmen ausfüllen" /> + </div> + <div class="form-group"> + <label for="funktion" class="non-bold">Funktion:</label> + <input type="text" class="form-control" name="funktion" placeholder="hier ggf. wenn Sie wollen oder beim Firmenbeitritt: Ihren Beruf/Funktion" /> + </div> + <div class="form-group"> + <label for="adresse" class="non-bold">Adresse:</label> + <input type="text" class="form-control" name="adresse" placeholder="Straße Hausnummer, Postleitzahl, Ort" required/> + </div> + <div class="form-group"> + <label for="email" class="non-bold">E-Mail-Adresse:</label> + <input type="email" class="form-control" name="email" placeholder=""/> + </div> + <div class="form-group"> + <label for="homepage" class="non-bold">Web-Adresse:</label> + <input type="text" class="form-control" name="homepage" placeholder="http://"/> + </div> + <div class="form-group"> + <label for="telefon" class="non-bold">Telefon:</label> + <input type="text" class="form-control" name="telefon" placeholder="Festnetz und ggf. Handy"/> + </div> + <div class="form-group"> + <label class="non-bold" for="betrag">dass ich dem "SUMA-EV - Verein für freien Wissenszugang" beitreten will. Ich habe die Satzung zur Kenntnis genommen und stimme mit den Zielen des Vereins überein. Der Mindestbeitrag für Einzelmitglieder und Privatpersonen beträgt 5,-EUR pro Monat, Schüler und Studenten die Hälfte; für Firmen, Institutionen und Einrichtungen 5,- EUR pro Monat und Mitarbeiter, bei Firmen ab 20 Mitarbeitern pauschal 100,- EUR pro Monat, bei Firmen ab 200 Mitarbeitern pauschal 200,- EUR pro Monat. Als Mitgliedsbeitrag wähle ich: </label> + <div class="row"> + <div class="col-xs-2"> + <input type="text" class="form-control" name="betrag" /> + </div> + <div class="col-xs-2"> + <p class="help-block">EUR pro Monat. </p> + </div> + </div> + </div> + <label class="non-bold"> + Der Beitrag wird jährlich zum 01. August im voraus abgebucht, bzw. ab Eintrittsdatum anteilig für das erste Jahr. + </label> + <label class="non-bold"> + Ich stimme der Veröffentlichung meines Namens, meiner Funktion und meiner E-Mail-Adresse im Internet und/oder in Papierform zu (gewünschtes ankreuzen): + </label> + <div class="row"> + <div class="col-xs-2"> + <div class="radio"> + <label> + <input type="radio" name="veröffentlichung" checked> Ja + </label> + </div> + </div> + <div class="col-xs-2"> + <div class="radio"> + <label> + <input type="radio" name="veröffentlichung"> Nein + </label> + </div> + </div> + </div> + <div class="form-group"> + <label for="ort">Ort, Datum:</label> + <input type="text" class="form-control" id="ort" placeholder=""/> + </div> + <br /> + + <p class="sign"> + ---------------------------------------------------------<br /> + Unterschrift nach Ausdrucken des Formulars + </p> + <h3>Abbuchungsermächtigung</h3> + <p>Hiermit ermächtige ich den "SUMA-EV - Verein für freien Wissenszugang" den o.g. Mitgliedsbeitrag von meinem Konto abzubuchen. </p> + <div class="form-group"> + <label for="kontoname" class="non-bold">Name des Kontoinhabers:</label> + <input type="text" class="form-control" name="kontoname" placeholder=""/> + </div> + <div class="form-group"> + <label for="bankverbindung" class="non-bold">Bankverbindung, Name der Bank:</label> + <input type="text" class="form-control" name="bankverbindung" placeholder=""/> + </div> + <div class="form-group"> + <label for="iban" class="non-bold">IBAN (oder Konto-Nummer)</label> + <input type="text" class="form-control" name="iban" placeholder=""/> + </div> + <div class="form-group"> + <label for="bic" class="non-bold">BIC (oder Bankleitzahl)</label> + <input type="text" class="form-control" name="bic" placeholder=""/> + </div> + <div class="form-group"> + <label for="ort2" class="non-bold">Ort, Datum:</label> + <input type="text" class="form-control" id="ort2" placeholder=""/> + </div> + <br /> + <p class="sign"> + ---------------------------------------------------------<br /> + Unterschrift nach Ausdrucken des Formulars + </p> +</form> +<hr /> +<p>Bitte drucken Sie das Formular nach Ausfüllen aus und unterschreiben an beiden ......... Linien; dann können Sie es</p> +<ul> +<li>faxen an 0511 34 00 10 23 (und schicken uns eine kurze EMail dazu, dass Sie das Beitrittsformular gefaxt haben, denn Faxgeräte sind manchmal inkompatibel) oder </li> +<li>per Post senden an: SUMA-EV, Röselerstr. 3, 30159 Hannover oder </li> +<li>einscannen und an office@suma-ev.de mailen. </li> +</ul> +<p>Beim Versenden per Post oder Fax informieren Sie uns bitte kurz per email an office@suma-ev.de</p> +<p>Mitgliedsbeiträge an den SUMA-EV sind steuerlich absetzbar, da der Verein vom Finanzamt Hannover Nord als gemeinnützig anerkannt ist. Eine Spendenbescheinigung wird auf Wunsch im Januar oder Februar des Folgejahres zugesandt. </p> +<button type="button" class="btn btn-lg btn-primary noprint" onclick="window.print();">Drucken</button> +@endsection \ No newline at end of file diff --git a/resources/views/spende.blade.php b/resources/views/spende/spende.blade.php similarity index 97% rename from resources/views/spende.blade.php rename to resources/views/spende/spende.blade.php index b9640ce23e339cf1ff8eada8bfdb2e95025f6e58..7ef0e1c5f151bf13747cf0ac1eb155c1b7b5eb3b 100644 --- a/resources/views/spende.blade.php +++ b/resources/views/spende/spende.blade.php @@ -14,7 +14,7 @@ <p class="text-muted">{{ trans('spenden.bankinfo.3') }}</p> <hr> <div class="col-lg-6 col-md-12 col-sm-12 others ppbc"> - <h2>{{ trans('spenden.logos.1') }}</h2> + <h2>{!! trans('spenden.logos.1') !!}</h2> <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input name="cmd" value="_xclick" type="hidden"> <input name="business" value="wsb@suma-ev.de" type="hidden"> @@ -33,7 +33,7 @@ </form> </div> <div class="col-lg-6 col-md-12 col-sm-12 others ppbc"> - <h2>{{ trans('spenden.logos.2') }}</h2> + <h2>{!! trans('spenden.logos.2') !!}</h2> <a href="bitcoin:174SDRNZqM2WNobHhCDqD1VXbnZYFXNf8V"><img src="/img/WeAcceptBitcoin.png" style="width:120px" alt="Bitcoin"></a> </div> <div class="clearfix"></div> @@ -80,4 +80,4 @@ </div> <div class="clearfix"></div> </div> -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/spende/spendenaufruf.blade.php b/resources/views/spende/spendenaufruf.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..87668759c82ef7967926e495a843ba6f645e964e --- /dev/null +++ b/resources/views/spende/spendenaufruf.blade.php @@ -0,0 +1,152 @@ +@extends('layouts.subPages') + +@section('title', $title ) + +@section('navbarFocus.donate', 'class="dropdown active"') + +@section('content') +<h1>Mit Ihnen zusammen: Für die unabhängige, nicht-kommerzielle Internet-Suche</a></h1> +<p><a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spende") }}">{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spende") }}</a></p> +<p>Mit Ihnen zusammen haben wir in den vergangenen Monaten eine neue +Erfolgsstory geschrieben: die Zahl der MetaGer-Nutzer steigt weiter und +stetig. Es ist kein Strohfeuer kurzfristigen Erfolges, sondern es ist die +Stetigkeit dieser Steigerung, die unseren Erfolg begründet. In drei Jahren +haben wir unsere Abfragezahlen verdreifacht. Wir sind nach Expertenmeinung +die sicherste Suchmaschine der Welt. Unsere Suchergebnisse sind zielgenau +und treffsicher. Beides verdanken wir der Tatsache, dass wir Programmierer +fest anstellen konnten. Aber auch Programmierer können nicht allein von der +Liebe zur Sache leben: Nur dank Ihrer Spendenbereitschaft konnten wir das +finanziell stemmen.</p> +<p> +Wir mussten auch einen Prozess gegen die Ausuferung des "Rechts auf +Vergessen" (nach dem EuGH Urteil vom 13.5.2014) durchstehen, um weiterhin +einen unzensierten Betrieb von Suchmaschinen zu ermöglichen +(<a href="http://suma-ev.de/presse/Suchmaschine-MetaGer-totgeklagt.html" target="_blank">http://suma-ev.de/presse/Suchmaschine-MetaGer-totgeklagt.html</a>). Wir haben +in allen Instanzen gewonnen. Anschließend jedoch hat die Klägerin sich für +zahlungsunfähig erklärt. Wir werden wohl auf den Kosten sitzenbleiben, was +unsere Finanzen weiter belastet. +</p> +<h3> +Um unsere gemeinsamen Erfolge fortzuschreiben, benötigen wir jetzt wieder +Ihre Hilfe. +</h3> +<p><a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spende") }}">{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spende") }}</a></p> +<p> +Eine Internet-Suchmaschine muss stetig weiterentwickelt werden, +wenn sie nicht binnen kurzem veraltet sein soll. Unsere Werbeeinnahmen sind +stark gesunken. Eigentlich wollen wir in MetaGer auch gar keine Werbung. +Aber solange das Spendenaufkommen nicht reicht, können wir darauf noch nicht +verzichten. +</p> +<p> +Wir bitten um Ihre Hilfe, damit wir MetaGer als unabhängige Alternative in +einem gemeinnützigen Verein weiter entwickeln und betreiben können. +Große Teile des Internet versinken im Kommerz und Werbemüll. +</p> +<p> +Lassen Sie uns gemeinsam ein Zeichen gegen die zunehmende Kommerzialisierung +des Internet setzen! Der Betreiberverein von MetaGer, der SUMA-EV, ist als +gemeinnütziger Verein seit 2004 in das Register beim Amtsgericht Hannover +unter VR200033 eingetragen. +</p> +<p> +Bitte unterstützen Sie uns, damit die unabhängige, nicht-kommerzielle Suche +im Internet weiter entwickelt und betrieben werden kann: +<br /> +<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spende") }}">{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/spende") }}</a> +</p> +<h3>Helfen Sie mit, dass freie Suchmaschinen im Internet frei bleiben. Das digitale Wissen der Welt muss ohne Bevormundung durch Staaten oder Konzerne frei zugänglich sein und bleiben.</h3> +<div class=""> + <div class="col-sm-6"> + <h2>{{ trans('spenden.bankinfo.1') }}</h2> + <p style="white-space:pre;">{{ trans('spenden.bankinfo.2') }}</p> + <p class="text-muted">{{ trans('spenden.bankinfo.3') }}</p> + </div> + <div class="col-sm-6"> + <div class=""> + <div class="col-md-6"> + <h2>{!! trans('spenden.logos.1') !!}</h2> + <form action="https://www.paypal.com/cgi-bin/webscr" method="post"> + <input name="cmd" value="_xclick" type="hidden"> + <input name="business" value="wsb@suma-ev.de" type="hidden"> + <input name="item_name" value="SuMa-eV Spende" type="hidden"> + <input name="buyer_credit_promo_code" value="" type="hidden"> + <input name="buyer_credit_product_category" value="" type="hidden"> + <input name="buyer_credit_shipping_method" value="" type="hidden"> + <input name="buyer_credit_user_address_change" value="" type="hidden"> + <input name="no_shipping" value="0" type="hidden"> + <input name="no_note" value="1" type="hidden"> + <input name="currency_code" value="EUR" type="hidden"> + <input name="tax" value="0" type="hidden"> + <input name="lc" value="DE" type="hidden"> + <input name="bn" value="PP-DonationsBF" type="hidden"> + <input src="/img/paypalspenden.gif" name="submit" width="120px" alt="Spenden Sie mit PayPal - schnell, kostenlos und sicher!" type="image"> + </form> + </div> + <div class="col-md-6"> + <h2>{!! trans('spenden.logos.2') !!}</h2> + <a href="bitcoin:174SDRNZqM2WNobHhCDqD1VXbnZYFXNf8V"><img src="/img/WeAcceptBitcoin.png" style="width:120px" alt="Bitcoin"></a> + </div> + </div> + </div> + <div class="clearfix"></div> + <hr /> + <div class="col-md-6"> + <h2 id="lastschrift">{{ trans('spenden.lastschrift.1') }}</h2> + <p>{{ trans('spenden.lastschrift.2') }}</p> + <form role="form" method="POST" action="{{ action('MailController@donation') }}"> + {{ csrf_field() }} + <div class="form-group" style="text-align:left;"> + <label for="Name">{{ trans('spenden.lastschrift.3') }}</label> + <input type="text" class="form-control" id="Name" required="" name="Name" placeholder="{{ trans('spenden.lastschrift.3.placeholder') }}"> + </div> + <div class="form-group" style="text-align:left;"> + <label for="email">{{ trans('spenden.lastschrift.4') }}</label> + <input type="email" class="form-control" id="email" name="email" placeholder="Email"> + </div> + <div class="form-group" style="text-align:left;"> + <label for="tel">{{ trans('spenden.lastschrift.5') }}</label> + <input type="tel" class="form-control" id="tel" name="Telefon" placeholder="xxxx-xxxxx"> + </div> + <div class="form-group" style="text-align:left;"> + <label for="iban">{{ trans('spenden.lastschrift.6') }}</label> + <input type="text" class="form-control" id="iban" required="" name="Kontonummer" placeholder="IBAN"> + </div> + <div class="form-group" style="text-align:left;"> + <label for="bic">{{ trans('spenden.lastschrift.7') }}</label> + <input type="text" class="form-control" id="bic" required="" name="Bankleitzahl" placeholder="BIC"> + </div> + <div class="form-group" style="text-align:left;"> + <label for="msg">{{ trans('spenden.lastschrift.8') }}</label> + <textarea class="form-control" id="msg" required="" name="Nachricht" placeholder="{{ trans('spenden.lastschrift.8.placeholder') }}"></textarea> + </div> + <button type="submit" class="btn btn-default">{{ trans('spenden.lastschrift.9') }}</button> + </form> + <p>{{ trans('spenden.lastschrift.10') }}</p> + </div> + <div class="col-md-6"> + <h2 id="mails">Aus den EMails vorheriger Spender:</h2> + <ul style="text-align:left; list-style-type: initial;"> + <li>"Danke, dass es metager gibt."</li> + <li>"Ich (85J.) möchte für Ihre aufwändige Arbeit 200 Euro spenden. Bleibt stark gegen die Kraken."</li> + <li>"Ihre Arbeit halte ich für sehr wertvoll"</li> + <li>"Danke für Ihre gute Arbeit!"</li> + <li>"Super das neue MetaGer!"</li> + <li>"Suchmaschine wie von Ihnen entwickelt und betrieben ist sehr begrüßenswert. Meine Spende dazu"</li> + <li>"Als kleinen Beitrag für Ihre große und großartige Arbeit spende ich"</li> + <li>"Bitte buchen Sie 100,-EUR für Ihre gute Arbeit ab."</li> + <li>"Gerade in der heutigen Zeit braucht es eine Suchmaschine aus sicherer Hand und guten Absichten."</li> + <li>"Ihre Arbeit ist Spitze. Deshalb möchte Ihr Projekt fördern."</li> + <li>"Ich verwende schon seit Jahren Metager und danke mit einer Spende"</li> + <li>"MetaGer ist Spitze! Ich spende"</li> + <li>"Armer Rentner spendet gerne 5,00 Euro"</li> + <li>"Ich verwende fast nur noch die MetaGer-Suche und bin damit sehr zufrieden"</li> + <li>"Danke für euer Werk!"</li> + </ul> + </div> +</div> +<div id="left" class="col-lg-6 col-md-12 col-sm-12 others"> + + + </div> +@endsection diff --git a/resources/views/widget/sitesearch.blade.php b/resources/views/widget/sitesearch.blade.php index 9cf1756405d24c4cfd740d6035a9e3758f305eb7..d9660fb8863b12fb2171570941a1b55853067456 100644 --- a/resources/views/widget/sitesearch.blade.php +++ b/resources/views/widget/sitesearch.blade.php @@ -3,6 +3,20 @@ @section('title', $title ) @section('content') +<script type="text/javascript"> + function copyCode() { + $("#codesnippet").select(); + try { + var successful = document.execCommand('copy'); + if( successful ) + alert('{{ trans('websearch.alert.success') }}'); + else + alert('{{ trans('websearch.alert.failure') }}'); + } catch (err) { + alert('{{ trans('websearch.alert.failure') }}'); + } + } +</script> <h1>{{ trans('sitesearch.head.1') }}</h1> <p>{{ trans('sitesearch.head.2') }}</p> <h2>{{ trans('sitesearch.head.3') }}</h2> @@ -19,8 +33,8 @@ <input type="hidden" name="encoding" value="utf8"> <input type="hidden" name="site" value="{{ $site }}"> </form> -<h2>{{ trans('sitesearch.generated.5') }}</h2> -<code><form class="metager-searchform" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}/meta/meta.ger3" method="get" accept-charset="UTF-8" > +<h2>{{ trans('sitesearch.generated.5') }} <button class="btn btn-default" type="submit" onclick="copyCode()"><span class="glyphicon glyphicon-paperclip" aria-hidden="true"></span> {{ trans('websearch.head.copy') }}</button></h2> +<textarea id="codesnippet" readonly style="width:100%;height:500px"><form class="metager-searchform" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}/meta/meta.ger3" method="get" accept-charset="UTF-8" > <style type="text/css" scoped> .metager-searchinput { height: 30px; @@ -63,6 +77,6 @@ } </style> <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}"><img class="metager-logo" title="{{ trans('sitesearch.generated.2') }}" alt="MetaGer" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN8AAABGAgMAAAAx/qk0AAAADFBMVEX/wmn/3KL/6Mj+/vtPnQnhAAAC10lEQVRIx+2XMa7TQBCG1zaJkYwUGp5E5RbR+AJI9g2gQLQ0vDpHsMUJKB49DRIKBRdAco6wN8AFB7CQkfzEZod/Zu3ENgSkbRBStnDkt/uNZ/6ZnX2r6KvyGFujyIdTkVG9F6g+q9YPfKL2fuA9VfmBd1XhB95Rl3EZl/Evxur62dm5gAg7uqSxA613pw2+JqI358CQCD2EqBneEzr1ohLg4WyfJKwMT+CGqonNP4NaxfwYwaOrm7+DGzo6mJ5AeLojcw6M2ctMwNU13jM+GYIXzxUHrtWawQc3TsdXUzAhCJqzQkFNnbjXc3AavljMPxJxNdTvtrOvY2UH2wBhwgrYxUzjfThdMn4L6Rv1c/BTF9AXRMbiVykeLUyIjWbMNN5C+oEvzMCXfURbknnS2QgSPrQfVUCRROzKFEzpqUlsTgipj6l9THb3bnODzxf5oC++nNKewdn5ltHGpCZnz3QIm7Xhc4WzUg4nLwwkpGO4e38K5pQc8g5gCn1Yp36sg9qy+50qLbzRydxRgDa2dVseYEHNQVGE/2Ic2CxBrh04CMOgAjG8ZTlQbZhqA5iKqNnQ4iAuD5itANYsHjLTSlFA1QGUUic9KX43ahPyIqNkvgsZLEcw/EhN5MBJDY9ggBVwx4ERQMmoVVxx0QRcFDkjEpnMt1iJ1bcqhzHi5GsH7rPfgW14lDOS3akROoIuuB9ETs6cli0HOdccmQMZ4u6BoEv8TEC7bDmtKiuOjEtmXQxgCDCXXVaJXA/Z919A0YCrc1UDtB+Qa95SGTcAqli7qwP7vugc7eBgLjnAVjCSxs5lE3Hy04hDc7CRNqBda+KUY5eRBegyr8SiUcvmE0t7YzkiSZ6SIqDv7AjX0q1rdr2ixT+biYBSiLW07Yz3A70eKs8W0l7xs9wc08wcD4qV62rq6r2U2eptcTlGL+O/HN4XFu8rkvelzPsa6H3x9L7q+l6ufwK7PWV5kEbECQAAAABJRU5ErkJggg=="></a><input class="metager-searchinput" name="eingabe" placeholder="{{ trans('sitesearch.generated.3') }}" required></input><button class="metager-searchbutton" type="submit">{{ trans('sitesearch.generated.4') }}</button><input type="hidden" name="encoding" value="utf8"></input><input type="hidden" name="site" value="{{ $site }}"></input><input type="hidden" name="lang" value="{{ trans('sitesearch.generated.6') }}"></input><input type="hidden" name="wdgt-version" value="1"></input></form> -</code> +</textarea> @endif -@endsection \ No newline at end of file +@endsection diff --git a/resources/views/widget/websearch.blade.php b/resources/views/widget/websearch.blade.php index 579764de7da7b6275d568aa3a9e8d14c5d5f041c..b743ed22c20f2124d0c9be295761207d45ba1a8b 100644 --- a/resources/views/widget/websearch.blade.php +++ b/resources/views/widget/websearch.blade.php @@ -3,6 +3,20 @@ @section('title', $title ) @section('content') +<script type="text/javascript"> + function copyCode() { + $("#codesnippet").select(); + try { + var successful = document.execCommand('copy'); + if( successful ) + alert('{{ trans('websearch.alert.success') }}'); + else + alert('{{ trans('websearch.alert.failure') }}'); + } catch (err) { + alert('{{ trans('websearch.alert.failure') }}'); + } + } +</script> <h1>{{ trans('websearch.head.1') }}</h1> <p>{{ trans('websearch.head.2') }}</p> <h2>{{ trans('websearch.head.3') }}</h2> @@ -10,8 +24,8 @@ <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}"> <img class="metager-logo" title="{{ trans('websearch.head.4') }}" alt="MetaGer" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN8AAABGAgMAAAAx/qk0AAAADFBMVEX/wmn/3KL/6Mj+/vtPnQnhAAAC10lEQVRIx+2XMa7TQBCG1zaJkYwUGp5E5RbR+AJI9g2gQLQ0vDpHsMUJKB49DRIKBRdAco6wN8AFB7CQkfzEZod/Zu3ENgSkbRBStnDkt/uNZ/6ZnX2r6KvyGFujyIdTkVG9F6g+q9YPfKL2fuA9VfmBd1XhB95Rl3EZl/Evxur62dm5gAg7uqSxA613pw2+JqI358CQCD2EqBneEzr1ohLg4WyfJKwMT+CGqonNP4NaxfwYwaOrm7+DGzo6mJ5AeLojcw6M2ctMwNU13jM+GYIXzxUHrtWawQc3TsdXUzAhCJqzQkFNnbjXc3AavljMPxJxNdTvtrOvY2UH2wBhwgrYxUzjfThdMn4L6Rv1c/BTF9AXRMbiVykeLUyIjWbMNN5C+oEvzMCXfURbknnS2QgSPrQfVUCRROzKFEzpqUlsTgipj6l9THb3bnODzxf5oC++nNKewdn5ltHGpCZnz3QIm7Xhc4WzUg4nLwwkpGO4e38K5pQc8g5gCn1Yp36sg9qy+50qLbzRydxRgDa2dVseYEHNQVGE/2Ic2CxBrh04CMOgAjG8ZTlQbZhqA5iKqNnQ4iAuD5itANYsHjLTSlFA1QGUUic9KX43ahPyIqNkvgsZLEcw/EhN5MBJDY9ggBVwx4ERQMmoVVxx0QRcFDkjEpnMt1iJ1bcqhzHi5GsH7rPfgW14lDOS3akROoIuuB9ETs6cli0HOdccmQMZ4u6BoEv8TEC7bDmtKiuOjEtmXQxgCDCXXVaJXA/Z919A0YCrc1UDtB+Qa95SGTcAqli7qwP7vugc7eBgLjnAVjCSxs5lE3Hy04hDc7CRNqBda+KUY5eRBegyr8SiUcvmE0t7YzkiSZ6SIqDv7AjX0q1rdr2ixT+biYBSiLW07Yz3A70eKs8W0l7xs9wc08wcD4qV62rq6r2U2eptcTlGL+O/HN4XFu8rkvelzPsa6H3x9L7q+l6ufwK7PWV5kEbECQAAAABJRU5ErkJggg=="></a><input class="metager-searchinput" name="eingabe" placeholder="{{ trans('websearch.head.5') }}" required=""><input type="hidden" name="lang" value="{{ trans('websearch.head.6') }}"><input type="hidden" name="encoding" value="utf8"><button class="metager-searchbutton" type="submit">{{ trans('websearch.head.8') }}</button> </form> -<h2>{{ trans('websearch.head.7') }}</h2> -<code><form class="metager-searchform" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}/meta/meta.ger3" method="get" accept-charset="UTF-8" > +<h2>{{ trans('websearch.head.7') }} <button class="btn btn-default" type="submit" onclick="copyCode()"><span class="glyphicon glyphicon-paperclip" aria-hidden="true"></span> {{ trans('websearch.head.copy') }}</button></h2> +<textarea id="codesnippet" readonly style="width:100%;height:500px"><form class="metager-searchform" action="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}/meta/meta.ger3" method="get" accept-charset="UTF-8" > <style type="text/css" scoped> .metager-searchinput { height: 30px; @@ -54,5 +68,5 @@ } </style> <a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") }}"><img class="metager-logo" title="{{ trans('websearch.head.4') }}" alt="MetaGer" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN8AAABGAgMAAAAx/qk0AAAADFBMVEX/wmn/3KL/6Mj+/vtPnQnhAAAC10lEQVRIx+2XMa7TQBCG1zaJkYwUGp5E5RbR+AJI9g2gQLQ0vDpHsMUJKB49DRIKBRdAco6wN8AFB7CQkfzEZod/Zu3ENgSkbRBStnDkt/uNZ/6ZnX2r6KvyGFujyIdTkVG9F6g+q9YPfKL2fuA9VfmBd1XhB95Rl3EZl/Evxur62dm5gAg7uqSxA613pw2+JqI358CQCD2EqBneEzr1ohLg4WyfJKwMT+CGqonNP4NaxfwYwaOrm7+DGzo6mJ5AeLojcw6M2ctMwNU13jM+GYIXzxUHrtWawQc3TsdXUzAhCJqzQkFNnbjXc3AavljMPxJxNdTvtrOvY2UH2wBhwgrYxUzjfThdMn4L6Rv1c/BTF9AXRMbiVykeLUyIjWbMNN5C+oEvzMCXfURbknnS2QgSPrQfVUCRROzKFEzpqUlsTgipj6l9THb3bnODzxf5oC++nNKewdn5ltHGpCZnz3QIm7Xhc4WzUg4nLwwkpGO4e38K5pQc8g5gCn1Yp36sg9qy+50qLbzRydxRgDa2dVseYEHNQVGE/2Ic2CxBrh04CMOgAjG8ZTlQbZhqA5iKqNnQ4iAuD5itANYsHjLTSlFA1QGUUic9KX43ahPyIqNkvgsZLEcw/EhN5MBJDY9ggBVwx4ERQMmoVVxx0QRcFDkjEpnMt1iJ1bcqhzHi5GsH7rPfgW14lDOS3akROoIuuB9ETs6cli0HOdccmQMZ4u6BoEv8TEC7bDmtKiuOjEtmXQxgCDCXXVaJXA/Z919A0YCrc1UDtB+Qa95SGTcAqli7qwP7vugc7eBgLjnAVjCSxs5lE3Hy04hDc7CRNqBda+KUY5eRBegyr8SiUcvmE0t7YzkiSZ6SIqDv7AjX0q1rdr2ixT+biYBSiLW07Yz3A70eKs8W0l7xs9wc08wcD4qV62rq6r2U2eptcTlGL+O/HN4XFu8rkvelzPsa6H3x9L7q+l6ufwK7PWV5kEbECQAAAABJRU5ErkJggg=="></a><input class="metager-searchinput" name="eingabe" placeholder="{{ trans('websearch.head.5') }}" required></input><input type="hidden" name="encoding" value="utf8"><button class="metager-searchbutton" type="submit">{{ trans('websearch.head.8') }}</button><input type="hidden" name="wdgt-version" value="1"></input><input type="hidden" name="lang" value="{{ trans('websearch.head.6') }}"></form> -</code> -@endsection \ No newline at end of file +</textarea> +@endsection diff --git a/storage/app/public/ads.txt b/storage/app/public/ads.txt index 0bedeb86095ae3c1523c0abec30b210af2e3e467..799ebdc53b50d42b4e575963db510b1937734de9 100755 --- a/storage/app/public/ads.txt +++ b/storage/app/public/ads.txt @@ -1,7 +1,7 @@ [ { "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>", + "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! Schauen Sie sich das Beispiel der <a href=\"http://suma-ev.de/presse/MetaGer-jetzt-Standardsuche-an-der-Uni-Mainz.html\" target=\"_blank\">Uni-Mainz</a> an - fragen Sie uns: <a href=\"mailto:office@suma-ev.de\">office@suma-ev.de</a>", "URL" : "mailto:office@suma-ev.de" }