3 * Project Members Information
5 * Copyright 1999-2001 (c) VA Linux Systems
6 * Copyright 2002-2004 (c) GForge Team
7 * Copyright 2014, Franck Villaume - TrivialDev
8 * http://fusionforge.org/
10 * This file is part of FusionForge. FusionForge is free software;
11 * you can redistribute it and/or modify it under the terms of the
12 * GNU General Public License as published by the Free Software
13 * Foundation; either version 2 of the Licence, or (at your option)
16 * FusionForge is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License along
22 * with FusionForge; if not, write to the Free Software Foundation, Inc.,
23 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
26 require_once '../env.inc.php';
27 require_once $gfcommon.'include/pre.php';
31 $group_id = getIntFromGet("group_id");
32 $form_grp = getIntFromGet("form_grp");
34 if (!$group_id && $form_grp) {
35 $group_id = $form_grp;
38 session_require_perm('project_read', $group_id);
40 site_project_header(array('title'=>_('Project Member List'),'group'=>$group_id,'toptab'=>'memberlist'));
42 echo html_e('p', array(), _('If you would like to contribute to this project by becoming a member, contact one of the project admins, designated in bold text below.'));
44 // beginning of the user descripion block
45 $project = group_get_object($group_id);
46 $project_stdzd_uri = util_make_url_g ($project->getUnixName(), $group_id);
47 $usergroup_stdzd_uri = $project_stdzd_uri.'members/';
48 $content = html_e('span', array('rel' => 'http://www.w3.org/2002/07/owl#sameAs', 'resource' => ''), '', false);
49 $content .= html_e('span', array('rev' => 'sioc:has_usergroup', 'resource' => $project_stdzd_uri), '', false);
50 echo html_e('div', array('about' => $usergroup_stdzd_uri, 'typeof' => 'sioc:UserGroup'), $content);
53 $title_arr[]=_('Member');
54 $title_arr[]=_('User Name');
55 $title_arr[]=_('Role(s)/Position(s)');
56 if(forge_get_config('use_people')) {
57 $title_arr[]=_('Skills');
60 echo $HTML->listTableTop($title_arr);
63 $members = $project->getUsers() ;
66 foreach ($members as $user) {
69 $member_uri = util_make_url_u($user->getUnixName(), $user->getID());
70 $content = html_e('span', array('rev' => 'sioc:has_member', 'resource' => $usergroup_stdzd_uri), '', false);
71 $content .= html_e('span', array('property' => 'sioc:name', 'content' => $user->getUnixName()), '', false);
72 if (RBACEngine::getInstance()->isActionAllowedForUser($user, 'project_admin', $project->getID())) {
73 $content .= html_e('strong', array(), $user->getRealName());
75 $content .= $user->getRealName();
77 $cells[][] = html_e('div', array('about' => $member_uri, 'typeof' => 'sioc:UserAccount'), $content);
78 $cells[][] = util_display_user($user->getUnixName(), $user->getID(), $user->getRealName(), 's');
80 $roles = RBACEngine::getInstance()->getAvailableRolesForUser ($user) ;
81 sortRoleList ($roles) ;
82 $role_names = array () ;
83 foreach ($roles as $role) {
84 if ($role->getHomeProject() && $role->getHomeProject()->getID() == $project->getID()) {
85 $role_names[] = $role->getName() ;
88 $role_string = implode (', ', $role_names) ;
89 $cells[] = array($role_string, 'class' => 'align-center');
90 if (forge_get_config('use_people')) {
91 $cells[] = array(util_make_link('/people/viewprofile.php?user_id='.$user->getID(), _('View')), 'class' => 'align-center');
93 echo $HTML->multiTableRow(array(), $cells);
95 // end of community member description block
96 echo $HTML->listTableBottom();
98 site_project_footer();