diff options
| author | horus | 2018-02-14 15:37:50 +0100 |
|---|---|---|
| committer | horus | 2018-02-14 15:39:52 +0100 |
| commit | 9658e695c6a6ee36fbc12a9b66a9bf5f91799719 (patch) | |
| tree | 8a8d763b3d70f8d87872fb283542ea11f4593352 /site/app | |
| parent | 6ff78f33a75fbabae300497c452112f57bbfab6a (diff) | |
| download | alkobote-9658e695c6a6ee36fbc12a9b66a9bf5f91799719.tar.gz | |
Improves styling, rss feeds and pagination.
Diffstat (limited to 'site/app')
| -rw-r--r-- | site/app/Http/Controllers/FeedController.php | 17 | ||||
| -rw-r--r-- | site/app/Http/Controllers/OfferController.php | 13 | ||||
| -rw-r--r-- | site/app/Http/Controllers/SearchController.php | 9 |
3 files changed, 34 insertions, 5 deletions
diff --git a/site/app/Http/Controllers/FeedController.php b/site/app/Http/Controllers/FeedController.php index 7ac39c1..93c3ca1 100644 --- a/site/app/Http/Controllers/FeedController.php +++ b/site/app/Http/Controllers/FeedController.php @@ -58,8 +58,13 @@ class FeedController extends Controller { * Database query */ $view_name = str_replace("_feed", "", \Request::route()->getName()); - #$data = DB::table($view_name . '_view')->orderBy('created_at', 'DESC')->limit(100)->get(); - $data = DB::table($view_name . '_view')->orderBy($sort_by, $order_by)->limit(20)->get(); + if ( "search" == $view_name ) { + $query = Input::get("q"); + $q = "%" . $this->escapeLike($query) . "%"; + $data = DB::table('all_view')->where('name', 'like', $q)->orWhere('spirit_type', 'like', $q)->orderBy($sort_by, $order_by)->limit(20)->get(); + } else { + $data = DB::table($view_name . '_view')->orderBy($sort_by, $order_by)->limit(20)->get(); + } /* * For strftime(). @@ -70,7 +75,7 @@ class FeedController extends Controller { $feed->title = "Sonderangebote"; $feed->description = 'Finde immer die günstigsten Angebote im Bereich Spirituosen. Täglich neue Schnäppchen.'; - $feed->logo = 'https://fuselkoenig.de/favicon.ico'; + $feed->logo = '/img/paw-400-400.png'; $feed->link = url('feed'); $feed->setDateFormat('timestamp'); // 'datetime', 'timestamp' or 'carbon' $feed->pubdate = $data[0]->created_at; @@ -86,4 +91,10 @@ class FeedController extends Controller { return $feed->render('atom'); } + + private function escapeLike($string) { + $search = array('%', '_'); + $replace = array('\%', '\_'); + return str_replace($search, $replace, $string); + } } diff --git a/site/app/Http/Controllers/OfferController.php b/site/app/Http/Controllers/OfferController.php index 39c181d..e4c6ed6 100644 --- a/site/app/Http/Controllers/OfferController.php +++ b/site/app/Http/Controllers/OfferController.php @@ -68,6 +68,17 @@ class OfferController extends Controller { $view_name = \Request::route()->getName(); $data = DB::table($view_name . '_view')->orderBy($sort_by, $order_by)->simplePaginate(20); + $rss_feed = "/" . $view_name . "/feed/"; + $query_string = ""; + $query_params = Input::get(); + 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() ) { @@ -91,6 +102,6 @@ class OfferController extends Controller { */ setlocale(LC_TIME, 'de_DE.utf8'); - return view('offer', ['data' => $data, 'spirit_type' => $view_name, 'title' => $title ]); + return view('offer', ['data' => $data, 'spirit_type' => $view_name, 'rss_feed' => $rss_feed, 'title' => $title ]); } } diff --git a/site/app/Http/Controllers/SearchController.php b/site/app/Http/Controllers/SearchController.php index bb79bae..45014d3 100644 --- a/site/app/Http/Controllers/SearchController.php +++ b/site/app/Http/Controllers/SearchController.php @@ -68,7 +68,14 @@ class SearchController extends Controller { #$data = DB::table('whisky_view')->orderBy('procent', 'DESC')->limit(100)->simplePaginate(20); #var_dump($data); exit; - return view('search', ['data' => $data, 'search_phrase' => $query ]); + $query_string = ""; + $query_params = Input::get(); + foreach( $query_params as $key => $value) { + $query_string .= "&" . $key . "=" . $value; + } + $query_string = ltrim($query_string, "&"); + + return view('search', ['data' => $data, 'search_phrase' => $query, 'rss_feed' => '/search/feed/?' . $query_string ]); } private function escapeLike($string) { |
