aboutsummaryrefslogtreecommitdiffstats
path: root/include/api_zot.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/api_zot.php')
-rw-r--r--include/api_zot.php21
1 files changed, 16 insertions, 5 deletions
diff --git a/include/api_zot.php b/include/api_zot.php
index 49a3f1077..ff3bc6dc5 100644
--- a/include/api_zot.php
+++ b/include/api_zot.php
@@ -311,9 +311,6 @@
return false;
$perm = ((array_key_exists('perm',$_REQUEST)) ? $_REQUEST['perm'] : '');
- // possibly should return all perms
- if(! $perm)
- return false;
if(array_key_exists('abook_id',$_REQUEST) && intval($_REQUEST['abook_id'])) {
$r = q("select abook_xchan as xchan_hash from abook where abook_id = %d and abook_channel = %d limit 1",
@@ -324,10 +321,24 @@
else {
$r = xchan_fetch($_REQUEST);
}
- if($r)
- $x = [ [ 'perm' => $perm, 'allowed' => perm_is_allowed(api_user(), $r[0]['xchan_hash'], $perm)] ];
+ $x = false;
+
+ if($r) {
+ if($perm)
+ $x = [ [ 'perm' => $perm, 'allowed' => perm_is_allowed(api_user(), $r[0]['xchan_hash'], $perm)] ];
+ else {
+ $x = [];
+ $p = get_all_perms(api_user(),$r[0]['xchan_hash']);
+ if($p) {
+ foreach($p as $k => $v)
+ $x[] = [ 'perm' => $k, 'allowed' => $v ];
+ }
+ }
+ }
+
json_return_and_die($x);
+
}
function red_item_new($type) {