Index: discuss.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/forum/discuss.php,v
retrieving revision 1.112.2.9
diff -u -r1.112.2.9 discuss.php
--- discuss.php	19 Apr 2008 10:47:42 -0000	1.112.2.9
+++ discuss.php	12 Jan 2009 06:12:16 -0000
@@ -4,7 +4,6 @@
 //  If no post is given, displays all posts in a discussion
 
     require_once('../../config.php');
-    require_once('lib.php');
 
     $d      = required_param('d', PARAM_INT);                // Discussion ID
     $parent = optional_param('parent', 0, PARAM_INT);        // If set, then display this post and all children.
@@ -31,6 +30,9 @@
 
     require_course_login($course, true, $cm);
 
+    // move this down fix for MDL-6926
+    require_once('lib.php');
+
     $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
     require_capability('mod/forum:viewdiscussion', $modcontext, NULL, true, 'noviewdiscussionspermission', 'forum');
 
Index: post.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/forum/post.php,v
retrieving revision 1.154.2.16
diff -u -r1.154.2.16 post.php
--- post.php	16 Nov 2008 22:45:06 -0000	1.154.2.16
+++ post.php	12 Jan 2009 06:12:17 -0000
@@ -4,7 +4,6 @@
 
     require_once('../../config.php');
     require_once('lib.php');
-    require_once('post_form.php');
 
     $reply   = optional_param('reply', 0, PARAM_INT);
     $forum   = optional_param('forum', 0, PARAM_INT);
@@ -139,6 +138,9 @@
             error("Incorrect cm");
         }
 
+        // call course_setup to use forced language, MDL-6926 
+        course_setup($course->id);
+
         $coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
         $modcontext    = get_context_instance(CONTEXT_MODULE, $cm->id);
 
@@ -440,6 +442,11 @@
     }
     $modcontext = get_context_instance(CONTEXT_MODULE, $cm->id);
 
+    // setup course variable to force form language
+    // fix for MDL-6926
+    course_setup($course->id);
+    require_once('post_form.php');
+
     $mform_post = new mod_forum_post_form('post.php', array('course'=>$course, 'cm'=>$cm, 'coursecontext'=>$coursecontext, 'modcontext'=>$modcontext, 'forum'=>$forum, 'post'=>$post));
 
     if ($fromform = $mform_post->get_data()) {
Index: view.php
===================================================================
RCS file: /cvsroot/moodle/moodle/mod/forum/view.php,v
retrieving revision 1.106.2.15
diff -u -r1.106.2.15 view.php
--- view.php	19 Apr 2008 10:47:42 -0000	1.106.2.15
+++ view.php	12 Jan 2009 06:12:17 -0000
@@ -26,6 +26,9 @@
         if (! $forum = get_record("forum", "id", $cm->instance)) {
             error("Forum ID was incorrect");
         }
+        // move require_course_login here to use forced language for course
+        // fix for MDL-6926
+        require_course_login($course, true, $cm);
         $strforums = get_string("modulenameplural", "forum");
         $strforum = get_string("modulename", "forum");
         $buttontext = update_module_button($cm->id, $course->id, $strforum);
@@ -39,13 +42,16 @@
             error("Forum is misconfigured - don't know what course it's from");
         }
 
-        $strforums = get_string("modulenameplural", "forum");
-        $strforum = get_string("modulename", "forum");
-
         if (!$cm = get_coursemodule_from_instance("forum", $forum->id, $course->id)) {
             error("Course Module missing");
         }
 
+        // move require_course_login here to use forced language for course
+        // fix for MDL-6926
+        require_course_login($course, true, $cm);
+
+        $strforums = get_string("modulenameplural", "forum");
+        $strforum = get_string("modulename", "forum");
         $buttontext = update_module_button($cm->id, $course->id, $strforum);
 
     } else {
@@ -56,11 +62,8 @@
         $buttontext = forum_search_form($course, $search);
     }
 
-
-    require_course_login($course, true, $cm);
     $context = get_context_instance(CONTEXT_MODULE, $cm->id);
 
-
 /// Print header.
     $navigation = build_navigation('', $cm);
     print_header_simple(format_string($forum->name), "",
