diff options
| author | Max | 2019-05-05 23:45:25 +0200 |
|---|---|---|
| committer | Max | 2019-05-05 23:45:25 +0200 |
| commit | 21fa504804b35e689adcb89c483ae2a8deb82d83 (patch) | |
| tree | 4275a0d28a3972565cd3bec4cbc2a02c957bf61c /site/app | |
| parent | b663cc5ea8e5ca2a328c95e52d2a943d207b9d50 (diff) | |
| download | alkobote-21fa504804b35e689adcb89c483ae2a8deb82d83.tar.gz | |
Experiment to mimic WP site.
Diffstat (limited to 'site/app')
| -rw-r--r-- | site/app/Http/Controllers/FKOfferController.php | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/site/app/Http/Controllers/FKOfferController.php b/site/app/Http/Controllers/FKOfferController.php new file mode 100644 index 0000000..3c761b3 --- /dev/null +++ b/site/app/Http/Controllers/FKOfferController.php @@ -0,0 +1,94 @@ +<?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 FKOfferController 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(20); + $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('fk-offer', ['data' => $data, 'count' => $count, 'spirit_type' => $view_name, 'rss_feed' => $rss_feed, 'title' => $title ]); + } +} |
