aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/dir_fns.php15
-rw-r--r--mod/directory.php16
-rw-r--r--mod/dirsearch.php7
-rw-r--r--mod/toggle_safesearch.php22
-rw-r--r--view/tpl/safesearch.tpl2
5 files changed, 55 insertions, 7 deletions
diff --git a/include/dir_fns.php b/include/dir_fns.php
index e234ae0fa..0d0507059 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -20,6 +20,21 @@ function dir_sort_links() {
return $o;
}
+function dir_safe_mode(&$a) {
+ $observer = get_observer_hash();
+
+ if ($observer)
+ $safe_mode = get_xconfig($observer,'directory','safe_mode');
+ if($safe_mode == 0)
+ $toggle = t('Enable Safe Search');
+ else
+ $toggle = t('Disable Safe Search');
+ $o = replace_macros(get_markup_template('safesearch.tpl'), array(
+ '$toggle' => $toggle,
+ ));
+
+ return $o;
+}
function sync_directories($dirmode) {
diff --git a/mod/directory.php b/mod/directory.php
index 9d2a9d19c..1f22e9bf8 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -19,8 +19,10 @@ function directory_aside(&$a) {
return;
}
- $a->set_widget('dir_sort_order',dir_sort_links());
+ $a->set_widget('safe_search',dir_safe_mode());
+ $a->set_widget('dir_sort_order',dir_sort_links());
+
}
@@ -33,8 +35,10 @@ function directory_content(&$a) {
$safe_mode = 1;
- if(local_user()) {
- $safe_mode = get_pconfig(local_user(),'directory','safe_mode');
+ $observer = get_observer_hash();
+
+ if($observer) {
+ $safe_mode = get_xconfig($observer,'directory','safe_mode');
}
if($safe_mode === false)
$safe_mode = 1;
@@ -42,7 +46,10 @@ function directory_content(&$a) {
$safe_mode = intval($safe_mode);
if(x($_REQUEST,'safe'))
- $safe_mode = intval($_REQUEST['safe']);
+ $safe_mode = (intval($_REQUEST['safe']));
+
+
+
$o = '';
nav_set_selected('directory');
@@ -94,6 +101,7 @@ function directory_content(&$a) {
$kw = ((intval($numtags)) ? $numtags : 24);
$query = $url . '?f=&kw=' . $kw . (($safe_mode != 1) ? '&safe=' . $safe_mode : '');
+
if($search)
$query .= '&name=' . urlencode($search) . '&keywords=' . urlencode($search);
if(strpos($search,'@'))
diff --git a/mod/dirsearch.php b/mod/dirsearch.php
index 527eb4c50..dcacef651 100644
--- a/mod/dirsearch.php
+++ b/mod/dirsearch.php
@@ -43,9 +43,10 @@ function dirsearch_content(&$a) {
$kw = ((x($_REQUEST,'kw')) ? intval($_REQUEST['kw']) : 0 );
// by default use a safe search
- $safe = ((x($_REQUEST,'safe')) ? intval($_REQUEST['safe']) : 1 );
-
-
+ $safe = ((x($_REQUEST,'safe'))); // ? intval($_REQUEST['safe']) : 1 );
+ if ($safe === false)
+ $safe = 1;
+
if(array_key_exists('sync',$_REQUEST)) {
if($_REQUEST['sync'])
$sync = datetime_convert('UTC','UTC',$_REQUEST['sync']);
diff --git a/mod/toggle_safesearch.php b/mod/toggle_safesearch.php
new file mode 100644
index 000000000..1294520c6
--- /dev/null
+++ b/mod/toggle_safesearch.php
@@ -0,0 +1,22 @@
+<?php
+
+function toggle_safesearch_init(&$a) {
+
+$observer = get_observer_hash();
+
+if($observer)
+ $safe_mode = get_xconfig($observer,'directory','safe_mode');
+
+if($safe_mode == 0)
+ set_xconfig($observer,'directory','safe_mode', '1');
+if($safe_mode == 1)
+ set_xconfig($observer,'directory','safe_mode', '0');
+
+if(isset($_GET['address']))
+ $address = $_GET['address'];
+else
+ $address = z_root();
+
+ goaway($address);
+}
+
diff --git a/view/tpl/safesearch.tpl b/view/tpl/safesearch.tpl
new file mode 100644
index 000000000..92c3db2a5
--- /dev/null
+++ b/view/tpl/safesearch.tpl
@@ -0,0 +1,2 @@
+<h1>Safe Mode</h1>
+<a href="toggle_safesearch">{{$toggle}}</a>