diff options
| author | horus | 2019-05-10 23:18:48 +0200 |
|---|---|---|
| committer | horus | 2019-05-10 23:18:48 +0200 |
| commit | f61c387f100ddeca11531b902a5584a0cad664cf (patch) | |
| tree | 2f3968ee994e1fd686b89825150ac5ad696d2729 /site/app/Http/Controllers/FKSearchController.php | |
| parent | 57a1d34f05eb42f107d76d6d48b8da82a11a5c42 (diff) | |
| download | alkobote-f61c387f100ddeca11531b902a5584a0cad664cf.tar.gz | |
Improving the WP site. (site)
Diffstat (limited to 'site/app/Http/Controllers/FKSearchController.php')
| -rw-r--r-- | site/app/Http/Controllers/FKSearchController.php | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/site/app/Http/Controllers/FKSearchController.php b/site/app/Http/Controllers/FKSearchController.php new file mode 100644 index 0000000..a148bba --- /dev/null +++ b/site/app/Http/Controllers/FKSearchController.php @@ -0,0 +1,80 @@ +<?php +namespace App\Http\Controllers; +use Illuminate\Http\Request; +use App\Helpers\CryptoHelper; + +use Illuminate\Support\Facades\DB; +use App\Http\Controllers\Controller; + +use Illuminate\Support\Facades\Input; + +use App\Libraries\Utility; + +class FKSearchController 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 ( "desc" != $order_by ) { + if ( "created_at" == $sort_by &&"asc" != $order_by ) { + $order_by = "desc"; + } else { + $order_by = "asc"; + } + } + + $query = Input::get("q"); + $q = "%" . Utility::escapeLike($query) . "%"; + $data = DB::table('all_view')->whereNotNull('url')->where('name', 'like', $q)->orWhere('spirit_type', 'like', $q)->orWhere('shop', 'like', $q)->orderBy($sort_by, $order_by)->simplePaginate(20); + $count = DB::table('all_view')->whereNotNull('url')->where('name', 'like', $q)->orWhere('spirit_type', 'like', $q)->orWhere('shop', 'like', $q); + + $query_string = ""; + $query_params = Input::except('page'); + foreach( $query_params as $key => $value) { + $query_string .= "&" . $key . "=" . $value; + } + $query_string = ltrim($query_string, "&"); + + /* + * For strftime() in view. + */ + #setlocale(LC_TIME, 'de_DE.utf8'); + + return view('fk-search', ['data' => $data, 'count' => $count, 'search_phrase' => $query, 'rss_feed' => '/angebote/search/feed/?' . $query_string ]); + } +} |
