diff --git a/app/MetaGer.php b/app/MetaGer.php index 664cf6b77d0c7ffe2de8d5ae296ef0be0e4ccb83..82e02058cb1362e983991cd054f9f9b686cf14dd 100644 --- a/app/MetaGer.php +++ b/app/MetaGer.php @@ -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; diff --git a/app/Models/parserSkripte/Rlvproduct.php b/app/Models/parserSkripte/Rlvproduct.php deleted file mode 100644 index e3cca849ccdf9e9ad96394d898edba7877b3b364..0000000000000000000000000000000000000000 --- a/app/Models/parserSkripte/Rlvproduct.php +++ /dev/null @@ -1,41 +0,0 @@ -<?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"]] - ); - } - } -} diff --git a/gulpfile.js b/gulpfile.js index b10bedda55fdc1d118e1e18bccb12be759c9cbaa..c9f803b8596deb5374f4cd9d509d7d025185b64d 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -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'); diff --git a/public/img/FirefoxKlar-Settings.png b/public/img/FirefoxKlar-Settings.png new file mode 100644 index 0000000000000000000000000000000000000000..ff8fdeb79ec8f86b19226c093f16ac621936239b Binary files /dev/null and b/public/img/FirefoxKlar-Settings.png differ diff --git a/public/img/FirefoxKlar-addSearchengine.png b/public/img/FirefoxKlar-addSearchengine.png new file mode 100644 index 0000000000000000000000000000000000000000..5c208a259fad18a400cb986076b6e4db812f5292 Binary files /dev/null and b/public/img/FirefoxKlar-addSearchengine.png differ diff --git a/public/img/aufruf.png b/public/img/aufruf.png deleted file mode 100644 index 87155ca46f64695755f105ec11207ddd01533214..0000000000000000000000000000000000000000 Binary files a/public/img/aufruf.png and /dev/null differ diff --git a/public/metager_maps/.gitkeep b/public/metager_maps/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/public/metager_maps/app-release.apk b/public/metager_maps/app-release.apk new file mode 100644 index 0000000000000000000000000000000000000000..ba78bfa0bd3d75558ec96e4a50cf937236cb2e87 Binary files /dev/null and b/public/metager_maps/app-release.apk differ diff --git a/public/metager_maps/version.txt b/public/metager_maps/version.txt new file mode 100644 index 0000000000000000000000000000000000000000..872765e5f28545f268e3101f5cfb06b45f32f5ae --- /dev/null +++ b/public/metager_maps/version.txt @@ -0,0 +1 @@ +1.9 \ No newline at end of file diff --git a/readme.md b/readme.md index 7b50c984b2473452de81e0fba25cfe1a6be14bc0..e965623054a218a21a0f1297831599e9a4b881be 100644 --- a/readme.md +++ b/readme.md @@ -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. diff --git a/resources/assets/js/lib/lightslider.js b/resources/assets/js/lib/lightslider.js deleted file mode 100644 index aa8459843032e850ac5239deb91705aa258a9579..0000000000000000000000000000000000000000 --- a/resources/assets/js/lib/lightslider.js +++ /dev/null @@ -1,1140 +0,0 @@ -(function ($, undefined) { - 'use strict'; - var defaults = { - item: 3, - autoWidth: false, - slideMove: 1, - slideMargin: 10, - addClass: '', - mode: 'slide', - useCSS: true, - cssEasing: 'ease', //'cubic-bezier(0.25, 0, 0.25, 1)', - easing: 'linear', //'for jquery animation',// - speed: 400, //ms' - auto: false, - pauseOnHover: false, - loop: false, - slideEndAnimation: true, - pause: 2000, - keyPress: false, - controls: true, - prevHtml: '', - nextHtml: '', - rtl: false, - adaptiveHeight: false, - vertical: false, - verticalHeight: 500, - vThumbWidth: 100, - thumbItem: 10, - pager: true, - gallery: false, - galleryMargin: 5, - thumbMargin: 5, - currentPagerPosition: 'middle', - enableTouch: true, - enableDrag: true, - freeMove: true, - swipeThreshold: 40, - responsive: [], - /* jshint ignore:start */ - onBeforeStart: function ($el) {}, - onSliderLoad: function ($el) {}, - onBeforeSlide: function ($el, scene) {}, - onAfterSlide: function ($el, scene) {}, - onBeforeNextSlide: function ($el, scene) {}, - onBeforePrevSlide: function ($el, scene) {} - /* jshint ignore:end */ - }; - $.fn.lightSlider = function (options) { - if (this.length === 0) { - return this; - } - - if (this.length > 1) { - this.each(function () { - $(this).lightSlider(options); - }); - return this; - } - - var plugin = {}, - settings = $.extend(true, {}, defaults, options), - settingsTemp = {}, - $el = this; - plugin.$el = this; - - if (settings.mode === 'fade') { - settings.vertical = false; - } - var $children = $el.children(), - windowW = $(window).width(), - breakpoint = null, - resposiveObj = null, - length = 0, - w = 0, - on = false, - elSize = 0, - $slide = '', - scene = 0, - property = (settings.vertical === true) ? 'height' : 'width', - gutter = (settings.vertical === true) ? 'margin-bottom' : 'margin-right', - slideValue = 0, - pagerWidth = 0, - slideWidth = 0, - thumbWidth = 0, - interval = null, - isTouch = ('ontouchstart' in document.documentElement); - var refresh = {}; - - refresh.chbreakpoint = function () { - windowW = $(window).width(); - if (settings.responsive.length) { - var item; - if (settings.autoWidth === false) { - item = settings.item; - } - if (windowW < settings.responsive[0].breakpoint) { - for (var i = 0; i < settings.responsive.length; i++) { - if (windowW < settings.responsive[i].breakpoint) { - breakpoint = settings.responsive[i].breakpoint; - resposiveObj = settings.responsive[i]; - } - } - } - if (typeof resposiveObj !== 'undefined' && resposiveObj !== null) { - for (var j in resposiveObj.settings) { - if (resposiveObj.settings.hasOwnProperty(j)) { - if (typeof settingsTemp[j] === 'undefined' || settingsTemp[j] === null) { - settingsTemp[j] = settings[j]; - } - settings[j] = resposiveObj.settings[j]; - } - } - } - if (!$.isEmptyObject(settingsTemp) && windowW > settings.responsive[0].breakpoint) { - for (var k in settingsTemp) { - if (settingsTemp.hasOwnProperty(k)) { - settings[k] = settingsTemp[k]; - } - } - } - if (settings.autoWidth === false) { - if (slideValue > 0 && slideWidth > 0) { - if (item !== settings.item) { - scene = Math.round(slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove)); - } - } - } - } - }; - - refresh.calSW = function () { - if (settings.autoWidth === false) { - slideWidth = (elSize - ((settings.item * (settings.slideMargin)) - settings.slideMargin)) / settings.item; - } - }; - - refresh.calWidth = function (cln) { - var ln = cln === true ? $slide.find('.lslide').length : $children.length; - if (settings.autoWidth === false) { - w = ln * (slideWidth + settings.slideMargin); - } else { - w = 0; - for (var i = 0; i < ln; i++) { - w += (parseInt($children.eq(i).width()) + settings.slideMargin); - } - } - return w; - }; - plugin = { - doCss: function () { - var support = function () { - var transition = ['transition', 'MozTransition', 'WebkitTransition', 'OTransition', 'msTransition', 'KhtmlTransition']; - var root = document.documentElement; - for (var i = 0; i < transition.length; i++) { - if (transition[i] in root.style) { - return true; - } - } - }; - if (settings.useCSS && support()) { - return true; - } - return false; - }, - keyPress: function () { - if (settings.keyPress) { - $(document).on('keyup.lightslider', function (e) { - if (!$(':focus').is('input, textarea')) { - if (e.preventDefault) { - e.preventDefault(); - } else { - e.returnValue = false; - } - if (e.keyCode === 37) { - $el.goToPrevSlide(); - } else if (e.keyCode === 39) { - $el.goToNextSlide(); - } - } - }); - } - }, - controls: function () { - if (settings.controls) { - $el.after('<div class="lSAction"><a class="lSPrev">' + settings.prevHtml + '</a><a class="lSNext">' + settings.nextHtml + '</a></div>'); - if (!settings.autoWidth) { - if (length <= settings.item) { - $slide.find('.lSAction').hide(); - } - } else { - if (refresh.calWidth(false) < elSize) { - $slide.find('.lSAction').hide(); - } - } - $slide.find('.lSAction a').on('click', function (e) { - if (e.preventDefault) { - e.preventDefault(); - } else { - e.returnValue = false; - } - if ($(this).attr('class') === 'lSPrev') { - $el.goToPrevSlide(); - } else { - $el.goToNextSlide(); - } - return false; - }); - } - }, - initialStyle: function () { - var $this = this; - if (settings.mode === 'fade') { - settings.autoWidth = false; - settings.slideEndAnimation = false; - } - if (settings.auto) { - settings.slideEndAnimation = false; - } - if (settings.autoWidth) { - settings.slideMove = 1; - settings.item = 1; - } - if (settings.loop) { - settings.slideMove = 1; - settings.freeMove = false; - } - settings.onBeforeStart.call(this, $el); - refresh.chbreakpoint(); - $el.addClass('lightSlider').wrap('<div class="lSSlideOuter ' + settings.addClass + '"><div class="lSSlideWrapper"></div></div>'); - $slide = $el.parent('.lSSlideWrapper'); - if (settings.rtl === true) { - $slide.parent().addClass('lSrtl'); - } - if (settings.vertical) { - $slide.parent().addClass('vertical'); - elSize = settings.verticalHeight; - $slide.css('height', elSize + 'px'); - } else { - elSize = $el.outerWidth(); - } - $children.addClass('lslide'); - if (settings.loop === true && settings.mode === 'slide') { - refresh.calSW(); - refresh.clone = function () { - if (refresh.calWidth(true) > elSize) { - /**/ - var tWr = 0, - tI = 0; - for (var k = 0; k < $children.length; k++) { - tWr += (parseInt($el.find('.lslide').eq(k).width()) + settings.slideMargin); - tI++; - if (tWr >= (elSize + settings.slideMargin)) { - break; - } - } - var tItem = settings.autoWidth === true ? tI : settings.item; - - /**/ - if (tItem < $el.find('.clone.left').length) { - for (var i = 0; i < $el.find('.clone.left').length - tItem; i++) { - $children.eq(i).remove(); - } - } - if (tItem < $el.find('.clone.right').length) { - for (var j = $children.length - 1; j > ($children.length - 1 - $el.find('.clone.right').length); j--) { - scene--; - $children.eq(j).remove(); - } - } - /**/ - for (var n = $el.find('.clone.right').length; n < tItem; n++) { - $el.find('.lslide').eq(n).clone().removeClass('lslide').addClass('clone right').appendTo($el); - scene++; - } - for (var m = $el.find('.lslide').length - $el.find('.clone.left').length; m > ($el.find('.lslide').length - tItem); m--) { - $el.find('.lslide').eq(m - 1).clone().removeClass('lslide').addClass('clone left').prependTo($el); - } - $children = $el.children(); - } else { - if ($children.hasClass('clone')) { - $el.find('.clone').remove(); - $this.move($el, 0); - } - } - }; - refresh.clone(); - } - refresh.sSW = function () { - length = $children.length; - if (settings.rtl === true && settings.vertical === false) { - gutter = 'margin-left'; - } - if (settings.autoWidth === false) { - $children.css(property, slideWidth + 'px'); - } - $children.css(gutter, settings.slideMargin + 'px'); - w = refresh.calWidth(false); - $el.css(property, w + 'px'); - if (settings.loop === true && settings.mode === 'slide') { - if (on === false) { - scene = $el.find('.clone.left').length; - } - } - }; - refresh.calL = function () { - $children = $el.children(); - length = $children.length; - }; - if (this.doCss()) { - $slide.addClass('usingCss'); - } - refresh.calL(); - if (settings.mode === 'slide') { - refresh.calSW(); - refresh.sSW(); - if (settings.loop === true) { - slideValue = $this.slideValue(); - this.move($el, slideValue); - } - if (settings.vertical === false) { - this.setHeight($el, false); - } - - } else { - this.setHeight($el, true); - $el.addClass('lSFade'); - if (!this.doCss()) { - $children.fadeOut(0); - $children.eq(scene).fadeIn(0); - } - } - if (settings.loop === true && settings.mode === 'slide') { - $children.eq(scene).addClass('active'); - } else { - $children.first().addClass('active'); - } - }, - pager: function () { - var $this = this; - refresh.createPager = function () { - thumbWidth = (elSize - ((settings.thumbItem * (settings.thumbMargin)) - settings.thumbMargin)) / settings.thumbItem; - var $children = $slide.find('.lslide'); - var length = $slide.find('.lslide').length; - var i = 0, - pagers = '', - v = 0; - for (i = 0; i < length; i++) { - if (settings.mode === 'slide') { - // calculate scene * slide value - if (!settings.autoWidth) { - v = i * ((slideWidth + settings.slideMargin) * settings.slideMove); - } else { - v += ((parseInt($children.eq(i).width()) + settings.slideMargin) * settings.slideMove); - } - } - var thumb = $children.eq(i * settings.slideMove).attr('data-thumb'); - if (settings.gallery === true) { - pagers += '<li style="width:100%;' + property + ':' + thumbWidth + 'px;' + gutter + ':' + settings.thumbMargin + 'px"><a href="#"><img src="' + thumb + '" /></a></li>'; - } else { - pagers += '<li><a href="#">' + (i + 1) + '</a></li>'; - } - if (settings.mode === 'slide') { - if ((v) >= w - elSize - settings.slideMargin) { - i = i + 1; - var minPgr = 2; - if (settings.autoWidth) { - pagers += '<li><a href="#">' + (i + 1) + '</a></li>'; - minPgr = 1; - } - if (i < minPgr) { - pagers = null; - $slide.parent().addClass('noPager'); - } else { - $slide.parent().removeClass('noPager'); - } - break; - } - } - } - var $cSouter = $slide.parent(); - $cSouter.find('.lSPager').html(pagers); - if (settings.gallery === true) { - if (settings.vertical === true) { - // set Gallery thumbnail width - $cSouter.find('.lSPager').css('width', settings.vThumbWidth + 'px'); - } - pagerWidth = (i * (settings.thumbMargin + thumbWidth)) + 0.5; - $cSouter.find('.lSPager').css({ - property: pagerWidth + 'px', - 'transition-duration': settings.speed + 'ms' - }); - if (settings.vertical === true) { - $slide.parent().css('padding-right', (settings.vThumbWidth + settings.galleryMargin) + 'px'); - } - $cSouter.find('.lSPager').css(property, pagerWidth + 'px'); - } - var $pager = $cSouter.find('.lSPager').find('li'); - $pager.first().addClass('active'); - $pager.on('click', function () { - if (settings.loop === true && settings.mode === 'slide') { - scene = scene + ($pager.index(this) - $cSouter.find('.lSPager').find('li.active').index()); - } else { - scene = $pager.index(this); - } - $el.mode(false); - if (settings.gallery === true) { - $this.slideThumb(); - } - return false; - }); - }; - if (settings.pager) { - var cl = 'lSpg'; - if (settings.gallery) { - cl = 'lSGallery'; - } - $slide.after('<ul class="lSPager ' + cl + '"></ul>'); - var gMargin = (settings.vertical) ? 'margin-left' : 'margin-top'; - $slide.parent().find('.lSPager').css(gMargin, settings.galleryMargin + 'px'); - refresh.createPager(); - } - - setTimeout(function () { - refresh.init(); - }, 0); - }, - setHeight: function (ob, fade) { - var obj = null, - $this = this; - if (settings.loop) { - obj = ob.children('.lslide ').first(); - } else { - obj = ob.children().first(); - } - var setCss = function () { - var tH = obj.outerHeight(), - tP = 0, - tHT = tH; - if (fade) { - tH = 0; - tP = ((tHT) * 100) / elSize; - } - ob.css({ - 'height': tH + 'px', - 'padding-bottom': tP + '%' - }); - }; - setCss(); - if (obj.find('img').length) { - if ( obj.find('img')[0].complete) { - setCss(); - if (!interval) { - $this.auto(); - } - }else{ - obj.find('img').load(function () { - setTimeout(function () { - setCss(); - if (!interval) { - $this.auto(); - } - }, 100); - }); - } - }else{ - if (!interval) { - $this.auto(); - } - } - }, - active: function (ob, t) { - if (this.doCss() && settings.mode === 'fade') { - $slide.addClass('on'); - } - var sc = 0; - if (scene * settings.slideMove < length) { - ob.removeClass('active'); - if (!this.doCss() && settings.mode === 'fade' && t === false) { - ob.fadeOut(settings.speed); - } - if (t === true) { - sc = scene; - } else { - sc = scene * settings.slideMove; - } - //t === true ? sc = scene : sc = scene * settings.slideMove; - var l, nl; - if (t === true) { - l = ob.length; - nl = l - 1; - if (sc + 1 >= l) { - sc = nl; - } - } - if (settings.loop === true && settings.mode === 'slide') { - //t === true ? sc = scene - $el.find('.clone.left').length : sc = scene * settings.slideMove; - if (t === true) { - sc = scene - $el.find('.clone.left').length; - } else { - sc = scene * settings.slideMove; - } - if (t === true) { - l = ob.length; - nl = l - 1; - if (sc + 1 === l) { - sc = nl; - } else if (sc + 1 > l) { - sc = 0; - } - } - } - - if (!this.doCss() && settings.mode === 'fade' && t === false) { - ob.eq(sc).fadeIn(settings.speed); - } - ob.eq(sc).addClass('active'); - } else { - ob.removeClass('active'); - ob.eq(ob.length - 1).addClass('active'); - if (!this.doCss() && settings.mode === 'fade' && t === false) { - ob.fadeOut(settings.speed); - ob.eq(sc).fadeIn(settings.speed); - } - } - }, - move: function (ob, v) { - if (settings.rtl === true) { - v = -v; - } - if (this.doCss()) { - if (settings.vertical === true) { - ob.css({ - 'transform': 'translate3d(0px, ' + (-v) + 'px, 0px)', - '-webkit-transform': 'translate3d(0px, ' + (-v) + 'px, 0px)' - }); - } else { - ob.css({ - 'transform': 'translate3d(' + (-v) + 'px, 0px, 0px)', - '-webkit-transform': 'translate3d(' + (-v) + 'px, 0px, 0px)', - }); - } - } else { - if (settings.vertical === true) { - ob.css('position', 'relative').animate({ - top: -v + 'px' - }, settings.speed, settings.easing); - } else { - ob.css('position', 'relative').animate({ - left: -v + 'px' - }, settings.speed, settings.easing); - } - } - var $thumb = $slide.parent().find('.lSPager').find('li'); - this.active($thumb, true); - }, - fade: function () { - this.active($children, false); - var $thumb = $slide.parent().find('.lSPager').find('li'); - this.active($thumb, true); - }, - slide: function () { - var $this = this; - refresh.calSlide = function () { - if (w > elSize) { - slideValue = $this.slideValue(); - $this.active($children, false); - if ((slideValue) > w - elSize - settings.slideMargin) { - slideValue = w - elSize - settings.slideMargin; - } else if (slideValue < 0) { - slideValue = 0; - } - $this.move($el, slideValue); - if (settings.loop === true && settings.mode === 'slide') { - if (scene >= (length - ($el.find('.clone.left').length / settings.slideMove))) { - $this.resetSlide($el.find('.clone.left').length); - } - if (scene === 0) { - $this.resetSlide($slide.find('.lslide').length); - } - } - } - }; - refresh.calSlide(); - }, - resetSlide: function (s) { - var $this = this; - $slide.find('.lSAction a').addClass('disabled'); - setTimeout(function () { - scene = s; - $slide.css('transition-duration', '0ms'); - slideValue = $this.slideValue(); - $this.active($children, false); - plugin.move($el, slideValue); - setTimeout(function () { - $slide.css('transition-duration', settings.speed + 'ms'); - $slide.find('.lSAction a').removeClass('disabled'); - }, 50); - }, settings.speed + 100); - }, - slideValue: function () { - var _sV = 0; - if (settings.autoWidth === false) { - _sV = scene * ((slideWidth + settings.slideMargin) * settings.slideMove); - } else { - _sV = 0; - for (var i = 0; i < scene; i++) { - _sV += (parseInt($children.eq(i).width()) + settings.slideMargin); - } - } - return _sV; - }, - slideThumb: function () { - var position; - switch (settings.currentPagerPosition) { - case 'left': - position = 0; - break; - case 'middle': - position = (elSize / 2) - (thumbWidth / 2); - break; - case 'right': - position = elSize - thumbWidth; - } - var sc = scene - $el.find('.clone.left').length; - var $pager = $slide.parent().find('.lSPager'); - if (settings.mode === 'slide' && settings.loop === true) { - if (sc >= $pager.children().length) { - sc = 0; - } else if (sc < 0) { - sc = $pager.children().length; - } - } - var thumbSlide = sc * ((thumbWidth + settings.thumbMargin)) - (position); - if ((thumbSlide + elSize) > pagerWidth) { - thumbSlide = pagerWidth - elSize - settings.thumbMargin; - } - if (thumbSlide < 0) { - thumbSlide = 0; - } - this.move($pager, thumbSlide); - }, - auto: function () { - if (settings.auto) { - clearInterval(interval); - interval = setInterval(function () { - $el.goToNextSlide(); - }, settings.pause); - } - }, - pauseOnHover: function(){ - var $this = this; - if (settings.auto && settings.pauseOnHover) { - $slide.on('mouseenter', function(){ - $(this).addClass('ls-hover'); - $el.pause(); - settings.auto = true; - }); - $slide.on('mouseleave',function(){ - $(this).removeClass('ls-hover'); - if (!$slide.find('.lightSlider').hasClass('lsGrabbing')) { - $this.auto(); - } - }); - } - }, - touchMove: function (endCoords, startCoords) { - $slide.css('transition-duration', '0ms'); - if (settings.mode === 'slide') { - var distance = endCoords - startCoords; - var swipeVal = slideValue - distance; - if ((swipeVal) >= w - elSize - settings.slideMargin) { - if (settings.freeMove === false) { - swipeVal = w - elSize - settings.slideMargin; - } else { - var swipeValT = w - elSize - settings.slideMargin; - swipeVal = swipeValT + ((swipeVal - swipeValT) / 5); - - } - } else if (swipeVal < 0) { - if (settings.freeMove === false) { - swipeVal = 0; - } else { - swipeVal = swipeVal / 5; - } - } - this.move($el, swipeVal); - } - }, - - touchEnd: function (distance) { - $slide.css('transition-duration', settings.speed + 'ms'); - if (settings.mode === 'slide') { - var mxVal = false; - var _next = true; - slideValue = slideValue - distance; - if ((slideValue) > w - elSize - settings.slideMargin) { - slideValue = w - elSize - settings.slideMargin; - if (settings.autoWidth === false) { - mxVal = true; - } - } else if (slideValue < 0) { - slideValue = 0; - } - var gC = function (next) { - var ad = 0; - if (!mxVal) { - if (next) { - ad = 1; - } - } - if (!settings.autoWidth) { - var num = slideValue / ((slideWidth + settings.slideMargin) * settings.slideMove); - scene = parseInt(num) + ad; - if (slideValue >= (w - elSize - settings.slideMargin)) { - if (num % 1 !== 0) { - scene++; - } - } - } else { - var tW = 0; - for (var i = 0; i < $children.length; i++) { - tW += (parseInt($children.eq(i).width()) + settings.slideMargin); - scene = i + ad; - if (tW >= slideValue) { - break; - } - } - } - }; - if (distance >= settings.swipeThreshold) { - gC(false); - _next = false; - } else if (distance <= -settings.swipeThreshold) { - gC(true); - _next = false; - } - $el.mode(_next); - this.slideThumb(); - } else { - if (distance >= settings.swipeThreshold) { - $el.goToPrevSlide(); - } else if (distance <= -settings.swipeThreshold) { - $el.goToNextSlide(); - } - } - }, - - - - enableDrag: function () { - var $this = this; - if (!isTouch) { - var startCoords = 0, - endCoords = 0, - isDraging = false; - $slide.find('.lightSlider').addClass('lsGrab'); - $slide.on('mousedown', function (e) { - if (w < elSize) { - if (w !== 0) { - return false; - } - } - if ($(e.target).attr('class') !== ('lSPrev') && $(e.target).attr('class') !== ('lSNext')) { - startCoords = (settings.vertical === true) ? e.pageY : e.pageX; - isDraging = true; - if (e.preventDefault) { - e.preventDefault(); - } else { - e.returnValue = false; - } - // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723 - $slide.scrollLeft += 1; - $slide.scrollLeft -= 1; - // * - $slide.find('.lightSlider').removeClass('lsGrab').addClass('lsGrabbing'); - clearInterval(interval); - } - }); - $(window).on('mousemove', function (e) { - if (isDraging) { - endCoords = (settings.vertical === true) ? e.pageY : e.pageX; - $this.touchMove(endCoords, startCoords); - } - }); - $(window).on('mouseup', function (e) { - if (isDraging) { - $slide.find('.lightSlider').removeClass('lsGrabbing').addClass('lsGrab'); - isDraging = false; - endCoords = (settings.vertical === true) ? e.pageY : e.pageX; - var distance = endCoords - startCoords; - if (Math.abs(distance) >= settings.swipeThreshold) { - $(window).on('click.ls', function (e) { - if (e.preventDefault) { - e.preventDefault(); - } else { - e.returnValue = false; - } - e.stopImmediatePropagation(); - e.stopPropagation(); - $(window).off('click.ls'); - }); - } - - $this.touchEnd(distance); - - } - }); - } - }, - - - - - enableTouch: function () { - var $this = this; - if (isTouch) { - var startCoords = {}, - endCoords = {}; - $slide.on('touchstart', function (e) { - endCoords = e.originalEvent.targetTouches[0]; - startCoords.pageX = e.originalEvent.targetTouches[0].pageX; - startCoords.pageY = e.originalEvent.targetTouches[0].pageY; - clearInterval(interval); - }); - $slide.on('touchmove', function (e) { - if (w < elSize) { - if (w !== 0) { - return false; - } - } - var orig = e.originalEvent; - endCoords = orig.targetTouches[0]; - var xMovement = Math.abs(endCoords.pageX - startCoords.pageX); - var yMovement = Math.abs(endCoords.pageY - startCoords.pageY); - if (settings.vertical === true) { - if ((yMovement * 3) > xMovement) { - e.preventDefault(); - } - $this.touchMove(endCoords.pageY, startCoords.pageY); - } else { - if ((xMovement * 3) > yMovement) { - e.preventDefault(); - } - $this.touchMove(endCoords.pageX, startCoords.pageX); - } - - }); - $slide.on('touchend', function () { - if (w < elSize) { - if (w !== 0) { - return false; - } - } - var distance; - if (settings.vertical === true) { - distance = endCoords.pageY - startCoords.pageY; - } else { - distance = endCoords.pageX - startCoords.pageX; - } - $this.touchEnd(distance); - }); - } - }, - build: function () { - var $this = this; - $this.initialStyle(); - if (this.doCss()) { - - if (settings.enableTouch === true) { - $this.enableTouch(); - } - if (settings.enableDrag === true) { - $this.enableDrag(); - } - } - - $(window).on('focus', function(){ - $this.auto(); - }); - - $(window).on('blur', function(){ - clearInterval(interval); - }); - - $this.pager(); - $this.pauseOnHover(); - $this.controls(); - $this.keyPress(); - } - }; - plugin.build(); - refresh.init = function () { - refresh.chbreakpoint(); - if (settings.vertical === true) { - if (settings.item > 1) { - elSize = settings.verticalHeight; - } else { - elSize = $children.outerHeight(); - } - $slide.css('height', elSize + 'px'); - } else { - elSize = $slide.outerWidth(); - } - if (settings.loop === true && settings.mode === 'slide') { - refresh.clone(); - } - refresh.calL(); - if (settings.mode === 'slide') { - $el.removeClass('lSSlide'); - } - if (settings.mode === 'slide') { - refresh.calSW(); - refresh.sSW(); - } - setTimeout(function () { - if (settings.mode === 'slide') { - $el.addClass('lSSlide'); - } - }, 1000); - if (settings.pager) { - refresh.createPager(); - } - if (settings.adaptiveHeight === true && settings.vertical === false) { - $el.css('height', $children.eq(scene).outerHeight(true)); - } - if (settings.adaptiveHeight === false) { - if (settings.mode === 'slide') { - if (settings.vertical === false) { - plugin.setHeight($el, false); - }else{ - plugin.auto(); - } - } else { - plugin.setHeight($el, true); - } - } - if (settings.gallery === true) { - plugin.slideThumb(); - } - if (settings.mode === 'slide') { - plugin.slide(); - } - if (settings.autoWidth === false) { - if ($children.length <= settings.item) { - $slide.find('.lSAction').hide(); - } else { - $slide.find('.lSAction').show(); - } - } else { - if ((refresh.calWidth(false) < elSize) && (w !== 0)) { - $slide.find('.lSAction').hide(); - } else { - $slide.find('.lSAction').show(); - } - } - }; - $el.goToPrevSlide = function () { - if (scene > 0) { - settings.onBeforePrevSlide.call(this, $el, scene); - scene--; - $el.mode(false); - if (settings.gallery === true) { - plugin.slideThumb(); - } - } else { - if (settings.loop === true) { - settings.onBeforePrevSlide.call(this, $el, scene); - if (settings.mode === 'fade') { - var l = (length - 1); - scene = parseInt(l / settings.slideMove); - } - $el.mode(false); - if (settings.gallery === true) { - plugin.slideThumb(); - } - } else if (settings.slideEndAnimation === true) { - $el.addClass('leftEnd'); - setTimeout(function () { - $el.removeClass('leftEnd'); - }, 400); - } - } - }; - $el.goToNextSlide = function () { - var nextI = true; - if (settings.mode === 'slide') { - var _slideValue = plugin.slideValue(); - nextI = _slideValue < w - elSize - settings.slideMargin; - } - if (((scene * settings.slideMove) < length - settings.slideMove) && nextI) { - settings.onBeforeNextSlide.call(this, $el, scene); - scene++; - $el.mode(false); - if (settings.gallery === true) { - plugin.slideThumb(); - } - } else { - if (settings.loop === true) { - settings.onBeforeNextSlide.call(this, $el, scene); - scene = 0; - $el.mode(false); - if (settings.gallery === true) { - plugin.slideThumb(); - } - } else if (settings.slideEndAnimation === true) { - $el.addClass('rightEnd'); - setTimeout(function () { - $el.removeClass('rightEnd'); - }, 400); - } - } - }; - $el.mode = function (_touch) { - if (settings.adaptiveHeight === true && settings.vertical === false) { - $el.css('height', $children.eq(scene).outerHeight(true)); - } - if (on === false) { - if (settings.mode === 'slide') { - if (plugin.doCss()) { - $el.addClass('lSSlide'); - if (settings.speed !== '') { - $slide.css('transition-duration', settings.speed + 'ms'); - } - if (settings.cssEasing !== '') { - $slide.css('transition-timing-function', settings.cssEasing); - } - } - } else { - if (plugin.doCss()) { - if (settings.speed !== '') { - $el.css('transition-duration', settings.speed + 'ms'); - } - if (settings.cssEasing !== '') { - $el.css('transition-timing-function', settings.cssEasing); - } - } - } - } - if (!_touch) { - settings.onBeforeSlide.call(this, $el, scene); - } - if (settings.mode === 'slide') { - plugin.slide(); - } else { - plugin.fade(); - } - if (!$slide.hasClass('ls-hover')) { - plugin.auto(); - } - setTimeout(function () { - if (!_touch) { - settings.onAfterSlide.call(this, $el, scene); - } - }, settings.speed); - on = true; - }; - $el.play = function () { - $el.goToNextSlide(); - settings.auto = true; - plugin.auto(); - }; - $el.pause = function () { - settings.auto = false; - clearInterval(interval); - }; - $el.refresh = function () { - refresh.init(); - }; - $el.getCurrentSlideCount = function () { - var sc = scene; - if (settings.loop) { - var ln = $slide.find('.lslide').length, - cl = $el.find('.clone.left').length; - if (scene <= cl - 1) { - sc = ln + (scene - cl); - } else if (scene >= (ln + cl)) { - sc = scene - ln - cl; - } else { - sc = scene - cl; - } - } - return sc + 1; - }; - $el.getTotalSlideCount = function () { - return $slide.find('.lslide').length; - }; - $el.goToSlide = function (s) { - if (settings.loop) { - scene = (s + $el.find('.clone.left').length - 1); - } else { - scene = s; - } - $el.mode(false); - if (settings.gallery === true) { - plugin.slideThumb(); - } - }; - $el.destroy = function () { - if ($el.lightSlider) { - $el.goToPrevSlide = function(){}; - $el.goToNextSlide = function(){}; - $el.mode = function(){}; - $el.play = function(){}; - $el.pause = function(){}; - $el.refresh = function(){}; - $el.getCurrentSlideCount = function(){}; - $el.getTotalSlideCount = function(){}; - $el.goToSlide = function(){}; - $el.lightSlider = null; - refresh = { - init : function(){} - }; - $el.parent().parent().find('.lSAction, .lSPager').remove(); - $el.removeClass('lightSlider lSFade lSSlide lsGrab lsGrabbing leftEnd right').removeAttr('style').unwrap().unwrap(); - $el.children().removeAttr('style'); - $children.removeClass('lslide active'); - $el.find('.clone').remove(); - $children = null; - interval = null; - on = false; - scene = 0; - } - - }; - setTimeout(function () { - settings.onSliderLoad.call(this, $el); - }, 10); - $(window).on('resize orientationchange', function (e) { - setTimeout(function () { - if (e.preventDefault) { - e.preventDefault(); - } else { - e.returnValue = false; - } - refresh.init(); - }, 200); - }); - return this; - }; -}(jQuery)); \ No newline at end of file diff --git a/resources/assets/js/scriptResultPage.js b/resources/assets/js/scriptResultPage.js index e319998ade547a780730778144c143b9d869477c..e511ae88cee08dd297fa1f862bfeb54ffc6a9f13 100644 --- a/resources/assets/js/scriptResultPage.js +++ b/resources/assets/js/scriptResultPage.js @@ -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); diff --git a/resources/lang/de/index.php b/resources/lang/de/index.php index d6d76af815ff684d74c320ce005aa5f77439803c..906b1b648f0fe152abcb4124074506336a2299ee 100644 --- a/resources/lang/de/index.php +++ b/resources/lang/de/index.php @@ -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"', diff --git a/resources/lang/en/index.php b/resources/lang/en/index.php index d47044b70e7f4b8d10d1d5b55e4db7ab8f88358d..d3e24504ebc0ade87d130290206864fe0c03aae7 100644 --- a/resources/lang/en/index.php +++ b/resources/lang/en/index.php @@ -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\"", diff --git a/resources/lang/es/result.php b/resources/lang/es/result.php index 35490ecf55c0b53bf6f63e6fd1ccfd754dd9d070..8e67954d0f7724a0f9b1ace67748ddc6e10694c8 100644 --- a/resources/lang/es/result.php +++ b/resources/lang/es/result.php @@ -1,10 +1,12 @@ <?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." ]; diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php index fe9080007b3dafaeed6ca83939654dd5c6eadf90..d67ac663e83fb28d7cf9678f71185913d9db1438 100644 --- a/resources/views/index.blade.php +++ b/resources/views/index.blade.php @@ -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> diff --git a/resources/views/layouts/products.blade.php b/resources/views/layouts/products.blade.php deleted file mode 100644 index c34ef8e45d31e29024bc179d6ba503e9049837a8..0000000000000000000000000000000000000000 --- a/resources/views/layouts/products.blade.php +++ /dev/null @@ -1,21 +0,0 @@ -<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> diff --git a/resources/views/layouts/researchandtabs.blade.php b/resources/views/layouts/researchandtabs.blade.php index 499070db435403b46d84b9dccead43470a4a1a2b..f766971560bb90faf045b6259bf01bc6db58f8b6 100644 --- a/resources/views/layouts/researchandtabs.blade.php +++ b/resources/views/layouts/researchandtabs.blade.php @@ -1,13 +1,3 @@ -@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">×</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"> diff --git a/resources/views/layouts/resultPage.blade.php b/resources/views/layouts/resultPage.blade.php index cce3dec622bce17b068230e71e127abb139b580b..3acc66a4d55af721df5ac583a1b5f92622a87889 100644 --- a/resources/views/layouts/resultPage.blade.php +++ b/resources/views/layouts/resultPage.blade.php @@ -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"> diff --git a/resources/views/layouts/staticPages.blade.php b/resources/views/layouts/staticPages.blade.php index 4d8ece815f940c45436f008470b5c6bfc3f810b7..3e2adcdfc6326c2f5baa5a476547481bb39b14ed 100644 --- a/resources/views/layouts/staticPages.blade.php +++ b/resources/views/layouts/staticPages.blade.php @@ -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> diff --git a/resources/views/metager3.blade.php b/resources/views/metager3.blade.php index e63f8ac69380009c0f6fa9d217ec0c9ca9cfdded..1b8580763459e4ee5a720caceac8d28a8ed99b83 100644 --- a/resources/views/metager3.blade.php +++ b/resources/views/metager3.blade.php @@ -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]) diff --git a/resources/views/metager3results.blade.php b/resources/views/metager3results.blade.php index 837432995baa122a2703103e308d2e633e4d45fe..b6ac5f0622a515080d890034e82a01f2d0a3d531 100644 --- a/resources/views/metager3results.blade.php +++ b/resources/views/metager3results.blade.php @@ -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()]) diff --git a/resources/views/spende/spendenaufruf.blade.php b/resources/views/spende/spendenaufruf.blade.php deleted file mode 100644 index 24ecb4f07f2eb035c109d8b62b0c38b37739a97f..0000000000000000000000000000000000000000 --- a/resources/views/spende/spendenaufruf.blade.php +++ /dev/null @@ -1,130 +0,0 @@ -@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') }}"> - </div> - <div class="form-group donation-form-group"> - <label for="msg">{!! trans('spende.lastschrift.8.message')!!}</label> - <label for="msg"><u>{!! trans('spende.bankinfo.3')!!}</u></label> - <textarea class="form-control" id="msg" name="Nachricht" placeholder="{!! trans('spende.lastschrift.8.message.placeholder') !!}">{{ old('Nachricht') }}</textarea> - </div> - <button type="submit" form="donate" class="btn btn-default">{!! trans('spende.lastschrift.9') !!}</button> - </form> - </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/spendenaufruf.blade.php b/resources/views/spendenaufruf.blade.php deleted file mode 100644 index a43c79456e125166f379b3cd3fa9350df592e919..0000000000000000000000000000000000000000 --- a/resources/views/spendenaufruf.blade.php +++ /dev/null @@ -1,156 +0,0 @@ -@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> -MetaGer ist seit 16.08.2016 Freie Software unter GNU AGPL v3, damit unser strikter -Schutz Ihrer Daten und Ihrer Privatsphäre öffentlich nachprüfbar ist. Sie müssen uns nichts glauben, SIE können selber kontrollieren, -dass Ihre Daten bei uns geschützt werden. -Weitere Hintergrundinfo dazu im <a href="http://heise.de/-3295586" target="_blank">Heise-Newsticker</a>. -Den Quellcode von MetaGer erreichen Sie unter <a href="https://gitlab.metager3.de/open-source/MetaGer" target="_blank">https://gitlab.metager3.de/open-source/MetaGer</a>. -</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 /> -</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/routes/web.php b/routes/web.php index 545466a9c12dfeec42266f0f42f3430039febded..5d9e984b19ea17775910ddbc609d4b4407b08c0f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -88,11 +88,6 @@ Route::group( 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'); @@ -180,7 +175,6 @@ Route::group( $filePath = storage_path() . "/app/public/MetaGer-release.apk"; return response()->download($filePath, "MetaGer-release.apk"); }); - Route::get('maps', function () { $filePath = env('maps_app'); $fileContents = file_get_contents($filePath); @@ -190,6 +184,7 @@ Route::group( ->header('Content-Transfer-Encoding', 'Binary') ->header("Content-Disposition", "attachment; filename=app-release.apk"); }); + Route::get('maps/version', function () { $filePath = env('maps_version'); $fileContents = file_get_contents($filePath);