[evolvis-commits] r16860: When creating a new project-local role, propagate its new_{tracker, pm, forum} permissions to the existing trackers etc.
mirabilos at evolvis.org
mirabilos at evolvis.org
Tue Mar 1 01:44:27 CET 2011
Author: mirabilos
Date: 2011-03-01 01:44:27 +0100 (Tue, 01 Mar 2011)
New Revision: 16860
Modified:
trunk/gforge_base/evolvisforge-5.1/src/common/include/Role.class.php
Log:
When creating a new project-local role, propagate its new_{tracker,pm,forum} permissions to the existing trackers etc.
Modified: trunk/gforge_base/evolvisforge-5.1/src/common/include/Role.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/src/common/include/Role.class.php 2011-03-01 00:44:23 UTC (rev 16859)
+++ trunk/gforge_base/evolvisforge-5.1/src/common/include/Role.class.php 2011-03-01 00:44:27 UTC (rev 16860)
@@ -316,11 +316,12 @@
} else {
$arr = array () ;
}
- $keys = array_keys($arr);
+
$data = array();
- for ($i=0; $i<count($keys); $i++) {
+ foreach ($arr as $k => $v) {
+ $data[$k][$this->Group->getID()]= $v;
- if ($keys[$i] == 'forum') {
+ if ($k == 'new_forum') {
$res = db_query_params ('SELECT group_forum_id FROM forum_group_list WHERE group_id=$1',
array ($this->Group->getID())) ;
if (!$res) {
@@ -328,9 +329,9 @@
return false;
}
for ($j=0; $j<db_numrows($res); $j++) {
- $data[$keys[$i]][db_result($res,$j,'group_forum_id')]= $arr[$keys[$i]];
+ $data['forum'][db_result($res,$j,'group_forum_id')]= $v;
}
- } elseif ($keys[$i] == 'pm') {
+ } elseif ($k == 'new_pm') {
$res = db_query_params ('SELECT group_project_id FROM project_group_list WHERE group_id=$1',
array ($this->Group->getID())) ;
if (!$res) {
@@ -338,9 +339,9 @@
return false;
}
for ($j=0; $j<db_numrows($res); $j++) {
- $data[$keys[$i]][db_result($res,$j,'group_project_id')]= $arr[$keys[$i]];
+ $data['pm'][db_result($res,$j,'group_project_id')]= $v;
}
- } elseif ($keys[$i] == 'tracker') {
+ } elseif ($k == 'new_tracker') {
$res = db_query_params ('SELECT group_artifact_id FROM artifact_group_list WHERE group_id=$1',
array ($this->Group->getID())) ;
if (!$res) {
@@ -348,10 +349,8 @@
return false;
}
for ($j=0; $j<db_numrows($res); $j++) {
- $data[$keys[$i]][db_result($res,$j,'group_artifact_id')]= $arr[$keys[$i]];
+ $data['tracker'][db_result($res,$j,'group_artifact_id')]= $v;
}
- } else {
- $data[$keys[$i]][0]= $arr[$keys[$i]];
}
}
More information about the evolvis-commits
mailing list