defperm app

This commit is contained in:
Mario Vavti 2018-10-04 13:26:45 +02:00
parent d0605e8d5f
commit c00dc6120d
3 changed files with 39 additions and 23 deletions

View File

@ -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)

View File

@ -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
*
@ -21,16 +22,19 @@ 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
WHERE abook_self = 1 and abook_channel = %d LIMIT 1",
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']);
}
@ -45,11 +49,14 @@ 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']);
@ -175,8 +182,17 @@ class Defperms extends \Zotlabs\Web\Controller {
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();

View File

@ -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'),