summaryrefslogtreecommitdiff
path: root/site/app
diff options
context:
space:
mode:
authorhorus2018-02-14 15:37:50 +0100
committerhorus2018-02-14 15:39:52 +0100
commit9658e695c6a6ee36fbc12a9b66a9bf5f91799719 (patch)
tree8a8d763b3d70f8d87872fb283542ea11f4593352 /site/app
parent6ff78f33a75fbabae300497c452112f57bbfab6a (diff)
downloadalkobote-9658e695c6a6ee36fbc12a9b66a9bf5f91799719.tar.gz
Improves styling, rss feeds and pagination.
Diffstat (limited to 'site/app')
-rw-r--r--site/app/Http/Controllers/FeedController.php17
-rw-r--r--site/app/Http/Controllers/OfferController.php13
-rw-r--r--site/app/Http/Controllers/SearchController.php9
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) {