Commit 079e98e5 authored by Karl Hasselbring's avatar Karl Hasselbring

Merge branch 'development' into 646-ubersetzung-fur-js-dateien-einbauen

parents e37ace4a 1220893f
......@@ -30,7 +30,6 @@ class MetaGer
protected $engines = [];
protected $results = [];
protected $ads = [];
protected $products = [];
protected $warnings = [];
protected $errors = [];
protected $addedHosts = [];
......@@ -280,7 +279,6 @@ class MetaGer
if ($this->validated) {
$this->ads = [];
$this->products = [];
$this->maps = false;
}
......@@ -365,9 +363,6 @@ class MetaGer
foreach ($engine->ads as $ad) {
$this->ads[] = $ad;
}
foreach ($engine->products as $product) {
$this->products[] = $product;
}
}
}
......@@ -1034,40 +1029,52 @@ class MetaGer
public function checkSpecialSearches(Request $request)
{
if ($request->has('site')) {
$site = $request->input('site');
} else {
$site = "";
}
$this->searchCheckSitesearch($site);
$this->searchCheckHostBlacklist();
$this->searchCheckDomainBlacklist();
$this->searchCheckSitesearch($request);
$this->searchCheckHostBlacklist($request);
$this->searchCheckDomainBlacklist($request);
$this->searchCheckUrlBlacklist();
$this->searchCheckPhrase();
$this->searchCheckStopwords();
$this->searchCheckStopwords($request);
$this->searchCheckNoSearch();
}
private function searchCheckSitesearch($site)
private function searchCheckSitesearch($request)
{
// matches '[... ]site:test.de[ ...]'
while (preg_match("/(^|.+\s)site:(\S+)(?:\s(.+)|($))/si", $this->q, $match)) {
$this->site = $match[2];
$this->q = $match[1] . $match[3];
}
if ($site !== "") {
$this->site = $site;
# Overwrite Setting if it's submitted via Parameter
if ($request->has('site')) {
$this->site = $request->input('site');
}
}
private function searchCheckHostBlacklist()
private function searchCheckHostBlacklist($request)
{
// matches '[... ]-site:test.de[ ...]'
while (preg_match("/(^|.+\s)-site:([^\s\*]\S*)(?:\s(.+)|($))/si", $this->q, $match)) {
$this->hostBlacklist[] = $match[2];
$this->q = $match[1] . $match[3];
}
# Overwrite Setting if it's submitted via Parameter
if($request->has('blacklist')){
$this->hostBlacklist = [];
$blacklistString = trim($request->input('blacklist'));
if(strpos($blacklistString, ",") !== FALSE){
$blacklistArray = explode(',', $blacklistString);
foreach($blacklistArray as $blacklistElement){
$blacklistElement = trim($blacklistElement);
if(strpos($blacklistElement, "*") !== 0){
$this->hostBlacklist[] = $blacklistElement;
}
}
}else if(strpos($blacklistString, "*") !== 0){
$this->hostBlacklist[] = $blacklistString;
}
}
// print the host blacklist as a user warning
if (sizeof($this->hostBlacklist) > 0) {
$hostString = "";
......@@ -1079,13 +1086,29 @@ class MetaGer
}
}
private function searchCheckDomainBlacklist()
private function searchCheckDomainBlacklist($request)
{
// matches '[... ]-site:*.test.de[ ...]'
while (preg_match("/(^|.+\s)-site:\*\.(\S+)(?:\s(.+)|($))/si", $this->q, $match)) {
$this->domainBlacklist[] = $match[2];
$this->q = $match[1] . $match[3];
}
# Overwrite Setting if it's submitted via Parameter
if($request->has('blacklist')){
$this->domainBlacklist = [];
$blacklistString = trim($request->input('blacklist'));
if(strpos($blacklistString, ",") !== FALSE){
$blacklistArray = explode(',', $blacklistString);
foreach($blacklistArray as $blacklistElement){
$blacklistElement = trim($blacklistElement);
if(strpos($blacklistElement, "*.") === 0){
$this->domainBlacklist[] = substr($blacklistElement, strpos($blacklistElement, "*.")+2);
}
}
}else if(strpos($blacklistString, "*.") === 0){
$this->domainBlacklist[] = substr($blacklistString, strpos($blacklistString, "*.")+2);
}
}
// print the domain blacklist as a user warning
if (sizeof($this->domainBlacklist) > 0) {
$domainString = "";
......@@ -1115,13 +1138,27 @@ class MetaGer
}
}
private function searchCheckStopwords()
private function searchCheckStopwords($request)
{
// matches '[... ]-test[ ...]'
while (preg_match("/(^|.+\s)-(\S+)(?:\s(.+)|($))/si", $this->q, $match)) {
$this->stopWords[] = $match[2];
$this->q = $match[1] . $match[3];
}
# Overwrite Setting if submitted via Parameter
if($request->has('stop')){
$this->stopWords = [];
$stop = trim($request->input('stop'));
if(strpos($stop, ',') !== FALSE){
$stopArray = explode(',', $stop);
foreach($stopArray as $stopElement){
$stopElement = trim($stopElement);
$this->stopWords[] = $stopElement;
}
}else{
$this->stopWords[] = $stop;
}
}
// print the stopwords as a user warning
if (sizeof($this->stopWords) > 0) {
$stopwordsString = "";
......@@ -1207,24 +1244,6 @@ class MetaGer
}
}
public function hasProducts()
{
if (count($this->products) > 0) {
return true;
} else {
return false;
}
}
public function getProducts()
{
$return = [];
foreach ($this->products as $product) {
$return[] = get_object_vars($product);
}
return $return;
}
public function canCache()
{
return $this->canCache;
......
<?php
namespace app\Models\parserSkripte;
use App\Models\Searchengine;
class RlvProduct extends Searchengine
{
public $results = [];
public function __construct(\SimpleXMLElement $engine, \App\MetaGer $metager)
{
parent::__construct($engine, $metager);
}
public function loadResults($result)
{
# try
# {
$results = json_decode($result, true);
$counter = 0;
foreach ($results["products"] as $result) {
$counter++;
$image = $result["productImage"];
$image = str_replace("//", "https://", $image);
$this->products[] = new \App\Models\Result(
$this->engine,
$result["productTitle"],
$result["shopLink"],
$result["shopLink"],
"",
$result["shopTitle"],
$counter,
['partnershop' => false,
'price' => $result["price"],
'image' => $image,
'shipping' => $result["distribution"]]
);
}
}
}
......@@ -22,7 +22,7 @@ elixir(function (mix) {
| scriptStartPage.js
| settings.js
*/
mix.scripts(['lib/jquery.js', 'lib/jquery-ui.min.js', 'lib/bootstrap.js', 'lib/lightslider.js', 'lib/masonry.js', 'lib/imagesloaded.js', 'lib/openpgp.min.js', 'lib/iframeResizer.min.js', 'lib/md5.js'], 'public/js/lib.js')
mix.scripts(['lib/jquery.js', 'lib/jquery-ui.min.js', 'lib/bootstrap.js', 'lib/masonry.js', 'lib/imagesloaded.js', 'lib/openpgp.min.js', 'lib/iframeResizer.min.js', 'lib/md5.js'], 'public/js/lib.js')
mix.scripts(['scriptStartPage.js', 'results.js'], 'public/js/scriptStartPage.js');
mix.scripts(['scriptResultPage.js', 'results.js'], 'public/js/scriptResultPage.js');
mix.scripts(['translations.js'], 'public/js/translations.js');
......
1.9
\ No newline at end of file
......@@ -19,7 +19,7 @@
## Offizielle Dokumentation
Die Dokumentation ist im Wiki des Gitlab-Projektes zu finden.
Die Dokumentation ist im [Wiki des Gitlab-Projektes](https://gitlab.metager3.de/open-source/MetaGer/wikis/home) zu finden.
## Beiträge
......@@ -30,10 +30,10 @@ 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 bitte 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](https://gitlab.metager3.de/open-source/MetaGer/issues) oder eine Mail an [office@suma-ev.de](mailto:office@suma-ev.de) zu senden.
## Lizenzen
Der MetaGer-eigene Code, sofern nicht anders anders angegeben, steht unter der [AGPL-Lizenz Version 3](https://www.gnu.org/licenses/agpl-3.0).
Eine Liste der Projekte, auf denen MetaGer basiert, und deren Lizenzen sind in der Datei LICENSE zu finden.
Eine Liste der Projekte, auf denen MetaGer basiert, und deren Lizenzen sind in der Datei [LICENSE]( zu finden.
This diff is collapsed.
......@@ -588,7 +588,6 @@ function getQuicktips (search, locale, blacklist, loadedHandler) {
$.get(getString, function (data, status) {
if (status === 'success') {
var quicktips = $(data).children('feed').children('entry').map(function () {
console.log(this);
return quicktip = {
type: $(this).children('mg\\:type').text(),
title: $(this).children('title').text(),
......@@ -605,7 +604,6 @@ function getQuicktips (search, locale, blacklist, loadedHandler) {
}).toArray()
};
}).toArray();
console.log(quicktips);
loadedHandler(quicktips);
} else {
console.error('Loading quicktips failed with status ' + status);
......
......@@ -27,13 +27,13 @@ return [
'sponsors.head.1' => 'Weitere Informationen',
'sponsors.head.2' => 'Sponsoren',
'sponsors.woxikon' => '<a href="http://www.tagesgeld.jetzt" class="mutelink" target="_blank" rel="noopener">Tagesgeld jetzt!</a>',
'sponsors.woxikon' => '<a href="http://www.tagesgeld.jetzt" class="mutelink" target="_blank" rel="noopener">Tagesgeld</a>',
'sponsors.gutscheine' => '<a href="http://www.gutschein-magazin.de/" class="mutelink" target="_blank" rel="noopener">Aktuelle Gutscheine auf Gutschein-Magazin.de</a>',
'sponsors.seo' => '<a href="https://www.semtrix.de/seo-agentur/" class="mutelink" target="_blank" rel="noopener">SEO Agentur </a>',
'about.title' => 'Über uns',
'about.1.1' => '<a href="/datenschutz">Datenschutz & Privatsphäre</a> sind bei uns einfach & selbstverständlich.',
'about.2.1' => 'Wir arbeiten nicht gewinnorientiert, wir sind ein <a href="/spende">gemeinnütziger Verein.</a>',
'about.1.1' => '<a href="/datenschutz">Datenschutz & Privatsphäre</a>: Bei uns einfach & selbstverständlich.',
'about.2.1' => 'Wir arbeiten nicht gewinnorientiert, wir sind ein <a href="/spende">gemeinnütziger Verein.</a>: <a href="/beitritt">Werden Sie Mitglied!</a>',
'about.3.1' => '',
'placeholder' => 'MetaGer: Sicher suchen & finden, Privatsphäre schützen',
......@@ -45,6 +45,7 @@ return [
'plugin.head.5' => 'MetaGer zum Microsoft Edge hinzufügen',
'plugin.head.6' => 'MetaGer zum Safari hinzufügen',
'plugin.head.7' => 'MetaGer zum Vivaldi hinzufügen',
'plugin.head.8' => 'MetaGer zum Firefox Klar hinzufügen',
'plugin.head.info' => '(aktuelle Sucheinstellungen werden übernommen)',
'plugin.firefox.1' => 'Klicken Sie in Ihrem Browser oben rechts im Suchfeld auf die Lupe mit dem kleinen "+" und dann auf "MetaGer hinzufügen" (siehe Bild)',
......@@ -53,6 +54,11 @@ return [
'plugin.firefox.4' => 'Klicken Sie oben rechts im Browser auf <i class="fa fa-bars" aria-hidden="true"></i><span class="sr-only">die drei horizontalen Striche</span> (Menü) und öffnen Sie die "Einstellungen"',
'plugin.firefox.5' => 'Tragen Sie im Feld "Startseite" "https://metager.de" ein.',
'plugin.firefox-klar.1' => 'Öffnen Sie die Einstellungen Ihres Browsers über das Zahnrad (unter Android <i class="fa fa-ellipsis-v"></i>) rechts neben der Suchleiste',
'plugin.firefox-klar.2' => 'Klicken Sie unter dem Menüpunkt "Suche" auf "Suchmaschine". Aktuell wird die voreingestellte Suchmaschine angezeigt (siehe Bild)',
'plugin.firefox-klar.3' => 'Klicken Sie auf "Weitere Suchmaschine hinzufügen" und füllen Sie die Felder wie im Bild aus.',
'plugin.firefox-klar.4' => 'Achten Sie hierbei darauf, dass sich keine Leerzeichen am Ende des Suchstrings "einschleichen", da Firefox Klar die Speicherung der Einstellung sonst verweigert.',
'plugin.chrome.1' => 'Klicken Sie in Ihrem Chrome oben rechts auf <i class="fa fa-ellipsis-v"></i> und im folgenden Menü auf "Einstellungen", um die Einstellungen Ihres Chromes zu öffnen.',
'plugin.chrome.2' => 'Im Bereich "Suchen" klicken Sie auf Suchmaschinen verwalten...',
'plugin.chrome.3' => 'In der nun angezeigten Liste, finden Sie den Eintrag "MetaGer". Fahren Sie mit der Maus über den Eintrag und klicken auf "Als Standard festlegen"',
......
......@@ -8,28 +8,36 @@ return [
"foki.produkte" => "Shopping",
"foki.angepasst" => "Customized",
"foki.maps" => "maps.metager.de",
"design" => "select personal theme",
"conveyor" => "Purchase at affiliate shops",
"partnertitle" => "Support MetaGer without any costs to you",
"mapstitle" => "MetaGer Maps Service",
"plugin" => "Add MetaGer-Plugin",
"plugintitle" => "add MetaGer to your browser",
"focus-creator.head" => "Customize search",
"focus-creator.description" => "Arrange a personal search",
"focus-creator.name-placeholder" => "Label of search focus",
"focus-creator.save" => "Save search focus",
"focus-creator.delete" => "Delete search focus",
"focus-creator.focusname" => "Focus:",
"sponsors.head.1" => "Further Information",
"sponsors.head.2" => "Protect Yourself",
"sponsors.woxikon" => "Use MetaGer against Snoopers:",
"sponsors.seo" => "Click results by \"open anonymously\"",
"sponsors.gutscheine" => "and you are fully protected.",
"about.title" => "About Us",
"about.1.1" => "We provide <a href=\"/en/datenschutz\">privacy & data protection.</a>",
"about.2.1" => "We are a <a href=\"/en/spende\">non profit NGO</a>. <a href=\"https://gitlab.metager3.de/open-source/MetaGer\" target=\"_blank\">Our source code is open:</a>",
"about.3.1" => "Everyone might check our data protection & privacy features.",
"placeholder" => "MetaGer: Privacy Protected Search & Find",
"plugin.head.1" => "Add MetaGer to your Firefox",
"plugin.head.2" => "Add MetaGer to your Chrome",
"plugin.head.3" => "Add MetaGer to your Opera",
......@@ -37,12 +45,21 @@ return [
"plugin.head.5" => "Add MetaGer to your Microsoft Edge",
"plugin.head.6" => "Add MetaGer to your Safari",
"plugin.head.7" => "Add Metager to your Vivaldi",
"plugin.head.8" => "Add MetaGer to your Firefox Focus",
"plugin.head.info" => "(selected search preferences will be used)",
"plugin.firefox.1" => "Click on the magnifying glass with the small green \"+\" and then on \"Add MetaGer..\" (picture 1)",
"plugin.firefox.2" => "Now right click on the new MetaGer Logo in the List and select \"Make MetaGer the default search engine\" (picture2)",
"plugin.firefox.3" => "Use MetaGer as start page in :browser",
"plugin.firefox.4" => "Click top right in your browser on <i class=\"fa fa-menu\" aria-hidden=\"true\"></i><span class=\"sr-only\">the three small horizontal lines</span> (menu) and open \"Preferences\"",
"plugin.firefox.5" => "Type in field \"Home Page\" => \"https://metager.de/en/\"",
'plugin.firefox-klar.1' => 'Click on the cog icon next to the searchbar to open your browser settings (click on <i class="fa fa-ellipsis-v"></i> when using an Android device)',
'plugin.firefox-klar.2' => 'Select \'Searchengine\' under the \'Search\' menu item (see picture below).',
'plugin.firefox-klar.3' => 'Click on \'Add another search engine\' and fill in the textfields as seen in the picture below.',
'plugin.firefox-klar.4' => 'Be careful not to add whitespaces at the end of the searchstring, otherwise Firefox Focus won\'t let you save your changes.',
"plugin.chrome.1" => "Click in your Chrome browser on <i class=\"fa fa-ellipsis-v\"></i> and in the next menu on \"Preferences\" to open the settings of your Chrome browser",
"plugin.chrome.2" => "Click in field \"Search\" on manage search engines",
"plugin.chrome.3" => "Now you will find an entry \"MetaGer\". Move your mouse over that entry and click on \"Standard\",",
......@@ -51,6 +68,7 @@ return [
"plugin.chrome.6" => "In the field \"Start\" choose \"Open specific Page/s\" and then click on \"Choose Page/s\"",
"plugin.chrome.7" => "Type in https://metager.de/en/\" as URL at \"Add new page\"",
"plugin.chrome.8" => "Hint: Every Webpage in this field will be opened when you start your browser. You can delete entries by moving the mouse on it and click \"x\"",
"plugin.opera.1" => "Click on <a href=\"/\" target=\"_blank\" rel=\"noopener\">hier</a> to open MetaGer in a new TAB",
"plugin.opera.2" => "In that news TAB click with the right mouse button within the search field in the middle of the page",
"plugin.opera.3" => "Choose \"create search engine\" in the menu",
......@@ -61,6 +79,7 @@ return [
"plugin.opera.8" => "In the field \"Start\" choose \"Open specific Page\\/s\" and then click on \"Choose Page\\/s\"",
"plugin.opera.9" => "Type in https://metager.de/en/\" as URL at \"Add new page\"",
"plugin.opera.10" => "Click on OK",
"plugin.IE.1" => "Click <a href=\"javascript:window.external.addSearchProvider($('link[rel=search]').attr('href'));\">here</a> to add MetaGer as search engine",
"plugin.IE.4" => "Click top right in your browser on \"Extras\"",
"plugin.IE.5" => "Choose the menu \"manage Add-Ons\"",
......@@ -70,6 +89,7 @@ return [
"plugin.IE.9" => "Click at top right in your browser on <i class=\"fa fa-cog\"></i> and open \"Internet Options\"",
"plugin.IE.10" => "If MetaGer should be your only startpage mark the existing text within the text field, and replace it by \"https://metager.de/en/\"",
"plugin.IE.11" => "Click on OK",
"plugin.edge.1" => "Click in your browser top right on Extras (",
"plugin.edge.2" => ") and choose \"Preferences\"",
"plugin.edge.3" => "Scroll down and click on \"Show adavanced Preferences\"",
......@@ -81,12 +101,15 @@ return [
"plugin.edge.9" => "Choose \"User defined\" within drop down menu",
"plugin.edge.10" => "Type \"https://metager.de/en/\" in field \"Webaddress\" and click on \"+\"",
"plugin.edge.11" => "Delete all entries which should not be opened at start (for example \"about:start\") by click on \"x\"",
"plugin.safari.1" => "Install the Safari-PlugIn <a href=\"http://www.opensearchforsafari.com/\" target=\"_blank\" rel=\"noopener\">OpenSearchforSafari</a>.",
"plugin.safari.2" => "Open MetaGer and add MetaGer by the OpenSearch-button within the Safari menu",
"plugin.safari.3" => "Delete (if you want) other search engines by clicking on \"X\"",
"plugin.safari.4" => "Now you might search with MetaGer via the OpenSearch-button (magnifying glass symbol)",
"plugin.faq.1" => "See also:",
"plugin.faq.2" => "Metager FAQ - Plugin",
"plugin.vivaldi.1" => "Click the red logo \"Vivaldi\" at the top left of your web browser. Then select \"Tools / Preferences\"",
"plugin.vivaldi.2" => "Within the new menu choose \"search\"",
"plugin.vivaldi.3" => "Select \"Add new search\"",
......
<?php
return [
"options.1" => "Nueva búsqueda en este dominio",
"options.2" => "ocultar :host",
"options.3" => "ocultar *.:domain",
"options.4" => "Tienda asociada",
"options.5" => "abrir anónimo",
"proxytext" => "Abrirá el link anonimizado.",
"options.headline" => "Opciónes",
"options.savetab" => "Grabar resultado",
"options.1" => "Nueva búsqueda en este dominio",
"options.2" => "ocultar :host",
"options.3" => "ocultar *.:domain",
"options.4" => "Tienda asociada",
"options.5" => "abrir anónimo",
"proxytext" => "Abrirá el link anonimizado."
];
......@@ -43,6 +43,14 @@
<li>{!! trans('index.plugin.firefox.4') !!}</li>
<li>{!! trans('index.plugin.firefox.5') !!}</li>
</ol>
<hr>
<h4>{{ trans('index.plugin.head.8') }}</h4>
<ol>
<li>{!! trans('index.plugin.firefox-klar.1') !!}</li>
<li>{{ trans('index.plugin.firefox-klar.2')}}<img src="/img/FirefoxKlar-Settings.png" width="100%"/></li>
<li>{{ trans('index.plugin.firefox-klar.3') }}<img src="/img/FirefoxKlar-addSearchengine.png" width="100%"/></li>
<li>{{ trans('index.plugin.firefox-klar.4') }}</li>
</ol>
@elseif ($browser === 'Chrome')
<ol>
<li>{!! trans('index.plugin.chrome.1') !!}</li>
......@@ -329,8 +337,8 @@
<div id="sponsors" class="col-sm-6">
<h2>{{ trans('index.sponsors.head.2') }}</h2>
<ul class="startpage">
<li>{!! trans('index.sponsors.seo') !!}</li>
<li>{!! trans('index.sponsors.woxikon') !!}</li>
<li>{!! trans('index.sponsors.seo') !!}</li>
<li>{!! trans('index.sponsors.gutscheine') !!}</li>
</ul>
</div>
......
<div class="row lightSliderContainer hidden">
<div class="col-sm-1 hidden-xs"></div>
<div class="resultInformation col-xs-12 col-sm-11">
<span id="mark">Produktanzeigen:</span>
<ul id="products" class="lightSlider" >
@foreach($products as $product)
<li>
<div class="product">
<a href="{{$product["link"]}}" title="{{$product["titel"]}}" target="_blank" rel="noopener">
<div class="price">{!!$product["price"]!!}</div>
<img src="{{ $metager->getImageProxyLink($product["image"]) }}" />
<p class="title">{{$product["titel"]}}</p>
<p class="shop">{{$product["gefVon"]}}</p>
<p class="shipping">{{$product["additionalInformation"]["shipping"]}}</p>
</a>
</div>
</li>
@endforeach
</ul>
</div>
</div>
@if( strpos(rtrim(Request::header('REFERER'), '/'), LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/") ) === 0 && ( $browser === 'Firefox' || $browser === 'Mozilla' || $browser === 'Chrome' || $browser === 'IE' || $browser === 'Edge') )
<div id="searchplugin" class="alert alert-warning alert-dismissible hide" role="alert" style="">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
{!! trans('researchandtabs.plugin.1', ['browser' => $browser]) !!}
<br />
<div style="">
<a href="{{ action('StartpageController@loadStartPage', Request::all()) }}#plugin-modal" target="_blank" rel="noopener" type="button" class="btn btn-info" style="">{!! trans('researchandtabs.plugin.2') !!}</a>
</div>
</div>
@endif
<div class="content-wrapper container">
<header id="research" class="row">
<nav class="navbar navbar-default navbar-fixed-top navbar-resultpage">
......
......@@ -17,6 +17,7 @@
<link type="text/css" rel="stylesheet" href="/css/lightslider.css" />
<link type="text/css" rel="stylesheet" href="/font-awesome/css/font-awesome.min.css" />
<link id="theme" type="text/css" rel="stylesheet" href="/css/theme.css.php" />
<meta name="referrer" content="origin">
@include('layouts.utility')
</head>
<body id="resultBody">
......
......@@ -150,15 +150,6 @@
</header>
<div class="wrapper">
@if(LaravelLocalization::getCurrentLocale() == "de" && strpos(url()->current(), '/beitritt') === false && strpos(url()->current(), '/spendenaufruf') === false)
<div style="text-align: center;"><a href="/spendenaufruf" target="_blank" style="
background-color: white;
display: inline-block;
width: 100%;
max-width: 770px;
margin-bottom: 10px;
"><img src="/img/aufruf.png" alt="Spendenaufruf SuMa eV" width="100%"></a></div>
@endif
<main class="mg-panel container">
@if (isset($success))
<div class="alert alert-success" role="alert">{{ $success }}</div>
......
......@@ -24,33 +24,15 @@
@else
<div class="col-xs-12 col-md-12 resultContainer">
@endif
@if(!$apiAuthorized && !$metager->validated && LaravelLocalization::getCurrentLocale() == "de" && strpos(url()->current(), '/beitritt') === false && strpos(url()->current(), '/spendenaufruf') === false)
<div class="row" style="margin-bottom: 10px">
<div class="col-sm-1">
</div>
<div class="col-sm-10">
<a href="/spendenaufruf" target="_blank" style="
background-color: white;
display: inline-block;
width: 100%;
">
<img src="/img/aufruf.png" alt="Spendenaufruf SuMa eV" width="100%">
</a>
</div>
</div>
@endif
@if($metager->hasProducts())
@if( $metager->getFokus() !== "produktsuche" && !$apiAuthorized)
@include('layouts.products', ['products' => $metager->getProducts()])
@endif
@if($mobile)
@include('layouts.ad', ['ad' => $metager->popAd()])
@else
@for($i = 0; $i <= 1; $i++)
@for($i = 0; $i <= 2; $i++)
@include('layouts.ad', ['ad' => $metager->popAd()])
@endfor
@endif
@foreach($metager->getResults() as $result)
@if($result->number % 7 === 0)
@if((!$mobile && $result->number % 7 === 0) || ($mobile && $result->number % 4 === 0))
@include('layouts.ad', ['ad' => $metager->popAd()])
@endif
@include('layouts.result', ['result' => $result])
......
......@@ -17,30 +17,9 @@
</div>
@endif
<div class="col-xs-12 col-md-8">
@if(!$apiAuthorized && !$metager->validated && LaravelLocalization::getCurrentLocale() == "de" && strpos(url()->current(), '/beitritt') === false && strpos(url()->current(), '/spendenaufruf') === false)
<div class="row" style="margin-bottom: 10px">
<div class="col-sm-1">
</div>
<div class="col-sm-10">
<a href="/spendenaufruf" target="_blank" style="
background-color: white;
display: inline-block;
width: 100%;
">
<img src="/img/aufruf.png" alt="Spendenaufruf SuMa eV" width="100%">
</a>
</div>
</div>
@endif
@if($metager->hasProducts())
@if( $metager->getFokus() !== "produktsuche" && !$apiAuthorized)
@include('layouts.products', ['products' => $metager->getProducts()])
@endif
@else
@for($i = 0; $i <= 1; $i++)
@include('layouts.ad', ['ad' => $metager->popAd()])
@endfor
@endif
@for($i = 0; $i <= 2; $i++)
@include('layouts.ad', ['ad' => $metager->popAd()])
@endfor
@foreach($metager->getResults() as $result)
@if($result->number % 7 === 0)
@include('layouts.ad', ['ad' => $metager->popAd()])
......
@extends('layouts.subPages')
@section('title', $title )
@section('navbarFocus.donate', 'class="dropdown active"')
@section('content')
<h1>MetaGer: die unabhängige, nicht-kommerzielle Internet-Suche</h1>
<p><a href="#formular">Direkt zum Spendenformular</a></p>
<p>In den vergangenen Monaten hat sich MetaGer prächtig weiter entwickelt.
Daran haben <em>Sie</em>, die MetaGer-Nutzer, einen maßgeblichen Anteil: Ohne
<em>Ihre</em> Hilfe gäbe es die unabhängige, nicht-kommerzielle MetaGer-Suche
schon lange nicht mehr.</p>
<p>Für das kommende Jahr haben wir uns nun allerhand vorgenommen:</p>
<ul>
<li>
<p>Unsere englische Version <a href="https://metager.net" target="_blank">https://metager.net</a> muss im englischen Sprachraum expandieren. In diesem Jahr konnten wir mit unserem mehrsprachigen Interface eine sehr gute Grundlage schaffen. Für die englische Version müssen wir nun auch noch mit einer gewohnt ausgezeichneten Ergebnisqualität überzeugen.</p>
</li>
<li>
<p>Gleichzeitig planen wir die Wiederbelebung unserer Bildersuche. Die bisherige MetaGer Bildersuche wurde dieses Jahr von uns deaktiviert, um diese grundlegend zu überarbeiten. Die Ergebnisse und Optionen waren für viele Nutzer nicht ausreichend. Genau das soll sich nun ändern. 2018 soll MetaGer wieder um eine vollumfängliche Bildersuche erweitert werden.</p>
</li>
<li>
<p>Frischer, schneller, produktiver: MetaGer bekommt ein neues Gewand, um euch noch besser in jeder Situation unterstützen zu können.</p>
</li>
<li>
<p>Neben der Suche nach Texten und Bildern ist die Suche nach räumlicher, geographischer Information einer der am häufigsten genutzten Internetdienste. Gerade hierbei sind die Standortaufzeichnungen der globalen Suchmaschinenanbieter ein Überwachungsinstrument erster Güte. Um dafür eine Alternative zu bieten, entwickeln wir <a href="https://maps.metager.de" target="_blank">maps.metager.de</a>. Diesen Dienst haben wir vor kurzem um eine generelle Offline-Funktionalität erweitert. Nun gilt es, diese zu verbessern und den Dienst auch auf die ganze Welt auszuweiten.</p>
</li>
<li>
<p>Daneben steht wie immer das "<i>Tagesgeschäft</i>" mit vielen Nutzeranfragen. Unser Ziel ist es, dass <em>jede/r</em> die/der uns etwas fragt, eine vernünftige Antwort bekommt. Auch das unterscheidet uns von den globalen Suchmaschinenanbietern: Bei MetaGer findet jeder einzelne Mensch Beachtung.</p>
</li>
</ul>
<p class="lead">Damit wir dieses alles "<i>stemmen</i>" können, sind wir auch weiterhin auf
Ihre Hilfe angewiesen; wir bitten um Spenden für unsere Arbeit:</p>
<div class="" style="margin-top:50px">
<h1 id="formular">Jetzt Spenden</h1>
<div class="col-sm-6">
<h2>{{ trans('spende.bankinfo.1') }}</h2>
<p style="white-space:pre;">{{ trans('spende.bankinfo.2') }}</p>
<p class="text-muted">{{ trans('spende.bankinfo.3') }}</p>
</div>
<div class="col-sm-6">
<div class="">
<div class="col-md-6">
<h2>{!! trans('spende.paypal.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">
<h3>{!! trans('spende.bitcoins.1') !!}</h3>
{!! trans('spende.bitcoins.2') !!}<br/>
<a href="bitcoin:174SDRNZqM2WNobHhCDqD1VXbnZYFXNf8V">174SDRNZqM2WNobHhCDqD1VXbnZYFXNf8V</a>
</div>
<div class="clearfix"></div>
<hr>
</div>
</div>
</div>
<div class="clearfix"></div>
<hr>
<div class="col-md-6">
<h3 id="lastschrift">{!! trans('spende.lastschrift.1') !!}</h3>
<p>{!! trans('spende.lastschrift.2') !!}</p>
<form id="donate" role="form" method="POST" action="/spende">
<input type="hidden" name="dt" value="{{ md5(date('Y') . date('m') . date('d')) }}">
<div class="form-group donation-form-group">
<label for="Name">{!! trans('spende.lastschrift.3') !!}</label>
<input type="text" class="form-control" id="Name" required="" name="Name" placeholder="{!! trans('spende.lastschrift.3.placeholder') !!}" value="{{ old('Name') }}" />
</div>
<div class="form-group donation-form-group">
<label for="email">{!! trans('spende.lastschrift.4') !!}</label>
<input type="email" class="form-control" id="email" name="email" placeholder="Email" value="{{ old('email') }}">
</div>
<div class="form-group donation-form-group">
<label for="iban">{!! trans('spende.lastschrift.6') !!}</label>
<input type="text" class="form-control" id="iban" required="" name="Kontonummer" placeholder="IBAN" value="{{ old('Kontonummer') }}">
</div>
<div class="form-group donation-form-group">
<label for="bic">{!! trans('spende.lastschrift.7') !!}</label>
<input type="text" class="form-control" id="bic" required="" name="Bankleitzahl" placeholder="BIC" value="{{ old('Bankleitzahl') }}">
</div>
<div class="form-group donation-form-group">
<label for="value">{!! trans('spende.lastschrift.8.value')!!} </label>
<input type="number" class="form-control" id="value" required="" name="Betrag" placeholder="{!! trans('spende.lastschrift.8.value.placeholder') !!}" value="{{ old('Bankleitzahl') }}">