aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Module/Network.php1
-rw-r--r--include/text.php2
-rw-r--r--include/widgets.php38
-rw-r--r--view/pdl/mod_search.pdl2
-rw-r--r--view/tpl/sitesearch.tpl5
5 files changed, 45 insertions, 3 deletions
diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php
index 50bb05075..70ba263bc 100644
--- a/Zotlabs/Module/Network.php
+++ b/Zotlabs/Module/Network.php
@@ -61,6 +61,7 @@ class Network extends \Zotlabs\Web\Controller {
$search = (($_GET['search']) ? $_GET['search'] : '');
if($search) {
+ $_GET['netsearch'] = escape_tags($search);
if(strpos($search,'@') === 0) {
$r = q("select abook_id from abook left join xchan on abook_xchan = xchan_hash where xchan_name = '%s' and abook_channel = %d limit 1",
dbesc(substr($search,1)),
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())
diff --git a/view/pdl/mod_search.pdl b/view/pdl/mod_search.pdl
index 7de4a270f..cba0dc9d1 100644
--- a/view/pdl/mod_search.pdl
+++ b/view/pdl/mod_search.pdl
@@ -1,3 +1,3 @@
[region=aside]
-[widget=savedsearch][/widget]
+[widget=sitesearch][/widget]
[/region]
diff --git a/view/tpl/sitesearch.tpl b/view/tpl/sitesearch.tpl
new file mode 100644
index 000000000..8dbf8cef5
--- /dev/null
+++ b/view/tpl/sitesearch.tpl
@@ -0,0 +1,5 @@
+<div class="widget saved-search-widget">
+ <h3 id="search">{{$title}}</h3>
+ {{$searchbox}}
+ <div class="clear"></div>
+</div>