From b4efe8ad8d91c70bf869259e6764e7e4a079563b Mon Sep 17 00:00:00 2001 From: git-marijus Date: Mon, 31 Jul 2017 02:24:49 +0200 Subject: implement system configs as app requirement and add the pubstream app --- Zotlabs/Lib/Apps.php | 14 ++++++++++---- app/pubstream.apd | 6 ++++++ 2 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 app/pubstream.apd diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php index 68587df49..7287bdd52 100644 --- a/Zotlabs/Lib/Apps.php +++ b/Zotlabs/Lib/Apps.php @@ -169,6 +169,7 @@ class Apps { $requires = explode(',',$ret['requires']); foreach($requires as $require) { $require = trim(strtolower($require)); + $toggle = (($require[0] == '!') ? 0 : 1); switch($require) { case 'nologin': if(local_channel()) @@ -191,10 +192,12 @@ class Apps { unset($ret); break; default: - if(! (local_channel() && feature_enabled(local_channel(),$require))) + $unset = ((local_channel() && feature_enabled(local_channel(),$require)) ? false : true); + $unset = ((get_config('system', ltrim($require, '!')) == $toggle) ? false : true); + + if($unset) unset($ret); break; - } } } @@ -307,6 +310,7 @@ class Apps { $requires = explode(',',$v); foreach($requires as $require) { $require = trim(strtolower($require)); + $toggle = (($require[0] == '!') ? 0 : 1); switch($require) { case 'nologin': if(local_channel()) @@ -330,10 +334,12 @@ class Apps { return ''; break; default: - if(! (local_channel() && feature_enabled(local_channel(),$require))) + $unset = ((local_channel() && feature_enabled(local_channel(),$require)) ? false : true); + $unset = ((get_config('system', ltrim($require, '!')) == $toggle) ? false : true); + + if($unset) return ''; break; - } } } diff --git a/app/pubstream.apd b/app/pubstream.apd new file mode 100644 index 000000000..065be24bc --- /dev/null +++ b/app/pubstream.apd @@ -0,0 +1,6 @@ +version: 1 +url: $baseurl/pubstream +requires: !disable_discover_tab +name: Public Stream +photo: icon:globe +categories: Social -- cgit v1.2.3