Changes to activate the "force subscribe" option on the Site News forum.

By default it is OFF, but if it is turned on, then site news is emailed
to ALL enrolled students and ALL current teachers.
This commit is contained in:
moodler 2003-03-29 03:39:56 +00:00
parent 754786f1be
commit adaf39283c
2 changed files with 27 additions and 13 deletions

View file

@ -818,23 +818,35 @@ function get_teacher($courseid) {
} }
} }
function get_course_students($courseid, $sort="u.lastaccess DESC") { function get_course_students($courseid=0, $sort="u.lastaccess DESC") {
/// Returns list of all students in this course /// Returns list of all students in this course
/// if courseid = 0 then return ALL students in all courses
global $CFG; global $CFG;
$selectcourse = "";
if (!empty($courseid)) {
$selectcourse = "s.course = '$courseid' AND ";
}
return get_records_sql("SELECT u.* FROM {$CFG->prefix}user u, {$CFG->prefix}user_students s return get_records_sql("SELECT u.* FROM {$CFG->prefix}user u, {$CFG->prefix}user_students s
WHERE s.course = '$courseid' AND s.userid = u.id AND u.deleted = '0' WHERE $selectcourse s.userid = u.id AND u.deleted = '0'
ORDER BY $sort"); ORDER BY $sort");
} }
function get_course_teachers($courseid, $sort="t.authority ASC") { function get_course_teachers($courseid=0, $sort="t.authority ASC") {
/// Returns list of all teachers in this course /// Returns list of all teachers in this course
/// if courseid = 0 then return ALL teachers in all courses
global $CFG; global $CFG;
$selectcourse = "";
if (!empty($courseid)) {
$selectcourse = "t.course = '$courseid' AND ";
}
return get_records_sql("SELECT u.*,t.authority,t.role FROM {$CFG->prefix}user u, {$CFG->prefix}user_teachers t return get_records_sql("SELECT u.*,t.authority,t.role FROM {$CFG->prefix}user u, {$CFG->prefix}user_teachers t
WHERE t.course = '$courseid' AND t.userid = u.id AND u.deleted = '0' WHERE $selectcourse t.userid = u.id AND u.deleted = '0'
ORDER BY $sort"); ORDER BY $sort");
} }
@ -858,7 +870,6 @@ function get_course_users($courseid, $sort="u.lastaccess DESC") {
/// ORDER BY $sort"); /// ORDER BY $sort");
} }
function get_users_search($search, $sort="u.firstname ASC") { function get_users_search($search, $sort="u.firstname ASC") {
global $CFG; global $CFG;

View file

@ -619,9 +619,11 @@ function forum_subscribed_users($course, $forum) {
/// Returns list of user objects that are subscribed to this forum /// Returns list of user objects that are subscribed to this forum
global $CFG; global $CFG;
if ($course->category) { // normal course
if ($forum->forcesubscribe) { if ($forum->forcesubscribe) {
if ($course->category) {
return get_course_users($course->id); return get_course_users($course->id);
} else {
return get_course_users(0); // ALL SITE USERS
} }
} }
return get_records_sql("SELECT u.* return get_records_sql("SELECT u.*
@ -650,15 +652,16 @@ function forum_get_course_forum($courseid, $type) {
switch ($forum->type) { switch ($forum->type) {
case "news": case "news":
$forum->name = get_string("namenews", "forum"); $forum->name = get_string("namenews", "forum");
if ($site = get_site()) { $forum->forcesubscribe = 1;
if ($courseid == $site->id) {
$forum->name = get_string("sitenews");
}
}
$forum->intro = get_string("intronews", "forum"); $forum->intro = get_string("intronews", "forum");
$forum->open = 1; // 0 - no, 1 - posts only, 2 - discuss and post $forum->open = 1; // 0 - no, 1 - posts only, 2 - discuss and post
$forum->assessed = 0; $forum->assessed = 0;
$forum->forcesubscribe = 1; if ($site = get_site()) {
if ($courseid == $site->id) {
$forum->name = get_string("sitenews");
$forum->forcesubscribe = 0;
}
}
break; break;
case "social": case "social":
$forum->name = get_string("namesocial", "forum"); $forum->name = get_string("namesocial", "forum");