[Fusionforge-commits] FusionForge branch foo created. 9e5067c33804af319d5225d6b81c4a4d11987e88
Thorsten Glaser
mirabilos at fusionforge.org
Mon Jan 5 17:04:28 CET 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".
The branch, foo has been created
at 9e5067c33804af319d5225d6b81c4a4d11987e88 (commit)
- Log -----------------------------------------------------------------
commit 9e5067c33804af319d5225d6b81c4a4d11987e88
Author: Thorsten Glaser <t.glaser at tarent.de>
Date: Wed Apr 25 16:15:30 2012 +0200
move forge_cache_external_roles() into a common include and genericise
diff --git a/src/common/include/RBACEngine.class.php b/src/common/include/RBACEngine.class.php
index 7a96f69..87351b2 100644
--- a/src/common/include/RBACEngine.class.php
+++ b/src/common/include/RBACEngine.class.php
@@ -450,9 +450,42 @@ function forge_check_global_perm_for_user ($user, $section, $action = NULL) {
return $engine->isGlobalActionAllowedForUser($user, $section, $action) ;
}
+function forge_cache_external_roles($group) {
+ global $used_external_roles, $unused_external_roles;
+
+ $used_external_roles = array();
+ $unused_external_roles = array();
+ if (!USE_PFO_RBAC) {
+ return;
+ }
+ $group_id = $group->getID();
+
+ foreach (RBACEngine::getInstance()->getPublicRoles() as $r) {
+ $grs = $r->getLinkedProjects();
+ $seen = false;
+ foreach ($grs as $g) {
+ if ($g->getID() == $group_id) {
+ $seen = true;
+ break;
+ }
+ }
+ if (!$seen) {
+ $unused_external_roles[] = $r;
+ }
+ }
+
+ foreach ($group->getRoles() as $r) {
+ if ($r->getHomeProject() == NULL ||
+ $r->getHomeProject()->getID() != $group_id) {
+ $used_external_roles[] = $r;
+ }
+ }
+
+ sortRoleList($used_external_roles, $group, 'composite');
+ sortRoleList($unused_external_roles, $group, 'composite');
+}
+
// Local Variables:
// mode: php
// c-file-style: "bsd"
// End:
-
-?>
diff --git a/src/www/project/admin/users.php b/src/www/project/admin/users.php
index 145de56..019ecdd 100644
--- a/src/www/project/admin/users.php
+++ b/src/www/project/admin/users.php
@@ -59,39 +59,7 @@ if (plugin_hook_listeners("project_admin_users") > 0) {
plugin_hook ("project_admin_users", $hook_params);
}
-function cache_external_roles () {
- global $used_external_roles, $unused_external_roles, $group, $group_id;
-
- if (USE_PFO_RBAC) {
- $unused_external_roles = array () ;
- foreach (RBACEngine::getInstance()->getPublicRoles() as $r) {
- $grs = $r->getLinkedProjects () ;
- $seen = false ;
- foreach ($grs as $g) {
- if ($g->getID() == $group_id) {
- $seen = true ;
- break ;
- }
- }
- if (!$seen) {
- $unused_external_roles[] = $r ;
- }
- }
- $used_external_roles = array () ;
- foreach ($group->getRoles() as $r) {
- if ($r->getHomeProject() == NULL
- || $r->getHomeProject()->getID() != $group_id) {
- $used_external_roles[] = $r ;
- }
- }
-
- sortRoleList ($used_external_roles, $group, 'composite') ;
- sortRoleList ($unused_external_roles, $group, 'composite') ;
-
- }
-}
-
-cache_external_roles () ;
+forge_cache_external_roles($group);
if (getStringFromRequest('submit')) {
if (getStringFromRequest('adduser')) {
@@ -198,7 +166,7 @@ if (getStringFromRequest('submit')) {
$error_msg = $r->getErrorMessage();
} else {
$feedback = _("Role linked successfully");
- cache_external_roles () ;
+ forge_cache_external_roles($group);
}
}
}
@@ -213,7 +181,7 @@ if (getStringFromRequest('submit')) {
$error_msg = $r->getErrorMessage();
} else {
$feedback = _("Role unlinked successfully");
- cache_external_roles () ;
+ forge_cache_external_roles($group);
}
}
}
-----------------------------------------------------------------------
hooks/post-receive
--
FusionForge
More information about the Fusionforge-commits
mailing list