diff options
Diffstat (limited to 'site')
| -rw-r--r-- | site/app/Http/Controllers/WPShortOfferController.php | 95 | ||||
| -rw-r--r-- | site/resources/views/wpshortcode.blade.php | 35 |
2 files changed, 130 insertions, 0 deletions
diff --git a/site/app/Http/Controllers/WPShortOfferController.php b/site/app/Http/Controllers/WPShortOfferController.php new file mode 100644 index 0000000..f83ab97 --- /dev/null +++ b/site/app/Http/Controllers/WPShortOfferController.php @@ -0,0 +1,95 @@ +<?php +namespace App\Http\Controllers; +use Illuminate\Http\Request; +use App\Helpers\CryptoHelper; + +use Illuminate\Support\Facades\DB; +use App\Http\Controllers\Controller; + +use Carbon; +use Illuminate\Support\Facades\Input; + +class WPShortOfferController extends Controller { + /** + * Shows the index page. + * + * @return Response + */ + public function showPage(Request $request) { + + /* + * Sorting + */ + $sort_by = Input::get("_sort"); + switch ($sort_by) { + case("price"): + $sort_by = "discounted_price"; + break; + case("discounted_price"): + $sort_by = "discounted_price"; + break; + case("name"): + $sort_by = "name"; + break; + case("shop"): + $sort_by = "shop"; + break; + case("procent"): + $sort_by = "procent"; + break; + case("time"): + $sort_by = "created_at"; + break; + case("created_at"): + $sort_by = "created_at"; + break; + default: + $sort_by = "created_at"; + break; + } + + $order_by = $request->input("_order"); + if ( "asc" != $order_by ) { + $order_by = "desc"; + } + + /* + * Database query + */ + $view_name = \Request::route()->getName(); + $data = DB::table($view_name . '_view')->whereNotNull('url')->orderBy($sort_by, $order_by)->simplePaginate(10); + $data->withPath("/angebote/whisky/"); + $count = DB::table($view_name . '_view')->whereNotNull('url')->count(); + + $rss_feed = "/" . $view_name . "/feed/"; + $query_string = ""; + $query_params = Input::except('page'); + foreach( $query_params as $key => $value) { + $query_string .= "&" . $key . "=" . $value; + } + if ( "" != $query_string ) { + $query_string = ltrim($query_string, "&"); + $rss_feed .= "?" . $query_string; + } + + if ( "misc" == $view_name ) { + $view_name = "Andere Angebote"; + if ( $data->count() ) { + $title = "andere Angebote"; + } else { + $title = "anderen Angebote"; + } + } else if ( "all" == $view_name ) { + $view_name = "Alle Angebote"; + if ( $data->count() ) { + $title = "alle Angebote"; + } else { + $title = "Angebote"; + } + } else { + $title = ucfirst($view_name) . "-Angebote"; + } + + return view('wpshortcode', ['data' => $data, 'count' => $count, 'spirit_type' => $view_name, 'rss_feed' => $rss_feed, 'title' => $title ]); + } +} diff --git a/site/resources/views/wpshortcode.blade.php b/site/resources/views/wpshortcode.blade.php new file mode 100644 index 0000000..3bfdf74 --- /dev/null +++ b/site/resources/views/wpshortcode.blade.php @@ -0,0 +1,35 @@ +<?php +if ( !$data->count() ) { + /* Keine Angebote */ +?> +<div class="alert alert-secondary" data-track-content data-content-name="{{ ucfirst($spirit_type) }}" data-content-piece="Keine Angebote" data-content-target=""> + <h4 class="alert-heading">Keine Angebote</h4> + Momentan liegen keine {{ $title }} vor. Probieren Sie es später noch einmal. +</div> +<?php + /* Ende Keine Angebote */ +} else { + /* Liste Angebote */ + +?> + +<?php + foreach( $data as $offer) { + $offer->free_shipping = str_replace("€", "", $offer->free_shipping); + $offer->created_at = strftime("%d. %B", $offer->created_at); + + /* + if ( "" != $offer->free_shipping ) { + # todo: remove € sign from $free_shipping variable + $free_shipping = str_replace("€", "", $offer->free_shipping); + */ + +?> + +[angebot spirit_type="{{ $offer->spirit_type }}" shop="{{ $offer->shop }}" procent="{{ $offer->procent }}" img_url="{{ $offer->image_url }}" name="{{ $offer->name }}" discounted_price="{{ TF::fF($offer->discounted_price) }}" original_price="{{ TF::fF($offer->original_price) }}" shipping_costs="{{ TF::fF($offer->shipping_costs) }}" abv="{{ TF::fF($offer->abv) }}" volume="{{ TF::fF($offer->volume) }}" base_price="{{ TF::fF($offer->base_price) }}" url="{{ $offer->url }}" created_at="{{ $offer->created_at }}"] + +<?php + } + /* Ende Liste Angebote */ +} + |
