From 220ed35f5855f22344d7a815da9bb1f6c96f1002 Mon Sep 17 00:00:00 2001 From: Mario Date: Fri, 17 Dec 2021 14:59:25 +0100 Subject: implement contact role deletion --- Zotlabs/Widget/Permcats.php | 53 +++++++++++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 21 deletions(-) (limited to 'Zotlabs/Widget') diff --git a/Zotlabs/Widget/Permcats.php b/Zotlabs/Widget/Permcats.php index 72c80ca0c..97ae6cba2 100644 --- a/Zotlabs/Widget/Permcats.php +++ b/Zotlabs/Widget/Permcats.php @@ -11,26 +11,25 @@ class Permcats { $pcat = new Permcat(local_channel()); $pcatlist = $pcat->listing(); - $list = 'Roles:
'; - $active = ''; - $active_role = ''; + if (!$pcatlist) { + return; + } - if($pcatlist) { - $i = 0; - foreach($pcatlist as $pc) { - if(argc() > 1) { - if($pc['name'] == hex2bin(argv(1))) { - $active = $i; - $active_role = $pc['name']; - } - } + $roles = []; + $active_role = ''; - $list .= '' . $pc['localname'] . '
'; - $i++; + foreach($pcatlist as $pc) { + if (!$active_role) { + $active_role = ((argc() > 1 && $pc['name'] === hex2bin(argv(1))) ? $pc['name'] : ''); } + $roles[] = [ + 'name' => $pc['localname'], + 'url' => z_root() . '/permcats/' . bin2hex($pc['name']), + 'active' => (argc() > 1 && $pc['name'] === hex2bin(argv(1))) + ]; } - if(argc() > 1) { + if($active_role) { /* get role members based on permissions $test = $pcatlist[$active]['perms']; @@ -64,16 +63,28 @@ class Permcats { dbesc($active_role) ); - $members = 'Role members:
'; - $members .= '
'; + $members = []; foreach ($r as $rr) { - $addr = (($rr['xchan_addr']) ? $rr['xchan_addr'] : $rr['xchan_url']); - $members .= '' . $rr['xchan_name'] . '
' . $addr . '
'; + $members[] = [ + 'name' => $rr['xchan_name'], + 'addr' => (($rr['xchan_addr']) ? $rr['xchan_addr'] : $rr['xchan_url']), + 'url' => z_root() . '/connections#' . $rr['abook_id'], + 'photo' => $rr['xchan_photo_s'] + ]; } - $members .= '
'; } - return $list . '
' . $members. '
' . $others; + + $tpl = get_markup_template("permcats_widget.tpl"); + $o .= replace_macros($tpl, [ + '$roles_label' => t('Contact roles'), + '$members_label' => t('Role members'), + '$roles' => $roles, + '$members' => $members + + ]); + + return $o; } } -- cgit v1.2.3