Source for file group_space.php
Documentation is available at group_space.php
<?php //$Id: group_space.php 14826 2008-04-10 08:10:19Z pcool $
==============================================================================
Dokeos - elearning and course management software
Copyright (c) 2004-2008 Dokeos SPRL
Copyright (c) 2003 Ghent University (UGent)
Copyright (c) 2001 Universite catholique de Louvain (UCL)
Copyright (c) various contributors
Copyright (c) Bart Mollet
For a full list of contributors, see "credits.txt".
The full license can be read in "license.txt".
This program 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.
See the GNU General Public License for more details.
Contact: Dokeos, rue du Corbeau, 108, B-1030 Brussels, Belgium, info@dokeos.com
==============================================================================
==============================================================================
* This script shows the group space for one specific group, possibly displaying
* a list of users in the group, subscribe or unsubscribe option, tutors...
* @todo Display error message if no group ID specified
==============================================================================
==============================================================================
==============================================================================
// name of the language file that needs to be included
$language_file = "group";
include ('../inc/global.inc.php');
-----------------------------------------------------------
-----------------------------------------------------------
include_once (api_get_path(LIBRARY_PATH). 'course.lib.php');
include_once (api_get_path(LIBRARY_PATH). 'groupmanager.lib.php');
include_once (api_get_path(LIBRARY_PATH). 'sortabletable.class.php');
require_once (api_get_path(SYS_CODE_PATH). 'forum/forumfunction.inc.php');
require_once (api_get_path(SYS_CODE_PATH). 'forum/forumconfig.inc.php');
==============================================================================
==============================================================================
//display some error message
$interbreadcrumb[] = array ("url" => "group.php", "name" => get_lang("GroupManagement"));
-----------------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------
-----------------------------------------------------------
* User wants to register in this group
* User wants to unregister from this group
echo "<a href=\"group_edit.php?origin=$origin\">". get_lang("EditGroup"). "</a><br/><br/>";
echo '<p align="right"><a href="'. api_get_self(). '?selfReg=1&group_id='. $current_group['id']. '" onclick="javascript:if(!confirm('. "'". addslashes(htmlentities(get_lang("ConfirmYourChoice"),ENT_QUOTES,$charset)). "'". ')) return false;">'. get_lang("RegIntoGroup"). '</a></p>';
if( isset ($_GET['action']))
-----------------------------------------------------------
-----------------------------------------------------------
$course_code = $_course['sysCode'];
* Group title and comment
if (!empty($current_group['description']))
echo '<blockquote>'. stripslashes($current_group['description']). '</blockquote>';
// If the user is subscribed to the group or the user is a tutor of the group then
foreach ($forums_of_groups as $key => $value)
if($value['forum_group_public_private'] == 'public' || ($user_subscribe_to_current_group && $value['forum_group_public_private'] == 'private') || $user_is_tutor || api_is_allowed_to_edit())
$tools.= Display::return_icon('forum.gif') . ' <a href="../forum/viewforum.php?forum='. $value['forum_id']. '">'. $value['forum_title']. '</a><br />';
// link to the documents area of this group
$tools .= "<div style='margin-bottom: 5px;'><a href=\"../document/document.php?". api_get_cidreq(). "&gidReq=". $current_group['id']. "\">". Display::return_icon('folder_document.gif'). " ". get_lang("GroupDocument"). "</a></div>";
//link to a group-specific part of agenda
$tools .= "<div style='margin-bottom: 5px;'><a href=\"../calendar/agenda.php?". api_get_cidreq(). "&toolgroup=". $current_group['id']. "&group=". $current_group['id']. "&acces=0\">". Display::return_icon('agenda.gif'). " ". get_lang("GroupCalendar"). "</a></div>";
//link to the works area of this group
$tools .= "<div style='margin-bottom: 5px;'><a href=\"../work/work.php?". api_get_cidreq(). "&toolgroup=". $current_group['id']. "\">". Display::return_icon('works.gif'). " ". get_lang("GroupWork"). "</a></div>";
//link to a group-specific part of announcements
$tools .= "<div style='margin-bottom: 5px;'><a href=\"../announcements/announcements.php?". api_get_cidreq(). "&toolgroup=". $current_group['id']. "\">". Display::return_icon('valves.gif'). " ". get_lang("GroupAnnouncements"). "</a></div>";
echo '<blockquote>'. $tools. '</blockquote>';
foreach ($forums_of_groups as $key => $value)
if($value['forum_group_public_private'] == 'public' )
$tools.= Display::return_icon('forum.gif') . ' <a href="../forum/viewforum.php?forum='. $value['forum_id']. '">'. $value['forum_title']. '</a><br />';
// link to the documents area of this group
$tools .= "<a href=\"../document/document.php?". api_get_cidreq(). "&gidReq=". $current_group['id']. "&origin=$origin\">". Display::return_icon('folder_document.gif'). " ". get_lang("GroupDocument"). "</a><br/>";
//link to a group-specific part of agenda
$tools .= "<a href=\"../calendar/agenda.php?". api_get_cidreq(). "&toolgroup=". $current_group['id']. "&group=". $current_group['id']. "\">". Display::return_icon('agenda.gif'). " ". get_lang("GroupCalendar"). "</a><br/>";
//link to the works area of this group
if ( $current_group['announcements_state'] == TOOL_PUBLIC)
//link to a group-specific part of announcements
$tools .= "<a href=\"../announcements/announcements.php?". api_get_cidreq(). "&toolgroup=". $current_group['id']. "&group=". $current_group['id']. "\">". Display::return_icon('valves.gif'). " ". get_lang("GroupAnnouncements"). "</a><br/>";
echo '<blockquote>'. $tools. '</blockquote>';
* list all the tutors of the current group
$tutor_info = get_lang("GroupNoneMasc");
foreach($tutors as $index => $tutor)
$tutor_info .= "<div style='margin-bottom: 5px;'><a href='../user/userInfo.php?origin=". $origin. "&uInfo=". $tutor['user_id']. "'><img src='../img/coachs.gif' align='absbottom'> ". $tutor['firstname']. " ". $tutor['lastname']. "</a></div>";
echo '<b>'. get_lang("GroupTutors"). ':</b>';
echo '<blockquote>'. $tutor_info. '</blockquote>';
* list all the members of the current group
echo '<b>'. get_lang("GroupMembers"). ':</b>';
$table = new SortableTable('group_users', 'get_number_of_group_users', 'get_group_user_data',2);
$parameters = array('cidReq' => $_GET['cidReq'], 'origin'=> $_GET['origin'], 'gidReq' => $_GET['gidReq']);
$table->set_additional_parameters($parameters);
$table->set_header(0, '');
$table->set_header(1, get_lang('LastName'));
$table->set_header(2, get_lang('FirstName'));
$table->set_header(3, get_lang('Email'));
$table->set_column_filter(3, 'email_filter');
$table->set_column_filter(0, 'user_icon_filter');
* Get the number of subscribed users to the group
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, Belgium
// Database table definition
$sql = "SELECT count(id) AS number_of_users
FROM ". $table_group_user. "
return $return['number_of_users'];
* Get the details of the users in a group
* @param integer $from starting row
* @param integer $number_of_items number of items to be displayed
* @param integer $column sorting colum
* @param integer $direction sorting direction
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, Belgium
// Database table definition
FROM ". $table_user. " user, ". $table_group_user. " group_rel_user
WHERE group_rel_user.user_id = user.user_id
$sql .= " ORDER BY col$column $direction ";
$sql .= " LIMIT $from,$number_of_items";
* @param string $email An email-address
* @return string HTML-code with a mailto-link
* Display a user icon that links to the user page
* @param integer $user_id the id of the user
* @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, Belgium
return "<a href='../user/userInfo.php?origin=". $origin. "&uInfo=". $user_id. "'><img src='../img/members.gif' >";
if ($origin != 'learnpath')
|