mirror of
https://github.com/wallabag/wallabag.git
synced 2025-09-15 18:57:05 +00:00
Important fixes for search engine (thx @mariroz)
So sorry for the mess... :( * search only in users' own articles * sanitized what is searched * display what is searched * pagination, sorting available when searching * use existing function to query db * bad encoding caracters fixed * link to JQuery into default theme, no longer in each theme * some spaces instead of tabs
This commit is contained in:
parent
22db488d21
commit
d967a1fa14
7 changed files with 45 additions and 20 deletions
|
@ -389,12 +389,13 @@ class Database {
|
|||
return $this->getHandle()->lastInsertId($column);
|
||||
}
|
||||
|
||||
public function search($term){
|
||||
$search = '%'.$term.'%';
|
||||
$query = $this->getHandle()->prepare("SELECT * FROM entries WHERE content LIKE ? OR title LIKE ? OR url LIKE ?"); //searches in content, title and URL
|
||||
$query->execute(array($search,$search,$search));
|
||||
$entries = $query->fetchAll();
|
||||
return $entries;
|
||||
public function search($term,$id,$limit = ''){
|
||||
$search = '%'.$term.'%';
|
||||
$sql_action = ("SELECT * FROM entries WHERE user_id=? AND (content LIKE ? OR title LIKE ? OR url LIKE ?) "); //searches in content, title and URL
|
||||
$sql_action .= $this->getEntriesOrder().' ' . $limit;
|
||||
$params_action = array($id,$search,$search,$search);
|
||||
$query = $this->executeQuery($sql_action, $params_action);
|
||||
return $query->fetchAll();
|
||||
}
|
||||
|
||||
public function retrieveAllTags($user_id, $term = null) {
|
||||
|
|
|
@ -604,12 +604,18 @@ class Poche
|
|||
);
|
||||
break;
|
||||
|
||||
case 'search':
|
||||
if (isset($_GET['search'])){
|
||||
$search = $_GET['search'];
|
||||
$tpl_vars['entries'] = $this->store->search($search);
|
||||
$tpl_vars['nb_results'] = count($tpl_vars['entries']);
|
||||
}
|
||||
case 'search':
|
||||
if (isset($_GET['search'])){
|
||||
$search = filter_var($_GET['search'], FILTER_SANITIZE_STRING);
|
||||
$tpl_vars['entries'] = $this->store->search($search,$this->user->getId());
|
||||
$count = count($tpl_vars['entries']);
|
||||
$this->pagination->set_total($count);
|
||||
$page_links = str_replace(array('previous', 'next'), array(_('previous'), _('next')),
|
||||
$this->pagination->page_links('?view=' . $view . '?search=' . $search . '&sort=' . $_SESSION['sort'] . '&' ));
|
||||
$tpl_vars['page_links'] = $page_links;
|
||||
$tpl_vars['nb_results'] = $count;
|
||||
$tpl_vars['search_term'] = $search;
|
||||
}
|
||||
break;
|
||||
case 'view':
|
||||
$entry = $this->store->retrieveOneById($id, $this->user->getId());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue