Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
fusiondirectory
fusiondirectory-plugins
Commits
7948634e
Commit
7948634e
authored
7 years ago
by
Côme Chilliet
Browse files
Options
Download
Patches
Plain Diff
fix(webservice): Remove ACL checks which are now done in core
See issue
fd#5732
issue
#5704
parent
4a30a069
dev
6104-mail-methods-refactor
6231-give-the-ability-to-the-webservice-to-notice-if-an-attribute-is-monovalued-or-multivalued
6237-add-requiredattrs-array-to-the-webservice-informations
6245-adapt-the-ci-to-the-reorganisation-of-the-dev-tools-and-fixing-the-trigger-downstream-pipelines
6250-supann-configuration-backend-requires-account-life-cycle-section
6280-plugins-update-plugins-to-take-into-consideration-the-new-directory-of-core-structure
6310-tasks-reminder-error-in-the-schema-duplicate-attribute-id
6311-put-the-version-1-5-in-all-yaml-for-fusiondirectory-1-5
6322-template-issue-when-creating-a-template-with-empty-password-error-message-should-not-be-seen-2
6332-zimbra-allows-update-of-data-for-unknown-domain-name-for-specific-individual-aliases
6337-webservice-issue-with-archiving-post-request-not-responding-but-successfully-archiving-user
6341-supann-extract-resources-states-sub-states-from-backend-configuration-to-their-own-objects
master
fusiondirectory-1.5
fusiondirectory-1.4
fusiondirectory-1.3.1
fusiondirectory-1.3
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
webservice/html/jsonrpc.php
+1
-45
webservice/html/jsonrpc.php
with
1 addition
and
45 deletions
+1
-45
webservice/html/jsonrpc.php
+
1
−
45
View file @
7948634e
...
...
@@ -194,51 +194,7 @@ class fdRPCService
{
global
$config
,
$ui
;
$this
->
checkAccess
(
$type
);
$attrsAcls
=
array
();
if
(
$attrs
!==
NULL
)
{
$infos
=
objects
::
infos
(
$type
);
$classes
=
$config
->
data
[
'CATEGORIES'
][
$infos
[
'aclCategory'
]][
'classes'
];
if
(
is_array
(
$attrs
))
{
$testAcls
=
array_keys
(
$attrs
);
}
else
{
$testAcls
=
array
(
$attrs
);
}
foreach
(
$testAcls
as
$acl
)
{
foreach
(
$classes
as
$class
)
{
if
(
$class
==
'0'
)
{
continue
;
}
$acls
=
pluglist
::
pluginInfos
(
$class
)[
'plProvidedAcls'
];
if
(
isset
(
$acls
[
$acl
]))
{
if
(
strpos
(
$ui
->
get_permissions
(
$ou
,
$infos
[
'aclCategory'
]
.
'/'
.
$class
,
$acl
),
'r'
)
===
FALSE
)
{
$attrsAcls
[
$acl
]
=
array
(
$class
,
$acl
);
}
continue
2
;
}
}
return
array
(
'errors'
=>
array
(
'Could not find ACL for attribute '
.
$acl
));
}
}
$result
=
objects
::
ls
(
$type
,
$attrs
,
$ou
,
$filter
,
TRUE
);
if
((
$attrs
!==
NULL
)
&&
!
empty
(
$attrsAcls
))
{
foreach
(
$result
as
$key
=>
$entry
)
{
foreach
(
$attrsAcls
as
$attr
=>
$aclInfos
)
{
if
((
!
is_array
(
$entry
)
||
isset
(
$entry
[
$attr
]))
&&
(
strpos
(
$ui
->
get_permissions
(
$key
,
$infos
[
'aclCategory'
]
.
'/'
.
$aclInfos
[
0
],
$aclInfos
[
1
]),
'r'
)
===
FALSE
))
{
if
(
is_array
(
$entry
))
{
unset
(
$entry
[
$attr
]);
}
else
{
unset
(
$result
[
$key
]);
continue
;
}
}
}
if
(
count
(
$entry
)
===
0
)
{
unset
(
$result
[
$key
]);
}
}
}
return
$result
;
return
objects
::
ls
(
$type
,
$attrs
,
$ou
,
$filter
,
TRUE
);
}
/*!
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets