diff --git a/app/Http/Controllers/MetaGerSearch.php b/app/Http/Controllers/MetaGerSearch.php index b466939083e6fa8e3fd9334b5c0bb06339da0608..9b89c79e7d8177fbd5d037033cbf4deb64ecf0b1 100644 --- a/app/Http/Controllers/MetaGerSearch.php +++ b/app/Http/Controllers/MetaGerSearch.php @@ -12,6 +12,12 @@ class MetaGerSearch extends Controller public function search(Request $request, MetaGer $metager) { $focus = $request->input("focus", "web"); + + if ($focus === "maps") { + $searchinput = $request->input('eingabe', ''); + return redirect()->to('https://maps.metager.de/map/' . $searchinput . '/1240908.5493525574,6638783.2192695495,6'); + } + if ($focus !== "angepasst" && $this->startsWith($focus, "focus_")) { $metager->parseFormData($request); if ($metager->doBotProtection($request->input('bot', ""))) { diff --git a/resources/assets/js/scriptResultPage.js b/resources/assets/js/scriptResultPage.js index 4c935c8c89bcc771593f445d2fe3eced7e9f0384..b5e90c7f15ce030ba6cd7a12c2d862390196d0ac 100644 --- a/resources/assets/js/scriptResultPage.js +++ b/resources/assets/js/scriptResultPage.js @@ -13,7 +13,7 @@ $(document).ready(function () { function activateJSOnlyContent () { $('#searchplugin').removeClass('hide'); - $('.options').removeClass('hide'); + $('.js-only').removeClass('js-only'); } function tabs () { diff --git a/resources/assets/less/metager/result-page.less b/resources/assets/less/metager/result-page.less index 54fea771557f0d454909bb904dbf9f9728850df3..8866a211f8a17395b8ad65ac42209cbf27a9b2d8 100644 --- a/resources/assets/less/metager/result-page.less +++ b/resources/assets/less/metager/result-page.less @@ -285,14 +285,16 @@ a { .saver-options { display: flex; padding-bottom: 15px; - &>input{ + &>input { min-width: 35%; max-width: 80%; } } + .ui-effects-transfer { border: 1px dotted black; } + .result { margin-bottom: 10px; width: 100%; @@ -310,13 +312,11 @@ a { cursor: pointer; } } - &>.remover { - cursor:pointer; + cursor: pointer; text-align: right; color: #777; } - .title { color: @result-title-color; text-decoration: none; @@ -350,10 +350,6 @@ a { padding-left: 8px; padding-right: 5px; } - .options>a>i { - font-size: 16px; - color: #2A2ADE; - } } .link-link { white-space: nowrap; @@ -368,6 +364,9 @@ a { font-size: 14px; line-height: 1.3; clear: both; + .date { + font-weight: bold; + } p { margin: 0; margin-bottom: 4px; @@ -399,6 +398,45 @@ a { color: @result-hoster-a-color; } } + .options { + .option-opener-icon { + display: block; + padding-left: 8px; + padding-right: 5px; + font-size: 16px; + color: #2A2ADE; + } + .option-checkbox { + visibility: hidden; + } + .option-content { + display: none; + background-color: white; + z-index: 1000; + position: absolute; + border: grey solid 1px; + color: black; + font-size: 16px; + border-radius: 5px; + hr { + margin: 5px; + } + li { + padding: 5px + } + li:not(.option-title):hover { + background-color: #e0e0e0; + } + a, a:hover, a:focus, a:visited { + color: black; + display: block; + } + } + .option-opener:focus+.option-content, .option-content:hover { + display: initial; + animation-name: open-contents; + } + } .proxy { font-size: 13px; margin-top: 0; @@ -453,6 +491,10 @@ a { overflow: hidden; } +.js-only { + display: none; +} + /* Hier der Style für die Bilder */ diff --git a/resources/assets/less/metager/static-pages.less b/resources/assets/less/metager/static-pages.less index f07d24c463f94abde0d9ab903a72d8108f99cb27..51dd987b7239c31163dd158a81cdccf2c487b053 100644 --- a/resources/assets/less/metager/static-pages.less +++ b/resources/assets/less/metager/static-pages.less @@ -106,16 +106,6 @@ ul.metager-dropdown-menu { background-clip: padding-box; max-height: 0px; overflow: hidden; - -webkit-transition: max-height 1s ease, padding 1s ease; - -moz-transition: max-height 1s ease, padding 1s ease; - -ms-transition: max-height 1s ease, padding 1s ease; - -o-transition: max-height 1s ease, padding 1s ease; - transition: max-height 1s ease, padding 1s ease; - -webkit-transition-delay: .2s; - -moz-transition-delay: .2s; - -ms-transition-delay: .2s; - -o-transition-delay: .2s; - transition-delay: .2s; &>li>a { display: block; padding: 3px 20px; @@ -220,7 +210,6 @@ ul.metager-dropdown-menu { width: 100%; max-height: 40px; overflow: hidden; - transition: max-height 1s ease; } #metager-static-nav-list:target { max-height: 1000px; diff --git a/resources/lang/de/result.php b/resources/lang/de/result.php index 65ceae065ba98693682ec0fb47bb6260785caffd..a891febec1b253b0645dd2a6f17a11bd93b5cefa 100644 --- a/resources/lang/de/result.php +++ b/resources/lang/de/result.php @@ -1,6 +1,8 @@ <?php return [ + 'options.headline' => 'Optionen', + 'options.savetab' => 'Ergebnis in Tab speichern.', 'options.1' => 'Suche auf dieser Domain neu starten', 'options.2' => ':host ausblenden', 'options.3' => '*.:domain ausblenden', diff --git a/resources/lang/en/hilfe.php b/resources/lang/en/hilfe.php index 5baa626a006e0acb624cf6804c343afd19dae458..a7d90d9eb6c4bf75cb81c49aca6024bd000eab7d 100644 --- a/resources/lang/en/hilfe.php +++ b/resources/lang/en/hilfe.php @@ -83,5 +83,10 @@ return [ "maps.1" => "MetaGer provides a map function: On a result page you see a new focus on the upper right, called \"maps.MetaGer.de\". You receive a map according to your search by click (only Germany for the moment). Use the \"customize\" page for toggling maps function \"show/hide\", you will get a durably embedded small map on the result page, then.", "maps.2" => "After loading the map shows POIs according to the MetaGer results. You see them in the right column too. Mouseover a POI highlights its counterpart. Click \"Details\" to get further information (Nominatim data base) to this POI.", "maps.3" => "The maps are rendered before (except for the last three ones) and fast available. Affect the zoom level by mouse-wheel or the \"+ / -\" buttons in the upper left corner of the map.", - "sucheingabe" => "Enter search words" + "maps.4" => "All maps are prerendered and quickly useable (but the 3 highest levels). Please regulate the zoom level with the mousewheel or the \"+ / -\" buttons in the upper left corner of the map.", + "sucheingabe" => "Enter search words", + "bang.title" => "!bangs", + "bang.1" => "MetaGer uses a little a special spelling called \"!bang syntax\". A !bang starts with the \"!\" and doesn' t contain blanks (\"!twitter\", \"!facebook\" for example). If you use a !bang supported by MetaGer you will see a new entry in the \"Quicktips\". We direct then to the specified service (click the button). Read more about our method departing from others: <a href=\"/faq/#bangs\" target=\"_blank\" rel=\"noopener\">unseren FAQ</a>", + "searchinsearch.title" => "Search in search", + "searchinsearch.1" => "To use \"Search in search\" click the small blue triangle <a href=\"#exampleimg\"> at the right of the results URL. Then click \"Save result in TAB\" in the context menu. The result will then be stored in a new TAB appearing at the right of the other TABs (\"Web\", \"Shopping\" etc.). It is called \"Saved results\". You can store here single results from several searches. The TAB persists. Entering this TAB you get your personal result list with tools to filter and sort the results. Click another TAB to go back for further searches. More info (only german so far): <a href=\"http://blog.suma-ev.de/node/225\" target=\"_blank\" rel=\"noopener\"> http://blog.suma-ev.de/node/225</a>." ]; \ No newline at end of file diff --git a/resources/views/index.blade.php b/resources/views/index.blade.php index 1b1e743941aacbbbf4eb70fb070f3e101afa0bd5..dff8e2bad29a6e62a1076d0dc8ff2a241ff85b9c 100644 --- a/resources/views/index.blade.php +++ b/resources/views/index.blade.php @@ -241,6 +241,13 @@ <span class="content">{{ trans('index.foki.produkte') }}</span> </label> </div> + <div class="focus"> + <input id="maps" class="focus-radio hide" type="radio" name="focus" value="maps" form="searchForm" @if ($focus === 'maps') checked @endif required=""> + <label id="maps-label" class="focus-label" for="maps"> + <i class="fa fa-map" aria-hidden="true"></i> + <span class="content">{{ trans('index.foki.maps') }}</span> + </label> + </div> {{-- Fix for older Versions --}} @if ($focus === 'angepasst') <div class="focus"> @@ -312,11 +319,11 @@ <a href="#" data-toggle="modal" data-target="#plugin-modal" class="btn btn-default mutelink" title="{{ trans('index.plugintitle') }}"><i class="fa fa-plug" aria-hidden="true"></i> {{ trans('index.plugin') }}</a></li> @if (LaravelLocalization::getCurrentLocale() == "de") <li> - <a href="https://suma-ev.de/presse/Werbefreie-Suche-mit-MetaGer.html" target="_blank" class="btn btn-default mutelink"> - Werbefreie Suche mit MetaGer - </a> - </li> - @endif + <a href="https://suma-ev.de/presse/Werbefreie-Suche-mit-MetaGer.html" target="_blank" class="btn btn-default mutelink"> + Werbefreie Suche mit MetaGer + </a> + </li> + @endif </ul> <script src="{{ elixir('js/scriptStartPage.js') }}"></script> @endsection diff --git a/resources/views/layouts/result.blade.php b/resources/views/layouts/result.blade.php index b75fa046638c8886d50d16bea2f2d8eba67a7a59..5a8f828b1982cef73c28c904e5e5d5a34ffe82ce 100644 --- a/resources/views/layouts/result.blade.php +++ b/resources/views/layouts/result.blade.php @@ -16,38 +16,42 @@ {{ $result->anzeigeLink }} </a> </div> - <div class="options hide"> - <a tabindex="0" data-toggle="popover" data-trigger="focus" data-placement="auto bottom" data-container="body" data-html="true" data-title="<i class='fa fa-cog' aria-hidden='true'></i> Optionen"> - @if(strlen($metager->getSite()) === 0) - <i class="fa fa-caret-down" aria-hidden="true"></i> - @endif - </a> - <div class="content hidden"> - <ul class="options-list list-unstyled small"> - <li> - <a href="javascript:resultSaver({{ $result->number }});" class="saver" data-counter="{{ $result->number }}"> - <i class="glyphicon glyphicon-floppy-disk"></i> Ergebnis in Tab speichern. - </a> - </li> - <li> - <a href="{{ $metager->generateSiteSearchLink($result->strippedHost) }}"> - {!! trans('result.options.1') !!} - </a> - </li> - <li> - <a href="{{ $metager->generateRemovedHostLink($result->strippedHost) }}"> - {!! trans('result.options.2', ['host' => $result->strippedHost]) !!} - </a> - </li> - @if( $result->strippedHost !== $result->strippedDomain ) + <div class="options"> + <a class="option-opener" href="javascript:void(0);"> + <i class="fa fa-caret-down option-opener-icon" aria-hidden="true"></i> + </a> + <div class="option-content"> + <ul class="option-list list-unstyled small"> + <li class="option-title"> + <i class="fa fa-cog"></i> {!! trans('result.options.headline') !!} + </li> + <hr> + <li class="js-only"> + <a href="javascript:resultSaver({{ $result->number }});" class="saver" data-counter="{{ $result->number }}"> + <i class="fa fa-floppy-disk"></i> {!! trans('result.options.savetab') !!} + </a> + </li> + @if(strlen($metager->getSite()) === 0) + <li> + <a href="{{ $metager->generateSiteSearchLink($result->strippedHost) }}"> + {!! trans('result.options.1') !!} + </a> + </li> + @endif <li> - <a href="{{ $metager->generateRemovedDomainLink($result->strippedDomain) }}"> - {!! trans('result.options.3', ['domain' => $result->strippedDomain]) !!} + <a href="{{ $metager->generateRemovedHostLink($result->strippedHost) }}"> + {!! trans('result.options.2', ['host' => $result->strippedHost]) !!} </a> </li> - @endif - </ul> - </div> + @if( $result->strippedHost !== $result->strippedDomain ) + <li> + <a href="{{ $metager->generateRemovedDomainLink($result->strippedDomain) }}"> + {!! trans('result.options.3', ['domain' => $result->strippedDomain]) !!} + </a> + </li> + @endif + </ul> + </div> </div> </div> <span class="hoster"> @@ -81,7 +85,7 @@ </div> @else @if( $metager->getFokus() == "nachrichten" ) - <div class="description">{{ isset($result->additionalInformation["date"])?date("Y-m-d H:i:s", $result->additionalInformation["date"]):"" }} {{ $result->descr }}</div> + <div class="description"><span class="date">{{ isset($result->additionalInformation["date"])?date("Y-m-d H:i:s", $result->additionalInformation["date"]):"" }}</span> {{ $result->descr }}</div> @else <div class="description">{{ $result->descr }}</div> @endif diff --git a/resources/views/spende/spende.blade.php b/resources/views/spende/spende.blade.php index f1c164180045491f0492b01f06c63cdf4ad750bd..a7b9ca48dc63c25c4cbb358e885dab401a4165b3 100644 --- a/resources/views/spende/spende.blade.php +++ b/resources/views/spende/spende.blade.php @@ -8,73 +8,73 @@ <h1>{!! trans('spende.headline.1') !!}</h1> <h2 class="subheading">{!! trans('spende.headline.2') !!}</h2> <p>{!! trans('spende.about.2') !!}</p> - <div id="top" > - <div class="col-lg-6 col-md-12 col-sm-12 others"> - <h3 id="lastschrift">{!! trans('spende.lastschrift.1') !!}</h3> - <p>{!! trans('spende.lastschrift.2') !!}</p> - <form id="donate" role="form" method="POST"> - <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="tel">{!! trans('spende.lastschrift.5') !!}</label> - <input type="tel" class="form-control" id="tel" name="Telefon" placeholder="xxxx-xxxxx" value="{{ old('Telefon') }}"> - </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="msg">{!! trans('spende.lastschrift.8') !!}</label> - <textarea class="form-control" id="msg" required="" name="Nachricht" placeholder="{!! trans('spende.lastschrift.8.placeholder') !!}">{{ old('Nachricht') }}</textarea> - </div> - <button type="submit" form="donate" class="btn btn-default">{!! trans('spende.lastschrift.9') !!}</button> - </form> +<p><i class="fa fa-info fa-fw fa-lg" aria-hidden="true"></i><u>{!! trans('spende.bankinfo.3') !!}</u></p> +<div id="top" > + <div class="col-lg-6 col-md-12 col-sm-12 others"> + <h3 id="lastschrift">{!! trans('spende.lastschrift.1') !!}</h3> + <p>{!! trans('spende.lastschrift.2') !!}</p> + <form id="donate" role="form" method="POST"> + <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="col-lg-6 col-md-12 col-sm-12 others bitcoins"> - <h3>{!! trans('spende.bankinfo.1') !!}</h3> - <p>{!! trans('spende.bankinfo.2') !!}</p> - <p class="text-muted">{!! trans('spende.bankinfo.3') !!}</p> + <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> - <hr> - <div class="col-lg-6 col-md-12 col-sm-12 others bitcoins"> - <h3>{!! trans('spende.paypal.1') !!}</h3> - <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="{!! trans('spende.paypal.2') !!}" type="image"> - </form> + <div class="form-group donation-form-group"> + <label for="tel">{!! trans('spende.lastschrift.5') !!}</label> + <input type="tel" class="form-control" id="tel" name="Telefon" placeholder="xxxx-xxxxx" value="{{ old('Telefon') }}"> </div> - <div class="col-lg-6 col-md-12 col-sm-12 others bitcoins"> - <h3>{!! trans('spende.bitcoins.1') !!}</h3> - {!! trans('spende.bitcoins.2') !!}<br/> - <a href="bitcoin:174SDRNZqM2WNobHhCDqD1VXbnZYFXNf8V">174SDRNZqM2WNobHhCDqD1VXbnZYFXNf8V</a> + <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="clearfix"></div> - <hr> - </div> - <p>{!! trans('spende.lastschrift.10') !!}</p> - <hr> - <div class="clearfix"></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="msg">{!! trans('spende.lastschrift.8') !!}</label> + <textarea class="form-control" id="msg" required="" name="Nachricht" placeholder="{!! trans('spende.lastschrift.8.placeholder') !!}">{{ old('Nachricht') }}</textarea> + </div> + <button type="submit" form="donate" class="btn btn-default">{!! trans('spende.lastschrift.9') !!}</button> + </form> + </div> + <div class="col-lg-6 col-md-12 col-sm-12 others bitcoins"> + <h3>{!! trans('spende.bankinfo.1') !!}</h3> + <p>{!! trans('spende.bankinfo.2') !!}</p> + </div> + <hr> + <div class="col-lg-6 col-md-12 col-sm-12 others bitcoins"> + <h3>{!! trans('spende.paypal.1') !!}</h3> + <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="{!! trans('spende.paypal.2') !!}" type="image"> + </form> + </div> + <div class="col-lg-6 col-md-12 col-sm-12 others bitcoins"> + <h3>{!! trans('spende.bitcoins.1') !!}</h3> + {!! trans('spende.bitcoins.2') !!}<br/> + <a href="bitcoin:174SDRNZqM2WNobHhCDqD1VXbnZYFXNf8V">174SDRNZqM2WNobHhCDqD1VXbnZYFXNf8V</a> + </div> + <div class="clearfix"></div> + <hr> +</div> +<p>{!! trans('spende.lastschrift.10') !!}</p> +<hr> +<div class="clearfix"></div> @endsection