diff options
Diffstat (limited to 'mod/search.php')
-rw-r--r-- | mod/search.php | 56 |
1 files changed, 55 insertions, 1 deletions
diff --git a/mod/search.php b/mod/search.php index 88ff9bbb7..d22fea6ff 100644 --- a/mod/search.php +++ b/mod/search.php @@ -1,5 +1,59 @@ <?php +function search_saved_searches() { + + $o = ''; + + $r = q("select `term` from `search` WHERE `uid` = %d", + intval(local_user()) + ); + + if(count($r)) { + $o .= '<h3>' . t('Saved Searches') . '</h3>' . "\r\n"; + $o .= '<div id="saved-search-list"><ul id="saved-search-ul">' . "\r\n"; + foreach($r as $rr) { + $o .= '<li class="saved-search-li clear"><a href="search/?f=&remove=1&search=' . $rr['term'] . '" class="icon drophide savedsearchdrop" title="' . t('Remove term') . '" onclick="return confirmDelete();" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a> <a href="search/?f&search=' . $rr['term'] . '" class="savedsearchterm" >' . $rr['term'] . '</a></li>' . "\r\n"; + } + $o .= '</ul></div>' . "\r\n"; + } + + return $o; + +} + + +function search_init(&$a) { + + $search = ((x($_GET,'search')) ? notags(trim(rawurldecode($_GET['search']))) : ''); + + if(local_user()) { + if(x($_GET,'save') && $search) { + $r = q("select * from `search` where `uid` = %d and `term` = '%s' limit 1", + intval(local_user()), + dbesc($search) + ); + if(! count($r)) { + q("insert into `search` ( `uid`,`term` ) values ( %d, '%s') ", + intval(local_user()), + dbesc($search) + ); + } + } + if(x($_GET,'remove') && $search) { + q("delete from `search` where `uid` = %d and `term` = '%s' limit 1", + intval(local_user()), + dbesc($search) + ); + } + + $a->page['aside'] .= search_saved_searches(); + + } + + +} + + function search_post(&$a) { if(x($_POST,'search')) @@ -30,7 +84,7 @@ function search_content(&$a) { else $search = ((x($_GET,'search')) ? notags(trim(rawurldecode($_GET['search']))) : ''); - $o .= search($search); + $o .= search($search,'search-box','/search',((local_user()) ? true : false)); if(! $search) return $o; |