diff options
| author | horus | 2019-02-11 01:42:27 +0100 |
|---|---|---|
| committer | horus | 2019-02-11 01:42:27 +0100 |
| commit | 4e9193fd3b7b0784e6371c4a786b546c27d9d2a5 (patch) | |
| tree | 09f6814cc0bf68d2810cdcd9abb2abdfe9f12c5b /site/app/Http/Controllers/WPOfferController.php | |
| parent | 5774ad53ed9d72365fe3eea9eebe128c8ae4da0c (diff) | |
| download | alkobote-4e9193fd3b7b0784e6371c4a786b546c27d9d2a5.tar.gz | |
Support for inclusion in Wordpress. (site)
Diffstat (limited to 'site/app/Http/Controllers/WPOfferController.php')
| -rw-r--r-- | site/app/Http/Controllers/WPOfferController.php | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/site/app/Http/Controllers/WPOfferController.php b/site/app/Http/Controllers/WPOfferController.php new file mode 100644 index 0000000..d84f9d2 --- /dev/null +++ b/site/app/Http/Controllers/WPOfferController.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 WPOfferController 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('wpoffer', ['data' => $data, 'count' => $count, 'spirit_type' => $view_name, 'rss_feed' => $rss_feed, 'title' => $title ]); + } +} |
