]> git.mjollnir.org Git - moodle.git/commitdiff
mod-lesson MDL-21006 Refactored renderer->header method, removed logic to function...
authorSam Hemelryk <sam@moodle.com>
Fri, 18 Dec 2009 03:50:38 +0000 (03:50 +0000)
committerSam Hemelryk <sam@moodle.com>
Fri, 18 Dec 2009 03:50:38 +0000 (03:50 +0000)
mod/lesson/continue.php
mod/lesson/edit.php
mod/lesson/editpage.php
mod/lesson/essay.php
mod/lesson/highscores.php
mod/lesson/lesson.php
mod/lesson/locallib.php
mod/lesson/mediafile.php
mod/lesson/renderer.php
mod/lesson/report.php
mod/lesson/view.php

index 165007598dfdabaa031af9b16385c2607fc8b0b6..b38517f7c2ea2ecba9506ab1d64ad025b44a0a17 100644 (file)
@@ -156,7 +156,7 @@ $PAGE->set_subpage($page->id);
 
 /// Print the header, heading and tabs
 lesson_add_pretend_blocks($PAGE, $cm, $lesson, $timer);
-echo $lessonoutput->header($lesson, 'view', true, $page->id);
+echo $lessonoutput->header($lesson, $cm, 'view', true, $page->id);
 
 if ($lesson->displayleft) {
     echo '<a name="maincontent" id="maincontent" title="'.get_string('anchortitle', 'lesson').'"></a>';
index 0b00f2459761b0775c92f07289ec2c1dab7a73e8..a8b3e4527aa9eea72c146fa664406e4ee8f1749f 100644 (file)
@@ -47,7 +47,7 @@ if ($mode != get_user_preferences('lesson_view', 'collapsed') && $mode !== 'sing
 
 $lessonoutput = $PAGE->get_renderer('mod_lesson');
 $PAGE->navbar->add(get_string('edit'));
-echo $lessonoutput->header($lesson, $mode);
+echo $lessonoutput->header($lesson, $cm, $mode);
 if (!$lesson->has_pages()) {
     // There are no pages; give teacher some options
     require_capability('mod/lesson:edit', $context);
index f04e637a55c3d0bc92725d4444005dadedbe88f6..05751b4092e82eb38d0c668a1720bd0798deb2fd 100644 (file)
@@ -99,6 +99,6 @@ if ($data = $mform->get_data()) {
 }
 
 $lessonoutput = $PAGE->get_renderer('mod_lesson');
-echo $lessonoutput->header($lesson);
+echo $lessonoutput->header($lesson, $cm);
 $mform->display();
 echo $lessonoutput->footer();
\ No newline at end of file
index 10bac3ff8a28e8c797abb2338873e902f0915094..d8eb0ee7b6baf9c10c4ed7475a406d32f4e0f9d3 100644 (file)
@@ -278,7 +278,7 @@ switch ($mode) {
 add_to_log($course->id, 'lesson', 'view grade', "essay.php?id=$cm->id", get_string('manualgrading', 'lesson'), $cm->id);
 
 $lessonoutput = $PAGE->get_renderer('mod_lesson');
-echo $lessonoutput->header($lesson, 'essay');
+echo $lessonoutput->header($lesson, $cm, 'essay');
 
 switch ($mode) {
     case 'display':
index c09256862255a0333cf37fa1817bf7dd33911051..110c98be40d76d691609456d4b7bc388c14bc33e 100644 (file)
@@ -162,7 +162,7 @@ switch ($mode) {
 add_to_log($course->id, 'lesson', 'view highscores', "highscores.php?id=$cm->id", $lesson->name, $cm->id);
 
 $lessonoutput = $PAGE->get_renderer('mod_lesson');
-echo $lessonoutput->header($lesson, 'highscores');
+echo $lessonoutput->header($lesson, $cm, 'highscores');
 
 switch ($mode) {
     case 'add':
index f635405fc8196cbc80101cf55aa665b19914a80b..61b0f13d2c35cc6b32288ed0582050fd9cf2fbad 100644 (file)
@@ -59,7 +59,7 @@ switch ($action) {
     case 'confirmdelete':
         $thispage = $lesson->load_page($pageid);
 
-        echo $lessonoutput->header($lesson);
+        echo $lessonoutput->header($lesson, $cm);
         echo $OUTPUT->heading(get_string("deletingpage", "lesson", format_string($thispage->title)));
         // print the jumps to this page
         $params = array("lessonid" => $lesson->id, "pageid" => $pageid);
@@ -80,7 +80,7 @@ switch ($action) {
 
         $title = $DB->get_field("lesson_pages", "title", array("id" => $pageid));
 
-        echo $lessonoutput->header($lesson);
+        echo $lessonoutput->header($lesson, $cm);
         echo $OUTPUT->heading(get_string("moving", "lesson", format_string($title)));
 
         $params = array ("lessonid" => $lesson->id, "prevpageid" => 0);
index e544254b1e349626ca847f994b7f65586bcfc745..90ad679cd3fa1cc5015e80768d2510eb92189c92 100644 (file)
@@ -550,4 +550,31 @@ function lesson_menu_block_contents($cmid, $lesson) {
     $bc->content = $content;
 
     return $bc;
+}
+
+/**
+ * Adds header buttons to the page for the lesson
+ *
+ * @param object $cm
+ * @param object $context
+ * @param bool $extraeditbuttons
+ * @param int $lessonpageid
+ */
+function lesson_add_header_buttons($cm, $context, $extraeditbuttons=false, $lessonpageid=null) {
+    global $CFG, $PAGE, $OUTPUT;
+    if (has_capability('mod/lesson:edit', $context)) {
+        $buttons = $OUTPUT->update_module_button($cm->id, 'lesson');
+        if ($extraeditbuttons) {
+            if ($lessonpageid === null) {
+                print_error('invalidpageid', 'lesson');
+            }
+            if (!empty($lessonpageid) && $lessonpageid != LESSON_EOL) {
+                $options = array('id'=>$cm->id, 'redirect'=>'navigation', 'pageid'=>$lessonpageid);
+                $buttonform = html_form::make_button($CFG->wwwroot.'/mod/lesson/lesson.php', $options, get_string('editpagecontent', 'lesson'));
+                $buttons .= $OUTPUT->button($buttonform);
+            }
+            $buttons = $OUTPUT->box($buttons, 'edit_buttons');
+        }
+        $PAGE->set_button($buttons);
+    }
 }
\ No newline at end of file
index 6cba7e644b0b41eb7fbb6e526cbc70914799376a..d5098ca615cf2333d0bebc6bd8bed65554f384d8 100644 (file)
@@ -60,7 +60,7 @@ $mimetype = mimeinfo("type", $lesson->mediafile);
 if ($printclose) {  // this is for framesets
     if ($lesson->mediaclose) {
         $PAGE->set_title($course->shortname);
-        echo $lessonoutput->header($lesson);
+        echo $lessonoutput->header($lesson, $cm);
         echo $OUTPUT->box('<form><div><input type="button" onclick="top.close();" value="'.get_string("closewindow").'" /></div></form>', 'lessonmediafilecontrol');
         echo $lessonoutput->footer();
     }
@@ -70,7 +70,7 @@ if ($printclose) {  // this is for framesets
 $mediafilehtml = lesson_get_media_html($lesson, $context);
 
 $PAGE->set_title($course->shortname);
-echo $lessonoutput->header($lesson);
+echo $lessonoutput->header($lesson, $cm);
 // print the embedded media html code
 echo $OUTPUT->box($mediafilehtml);
 
index e554b4ed7a5ed7e0202957351c294c117fa1d49e..98879c31fe4430d156fc8740caab7d267b87a1c0 100644 (file)
@@ -33,35 +33,19 @@ class mod_lesson_renderer extends plugin_renderer_base {
      * @param int $lessonpageid
      * @return string
      */
-    public function header($lesson, $currenttab = '', $extraeditbuttons = false, $lessonpageid = null) {
+    public function header($lesson, $cm, $currenttab = '', $extraeditbuttons = false, $lessonpageid = null) {
         global $CFG;
 
-        $activityname = format_string($lesson->name, true, $this->page->course->id);
+        $activityname = format_string($lesson->name, true, $lesson->course);
         $title = $this->page->course->shortname.": ".$activityname;
 
         // Build the buttons
-        $context = get_context_instance(CONTEXT_MODULE, $this->page->cm->id);
-        if (has_capability('mod/lesson:edit', $context)) {
-            $buttons = $this->output->update_module_button($this->page->cm->id, 'lesson');
-            if ($extraeditbuttons) {
-                if ($lessonpageid === null) {
-                    print_error('invalidpageid', 'lesson');
-                }
-                if (!empty($lessonpageid) && $lessonpageid != LESSON_EOL) {
-                    $options = array('id'=>$this->page->cm->id, 'redirect'=>'navigation', 'pageid'=>$lessonpageid);
-                    $buttonform = html_form::make_button($CFG->wwwroot.'/mod/lesson/lesson.php', $options, get_string('editpagecontent', 'lesson'));
-                    $buttons .= $this->output->button($buttonform);
-                }
-                $buttons = $this->output->box($buttons, 'edit_buttons');
-            }
-        } else {
-            $buttons = '&nbsp;';
-        }
+        $context = get_context_instance(CONTEXT_MODULE, $cm->id);
 
     /// Header setup
         $this->page->set_title($title);
         $this->page->set_heading($this->page->course->fullname);
-        $this->page->set_button($buttons);
+        lesson_add_header_buttons($cm, $context, $extraeditbuttons, $lessonpageid);
         $output = $this->output->header();
 
         if (has_capability('mod/lesson:manage', $context)) {
index eb4008f7ddcabf573937116db417330b8a29db92..22fc5b1a02310bcdd1492a3cb7a8ad3e27be824b 100644 (file)
@@ -139,7 +139,7 @@ if (! $times = $DB->get_records('lesson_timer', array('lessonid' => $lesson->id)
     $times = array();
 }
 
-echo $lessonoutput->header($lesson, $action);
+echo $lessonoutput->header($lesson, $cm, $action);
 
 $course_context = get_context_instance(CONTEXT_COURSE, $course->id);
 if (has_capability('gradereport/grader:view', $course_context) && has_capability('moodle/grade:viewall', $course_context)) {
index 69f943c7899f1c955521086c4c2e7a1dc9753553..e73f5595b8b1f45e9b0d607047373c6cd2b13467 100644 (file)
@@ -60,7 +60,7 @@ $lessonoutput = $PAGE->get_renderer('mod_lesson');
 ///     Check for high scores
 if (!$canmanage) {
     if (!$lesson->is_accessible()) {  // Deadline restrictions
-        echo $lessonoutput->header($lesson);
+        echo $lessonoutput->header($lesson, $cm);
         if ($lesson->deadline != 0 && time() > $lesson->deadline) {
             echo $lessonoutput->lesson_inaccessible(get_string('lessonclosed', 'lesson', userdate($lesson->deadline)));
         } else {
@@ -78,7 +78,7 @@ if (!$canmanage) {
                 redirect("$CFG->wwwroot/mod/lesson/view.php?id=$cm->id");
             }
         } else {
-            echo $lessonoutput->header($lesson);
+            echo $lessonoutput->header($lesson, $cm);
             echo $lessonoutput->login_prompt($lesson, optional_param('userpassword', 0, PARAM_CLEAN));
             echo $lessonoutput->footer();
             exit();
@@ -131,7 +131,7 @@ if (!$canmanage) {
             }
 
             if (!empty($errors)) {  // print out the errors if any
-                echo $lessonoutput->header($lesson);
+                echo $lessonoutput->header($lesson, $cm);
                 echo $lessonoutput->dependancy_errors($dependentlesson, $errors);
                 echo $lessonoutput->footer();
                 exit();
@@ -215,7 +215,7 @@ if (empty($pageid)) {
         }
     }
     if (isset($lastpageseen) && $DB->count_records('lesson_attempts', array('lessonid'=>$lesson->id, 'userid'=>$USER->id, 'retry'=>$retries)) > 0) {
-        echo $lessonoutput->header($lesson);
+        echo $lessonoutput->header($lesson, $cm);
         if ($lesson->timed) {
             if ($lesson->retake) {
                 $continuelink = html_form::make_button($CFG->wwwroot.'/mod/lesson/view.php', array('id'=>$cm->id, 'pageid'=>$lesson->firstpageid, 'startlastseen'=>'no'), get_string('continue', 'lesson'), 'get');
@@ -233,7 +233,7 @@ if (empty($pageid)) {
 
     if ($attemptflag) {
         if (!$lesson->retake) {
-            echo $lessonoutput->header($lesson, 'view');
+            echo $lessonoutput->header($lesson, $cm, 'view');
             $courselink = html_form::make_button($CFG->wwwroot.'/course/view.php', array('id'=>$PAGE->course->id), get_string('returntocourse', 'lesson'), 'get');
             echo $lessonoutput->message(get_string("noretake", "lesson"), $courselink);
             echo $lessonoutput->footer();
@@ -370,7 +370,7 @@ if ($pageid != LESSON_EOL) {
     }
 
     lesson_add_pretend_blocks($PAGE, $cm, $lesson, $timer);
-    echo $lessonoutput->header($lesson, $currenttab, $extraeditbuttons, $lessonpageid);
+    echo $lessonoutput->header($lesson, $cm, $currenttab, $extraeditbuttons, $lessonpageid);
     if ($attemptflag) {
         echo $OUTPUT->heading(get_string('attempt', 'lesson', $retries));
     }
@@ -559,7 +559,7 @@ if ($pageid != LESSON_EOL) {
     $lessoncontent .= $OUTPUT->link($link);
 
     lesson_add_pretend_blocks($PAGE, $cm, $lesson, $timer);
-    echo $lessonoutput->header($lesson, $currenttab, $extraeditbuttons, $lessonpageid);
+    echo $lessonoutput->header($lesson, $cm, $currenttab, $extraeditbuttons, $lessonpageid);
     echo $lessoncontent;
     echo $lessonoutput->footer();
 }