[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gforge-commits] gforge/www/project/admin database.php, 1.8, 1.9 editgro
From: |
tperdue |
Subject: |
[Gforge-commits] gforge/www/project/admin database.php, 1.8, 1.9 editgroupinfo.php, 1.19, 1.20 index.php, 1.19, 1.20 massadd.php, NONE, 1.1 massfinish.php, NONE, 1.1 project_admin_utils.php, 1.14, 1.15 rmuser.php, 1.5, NONE roleedit.php, NONE, 1.1 userpermedit.php, 1.10, NONE userperms.php, 1.6, NONE vhost.php, 1.7, 1.8 |
Date: |
Wed, 04 Aug 2004 11:18:58 -0500 |
Update of /cvsroot/gforge/gforge/www/project/admin
In directory db.perdue.net:/home/tperdue/share/dev.gforge.org/www/project/admin
Modified Files:
database.php editgroupinfo.php index.php
project_admin_utils.php vhost.php
Added Files:
massadd.php massfinish.php roleedit.php
Removed Files:
rmuser.php userpermedit.php userperms.php
Log Message:
RBAC, DELETION, AND FORUM EMAIL GATEWAY
Index: database.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/project/admin/database.php,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- database.php 25 Mar 2004 19:25:21 -0000 1.8
+++ database.php 4 Aug 2004 16:18:42 -0000 1.9
@@ -17,7 +17,6 @@
require_once('pre.php');
-require_once('common/include/vars.php');
require_once('www/project/admin/project_admin_utils.php');
if (!$sys_use_project_database) {
Index: editgroupinfo.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/project/admin/editgroupinfo.php,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- editgroupinfo.php 22 Jul 2004 18:41:36 -0000 1.19
+++ editgroupinfo.php 4 Aug 2004 16:18:42 -0000 1.20
@@ -14,7 +14,6 @@
require_once('pre.php');
-require_once('common/include/vars.php');
require_once('www/project/admin/project_admin_utils.php');
session_require(array('group'=>$group_id,'admin_flags'=>'A'));
Index: index.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/project/admin/index.php,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- index.php 16 May 2004 16:54:54 -0000 1.19
+++ index.php 4 Aug 2004 16:18:42 -0000 1.20
@@ -1,68 +1,87 @@
<?php
/**
- *
- * Project Admin Main Page
- *
- * This page contains administrative information for the project as well
- * as allows to manage it. This page should be accessible to all project
- * members, but only admins may perform most functions.
- *
- * SourceForge: Breaking Down the Barriers to Open Source Development
- * Copyright 1999-2001 (c) VA Linux Systems
- * http://sourceforge.net
- *
- * @version $Id$
- *
- */
+ * Project Admin Main Page
+ *
+ * This page contains administrative information for the project as well
+ * as allows to manage it. This page should be accessible to all project
+ * members, but only admins may perform most functions.
+ *
+ * Copyright 2004 GForge, LLC
+ *
+ * @version $Id$
+ * @author Tim Perdue address@hidden
+ *
+ * This file is part of GForge.
+ *
+ * GForge is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GForge; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
require_once('pre.php');
require_once('www/project/admin/project_admin_utils.php');
+require_once('www/include/role_utils.php');
require_once('common/include/account.php');
-session_require(array('group'=>$group_id));
-
// get current information
$group =& group_get_object($group_id);
-exit_assert_object($group,'Group');
+if (!$group || !is_object($group)) {
+ exit_error('Error','Could Not Get Group');
+} elseif ($group->isError()) {
+ exit_error('Error',$group->getErrorMessage());
+}
$perm =& $group->getPermission( session_get_user() );
-exit_assert_object($perm,'Permission');
-
-// only site admin get access inactive projects
-if (!$group->isActive() && !$perm->isSuperUser()) {
- exit_error('Permission denied', 'Group is inactive.');
+if (!$perm || !is_object($perm)) {
+ exit_error('Error','Could Not Get Permission');
+} elseif ($perm->isError()) {
+ exit_error('Error',$perm->getErrorMessage());
}
-$is_admin = $perm->isAdmin();
+if (!$perm->isAdmin()) {
+ exit_permission_denied();
+}
-// Only admin can make modifications via this page
-if ($is_admin && $func) {
- /*
- updating the database
- */
- if ($func=='adduser') {
+if ($submit) {
+ if ($adduser) {
/*
add user to this project
*/
-
- if (!$group->addUser($form_unix_name)) {
+ if (!$group->addUser($form_unix_name,$role_id)) {
$feedback .= $group->getErrorMessage();
} else {
$feedback =
$Language->getText('project_admin','user_added');
}
-
- } else if ($func=='rmuser') {
+ } else if ($rmuser) {
/*
remove a user from this group
*/
- if (!$group->removeUser($rm_id)) {
+ if (!$group->removeUser($user_id)) {
$feedback .= $group->getErrorMessage();
} else {
$feedback =
$Language->getText('project_admin','user_removed');
}
+ } else if ($updateuser) {
+ /*
+ Adjust User Role
+ */
+ if (!$group->updateUser($user_id,$role_id)) {
+ $feedback .= 'Foo'.$group->getErrorMessage();
+ } else {
+ $feedback =
$Language->getText('project_admin','user_updated');
+ }
}
-
}
$group->clearError();
@@ -76,7 +95,8 @@
?>
<table width="100%" cellpadding="2" cellspacing="2" border="0">
-<tr valign="top"><td width="50%">
+ <tr valign="top">
+ <td width="50%">
<?php echo
$HTML->boxTop($Language->getText('project_admin','project_information')); ?>
@@ -90,134 +110,114 @@
<p align="center">
<a href="/tarballs.php?group_id=<?php echo $group_id; ?>">[ <?php echo
$Language->getText('project_admin','download_tarball') ?>]</a></p>
-<p> </p>
+</p>
<hr />
-<p> </p>
-<h4><?php echo $Language->getText('project_admin','trove_categorization') ?><a
href="/project/admin/group_trove.php?group_id=<?php echo $group->getID();
?>">[<?php echo $Language->getText('general','edit') ?>]</a></h4>
<p>
+<h4><?php echo $Language->getText('project_admin','trove_categorization') ?><a
href="/project/admin/group_trove.php?group_id=<?php echo $group->getID();
?>">[<?php echo $Language->getText('general','edit') ?>]</a></h4>
+</p>
+<?php
+echo $HTML->boxMiddle($Language->getText('project_admin','tool_admin').'');
+
+?>
+
+<a href="/tracker/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','tracker_admin') ?></a><br />
+<a href="/docman/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','docmanager_admin') ?></a><br />
+<a href="/mail/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','mail_admin') ?></a><br />
+<a href="/news/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','news_admin') ?></a><br />
+<a href="/pm/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','task_manager_admin') ?></a><br />
+<a href="/forum/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','forum_admin') ?></a><br />
+<a href="/frs/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','frs_admin') ?></a><br />
+<a href="/scm/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','scm_admin') ?></a><br />
<?php
+$hook_params = array () ;
+$hook_params['group_id'] = $group_id ;
+plugin_hook ("project_admin_plugins", $hook_params) ;
+
+
echo $HTML->boxBottom();
-echo '
-</td><td> </td><td width="50%">';
+?>
+ </td>
+ <td> </td>
+ <td width="50%">
+<?php
-echo $HTML->boxTop($Language->getText('project_admin','group_members'));
+ echo
$HTML->boxTop($Language->getText('project_admin','group_members'));
-/*
+ /*
- Show the members of this project
+ Show the members of this project
-*/
+ */
-$res_memb = db_query("SELECT
users.realname,users.user_id,users.user_name,user_group.admin_flags ".
- "FROM users,user_group ".
- "WHERE users.user_id=user_group.user_id ".
- "AND user_group.group_id='$group_id'");
+ $res_memb = db_query("SELECT users.realname,users.user_id,
+
users.user_name,user_group.admin_flags,user_group.role_id
+ FROM users,user_group
+ WHERE users.user_id=user_group.user_id
+ AND user_group.group_id='$group_id' ORDER BY user_id");
-print '<table width="100% border="0">';
+ echo '
+ <table width="100% border="2">
+
<tr><td><strong>'.$Language->getText('project_admin','unix_name').'</strong></td>
+
<td><strong>'.$Language->getText('rbac_edit','role').'</strong></td>
+
<td><strong>'.$Language->getText('rbac_edit','update').'</strong></td>
+
<td><strong>'.$Language->getText('rbac_edit','remove').'</strong></td></tr>';
while ($row_memb=db_fetch_array($res_memb)) {
- if (stristr($row_memb['admin_flags'], 'A')) {
- $img="trash-x.png";
- } else {
- $img="trash.png";
- }
- if ($is_admin) {
- $button='<input type="image" name="DELETE"
src="'.$HTML->imgroot.'/ic/'.$img.'" height="16" width="16" border="0" />';
- } else {
- $button=' ';
- }
- print '
- <form action="rmuser.php" method="post"><input type="hidden"
name="func" value="rmuser" />'.
- '<input type="hidden" name="return_to" value="'.$REQUEST_URI.'"
/>'.
- '<input type="hidden" name="rm_id"
value="'.$row_memb['user_id'].'" />'.
- '<input type="hidden" name="group_id" value="'. $group_id .'"
/>'.
- '<tr><td align="center">'.$button.'</td></form>'.
- '<td><a
href="/users/'.$row_memb['user_name'].'/">'.$row_memb['realname'].'</a></td></tr>';
+ echo '
+ <form action="'.$PHP_SELF.'" method="post">
+ <input type="hidden" name="submit" value="y" />
+ <input type="hidden" name="user_id"
value="'.$row_memb['user_id'].'" />
+ <input type="hidden" name="group_id" value="'.
$group_id .'" />
+ <td>'.$row_memb['realname'].'</td>
+
<td>'.role_box($group_id,'role_id',$row_memb['role_id']).'</td>
+ <td><input type="submit" name="updateuser"
value="'.$Language->getText('rbac_edit','update').'"></td>
+ <td><input type="submit" name="rmuser"
value="'.$Language->getText('rbac_edit','remove').'"></td>
+ </tr></form>';
}
-print '</table>';
+ echo '
+
<tr><td>'.$Language->getText('rbac_edit','observerusername').'</td>
+ <td></td>
+ <form action="roleedit.php?group_id='. $group_id
.'&role_id=observer" method="POST">
+ <td colspan="2"><input type="submit" name="edit"
value="'.$Language->getText('rbac_edit','observer').'"></td></form></tr>';
/*
Add member form
*/
-if ($is_admin) {
-
- // After adding user, we go to the permission page for one
-?>
- <hr size="1" />
- <form action="userpermedit.php?group_id=<?php echo $group->getID(); ?>"
method="post">
- <input type="hidden" name="func" value="adduser" />
- <table width="100%" border="0">
- <tr><td><strong><?php echo
$Language->getText('project_admin','unix_name') ?>:</strong></td><td><input
type="text" name="form_unix_name" size="10" value="" /></td></tr>
- <tr><td colspan="2" align="center"><input type="submit" name="submit"
value="<?php echo $Language->getText('project_admin','add_user') ?>"
/></td></tr></form>
- </table>
-
- <hr size="1" />
- <div align="center">
- <a href="/project/admin/userperms.php?group_id=<?php echo
$group->getID(); ?>">[<?php echo
$Language->getText('project_admin','edit_member_permissions') ?>]</a>
- </div>
- </td></tr>
-
-<?php
-}
?>
-
+ <form action="<?php echo
$PHP_SELF.'?group_id='.$group_id; ?>" method="post">
+ <input type="hidden" name="submit" value="y" />
+ <tr><td><input type="text" name="form_unix_name"
size="10" value="" /></td>
+ <td><?php echo
role_box($group_id,'role_id',$row_memb['role_id']); ?></td>
+ <td colspan="2"><input type="submit" name="adduser"
value="<?php echo $Language->getText('project_admin','add_user') ?>" /></td>
+ </tr></form>
+ <tr><td colspan="4"><a href="massadd.php?group_id=<?php
echo $group_id; ?>"><?php echo
$Language->getText('project_admin','addfromlist'); ?></a></td></tr>
+ </table>
+<!-- </td></tr>
</td>
<td width="50%">
-</td>
-<?php echo $HTML->boxBottom();?>
-</tr>
-
-<tr valign="top"><td width="50%">
-
-<?php
-
-/*
- Tool admin pages
-*/
-
-echo $HTML->boxTop($Language->getText('project_admin','tool_admin').'');
-
-?>
-
-<br />
-<a href="/tracker/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','tracker_admin') ?></a><br />
-<a href="/docman/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','docmanager_admin') ?></a><br />
-<a href="/mail/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','mail_admin') ?></a><br />
-<a href="/news/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','news_admin') ?></a><br />
-<a href="/pm/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','task_manager_admin') ?></a><br />
-<a href="/forum/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','forum_admin') ?></a><br />
-<a href="/frs/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','frs_admin') ?></a><br />
-<a href="/scm/admin/?group_id=<?php echo $group->getID(); ?>"><?php echo
$Language->getText('project_admin','scm_admin') ?></a><br />
-
-<?php echo $HTML->boxBottom(); ?>
-
-
-
+</td>-->
+<?php
-</td>
-</tr>
+//
+// RBAC Editing Functions
+//
+echo $HTML->boxMiddle($Language->getText('rbac_edit','editroles'));
+echo '<form action="roleedit.php?group_id='. $group_id .'" method="POST">';
+echo role_box($group_id,'role_id','');
+echo '<input type="submit" name="edit"
value="'.$Language->getText('rbac_edit','editrole').'"></form>';
-<tr>
-<td>
-<?php
+echo '<p><a
href="roleedit.php?group_id='.$group_id.'">'.$Language->getText('rbac_edit','addrole').'</a>';
-if (plugin_hook_listeners ("project_admin_plugins") > 0) {
- echo $HTML->boxTop($Language->getText('project_admin','plugins_admin'));
- $hook_params = array () ;
- $hook_params['group_id'] = $group_id ;
- plugin_hook ("project_admin_plugins", $hook_params) ;
+echo $HTML->boxBottom();?>
- echo $HTML->boxBottom();
-}
-?>
-</td>
-</tr>
+ </td>
+ </tr>
</table>
@@ -225,9 +225,4 @@
project_admin_footer(array());
-// Local Variables:
-// mode: php
-// c-file-style: "bsd"
-// End:
-
?>
--- NEW FILE: massadd.php ---
<?php
/**
* Role Editing Page
*
* Copyright 2004 (c) GForge LLC
*
* @version $Id: massadd.php,v 1.1 2004/08/04 16:18:42 tperdue Exp $
* @author Tim Perdue address@hidden
* @date 2004-03-16
*
* This file is part of GForge.
*
* GForge is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GForge is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GForge; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
require_once('pre.php');
require_once('www/project/admin/project_admin_utils.php');
require_once('www/include/role_utils.php');
session_require(array('group'=>$group_id,'admin_flags'=>'A'));
$group =& group_get_object($group_id);
if (!$group || !is_object($group)) {
exit_error('Error','Could Not Get Group');
} elseif ($group->isError()) {
exit_error('Error',$group->getErrorMessage());
}
if (!$sw) {
$sw='A';
}
$res=db_query("SELECT user_id,user_name,lastname,firstname FROM users
WHERE status='A' and type_id='1' and lastname ILIKE '$sw%' ORDER BY
lastname,firstname ASC");
if (!$accumulated_ids) {
$accumulated_ids=array();
} else {
$accumulated_ids =& explode(',',$accumulated_ids);
}
if (count($newids) > 0) {
if (count($accumulated_ids) > 0) {
$accumulated_ids =& array_merge($accumulated_ids,$newids);
} else {
$accumulated_ids=$newids;
}
}
if ($finished) {
header("Location:
massfinish.php?group_id=$group_id&accumulated_ids=".implode(',',$accumulated_ids));
}
project_admin_header(array('title'=>$Language->getText('rbac_edit','pgtitle'),'group'=>$group_id));
echo '
<h2>'.$Language->getText('project_admin','addfromlist').'</h2>
<p>
'.$Language->getText('project_admin','addfromlist1').'
<p>
<form action="'.$PHP_SELF.'?group_id='.$group_id.'" method="post">
<input type="hidden" name="accumulated_ids" value="'.
implode(',',$accumulated_ids) .'">';
$abc_array =
array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z');
echo "Choose the <strong>First Letter</strong> of the name of the person you
wish to add.<p>";
for ($i=0; $i<count($abc_array); $i++) {
if ($sw == $abc_array[$i]) {
echo '<strong>'.$abc_array[$i].'</strong> ';
} else {
echo '<input type="submit" name="sw" value="'.$abc_array[$i].'"> ';
}
}
if (!$res || db_numrows($res) < 1) {
echo "No Matching Users Found";
} else {
$titles[]=$Language->getText('project_admin','userrealname');
$titles[]=$Language->getText('project_admin','unix_name');
$titles[]=$Language->getText('project_admin','add_user');
echo $HTML->listTableTop($titles);
//
// Everything is built on the multi-dimensial arrays in the Role
object
//
for ($i=0; $i<db_numrows($res); $i++) {
echo '<tr '. $HTML->boxGetAltRowStyle($i) . '>
<td>'.db_result($res,$i,'lastname').',
'.db_result($res,$i,'firstname').'</td>
<td>'.db_result($res,$i,'user_name').'</td>
<td><input type="checkbox" name="newids[]" value="'.
db_result($res,$i,'user_id') .'"></td></tr>';
}
echo $HTML->listTableBottom();
}
echo '<input type="submit" name="finished" value="Finished">
</form>';
project_admin_footer(array());
?>
--- NEW FILE: massfinish.php ---
<?php
/**
* Finish Mass-adding users.
*
* Copyright 2004 (c) GForge LLC
*
* @version $Id: massfinish.php,v 1.1 2004/08/04 16:18:42 tperdue Exp $
* @author Tim Perdue address@hidden
* @date 2004-03-16
*
* This file is part of GForge.
*
* GForge is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GForge is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GForge; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
require_once('pre.php');
require_once('www/project/admin/project_admin_utils.php');
require_once('www/include/role_utils.php');
session_require(array('group'=>$group_id,'admin_flags'=>'A'));
$group =& group_get_object($group_id);
if (!$group || !is_object($group)) {
exit_error('Error','Could Not Get Group');
} elseif ($group->isError()) {
exit_error('Error',$group->getErrorMessage());
}
if ($finished) {
$keys=array_keys($addrole);
for ($i=0; $i<count($keys); $i++) {
$group->addUser($keys[$i],$addrole[$keys[$i]]);
}
Header("Location: index.php?group_id=$group_id&feedback=Successful");
}
if (!$accumulated_ids) {
exit_error('Error','No IDs Were Passed');
} else {
$arr=explode(',',$accumulated_ids);
$res=db_query("SELECT user_id,user_name,realname FROM users
WHERE status='A' and type_id='1' and user_id IN ('".
implode('\',\'',$arr) ."')
ORDER BY realname ASC");
}
project_admin_header(array('title'=>$Language->getText('rbac_edit','pgtitle'),'group'=>$group_id));
echo '
<h2>'.$Language->getText('project_admin','addfromlist').'</h2>
<p>
'.$Language->getText('project_admin','addfromlist2').'
<p>
<form action="'.$PHP_SELF.'?group_id='.$group_id.'" method="post">';
if (!$res || db_numrows($res) < 1) {
echo "No Matching Users Found";
} else {
$titles[]=$Language->getText('project_admin','userrealname');
$titles[]=$Language->getText('project_admin','unix_name');
$titles[]=$Language->getText('rbac_edit','role');
echo $HTML->listTableTop($titles);
//
// Everything is built on the multi-dimensial arrays in the Role
object
//
for ($i=0; $i<db_numrows($res); $i++) {
echo '<tr '. $HTML->boxGetAltRowStyle($i) . '>
<td>'.db_result($res,$i,'realname').'</td>
<td>'.db_result($res,$i,'user_name').'</td>
<td>'.role_box($group_id,'addrole['.
db_result($res,$i,'user_id') .']','').'</td></tr>';
}
echo $HTML->listTableBottom();
}
echo '<input type="submit" name="finished" value="Add All">
</form>';
project_admin_footer(array());
?>
Index: project_admin_utils.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/project/admin/project_admin_utils.php,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- project_admin_utils.php 26 Mar 2004 10:43:49 -0000 1.14
+++ project_admin_utils.php 4 Aug 2004 16:18:42 -0000 1.15
@@ -47,7 +47,6 @@
$links = array();
$labels[] = $Language->getText('project_admin_utils','admin');
- $labels[] =
$Language->getText('project_admin_utils','user_permissions');
$labels[] =
$Language->getText('project_admin_utils','edit_public_info');
$labels[] = $Language->getText('project_admin_utils','project_history');
if($GLOBALS['sys_use_people']) {
@@ -66,7 +65,6 @@
$labels[] = $Language->getText('project_admin_utils','stats');
$links[] = '/project/admin/?group_id='.$group_id;
- $links[] = '/project/admin/userperms.php?group_id='.$group_id;
$links[] = '/project/admin/editgroupinfo.php?group_id='.$group_id;
$links[] = '/project/admin/history.php?group_id='.$group_id;
if($GLOBALS['sys_use_people']) {
--- rmuser.php DELETED ---
--- NEW FILE: roleedit.php ---
<?php
/**
* Role Editing Page
*
* Copyright 2004 (c) GForge LLC
*
* @version $Id: roleedit.php,v 1.1 2004/08/04 16:18:42 tperdue Exp $
* @author Tim Perdue address@hidden
* @date 2004-03-16
*
* This file is part of GForge.
*
* GForge is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* GForge is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with GForge; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
require_once('pre.php');
require_once('www/project/admin/project_admin_utils.php');
require_once('common/include/Role.class');
require_once('common/include/RoleObserver.class');
session_require(array('group'=>$group_id,'admin_flags'=>'A'));
//
// The observer is a special role, which is actually
// just controlling the is_public/allow anon flags
//
// Get observer role instead of regular role
//
if ($role_id=='observer') {
$role = new RoleObserver(group_get_object($group_id));
if (!$role || !is_object($role)) {
exit_error('Error','Could Not Get RoleObserver');
} elseif ($role->isError()) {
exit_error('Error',$role->getErrorMessage());
}
if ($submit) {
if (!$role->update($data)) {
$feedback .= $role->getErrorMessage();
} else {
$feedback .= ' Successfully Updated Role ';
}
}
} else {
$role = new Role(group_get_object($group_id),$role_id);
if (!$role || !is_object($role)) {
exit_error('Error','Could Not Get Role');
} elseif ($role->isError()) {
exit_error('Error',$role->getErrorMessage());
}
if ($submit) {
if (!$role_id) {
$role_id=$role->create($role_name,$data);
if (!$role_id) {
$feedback .= $role->getErrorMessage();
} else {
$feedback .= ' Successfully Created New Role ';
}
} else {
if (!$role->update($role_name,$data)) {
$feedback .= $role->getErrorMessage();
} else {
$feedback .= ' Successfully Updated Role ';
}
}
}
}
project_admin_header(array('title'=>$Language->getText('rbac_edit','pgtitle'),'group'=>$group_id));
//
// If observer role, show title
//
if ($role_id=='observer') {
echo '<h2>'.$Language->getText('rbac_edit','observer').'</h2>';
echo $Language->getText('rbac_edit','observerintro');
} else {
if (!$role_id) {
echo '<h2>'.$Language->getText('rbac_edit','newrole').'</h2>';
} else {
echo '<h2>'.$Language->getText('rbac_edit','pgtitle').'</h2>';
}
echo $Language->getText('rbac_edit','intro');
}
echo '
<p>
<form action="'.$PHP_SELF.'?group_id='.$group_id.'&role_id='. $role_id .'"
method="post">';
if ($role_id != 'observer') {
echo
'<strong>'.$Language->getText('rbac_edit','rolename').'</strong><br />
<input type="text" name="role_name" value="'.$role->getName().'">
<p>';
}
$titles[]=$Language->getText('rbac_edit','title1');
$titles[]=$Language->getText('rbac_edit','title2');
$titles[]=$Language->getText('rbac_edit','title3');
echo $HTML->listTableTop($titles);
//
// Get the keys for this role and interate to build page
//
// Everything is built on the multi-dimensial arrays in the Role object
//
$keys = array_keys($role->role_values);
for ($i=0; $i<count($keys); $i++) {
//
// Handle forum settings for all roles
//
if ($keys[$i] == 'forum' || $keys[$i] == 'forumpublic' || $keys[$i] ==
'forumanon') {
if ($keys[$i] == 'forumanon') {
//skip as we have special case below
} else {
$res=db_query("SELECT
group_forum_id,forum_name,is_public,allow_anonymous
FROM forum_group_list WHERE
group_id='$group_id'");
for ($q=0; $q<db_numrows($res); $q++) {
//
// Special cases - when going through the
keys, we want to show trackeranon
// on the same line as tracker public
//
if ($keys[$i] == 'forumpublic') {
$txt='
'.html_build_select_box_from_assoc(
$role->getRoleVals('forumanon'),
"data[forumanon][".db_result($res,$q,'group_forum_id')."]",
$role->getVal('forumanon',db_result($res,$q,'group_forum_id')),
false, false );
} else {
$txt='';
}
echo '<tr '. $HTML->boxGetAltRowStyle($j++) . '>
<td>'.$Language->getText('rbac_edit',$keys[$i]).'</td>
<td>'.db_result($res,$q,'forum_name').'</td>
<td>'.html_build_select_box_from_assoc(
$role->getRoleVals($keys[$i]),
"data[".$keys[$i]."][".db_result($res,$q,'group_forum_id')."]",
$role->getVal($keys[$i],db_result($res,$q,'group_forum_id')),
false, false ). $txt .'</td></tr>';
}
}
//
// Handle task mgr settings for all roles
//
} elseif ($keys[$i] == 'pm' || $keys[$i] == 'pmpublic') {
$res=db_query("SELECT group_project_id,project_name,is_public
FROM project_group_list WHERE group_id='$group_id'");
for ($q=0; $q<db_numrows($res); $q++) {
echo '<tr '. $HTML->boxGetAltRowStyle($j++) . '>
<td>'.$Language->getText('rbac_edit',$keys[$i]).'</td>
<td>'.db_result($res,$q,'project_name').'</td>
<td>'.html_build_select_box_from_assoc(
$role->getRoleVals($keys[$i]),
"data[".$keys[$i]."][".db_result($res,$q,'group_project_id')."]",
$role->getVal($keys[$i],db_result($res,$q,'group_project_id')),
false, false ).'</td></tr>';
}
//
// Handle tracker settings for all roles
//
} elseif ($keys[$i] == 'tracker' || $keys[$i] == 'trackerpublic' ||
$keys[$i] == 'trackeranon') {
if ($keys[$i] == 'trackeranon') {
//skip as we have special case below
} else {
$res=db_query("SELECT
group_artifact_id,name,is_public,allow_anon
FROM artifact_group_list WHERE
group_id='$group_id'");
for ($q=0; $q<db_numrows($res); $q++) {
//
// Special cases - when going through the
keys, we want to show trackeranon
// on the same line as tracker public
//
if ($keys[$i] == 'trackerpublic') {
$txt = '
'.html_build_select_box_from_assoc(
$role->getRoleVals('trackeranon'),
"data[trackeranon][".db_result($res,$q,'group_artifact_id')."]",
$role->getVal('trackeranon',db_result($res,$q,'group_artifact_id')),
false, false );
} else {
$txt='';
}
echo '<tr '. $HTML->boxGetAltRowStyle($j++) . '>
<td>'.$Language->getText('rbac_edit',$keys[$i]).'</td>
<td>'.db_result($res,$q,'name').'</td>
<td>'.html_build_select_box_from_assoc(
$role->getRoleVals($keys[$i]),
"data[".$keys[$i]."][".db_result($res,$q,'group_artifact_id')."]",
$role->getVal($keys[$i],db_result($res,$q,'group_artifact_id')),
false, false ). $txt .'</td></tr>';
}
}
//
// File release system - each package can be public/private
//
} elseif ($keys[$i] == 'frspackage') {
$res=db_query("SELECT package_id,name,is_public
FROM frs_package WHERE group_id='$group_id'");
for ($q=0; $q<db_numrows($res); $q++) {
echo '<tr '. $HTML->boxGetAltRowStyle($j++) . '>
<td>'.$Language->getText('rbac_edit',$keys[$i]).'</td>
<td>'.db_result($res,$q,'name').'</td>
<td>'.html_build_select_box_from_assoc(
$role->getRoleVals($keys[$i]),
"data[".$keys[$i]."][".db_result($res,$q,'package_id')."]",
$role->getVal($keys[$i],db_result($res,$q,'package_id')),
false, false ).'</td></tr>';
}
//
// Handle all other settings for all roles
//
} else {
echo '<tr '. $HTML->boxGetAltRowStyle($j++) . '>
<td><strong>'.$Language->getText('rbac_edit',$keys[$i]).'</strong></td>
<td>-</td>
<td>'.html_build_select_box_from_assoc($role->getRoleVals($keys[$i]),
"data[".$keys[$i]."][0]", $role->getVal($keys[$i],0), false, false ).'</td>
</tr>';
}
}
echo $HTML->listTableBottom();
echo '<input type="submit" name="submit" value="Submit">
</form>';
project_admin_footer(array());
?>
--- userpermedit.php DELETED ---
--- userperms.php DELETED ---
Index: vhost.php
===================================================================
RCS file: /cvsroot/gforge/gforge/www/project/admin/vhost.php,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- vhost.php 25 Mar 2004 19:25:22 -0000 1.7
+++ vhost.php 4 Aug 2004 16:18:43 -0000 1.8
@@ -13,7 +13,6 @@
require_once('pre.php');
-require_once('common/include/vars.php');
require_once('www/project/admin/project_admin_utils.php');
if (!$sys_use_project_vhost) {
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gforge-commits] gforge/www/project/admin database.php, 1.8, 1.9 editgroupinfo.php, 1.19, 1.20 index.php, 1.19, 1.20 massadd.php, NONE, 1.1 massfinish.php, NONE, 1.1 project_admin_utils.php, 1.14, 1.15 rmuser.php, 1.5, NONE roleedit.php, NONE, 1.1 userpermedit.php, 1.10, NONE userperms.php, 1.6, NONE vhost.php, 1.7, 1.8,
tperdue <=
- Prev by Date:
[Gforge-commits] gforge/www/forum/admin index.php,1.9,1.10
- Next by Date:
[Gforge-commits] gforge/www/include pre.php, 1.28, 1.29 project_home.php, 1.37, 1.38 role_utils.php, NONE, 1.1 squal_pre.php, 1.8, 1.9
- Previous by thread:
[Gforge-commits] gforge/www/forum/admin index.php,1.9,1.10
- Next by thread:
[Gforge-commits] gforge/www/include pre.php, 1.28, 1.29 project_home.php, 1.37, 1.38 role_utils.php, NONE, 1.1 squal_pre.php, 1.8, 1.9
- Index(es):