$group_id,'admin_flags'=>'A')); // get current information $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()); } $perm =& $group->getPermission( session_get_user() ); if (!$perm || !is_object($perm)) { exit_error('Error','Could Not Get Permission'); } elseif ($perm->isError()) { exit_error('Error',$perm->getErrorMessage()); } if (!$perm->isAdmin()) { exit_permission_denied(); } if (getStringFromRequest('submit')) { if (getStringFromRequest('adduser')) { /* add user to this project */ $form_unix_name = getStringFromRequest('form_unix_name'); $user_object = &user_get_object_by_name($form_unix_name); if (!$user_object) { $feedback = sprintf(_('Failed to find user %s'), $form_unix_name); } else { $user_id = $user_object->getID(); $role_id = getIntFromRequest('role_id'); if (!$group->addUser($form_unix_name,$role_id)) { $feedback = $group->getErrorMessage(); } else { $feedback = _('User Added Successfully'); //plugin webcal //change assistant for webcal $params[0] = getIntFromRequest('user_id'); $params[1] = getIntFromRequest('group_id'); plugin_hook('change_cal_permission',$params); $group_id = getIntFromRequest('group_id'); //if the user have requested to join this group //we should remove him from the request list //since it has already been added $gjr=new GroupJoinRequest($group,$user_id); if ($gjr || is_object($gjr) || !$gjr->isError()) { $gjr->delete(true); } } } } else if (getStringFromRequest('rmuser')) { /* remove a user from this group */ $user_id = getIntFromRequest('user_id'); if (!$group->removeUser($user_id)) { $feedback = $group->getErrorMessage(); } else { $feedback = _('User Removed Successfully'); //plugin webcal //change assistant for webcal $params[0] = getIntFromRequest('user_id'); $params[1] = getIntFromRequest('group_id'); plugin_hook('change_cal_permission',$params); $group_id = getIntFromRequest('group_id'); } } else if (getStringFromRequest('updateuser')) { /* Adjust User Role */ $user_id = getIntFromRequest('user_id'); $role_id = getIntFromRequest('role_id'); if (!$group->updateUser($user_id,$role_id)) { $feedback = $group->getErrorMessage(); } else { $feedback = _('User updated successfully'); //plugin webcal //change assistant for webcal $params[0] = getIntFromRequest('user_id'); $params[1] = getIntFromRequest('group_id'); plugin_hook('change_cal_permission',$params); $group_id = getIntFromRequest('group_id'); } } elseif (getStringFromRequest('acceptpending')) { /* add user to this project */ $form_userid = getIntFromRequest('form_userid'); $form_unix_name = getStringFromRequest('form_unix_name'); $role_id = getIntFromRequest('role_id'); if (!$group->addUser($form_unix_name,$role_id)) { $feedback = $group->getErrorMessage(); } else { $gjr=new GroupJoinRequest($group,$form_userid); if (!$gjr || !is_object($gjr) || $gjr->isError()) { $feedback = 'Error Getting GroupJoinRequest'; } else { $gjr->send_accept_mail(); $gjr->delete(true); $feedback = _('User Added Successfully'); } } } elseif (getStringFromRequest('rejectpending')) { /* reject adding user to this project */ $form_userid = getIntFromRequest('form_userid'); $gjr=new GroupJoinRequest($group,$form_userid); if (!$gjr || !is_object($gjr) || $gjr->isError()) { $feedback = 'Error Getting GroupJoinRequest'; } else { if (!$gjr->reject()) { exit_error('Error',$gjr->getErrorMessage()); } else { $feedback = 'Rejected'; } } } } $group->clearError(); $adminheadertitle=sprintf(_('Project Admin: %1$s'), $group->getPublicName() ); project_admin_header(array('title'=>$adminheadertitle, 'group'=>$group->getID())); /* Show top box listing trove and other info */ ?> boxMiddle(_('Edit Roles')); echo ''; echo role_box($group_id,'role_id',''); echo ''; echo '

'._('Add Role').''; // // Project hierarchy functions plugin_hook('admin_project_link',$group_id) ; echo $HTML->boxBottom();?>

boxTop(_('Misc. Project Information')); ?>  
getDescription(); ?>

getHomepage(); ?>

getUnixName().'.'.$GLOBALS['sys_default_domain']; ?>


getUnixName()); ?>


getUnixName()).'/htdocs'; ?>

[ ]

getTags(); ?>

getID(),'['._('Edit').']'); ?>

boxMiddle(_('Tool Admin').''); if($sys_use_tracker) { ?> getID(), _('Tracker admin')) ?>
getID(),_('Doc manager admin')) ?>
getID(),_('Mail admin')) ?>
getID(),_('News admin')) ?>
getID(),_('Task manager admin')) ?>
getID(),_('Forum admin')) ?>
getID(),_('FRS admin')) ?>
getID(),_('SCM admin')) ?>
boxBottom(); ?>
  boxTop(_('Group Members')); /* Show the members of this project */ $res_memb = db_query("SELECT users.realname,users.user_id,users.status, 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 users.lastname,users.firstname"); echo ' '; while ($row_memb=db_fetch_array($res_memb)) { if ($row_memb['status']=='P') { $status = ""._("Pending (P)").""; } else if ($row_memb['status']=='S') { $status = ""._("Suspended (S)").""; } else { $status = ""; } echo ' '; } echo ' '; /* Add member form */ ?>
'._('Unix name').' '._('Role').' '._('Update').' '._('Remove').'
'.$row_memb['realname'].' ('.$row_memb['user_name'].') '.$status.' '.role_box($group_id,'role_id',$row_memb['role_id']).'
'._('Observer').'
boxMiddle(_('Pending Requests')); $reqs =& get_group_join_requests($group); if (count($reqs) < 1) { echo _('No Pending Requests'); } else { for ($i=0; $igetUserId()); if (!$user || !is_object($user)) { echo "Invalid User"; } ?>
getUnixName(),$user->getId(),$user->getRealName()); ?>