course)) {
error("Course is misconfigured");
}
if (! $dialogue = get_record("dialogue", "id", $cm->instance)) {
error("Course module is incorrect");
}
require_login($course->id);
add_to_log($course->id, "dialogue", "view", "view.php?id=$cm->id", $dialogue->id, $cm->id);
if (! $cw = get_record("course_sections", "id", $cm->section)) {
error("Course module is incorrect");
}
// set up some general variables
$usehtmleditor = can_use_html_editor();
$strdialogue = get_string("modulename", "dialogue");
$strdialogues = get_string("modulenameplural", "dialogue");
print_header_simple("$dialogue->name", "",
"id\">$strdialogues -> $dialogue->name",
"", "", true,
update_module_button($cm->id, $course->id, $strdialogue), navmenu($course, $cm));
// ...and if necessary set default action
optional_variable($action);
if (!isguest()) { // it's a teacher or student
if (!$cm->visible and isstudent($course->id)) {
$action = 'notavailable';
}
if (empty($action)) {
$action = 'view';
}
}
else { // it's a guest, oh no!
$action = 'notavailable';
}
/*********************** dialogue not available (for gusets mainly)***********************/
if ($action == 'notavailable') {
print_heading(get_string("notavailable", "dialogue"));
}
/************ view **************************************************/
elseif ($action == 'view') {
print_simple_box( format_text($dialogue->intro) , "center");
echo "
";
// get some stats
$countneedingrepliesself = dialogue_count_needing_replies_self($dialogue, $USER);
$countneedingrepliesother = dialogue_count_needing_replies_other($dialogue, $USER);
$countclosed = dialogue_count_closed($dialogue, $USER);
// set the pane if it's in a GET or POST
if (isset($_REQUEST['pane'])) {
$pane = $_REQUEST['pane'];
} else {
// set default pane
$pane = 0;
if ($countneedingrepliesother) {
$pane = 2;
}
if ($countneedingrepliesself) {
$pane =1;
}
}
// override pane setting if teacher has changed group
if (isset($_GET['group'])) {
$pane = 0;
}
// set up tab table
$tabs->names[0] = get_string("pane0", "dialogue");
if ($countneedingrepliesself == 1) {
$tabs->names[1] = get_string("pane1one", "dialogue");
} else {
$tabs->names[1] = get_string("pane1", "dialogue", $countneedingrepliesself);
}
if ($countneedingrepliesother == 1) {
$tabs->names[2] = get_string("pane2one", "dialogue");
} else {
$tabs->names[2] = get_string("pane2", "dialogue", $countneedingrepliesother);
}
if ($countclosed == 1) {
$tabs->names[3] = get_string("pane3one", "dialogue");
} else {
$tabs->names[3] = get_string("pane3", "dialogue", $countclosed);
}
$tabs->urls[0] = "view.php?id=$cm->id&pane=0";
$tabs->urls[1] = "view.php?id=$cm->id&pane=1";
$tabs->urls[2] = "view.php?id=$cm->id&pane=2";
$tabs->urls[3] = "view.php?id=$cm->id&pane=3";
$tabs->highlight = $pane;
dialogue_print_tabbed_heading($tabs);
echo "
\n";
switch ($pane) {
case 0:
if (isteacher($course->id)) {
/// Check to see if groups are being used in this dialogue
/// and if so, set $currentgroup to reflect the current group
$changegroup = isset($_GET['group']) ? $_GET['group'] : -1; // Group change requested?
$groupmode = groupmode($course, $cm); // Groups are being used?
$currentgroup = get_and_set_current_group($course, $groupmode, $changegroup);
/// Allow the teacher to change groups (for this session)
if ($groupmode) {
if ($groups = get_records_menu("groups", "courseid", $course->id, "name ASC", "id,name")) {
print_group_menu($groups, $groupmode, $currentgroup, "view.php?id=$cm->id");
}
}
}
if ($names = dialogue_get_available_users($dialogue)) {
print_simple_box_start("center");
echo "