aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Lib/Apps.php8
-rw-r--r--Zotlabs/Module/Defperms.php46
-rw-r--r--Zotlabs/Widget/Settings_menu.php8
3 files changed, 39 insertions, 23 deletions
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index ec1f3f9dc..8db4e000f 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -271,6 +271,10 @@ class Apps {
if(! can_view_public_stream())
unset($ret);
break;
+ case 'custom_role':
+ if(get_pconfig(local_channel(),'system','permissions_role') != 'custom')
+ unset($ret);
+ break;
case 'observer':
if(! $observer)
unset($ret);
@@ -468,6 +472,10 @@ class Apps {
if(! can_view_public_stream())
return '';
break;
+ case 'custom_role':
+ if(get_pconfig(local_channel(),'system','permissions_role') != 'custom')
+ return '';
+ break;
case 'observer':
$observer = \App::get_observer();
if(! $observer)
diff --git a/Zotlabs/Module/Defperms.php b/Zotlabs/Module/Defperms.php
index 2e886aa64..463ecb57a 100644
--- a/Zotlabs/Module/Defperms.php
+++ b/Zotlabs/Module/Defperms.php
@@ -1,15 +1,16 @@
<?php
namespace Zotlabs\Module;
+use App;
use Zotlabs\Lib\Apps;
+use Zotlabs\Web\Controller;
require_once('include/socgraph.php');
require_once('include/selectors.php');
require_once('include/group.php');
require_once('include/photos.php');
-
-class Defperms extends \Zotlabs\Web\Controller {
+class Defperms extends Controller {
/* @brief Initialize the connection-editor
*
@@ -20,6 +21,9 @@ class Defperms extends \Zotlabs\Web\Controller {
if(! local_channel())
return;
+
+ if(! Apps::system_app_installed(local_channel(), 'Default Permissions'))
+ return;
$r = q("SELECT abook.*, xchan.*
FROM abook left join xchan on abook_xchan = xchan_hash
@@ -27,10 +31,10 @@ class Defperms extends \Zotlabs\Web\Controller {
intval(local_channel())
);
if($r) {
- \App::$poi = $r[0];
+ App::$poi = $r[0];
}
- $channel = \App::get_channel();
+ $channel = App::get_channel();
if($channel)
head_set_icon($channel['xchan_photo_s']);
}
@@ -44,12 +48,15 @@ class Defperms extends \Zotlabs\Web\Controller {
if(! local_channel())
return;
+
+ if(! Apps::system_app_installed(local_channel(), 'Default Permissions'))
+ return;
$contact_id = intval(argv(1));
if(! $contact_id)
return;
- $channel = \App::get_channel();
+ $channel = App::get_channel();
$orig_record = q("SELECT * FROM abook WHERE abook_id = %d AND abook_channel = %d LIMIT 1",
intval($contact_id),
@@ -113,7 +120,7 @@ class Defperms extends \Zotlabs\Web\Controller {
intval($contact_id)
);
if($r) {
- \App::$poi = $r[0];
+ App::$poi = $r[0];
}
@@ -132,22 +139,22 @@ class Defperms extends \Zotlabs\Web\Controller {
function defperms_clone(&$a) {
- if(! \App::$poi)
+ if(! App::$poi)
return;
- $channel = \App::get_channel();
+ $channel = App::get_channel();
$r = q("SELECT abook.*, xchan.*
FROM abook left join xchan on abook_xchan = xchan_hash
WHERE abook_channel = %d and abook_id = %d LIMIT 1",
intval(local_channel()),
- intval(\App::$poi['abook_id'])
+ intval(App::$poi['abook_id'])
);
if($r) {
- \App::$poi = array_shift($r);
+ App::$poi = array_shift($r);
}
- $clone = \App::$poi;
+ $clone = App::$poi;
unset($clone['abook_id']);
unset($clone['abook_account']);
@@ -174,9 +181,18 @@ class Defperms extends \Zotlabs\Web\Controller {
notice( t('Permission denied.') . EOL);
return login();
}
+
+ if(! Apps::system_app_installed(local_channel(), 'Default Permissions')) {
+ //Do not display any associated widgets at this point
+ App::$pdl = '';
+
+ $o = '<b>' . t('Default Permissions App') . ' (' . t('Not Installed') . '):</b><br>';
+ $o .= t('Set custom default permissions for new connections');
+ return $o;
+ }
$section = ((array_key_exists('section',$_REQUEST)) ? $_REQUEST['section'] : '');
- $channel = \App::get_channel();
+ $channel = App::get_channel();
$yes_no = array(t('No'),t('Yes'));
@@ -194,7 +210,7 @@ class Defperms extends \Zotlabs\Web\Controller {
}
$o .= " }\n</script>\n";
- if(\App::$poi) {
+ if(App::$poi) {
$sections = [];
@@ -204,9 +220,9 @@ class Defperms extends \Zotlabs\Web\Controller {
$perms = array();
- $channel = \App::get_channel();
+ $channel = App::get_channel();
- $contact = \App::$poi;
+ $contact = App::$poi;
$global_perms = \Zotlabs\Access\Permissions::Perms();
diff --git a/Zotlabs/Widget/Settings_menu.php b/Zotlabs/Widget/Settings_menu.php
index 194c4b05b..a4b288441 100644
--- a/Zotlabs/Widget/Settings_menu.php
+++ b/Zotlabs/Widget/Settings_menu.php
@@ -65,14 +65,6 @@ class Settings_menu {
);
}
- if($role === false || $role === 'custom') {
- $tabs[] = array(
- 'label' => t('Connection Default Permissions'),
- 'url' => z_root() . '/defperms',
- 'selected' => ''
- );
- }
-
$tabtpl = get_markup_template("generic_links_widget.tpl");
return replace_macros($tabtpl, array(
'$title' => t('Settings'),