mirror of
https://github.com/moodle/moodle.git
synced 2025-08-06 09:26:35 +02:00
This is the first check-in of support for groups.
It's very early (it doesn't actually do anything yet!) but you can define groups and get an idea of how the interface is shaping up. I also wanted to show that I have actually done something on this! :-) From here my plan is to add group support to the modules, one by one (forums first), then go back and clean up some of the central interfaces, graphics etc. Finally, test, test, test and get 1.2 out well before the end of February.
This commit is contained in:
parent
ee39bbe0ee
commit
f374fb1006
22 changed files with 1029 additions and 57 deletions
103
course/group.php
Normal file
103
course/group.php
Normal file
|
@ -0,0 +1,103 @@
|
|||
<?php // $Id$
|
||||
|
||||
/// Shows current group, and allows editing of the group
|
||||
/// icon and other settings related to that group
|
||||
|
||||
require_once('../config.php');
|
||||
require_once('lib.php');
|
||||
|
||||
require_variable($id); // Course id
|
||||
optional_variable($group); // Optionally look at other groups
|
||||
optional_variable($edit); // Turn editing on and off
|
||||
|
||||
if (! $course = get_record('course', 'id', $id) ) {
|
||||
error("That's an invalid course id");
|
||||
}
|
||||
|
||||
require_login($course->id);
|
||||
|
||||
|
||||
if ($group and (isteacheredit($course->id) or $course->groupmode == VISIBLEGROUPS)) {
|
||||
if (! $group = get_record("group", "id", $group)) {
|
||||
error('Specified group could not be found!', "groups.php?id=$course->id");
|
||||
}
|
||||
} else if (! $group = get_current_group($course->id, 'full')) {
|
||||
error('You are not currently in a group!', "view.php?id=$course->id");
|
||||
}
|
||||
|
||||
if (isteacheredit($course->id) or (isteacher($course->id) and ismember($group->id) ) ) {
|
||||
if (isset($edit)) {
|
||||
if ($edit == "on") {
|
||||
$USER->groupediting = true;
|
||||
} else if ($edit == "off") {
|
||||
$USER->groupediting = false;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$USER->groupediting = false;
|
||||
}
|
||||
|
||||
|
||||
/// Print the headers of the page
|
||||
|
||||
$strgroup = get_string('group');
|
||||
$strgroups = get_string('groups');
|
||||
$loggedinas = "<p class=\"logininfo\">".user_login_string($course, $USER)."</p>";
|
||||
|
||||
if (isteacheredit($course->id) or $course->groupmode == VISIBLEGROUPS) {
|
||||
print_header("$strgroup : $group->name", "$course->fullname",
|
||||
"<a href=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</a>
|
||||
-> <a href=\"groups.php?id=$course->id\">$strgroups</a> -> $group->name",
|
||||
"", "", true, update_group_button($course->id), $loggedinas);
|
||||
} else {
|
||||
print_header("$strgroup : $group->name", "$course->fullname",
|
||||
"<a href=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</a>
|
||||
-> $strgroup -> $group->name", "", "", true, "", $loggedinas);
|
||||
}
|
||||
|
||||
|
||||
/// Display the current group information
|
||||
|
||||
if ($USER->groupediting) { // Make an editing form for group information
|
||||
print_heading($group->name);
|
||||
echo '<div align="center">';
|
||||
print_group_picture($group->id, $course->id, $group->picture, true, false, false);
|
||||
echo '</div>';
|
||||
print_simple_box($group->description, 'center', '50%');
|
||||
|
||||
} else { // Just display the information
|
||||
print_heading($group->name);
|
||||
echo '<div align="center">';
|
||||
print_group_picture($group->id, $course->id, $group->picture, true, false, false);
|
||||
echo '</div>';
|
||||
print_simple_box($group->description, 'center', '50%');
|
||||
}
|
||||
|
||||
echo '<br />';
|
||||
|
||||
if ($users = get_users_in_group($group->id)) {
|
||||
$table->align = array('left', 'left');
|
||||
$table->width = array('100', '*');
|
||||
foreach ($users as $user) {
|
||||
if (!$lastaccess = get_field("user_students", "timeaccess", "userid", $user->id, "course", $course->id)) {
|
||||
if (!$lastaccess = get_field("user_teachers", "timeaccess", "userid", $user->id, "course", $course->id)) {
|
||||
$datestring = get_string("never");
|
||||
}
|
||||
}
|
||||
if ($lastaccess) {
|
||||
$datestring = userdate($lastaccess)."  (".format_time(time() - $lastaccess).")";
|
||||
}
|
||||
$information = '<p><b>'.fullname($user).'</b></p>'.get_string("lastaccess").": $datestring";
|
||||
$table->data[] = array(print_user_picture($user->id, $course->id, $user->picture, true, true), $information);
|
||||
}
|
||||
print_table($table);
|
||||
} else {
|
||||
print_heading(get_string('nousersyet'));
|
||||
}
|
||||
|
||||
|
||||
/// Finish off the page
|
||||
|
||||
print_footer($course);
|
||||
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue