Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Make News on Front Page viewable to Teachers only.

Make News on Front Page viewable to Teachers only

From MoodleDocs
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

In /index.php, look for case FRONTPAGENEWS:

case FRONTPAGENEWS:
if (isteacherinanycourse()) {
if ($SITE->newsitems) { // Print forums only when needed
require_once($CFG->dirroot .'/mod/forum/lib.php');

if (! $newsforum = forum_get_course_forum($SITE->id, 'news')) {
error('Could not find or create a main news forum for the site');
}

if (isset($USER->id)) {
$SESSION->fromdiscussion = $CFG->wwwroot;
if (forum_is_subscribed($USER->id, $newsforum->id)) {
$subtext = get_string('unsubscribe', 'forum');
} else {
$subtext = get_string('subscribe', 'forum');
}
$headertext = '<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>'.
'<td><div class="title">'.$newsforum->name.'</div></td>'.
'<td><div class="link"><a href="mod/forum/subscribe.php?id='.$newsforum->id.'">'.$subtext.'</a></div></td>'.
'</tr></table>';
} else {
$headertext = $newsforum->name;
}

print_heading_block($headertext);
forum_print_latest_discussions($SITE, $newsforum, $SITE->newsitems);
}
}
break;

The lines in red are the lines you'll need to add.

Moodle 2.0 It appears that this tip will not work in Moodle 2.0 - you will get an error message saying

 "Function If (isteacherinanycourse()) is removed, use Capabilities instead".  

This implies that Moodle 2.0 allows you to set that as a Role Capability in the Front Page. To accomplish this, you will need a good understanding of Capabilities in Moodle 2.0.