3 function forums_delete($course) {
\r
6 $sql = "SELECT * FROM ".TABLE_PREFIX."forums_courses WHERE course_id=$course";
\r
7 $f_result = mysql_query($sql, $db);
\r
8 while ($forum = mysql_fetch_assoc($f_result)) {
\r
9 $forum_id = $forum['forum_id'];
\r
10 $sql = "SELECT COUNT(*) AS cnt FROM ".TABLE_PREFIX."forums_courses WHERE forum_id=$forum_id";
\r
11 $result = mysql_query($sql, $db);
\r
12 $row = mysql_fetch_assoc($result);
\r
13 if ($row['cnt'] == 1) {
\r
14 $sql = "SELECT post_id FROM ".TABLE_PREFIX."forums_threads WHERE forum_id=$forum_id";
\r
15 $result = mysql_query($sql, $db);
\r
16 while ($row = mysql_fetch_assoc($result)) {
\r
17 $sql = "DELETE FROM ".TABLE_PREFIX."forums_accessed WHERE post_id=$row[post_id]";
\r
18 $result2 = mysql_query($sql, $db);
\r
21 $sql = "DELETE FROM ".TABLE_PREFIX."forums_subscriptions WHERE forum_id=$forum_id";
\r
22 $result = mysql_query($sql, $db);
\r
24 $sql = "DELETE FROM ".TABLE_PREFIX."forums_threads WHERE forum_id=$forum_id";
\r
25 $result = mysql_query($sql, $db);
\r
27 $sql = "DELETE FROM ".TABLE_PREFIX."forums WHERE forum_id=$forum_id";
\r
28 $result = mysql_query($sql, $db);
\r
30 $sql = "DELETE FROM ".TABLE_PREFIX."forums_courses WHERE forum_id=$forum_id";
\r
31 $result = mysql_query($sql, $db);
\r
33 } else if ($row['cnt'] > 1) {
\r
34 // this is a shared forum:
\r
35 // debug('unsubscribe all the students who will not be able to access this forum anymore.');
\r
36 $sql = "SELECT course_id FROM ".TABLE_PREFIX."forums_courses WHERE forum_id=$forum[forum_id] AND course_id <> $course";
\r
37 $result2 = mysql_query($sql, $db);
\r
38 while ($row2 = mysql_fetch_assoc($result2)) {
\r
39 $courses[] = $row2['course_id'];
\r
41 $courses_list = implode(',', $courses);
\r
43 // list of all the students who are in other courses as well
\r
44 $sql = "SELECT member_id FROM ".TABLE_PREFIX."course_enrollment WHERE course_id IN ($courses_list)";
\r
45 $result2 = mysql_query($sql, $db);
\r
46 while ($row2 = mysql_fetch_assoc($result2)) {
\r
47 $students[] = $row2['member_id'];
\r
50 $students_list = implode(',', $students);
\r
52 if ($students_list) {
\r
53 // remove the subscriptions
\r
54 $sql = "SELECT post_id FROM ".TABLE_PREFIX."forums_threads WHERE forum_id=$forum[forum_id]";
\r
55 $result2 = mysql_query($sql, $db);
\r
56 while ($row2 = mysql_fetch_array($result2)) {
\r
57 $sql = "DELETE FROM ".TABLE_PREFIX."forums_accessed WHERE post_id=$row2[post_id] AND member_id NOT IN ($students_list)";
\r
58 $result3 = mysql_query($sql, $db);
\r
61 $sql = "DELETE FROM ".TABLE_PREFIX."forums_subscriptions WHERE forum_id=$forum[forum_id] AND member_id NOT IN ($students_list)";
\r
62 $result3 = mysql_query($sql, $db);
\r
65 $sql = "DELETE FROM ".TABLE_PREFIX."forums_courses WHERE forum_id=$forum[forum_id] AND course_id=$course";
\r
66 $result = mysql_query($sql, $db);
\r
70 $sql = "OPTIMIZE TABLE ".TABLE_PREFIX."forums_threads";
\r
71 $result = mysql_query($sql, $db);
\r