Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • sebastian/MetaGer
  • cpietsch/MetaGer
  • kossow/MetaGer
  • jens/MetaGer
  • open-source/MetaGer
5 results
Show changes
Commits on Source (20)
Showing
with 399 additions and 163 deletions
<?php
namespace App\Http\Controllers;
use File;
use Illuminate\Http\Request;
use PiwikTracker;
use Response;
class ImageController extends Controller
{
public function generateImage(Request $request)
{
/*
#Piwik Code
PiwikTracker::$URL = 'http://piwik.metager3.de';
$piwikTracker = new PiwikTracker($idSite = 1);
// Cookies ausschalten
$piwikTracker->disableCookieSupport();
$piwikTracker->deleteCookies();
$site = $request->input('site', '/');
// Sendet Tracker request per http
$piwikTracker->doTrackPageView($site);
*/
$path = public_path() . '/img/1px.png';
$fileType = File::type($path);
$response = Response::make(File::get($path), 200);
$response->header('Content-Type', $fileType);
return $response;
}
}
......@@ -256,7 +256,9 @@ class MetaGer
$this->results = $newResults;
#Adgoal Implementation
$this->results = $this->parseAdgoal($this->results);
if (!$this->apiAuthorized) {
$this->results = $this->parseAdgoal($this->results);
}
# Human Verification
$this->results = $this->humanVerification($this->results);
......@@ -1371,12 +1373,10 @@ class MetaGer
IP-Adress older than one day stored on our servers. (Except the ones who got banned in that short period of course) ;-)
*/
$logEntry .= " ip=" . $this->request->ip();
$logEntry .= " pid=" . getmypid();
$logEntry .= " ref=" . $this->request->header('Referer');
$logEntry .= " time=" . round((microtime(true) - $this->starttime), 2) . " serv=" . $this->fokus;
$logEntry .= " interface=" . LaravelLocalization::getCurrentLocale();
$logEntry .= " sprachfilter=" . $this->lang;
$logEntry .= " search=" . $this->eingabe;
# 2 Arten von Logs in einem wird die Anzahl der Abfragen an eine Suchmaschine gespeichert und in der anderen
# die Anzahl, wie häufig diese Ergebnisse geliefert hat.
......
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"keywords": [
"framework",
"laravel"
],
"license": "MIT",
"type": "project",
"require": {
......@@ -13,7 +16,6 @@
"laravelcollective/html": "^5.2.0",
"mcamara/laravel-localization": "^1.1",
"mews/captcha": "^2.2",
"piwik/piwik-php-tracker": "^1.0",
"predis/predis": "^1.1"
},
"require-dev": {
......@@ -40,8 +42,7 @@
},
"extra": {
"laravel": {
"dont-discover": [
]
"dont-discover": []
}
},
"scripts": {
......@@ -61,4 +62,4 @@
"sort-packages": true,
"optimize-autoloader": true
}
}
}
\ No newline at end of file
......@@ -4300,7 +4300,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"aproba": {
"version": "1.1.1",
......@@ -4375,6 +4376,7 @@
"version": "2.10.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"hoek": "2.x.x"
}
......@@ -4544,6 +4546,7 @@
"version": "1.0.11",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
......@@ -4611,7 +4614,8 @@
"graceful-fs": {
"version": "4.1.11",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"har-schema": {
"version": "1.0.5",
......@@ -4798,12 +4802,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"mkdirp": {
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -5093,6 +5099,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
......
......@@ -16,7 +16,7 @@ $(document).ready(function () {
var search = getMetaTag('q') || '';
var locale = getMetaTag('l') || 'de';
// loadQuicktips(search, locale, sprueche) // load the quicktips
// loadQuicktips(search, locale, sprueche) // load the quicktips
});
/*
......@@ -25,11 +25,11 @@ function readLocaleFromUrl (defaultLocale) {
}
*/
function getURLParameter (name, defaultValue) {
function getURLParameter(name, defaultValue) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search) || [null, ''])[1].replace(/\+/g, '%20')) || defaultValue;
}
function getMetaTag (name) {
function getMetaTag(name) {
if (typeof $('meta[name="' + name + '"')[0] !== 'undefined') {
return $('meta[name="' + name + '"')[0].content || null;
} else {
......@@ -37,12 +37,12 @@ function getMetaTag (name) {
}
}
function activateJSOnlyContent () {
function activateJSOnlyContent() {
$('#searchplugin').removeClass('hide');
$('.js-only').removeClass('js-only');
}
function tabs () {
function tabs() {
$('#foki > li.tab-selector > a').each(function () {
if ($(this).attr('target') != '_blank') {
$(this).attr('href', '#' + $(this).attr('aria-controls'));
......@@ -68,10 +68,9 @@ function tabs () {
$('#search-delete-btn').removeClass('hidden');
}
function getDocumentReadyForUse (fokus, custom) {
function getDocumentReadyForUse(fokus, custom) {
if (typeof custom == 'undefined') custom = false;
activateJSOnlyContent();
clickLog();
popovers();
if (fokus === 'bilder') imageLoader();
if (custom) initialLoadContent(fokus);
......@@ -85,15 +84,15 @@ function getDocumentReadyForUse (fokus, custom) {
addListeners();
}
function addListeners () {
function addListeners() {
$('#search-delete-btn').click(resetSearchbar);
}
function resetSearchbar () {
function resetSearchbar() {
$('.search-input input').val('').focus();
}
function pluginInfo () {
function pluginInfo() {
if (localStorage) {
if (localStorage.getItem('pluginInfo') == 'off') $('#searchplugin').css('display', 'none');
$('#searchplugin').on('close.bs.alert', function () {
......@@ -106,7 +105,7 @@ function pluginInfo () {
}
}
function theme () {
function theme() {
if (localStorage) {
var theme = localStorage.getItem('theme');
if (theme != null) {
......@@ -120,20 +119,7 @@ function theme () {
}
}
function clickLog () {
$('.result a.title, .result div.link-link a').off();
$('.result a.title, .result div.link-link a').click(function () {
$.get('/clickstats', {
i: $('meta[name=p]').attr('content'),
s: $(this).attr('data-hoster'),
q: $('meta[name=q]').attr('content'),
p: $(this).attr('data-count'),
url: $(this).attr('href')
});
});
}
function botProtection () {
function botProtection() {
$('.result').find('a').click(function () {
var link = $(this).attr('href');
var newtab = false;
......@@ -143,7 +129,7 @@ function botProtection () {
$.ajax({
url: '/img/cat.jpg',
type: 'post',
data: { mm: $('meta[name=mm]').attr('content')},
data: { mm: $('meta[name=mm]').attr('content') },
timeout: 2000
})
.always(function () {
......@@ -157,7 +143,7 @@ function botProtection () {
});
}
function popovers () {
function popovers() {
$('[data-toggle=popover]').each(function (e) {
$(this).popover({
// html : true,
......@@ -167,14 +153,14 @@ function popovers () {
});
}
function pagination () {
function pagination() {
$('.pagination li:not(.active) > a').attr('href', '#');
$('.pagination li.disabled > a').removeAttr('href');
$('.pagination li:not(.active) > a').off();
$('.pagination li:not(.active) > a').click(paginationHandler);
}
function paginationHandler () {
function paginationHandler() {
var link = $(this).attr('data-href');
if (link.length == 0) {
return;
......@@ -191,7 +177,7 @@ function paginationHandler () {
});
}
function imageLoader () {
function imageLoader() {
if (typeof $('#container').masonry == 'undefined') {
return;
}
......@@ -206,7 +192,7 @@ function imageLoader () {
});
}
function eliminateHost (host) {
function eliminateHost(host) {
$('.result:not(.ad)').each(function (e) {
var host2 = $(this).find('.link-link > a').attr('data-host');
if (host2.indexOf(host) === 0) {
......@@ -215,7 +201,7 @@ function eliminateHost (host) {
});
}
function fokiChanger () {
function fokiChanger() {
$('#fokiChanger ul > li').click(function () {
document.location.href = $(this).attr('data-href');
});
......@@ -291,7 +277,7 @@ function fokiChanger () {
/**
* Loads the content for a given fokus
*/
function initialLoadContent (fokus) {
function initialLoadContent(fokus) {
var link = $('#' + fokus + 'TabSelector a').attr('data-href');
$.get(link, function (data) {
$('#' + fokus).html(data);
......
......@@ -246,11 +246,11 @@ summary {
.inlink {
&:after {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font: normal normal normal 14px/1 'Font Awesome 5 Free';
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
content: "\f08e";
content: "\f35d";
}
}
......@@ -258,11 +258,11 @@ summary {
.outlink {
&:after {
display: inline-block;
font: normal normal normal 14px/1 FontAwesome;
font: normal normal normal 14px/1 'Font Awesome 5 Free';
font-size: inherit;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
content: "\f08e";
content: "\f35d";
}
}
......
......@@ -114,7 +114,7 @@
p {
text-align: justify;
font-style: italic;
quotes: '„' '';
quotes: '„' '';
&:before {
content: open-quote;
}
......
......@@ -124,6 +124,9 @@ body {
.alert ul {
list-style-type: none;
padding-left: 49px;
@media (max-width: @screen-xs-max) {
padding-left: 0px;
}
}
.fa.fa-twitter {
......
......@@ -7,10 +7,13 @@
.result {
.card;
margin: @resultpage-leftbox-min-dist-top-bottom 0px @resultpage-leftbox-min-dist-top-bottom 0px;
padding: 15px;
padding: 8px 15px 5px 15px;
width: 100%;
.result-header {
display: flex;
flex-wrap: wrap;
.result-headline {
width: 100%;
display: flex;
justify-content: space-between;
.result-title {
......@@ -43,26 +46,42 @@
white-space: nowrap;
}
}
.result-link {
.overflow-ellipsis;
display: block;
font-size: @result-font-small;
width: fit-content;
max-width: 100%;
&,
&:active,
&:hover,
&:focus,
&:visited {
font-size: @result-font-url;
text-decoration: none;
.result-subheadline {
width: 100%;
display: flex;
.result-link {
.overflow-ellipsis;
display: block;
font-size: @result-font-small;
width: fit-content;
max-width: 100%;
&,
&:active,
&:hover,
&:focus,
&:visited {
font-size: @result-font-url;
text-decoration: none;
}
span.advertisement-mark {
background-color: #0d9c0d;
color: white;
padding: 3px;
border-radius: 4px;
font-weight: bold;
font-size: 10px;
margin-right: 10px;
}
}
span.advertisement-mark {
background-color: #0d9c0d;
color: white;
padding: 3px;
span.partnershop-info {
background-color: white;
color: #333;
text-shadow: none;
font-weight: inherit;
border: 1px solid #686868 ;
padding: 2px;
margin-left: 20px;
border-radius: 4px;
font-weight: bold;
font-size: 10px;
margin-right: 10px;
}
......@@ -112,7 +131,7 @@
}
}
.result-footer {
margin-top: 10px;
margin-top: 5px;
display: flex;
flex-wrap: wrap;
&>*:not(:first-child) {
......@@ -162,6 +181,11 @@
}
}
}
.result-footer * {
font-size: 10px !important;
}
&.ad .ad-label {
&,
& a,
......
......@@ -2,7 +2,7 @@
return [
'headline.1' => 'Kontakt',
'form.1' => 'Sicheres Kontakformular',
'form.1' => 'Sicheres Kontaktformular',
'form.2' => 'Über dieses Formular können Sie uns kontaktieren.
Alternativ können Sie uns natürlich auch per <a href="mailto:support@suma-ev.de">E-Mail</a> erreichen.',
'form.name' => 'Name (Vorname Nachname)',
......
<?php
return [
'heading1' => 'MetaGer-Partnershop',
'absatz1' => 'Wenn in der MetaGer-Ergebnisliste Links erscheinen, bei denen das Wort
"Partnershop" steht, dann sind das zunächst normale Ergebnisse einer
MetaGer-Suche. Sie werden im Ranking nicht bevorzugt oder höher eingestuft,
sondern wie alle anderen Suchergebnisse auch behandelt. Bei der Anzeige
dieser Links werden - ebenso wie bei ALLEN MetaGer-Ergebnissen - auch keine
Nutzerdaten weitergegeben.',
'absatz2' => 'Hinter diesem Link steht dann eine Firma, von der wir dann, wenn der Link
angeklickt wird, einen geringen Betrag zur Finanzierung von MetaGer
erhalten. Beim Ergebnis wird das zugehörige Firmenlogo angezeigt. Auch daran
erkennen Sie immer unsere Partnershops. Beim Anlicken (und nur dann) eines solchen Ergebnisses werden
auch die Nutzerdaten an die Klickadresse weitergegeben - wie bei allen Links
aller Suchmaschinen. Wenn Sie dieses vermeiden wollen, dann können Sie bei
MetaGer aber auf "anonym öffnen" klicken. Sie müssen also auch dabei Ihre
Daten nicht weitergeben. Allerdings erhalten wir dann auch keinen Beitrag
zur Finanzierung von MetaGer. Wir bitten Sie dann um eine Spende, damit wir
MetaGer als unabhängige Alternative in einem gemeinnützigen Verein weiter
entwickeln und betreiben können: <a href="/spende">https://metager.de/spende</a>',
'heading' => 'MetaGer-Partnershop',
'paragraph.1' => 'Wenn in der MetaGer-Ergebnisliste Links erscheinen, bei dennen das Wort "Partnershop" steht, dann sind das zunächst normale Ergebnisse einer MetaGer-Suche. Sie werden im Ranking nicht bevorzugt oder höher eingestuft, sondern wie alle anderen Suchergebnisse auch behandelt.',
'paragraph.2' => 'Hinter diesem Link steht dann eine Firma, von der wir dann, wenn der Link angeklickt wird, einen geringen Betrag zur Finanzierung von MetaGer erhalten. Beim Ergebnis wird das zugehörige Firmenlogo angezeigt. Auch daran erkennen Sie immer unsere Partnershops. Beim Anklicken (und nur dann) eines solchen Ergebnisses werden auch Nutzerdaten an die Klickadresse weitergegeben. Zu diesen Nutzerdaten gehören auch die Suchbegriffe, die Sie auf MetaGer eingegeben haben, in Verbindung mit Ihrer IP-Adresse. Wenn Sie dies vermeiden wollen, dann können Sie bei MetaGer aber auf "anonym&nbspöffnen" klicken. Sie müssen also auch dabei Ihre Daten nicht weitergeben. Allerdings erhalten wir dann auch keinen Beitrag zur Finanzierung von MetaGer. Wir bitten Sie dann um eine Spende, damit wir MetaGer als unabhängige Alternative in einem gemeinnützigen Verein weiter entwickeln und betreiben können: <a href="/spende">www.metager.de/spende</a>',
'paragraph.3' => 'Mitglieder des SUMA_EV können unsere werbefreie Suche nutzen. <a href="/beitritt">Werden Sie Mitglied!</a>',
];
......@@ -5,6 +5,6 @@ return [
'startseite' => 'MetaGer-Startseite',
'impressum' => 'Impressum',
'search-placeholder' => 'Suchbegriff(e) eingeben',
'metager3' => 'Sie befinden sich auf einer MetaGer Testversion. Hier werden Features vor der Veröffentlichung getestet. Unter Umständen funktioniert hier nicht alles wie gewohnt.
Unsere stabile Version finden Sie hier: <a href="https://metager.de" target="_self">metager.de</a>.',
'metager3' => 'Sie befinden sich auf einer MetaGer Testversion. <span class="hidden-xs">Hier werden Features vor der Veröffentlichung getestet. Unter Umständen funktioniert hier nicht alles wie gewohnt.
Unsere stabile Version finden Sie hier: <a href="https://metager.de" target="_self">metager.de</a>.</span>',
];
......@@ -41,8 +41,8 @@ return [
"about.3.1" => "Everyone might check our data protection & privacy features.",
'lang.tooltip' => 'Language',
'key.placeholder' => 'Insert member key',
'key.tooltip' => 'Insert member key',
'key.placeholder' => 'Enter member key',
'key.tooltip' => 'Enter member key',
"placeholder" => "MetaGer: Privacy Protected Search & Find",
......
<?php
return [
'heading1' => 'MetaGer-Partnershop',
'absatz1' => 'If the MetaGer result list shows links which have the word "Partnershop" in
that line, these are at first normal search results. They are not ranked
higher or differently treated than all other search results of MetaGer. By
showing these links we do not transfer any of your data to third parties -
in the same way we do not transfer such data for ANY search.',
'absatz2' => 'Behind such links are companies which will pay us with a small amount of
money if you click on that link. The result shows the company logo as well.
By that you additionally recognize our partnershops (except links to Amazon via the Boost-Project). If you click on such
link (and ONLY then) the user data will be given to the click address - in
the same way as done by clicking the result links of all search engines. If
you do not want that, then MetaGer optionally gives the possibility to click
on "anonym öffnen" (open anonymously). So you do not have to give your user
data to third parties. But in that case we do not receive a share to
finance MetaGer. We appeal for a donation in that case, so that we are able
to run and develope MetaGer as an independent alternative within a
non-commercial NGO: <a href="/en/spende">https://metager.de/en/spende</a>',
'heading' => 'MetaGer-Partnershop',
];
english
<div class="card-heavy">
<div>
<h1>Data protection at MetaGer/SUMA-EV</h1>
For maximum transparency, we list the information we collect from you and how we use it. The protection of your data is important to us and it should be you, too.
<br /><strong>Please read this statement thoroughly; it is in your interest.</strong>
</div>
<div>
<h1>Person responsible and contact person</h1>
MetaGer and related services are operated by <a href="https://suma-ev.de/impressum.html">SUMA-EV</a>, which is also the author of this statement. By "we" in this statement usually SUMA-EV is meant.
<br />Our contact details can be found in our <a href="https://suma-ev.de/impressum.html">imprint</a>. We can be reached by e-mail at <a href="mailto:office@suma-ev.de">office@suma-ev.de</a>.
</div>
<div>
<h1>Principles</h1>
As a non-profit organization, we have committed ourselves to free access to knowledge. Since we know that free research is not compatible with mass surveillance, we also take privacy very seriously. We always only process the data that is necessary for the operation of our services. Data protection is always the standard we aim for. We do not operate profiling – i.e. the automatic creation of user profiles.
</div>
<div>
<h1>Accumulating data by context</h1>
<ol>
<li class="kontext-list">
<article class="kontext">
<h1>Using the web search engine MetaGer</h1>
When using our web search engine MetaGer via their web form or through their OpenSearch interface, the following data is generated:
<ol class="datum-list">
<li>
<article class="datum">
<h1 id="ip-address">Internet protocol address</h1>
The Internet protocol address (hereafter referred to as IP) is necessary to use web services such as MetaGer. This IP, in combination with a date similar to a telephone number, uniquely identifies Internet access and its owner.
<br />In general, the first three (out of four) blocks of an IP are not personal. When rear blocks of the IP are truncated, the truncated address identifies the approximate geographic area around the Internet connection.
<h2>Examples (full IP address)</h2>
<samp>154.67.88.47</samp><br />
<samp>82.159.53.49</samp>
<h2>Examples (only the first two blocks)</h2>
<samp>154.67.0.0</samp><br />
<samp>82.159.0.0</samp>
<h2>What does MetaGer/SUMA-EV do with it?</h2>
<ol>
<li>To protect our service from congestion, we need to limit the number of search queries per Internet connection. For this purpose alone, we store the full IP address and a timestamp for a maximum of 96 hours. If a noticeable number of searches are performed by an IP, this IP is temporarily stored in a revocation list (maximum 96 hours after the last search). Then the IP is deleted.
</li>
<li>In addition to donations and membership fees, we must finance our operation through non-personalized advertising on the results page. To receive this advertising, we give the first two blocks of the IP in connection with parts of the so-called user agent to our advertising partners
</li>
</ol>
<h2>Which rights do I have as a user?</h2>
Since the full form of the Internet Protocol address is personal, you have the following rights in particular:
<a href="#ihrerechte">View rights</a>
</article>
</li>
<li>
<article class="datum">
<h1 id="search-request">Entered search query</h1>
Entered search terms are mandatory for a web search. As a rule, personal data cannot be obtained from them; partly because they have no fixed structure.
<h2>Beispiele</h2>
<samp>Water consumption when showering</samp><br />
<samp>Lyrics from the song There was a bird on a tree</samp><br />
<samp>Grakvaloth</samp><br />
<samp>WHO abbreviation</samp>
<h2>What does MetaGer/SUMA-EV do with it?</h2>
<ol>
<li>As an integral part of the Metasearch, the search query will be transmitted to our partners to get search results for display on the results page. The results, including the search term, are kept for display for a few hours.
</li>
</ol>
</article>
</li>
<li>
<article class="datum">
<h1 id="user-agent">User Agent Name</h1>
When a website is opened, your browser automatically sends an identifier, usually with data about the browser and operating system used. This browser identifier (the so-called user agent) can be used by web pages, for example, to recognize mobile devices and present them with a customized output.
<h2>Example</h2>
<samp>Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0</samp>
<h2>What does MetaGer/SUMA-EV do with it?</h2>
<ol>
<li>In addition to donations and membership fees, we must finance our operation through non-personalized advertising on the results page. To receive this advertising, we give parts of the user agent in connection with the first two blocks of the so-called <a href="#ip-address">IP-Adresse</a> to our advertising partners.
</li>
</ol>
</article>
</li>
<li>
<article class="datum">
<h1>User preferences</h1>
In addition to form data and user agent, the browser often transmits additional data. These include language selection, search settings, accept header, do-not-track header and more.
<h2>Examples</h2>
<samp>interface=de sprachfilter=all fokus=web</samp><br />
<samp>interface=de sprachfilter=de fokus=nachrichten</samp><br />
<samp>interface=en sprachfilter=en fokus=web</samp>
<h2>What does MetaGer / SUMA-EV do with it?</h2>
<ol>
<li>We use this data (e.g., language settings) to answer the query.</li>
<li>We store some of these data non-personally for statistical purposes.</li>
</ol>
</article>
</li>
</ol>
</article>
<article class="kontext">
<h1 id="contact">Use of the contact form</h1>
When using the MetaGer contact form, we collect the following information that we store for reference purposes up to 2 months after your request has been completed:
<ol class="datum-list">
<li>
<article class="datum">
<h1>Contact data</h1>
This includes the name you provided (first and last name) and your e-mail address. We only use this data to answer you and under no circumstances pass it on to third parties.
<h2>Examples</h2>
<samp>Max Mustermann, mail@example.com</samp><br />
<samp>Erika Musterfrau, erika_m@domain.de</samp><br />
</article>
</li>
<li>
<article class="datum">
<h1>Message</h1>
The message entered here will be transmitted to us and used to process your request.
<h2>Examples</h2>
<samp>Feedback to MetaGer</samp><br />
<samp>MetaGer as a browser plug-in</samp><br/>
</article>
</li>
</ol>
</article>
<article class="kontext">
<h1 id="donation">Use of the donation form</h1>
The following data submitted in the donation form will be stored for processing for 2 months:
<ol class="datum-list">
<li>
<article class="datum">
<h1>Contact data</h1>
This includes the name you provided (first and last name) and your e-mail address. We use this data exclusively for any queries and under no circumstances pass them on to third parties.
<h2>Examples</h2>
<samp>Max Mustermann, mail@example.com</samp><br />
<samp>Erika Musterfrau, erika_m@domain.de</samp><br />
</article>
</li>
<li>
<article class="datum">
<h1>Payment data</h1>
The payment data will be used exclusively to process the donation and under no circumstances will be passed on to third parties.
</article>
</li>
<li>
<article class="datum">
<h1>Message (optional)</h1>
The message entered here will be transmitted to us and considered when processing your donation.
</article>
</li>
</ol>
</article>
<article class="kontext">
<h1>Simple Website useage</h1>
When visiting websites of the domain "suma-ev.de", the following data are collected and stored for up to one week:
<ul>
<li>Your IP-Address</li>
<li>Name and URL of the retrieved file</li>
<li>Date and time of access</li>
<li>The referrer you sent</li>
<li>The user agent you sent</li>
</ul>
We use the aforementioned data to ensure the functionality of the website and to protect ourselves from attacks. The legal basis for the processing is, therefore, a legitimate interest under Art. 6 para. 1 lit. f GDPR.
<br/>
On the other websites of our domains, we process the collected data only to answer inquiries and in the context of the other points of this privacy policy.
<br/>
On the start page of our service MetaGer we use the User-Agent you have assigned, to show you the appropriate plug-in installation guide to your browser.
</article>
<article class="kontext">
<h1>Registration for the SUMA-EV newsletter</h1>
To keep you up to date on our activities, we offer an e-mail newsletter. We store the following data until you cancel:
<ol class="datum-list">
<li>
<article class="datum">
<h1>Contact data</h1>
This includes the name you provided (first and last name) and your e-mail address. We use this data exclusively for sending the newsletter and under no circumstances pass it on to third parties.
<h2>Examples</h2>
<samp>Max Mustermann, mail@example.com</samp><br />
<samp>Erika Musterfrau, erika_m@domain.de</samp><br />
</article>
</li>
</ol>
</article>
<article class="kontext">
<h1>Use of Maps.MetaGer.de</h1>
When using the MetaGer map service, the following data is generated:
<ol>
<br/>
<li><a href="#ip-address">IP-Adress</a>: Will not be stored or shared.</li>
<li><a href="#user-agent">User-Agent</a>: Will not be stored or shared.</li>
<li><a href="#search-request">Search query</a>: Will not be stored or shared.</li>
<li>Location data: Will not be stored or shared.</li>
</ol>
</article>
<article class="kontext">
<h1>Use of the anonymizing proxy</h1>
When using the anonymizing proxy, the following data is generated:
<ol>
<br/>
<li><a href="#ip-address">IP-Adress</a>: Will not be stored or shared.</li>
<li><a href="#user-agent">User-Agent</a>: Will not be stored or shared.</li>
</ol>
</article>
<article class="kontext">
<h1>Using the citation search</h1>
Der eingegebene Suchbegriff wird genutzt, um in der Zitat-Datenbank nach Ergebnissen zu suchen.
The entered search term is used to search for results in the citation database. In contrast to the <a href="#search-request">web search</a> with MetaGer, it is not necessary to pass the search term on to third parties, as the citation database is located on our server. Other data will not be stored or shared.
</article>
<article class="kontext">
<h1>Use of the associator</h1>
The associator uses the search term to determine and display the terms associated therewith. Other data will not be stored or shared.
</article>
<article class="kontext">
<h1>Use of the MetaGer app</h1>
Use of the MetaGer app is the same as using MetaGer via a web browser.
</article>
<article class="kontext">
<h1>Use of the MetaGer plugin</h1>
When using the MetaGer plugin, the following data is generated:
<ol>
<br/>
<li><a href="#ip-address">IP-Adress</a>: Will not be stored or shared.</li>
<li><a href="#user-agent">User-Agent</a>: Will not be stored or shared.</li>
</ol>
</article>
</li>
</ol>
</div>
<div>
<h1>Hosting</h1>
The websites under the domain "suma-ev.de" are hosted and administered by Intares GmbH. The remaining services are administrated by us, the SUMA-EV, and operated on hired hardware at Hetzner Online GmbH.
</div>
<div>
<h1>Legal basis for processing</h1>
As a legal basis for processing your personal data, either Art. 6 (1) lit. a GDPR, if you consent to the processing by using our services, or Art. 6 para. 1 lit. f GDPR, if the processing is necessary for the protection of our legitimate interests, or another legal basis, if we inform you separately.
</div>
<div>
<h1 id="ihrerechte">Your rights as a user (and our duties)</h1>
To be able to protect your personal data, we clarify (in accordance with Art. 13 GDPR) that you have the following rights:
<ol>
<li><b>Right to information:</b></li>
<article class="kontext">
You have the right (Art. 15 GDPR) to request information from us at any time, if and if so, which of your data we (metager.de and SUMA-EV) have about you. We will send you as soon as possible, i.e. within days, a full copy pursuant to Art. 15 (3) subparagraph 1 GDPR of the data stored about you or other data stored by us. For this, we prefer the electronic way according to article 15 (3) subparagraph 3 GDPR; For this we will save your e-mail address for the time of processing. Please inform us if you want to have the information expressly in paper form.
</article>
<li><b>Right to rectification and supplementation:</b></li>
<article class="kontext">
In accordance with Art. 16 GDPR. If we have stored incorrect data about you, you can determine that they will be corrected. This also applies to missing components, here you have the right to supplement.
</article>
<li><b>Right to deletion:</b></li>
<article class="kontext">
In accordance with Art. 17 GDPR
</article>
<li><b>Right to restriction of processing:</b></li>
<article class="kontext">
In accordance with Art. 18 GDPR; For example, if you have asked us to erase or modify data about you, you may impose a processing ban on us for the time we need to do so. This is possible regardless of whether we ultimately change, delete, etc. the data in question.
</article>
<li><b>Right to appeal:</b></li>
<article class="kontext">
In accordance with Art. 13 (2) d) GDPR you can complain about us to the data protection officer of the state of Lower Saxony. In the web: <a href="https://www.lfd.niedersachsen.de/startseite/">Data Protection Officer</a>
</article>
<li><b>Right to object to processing:</b></li>
<article class="kontext">
In accordance with Art. 21 GDPR; If, for example, you are on a list and you want to be listed there, you can still prohibit the processing or further processing of this data.
</article>
<li><b>Right to Data Portability:</b></li>
<article class="kontext">
In accordance with Art. 20 GDPR; this means that we are required to provide you with the requested data in a readable, possibly machine-readable or common form, so that you would be able to make the data available to another person (to transfer).
</article>
<li><b>Obligation to notify in connection with the correction or deletion of personal data or the restriction of processing:</b></li>
<article class="kontext">
In accordance with Art. 19 GDPR; if we have disclosed information you have entrusted to us to third parties (which we never do), we would be obliged to notify those that we performed a deletion, modification, etc. at your request.
</article>
</ol>
To exercise these rights, it is sufficient to send us an e-mail to office@suma-ev.de. If you prefer the letter form, please send us postal mail to our office address:
<br />
<br />SUMA-EV
<br />Röselerstraße 3
<br />30159 Hannover
</div>
<div>
<h1>Changes to this statement</h1>
Like our offers, this privacy policy is subject to constant change. You should therefore read it again regularly.
<br />This version of our Privacy Policy is dated 2018-05-24.
</div>
......@@ -27,7 +27,7 @@
<ul class="startpage">
@foreach($sponsors as $link)
<li class="sponsor">
<a href="{{ $link->link }}" target="_blank" rel="noopener"><p>{{ $link->linktext }}</p> <i class="fa fa-external-link"></i></a>
<a href="{{ $link->link }}" target="_blank" rel="noopener"><p>{{ $link->linktext }}</p> <i class="fa fa-external-link-alt"></i></a>
</li>
@endforeach
</ul>
......
......@@ -10,10 +10,12 @@
</h2>
<a class="ad-label" href="{{ $ad->gefVonLink }}" target="_blank" rel="noopener">{!! $ad->gefVon !!}</a>
</div>
<a class="result-link" href="{{ $ad->link }}" target="{{ $metager->getNewtab() }}">
<span class="advertisement-mark">Anzeige</span>
{{ $ad->anzeigeLink }}
</a>
<div class="result-subheadline">
<a class="result-link" href="{{ $ad->link }}" target="{{ $metager->getNewtab() }}">
<span class="advertisement-mark">Anzeige</span>
{{ $ad->anzeigeLink }}
</a>
</div>
</div>
<div class="result-body">
<div class="result-description">
......
......@@ -14,15 +14,16 @@
</h2>
<a class="result-hoster" href="{{ $result->gefVonLink }}" target="{{ $metager->getNewtab() }}" rel="noopener">{{ $result->gefVon }}</a>
</div>
<a class="result-link" href="{{ $result->link }}" target="{{ $metager->getNewtab() }}" rel="noopener">
{{ $result->anzeigeLink }}
</a>
@if( isset($result->partnershop) && $result->partnershop === TRUE )
<span class="partnershop-info">
<img src="/img/boosticon.png" height="13" alt="Partnershops">
<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/partnershops") }}" target="_blank" rel="noopener">{!! trans('result.options.4') !!}</a>
</span>
@endif
<div class="result-subheadline">
<a class="result-link" href="{{ $result->link }}" target="{{ $metager->getNewtab() }}" rel="noopener">
{{ $result->anzeigeLink }}
</a>
@if( isset($result->partnershop) && $result->partnershop === TRUE)
<a href="{{ LaravelLocalization::getLocalizedURL(LaravelLocalization::getCurrentLocale(), "/partnershops") }}" target="_blank" rel="noopener">
<span class="partnershop-info">{!! trans('result.options.4') !!}</span>
</a>
@endif
</div>
</div>
<div class="result-body">
@if( isset($result->logo) )
......
......@@ -40,7 +40,6 @@
</div>
@endif
@include('parts.footer', ['type' => 'resultpage', 'id' => 'resultPageFooter'])
<img src="{{ action('ImageController@generateImage')}}?site={{ urlencode(url()->current()) }}" class="hidden" alt=""/>
<script src="{{ mix('js/lib.js') }}"></script>
<script src="{{ mix('js/scriptResultPage.js') }}" defer></script>
<script src="{{ mix('js/focus-creator.js') }}" defer></script>
......
......@@ -8,9 +8,11 @@
</h2>
<a class="result-hoster" href="javascript:void(0);" data-tooltip="{{ trans('fake-result.link') }}">MetaGer</a>
</div>
<a class="result-link" href="javascript:void(0);" data-tooltip="{{ trans('fake-result.link') }}">
de.wikipedia.org
</a>
<div class="result-subheadline">
<a class="result-link" href="javascript:void(0);" data-tooltip="{{ trans('fake-result.link') }}">
de.wikipedia.org
</a>
</div>
</div>
<div class="resultpage-body">
<div class="result-description" data-tooltip="{{ trans('fake-result.description') }}">
......@@ -60,4 +62,4 @@
</ul>
</div>
</div>
</div>
\ No newline at end of file
</div>