109000a7da9c0856158bbb4d32eb54e5c74a10e8
[moodle.git] / mod / forum / discuss.php
1 <?PHP // $Id$
3 //  Displays a post, and all the posts below it.
4 //  If no post is given, displays all posts in a discussion
6     require("../../config.php");
7     require("lib.php");
9     require_variable($d);       // Discussion ID
10     optional_variable($parent); // If set, then display this post and all children.
11     optional_variable($mode);   // If set, changes the layout of the thread
13     if (! $discussion = get_record("forum_discussions", "id", $d)) {
14         error("Discussion ID was incorrect or no longer exists");
15     }
17     if (! $course = get_record("course", "id", $discussion->course)) {
18         error("Course ID is incorrect - discussion is faulty");
19     }
21     if (! $forum = get_record("forum", "id", $discussion->forum)) {
22         notify("Bad forum ID stored in this discussion");
23     }
25     if ($course->category) {
26         require_login($course->id);
27     }
29     add_to_log($course->id, "forum", "view discussion", "discuss.php?".$_SERVER["QUERY_STRING"], "$discussion->id");
31     unset($SESSION->fromdiscussion);
32     save_session("SESSION");
34     forum_set_display_mode($mode);
36     $displaymode = $USER->mode;
38     if ($parent) {
39         if (abs($USER->mode) == 1) {  // If flat AND parent, then force nested display this time
40             $displaymode = 3;
41         }
42     } else {
43         $parent = $discussion->firstpost;
44         $navtail = "$discussion->name";
45     }
47     if (! $post = forum_get_post_full($parent)) {
48         error("Discussion no longer exists", "$CFG->wwwroot/mod/forum/view.php?f=$forum->id");
49     }
51     if (!$navtail) {
52         $navtail = "<A HREF=\"discuss.php?d=$discussion->id\">$discussion->name</A> -> $post->subject";
53     }
55     $navmiddle = "<A HREF=\"../forum/index.php?id=$course->id\">".get_string("forums", "forum")."</A> -> <A HREF=\"../forum/view.php?f=$forum->id\">$forum->name</A>";
57     if ($course->category) {
58         print_header("$course->shortname: $discussion->name", "$course->fullname",
59                  "<A HREF=../../course/view.php?id=$course->id>$course->shortname</A> ->
60                   $navmiddle -> $navtail", "", "", true);
61     } else {
62         print_header("$course->shortname: $discussion->name", "$course->fullname",
63                  "$navmiddle -> $navtail", "", "", true);
64     }
66     forum_print_discussion($course, $forum, $discussion, $post, $displaymode);
68     print_footer($course);
70 ?>