From 71fb963094b722fb90cfa08b63883fa378cc48dd Mon Sep 17 00:00:00 2001 From: martin Date: Sat, 20 Jul 2002 17:56:21 +0000 Subject: [PATCH] Changed listing of forums --- mod/forum/db/mysql.sql | 2 +- mod/forum/index.php | 51 ++++++++++++++++++++++++++++++++++++++---- mod/forum/lib.php | 2 +- 3 files changed, 49 insertions(+), 6 deletions(-) diff --git a/mod/forum/db/mysql.sql b/mod/forum/db/mysql.sql index 9553e3b5f6..cb4e2b2b9d 100644 --- a/mod/forum/db/mysql.sql +++ b/mod/forum/db/mysql.sql @@ -7,7 +7,7 @@ CREATE TABLE forum ( course int(10) unsigned NOT NULL default '0', type enum('discussion','news','general','social','eachuser','teacher') NOT NULL default 'general', name varchar(255) NOT NULL default '', - intro tinytext NOT NULL, + intro mediumtext NOT NULL, open tinyint(1) unsigned NOT NULL default '0', assessed tinyint(1) unsigned NOT NULL default '0', timemodified int(10) unsigned NOT NULL default '0', diff --git a/mod/forum/index.php b/mod/forum/index.php index 3bf541b9c9..dcb04a6ca4 100644 --- a/mod/forum/index.php +++ b/mod/forum/index.php @@ -32,19 +32,59 @@ $can_subscribe = (isstudent($course->id) || isteacher($course->id) || isadmin()); if ($can_subscribe) { - $table->head = array ("Forum", "Description", "Topics", "Subscribed"); + $newtable->head = array ("Forum", "Description", "Topics", "Subscribed"); } else { - $table->head = array ("Forum", "Description", "Topics"); + $newtable->head = array ("Forum", "Description", "Topics"); } - $table->align = array ("LEFT", "LEFT", "CENTER", "CENTER"); + $newtable->align = array ("LEFT", "LEFT", "CENTER", "CENTER"); + if ($forums = get_records("forum", "course", $id, "name ASC")) { + $table = $newtable; + foreach ($forums as $forum) { + if ($forum->type == "teacher") { + if (!isteacher($course->id)) { + continue; + } + } + if ($forum->type == "eachuser" or $forum->type == "discussion") { + continue; // Display these later on. + } + + $count = count_records("discuss", "forum", "$forum->id"); + + if ($can_subscribe) { + if (is_subscribed($USER->id, $forum->id)) { + $subscribed = "YES"; + } else { + $subscribed = "NO"; + } + $table->data[] = array ("id\">$forum->name", + "$forum->intro", + "$count", + "id\">$subscribed"); + } else { + $table->data[] = array ("id\">$forum->name", + "$forum->intro", + "$count"); + } + } + if ($table) { + print_heading("General Forums"); + print_table($table); + $table = $newtable; + } + foreach ($forums as $forum) { if ($forum->type == "teacher") { if (!isteacher($course->id)) { continue; } } + if ($forum->type != "eachuser" and $forum->type != "discussion") { + continue; + } + $count = count_records("discuss", "forum", "$forum->id"); if ($can_subscribe) { @@ -63,9 +103,12 @@ "$count"); } } + if ($table) { + print_heading("Forums about course content"); + print_table($table); + } } - print_table($table); echo "
"; print_discussion_search_form($course, $search); echo "
"; diff --git a/mod/forum/lib.php b/mod/forum/lib.php index 76b33ec408..503b7db902 100644 --- a/mod/forum/lib.php +++ b/mod/forum/lib.php @@ -106,7 +106,7 @@ function get_course_discussion_forum($courseid) { $forum->course = $courseid; $forum->type = "discussion"; $forum->name = "Course Discussion"; - $forum->intro= "Discussions about course content"; + $forum->intro= "General discussions about course topics"; $forum->open = 0; $forum->assessed = 1; $forum->timemodified = time(); -- 2.39.5