return redirect($page->getUrl());
}
+ public function searchAll(Request $request)
+ {
+ $searchTerm = $request->get('term');
+ if(empty($searchTerm)) return redirect()->back();
+
+ $pages = $this->pageRepo->getBySearch($searchTerm);
+ return view('pages/search-results', ['pages' => $pages, 'searchTerm' => $searchTerm]);
+ }
+
/**
* Remove the specified resource from storage.
*
Route::get('/images/{any}', 'ImageController@getImage')->where('any', '.*');
Route::get('/link/{id}', 'PageController@redirectFromLink');
+Route::get('/pages/search/all', 'PageController@searchAll');
Route::get('/', function () {
return view('base');
$page->delete();
}
+ public function getBySearch($term)
+ {
+ $terms = explode(' ', trim($term));
+ $query = $this->page;
+ foreach($terms as $term) {
+ $query = $query->where('text', 'like', '%'.$term.'%');
+ }
+ return $query->get();
+ }
+
}
\ No newline at end of file
.input-base {
background-color: #FFF;
- border-radius: 2px;
- border: 1px solid #BBB;
- border-top: 1px solid #AAA;
+ border-radius: 3px;
+ border: 1px solid #CCC;
display: inline-block;
font-size: $fs-s;
font-family: $text;
color: $secondary;
}
+/*
+ * Lists
+ */
+ul {
+ list-style: disc;
+ margin-left: $-m;
+}
+
/*
* Generic text styling classes
*/
header .menu {
margin-bottom: 0;
list-style: none;
+ margin-left: 0;
li {
display: inline-block;
- margin-left: $-m;
+ margin-right: $-m;
}
}
}, 800); // Adjust to change animations speed (ms)
return this;
};
+ $.expr[":"].contains = $.expr.createPseudo(function(arg) {
+ return function( elem ) {
+ return $(elem).text().toUpperCase().indexOf(arg.toUpperCase()) >= 0;
+ };
+ });
</script>
@yield('head')
</head>
<header>
<div class="container">
- <div class="padded-vertical clearfix">
- <div class="logo float left">Oxbow</div>
- <ul class="menu float right">
- <li><a href="/books"><i class="fa fa-book"></i>Books</a></li>
- </ul>
+ <div class="padded-vertical row clearfix">
+ <div class="col-md-3">
+ <div class="logo float left">Oxbow</div>
+ </div>
+ <div class="col-md-9">
+ <ul class="menu float">
+ <li><a href="/books"><i class="fa fa-book"></i>Books</a></li>
+ </ul>
+ <div class="search-box float right">
+ <form action="/pages/search/all" id="search-form" method="GET">
+ {!! csrf_field() !!}
+ <input type="text" placeholder="Search all pages..." name="term" id="search-input">
+ </form>
+ </div>
+ </div>
</div>
</div>
</header>
--- /dev/null
+@extends('base')
+
+@section('content')
+
+
+ <div class="row">
+
+ <div class="col-md-3 page-menu">
+
+ </div>
+
+ <div class="col-md-9 page-content">
+ <h1>Search Results <span class="subheader">For '{{$searchTerm}}'</span></h1>
+ <div class="page-list">
+ @if(count($pages) > 0)
+ @foreach($pages as $page)
+ <a href="{{$page->getUrl() . '#' . $searchTerm}}">{{$page->name}}</a>
+ @endforeach
+ @else
+ <p class="text-muted">No pages matched this search</p>
+ @endif
+ </div>
+ </div>
+
+ </div>
+
+
+
+
+@stop
\ No newline at end of file