diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/text.php | 2 | ||||
-rw-r--r-- | include/widgets.php | 38 |
2 files changed, 38 insertions, 2 deletions
diff --git a/include/text.php b/include/text.php index 99ac59ca7..2c7716d11 100644 --- a/include/text.php +++ b/include/text.php @@ -936,7 +936,7 @@ function searchbox($s,$id='search-box',$url='/search',$save = false) { '$action_url' => z_root() . '/' . $url, '$search_label' => t('Search'), '$save_label' => t('Save'), - '$savedsearch' => feature_enabled(local_channel(),'savedsearch') + '$savedsearch' => ($save && feature_enabled(local_channel(),'savedsearch')) )); } diff --git a/include/widgets.php b/include/widgets.php index 16582d084..c57cbd749 100644 --- a/include/widgets.php +++ b/include/widgets.php @@ -209,7 +209,9 @@ function widget_savedsearch($arr) { if((! local_channel()) || (! feature_enabled(local_channel(),'savedsearch'))) return ''; - $search = ((x($_GET,'search')) ? $_GET['search'] : ''); + $search = ((x($_GET,'netsearch')) ? $_GET['netsearch'] : ''); + if(! $search) + $search = ((x($_GET,'search')) ? $_GET['search'] : ''); if(x($_GET,'searchsave') && $search) { $r = q("select * from `term` where `uid` = %d and `ttype` = %d and `term` = '%s' limit 1", @@ -287,6 +289,40 @@ function widget_savedsearch($arr) { return $o; } +function widget_sitesearch($arr) { + + $search = ((x($_GET,'search')) ? $_GET['search'] : ''); + + $srchurl = App::$query_string; + + $srchurl = rtrim(preg_replace('/search\=[^\&].*?(\&|$)/is','',$srchurl),'&'); + $srchurl = rtrim(preg_replace('/submit\=[^\&].*?(\&|$)/is','',$srchurl),'&'); + $srchurl = str_replace(array('?f=','&f='),array('',''),$srchurl); + + + $hasq = ((strpos($srchurl,'?') !== false) ? true : false); + $hasamp = ((strpos($srchurl,'&') !== false) ? true : false); + + if(($hasamp) && (! $hasq)) + $srchurl = substr($srchurl,0,strpos($srchurl,'&')) . '?f=&' . substr($srchurl,strpos($srchurl,'&')+1); + + $o = ''; + + $saved = array(); + + $tpl = get_markup_template("sitesearch.tpl"); + $o = replace_macros($tpl, array( + '$title' => t('Search'), + '$searchbox' => searchbox($search, 'netsearch-box', $srchurl . (($hasq) ? '' : '?f='), false), + '$saved' => $saved, + )); + + return $o; +} + + + + function widget_filer($arr) { if(! local_channel()) |