]> git.mjollnir.org Git - moodle.git/commitdiff
Breadcrumbs: mod/forum changes
authormattc-catalyst <mattc-catalyst>
Mon, 16 Apr 2007 21:12:29 +0000 (21:12 +0000)
committermattc-catalyst <mattc-catalyst>
Mon, 16 Apr 2007 21:12:29 +0000 (21:12 +0000)
- Modified to use build_navigation() for breadcrumb generation.

Author: Matt Clarkson <mattc@catalyst.net.nz>

mod/forum/discuss.php
mod/forum/index.php
mod/forum/markposts.php
mod/forum/post.php
mod/forum/search.php
mod/forum/settracking.php
mod/forum/subscribe.php
mod/forum/subscribers.php
mod/forum/user.php
mod/forum/view.php

index 171d4098e1ba8e0c6ff865326c246fc310b991e9..400b1a3055751b4b925b0516a93f91e82423e311 100644 (file)
 
     unset($SESSION->fromdiscussion);
 
+    $crumbs[] = array('name' => get_string("forums", "forum"), 'link' => "../forum/index.php?id=$course->id", 'type' => 'activity');
+    $crumbs[] = array('name' => format_string($forum->name,true), 'link' => "../forum/view.php?f=$forum->id", 'type' => 'activityinstance');
+    $crumbs[] = array('name' => format_string($discussion->name,true), 'link' => "discuss.php?d=$discussion->id", 'type' => 'title');
+    
+
     if ($mode) {
         set_user_preference('forum_displaymode', $mode);
     }
         if (abs($displaymode) == 1) {  // If flat AND parent, then force nested display this time
             $displaymode = 3;
         }
-        $navtail = '';
     } else {
         $parent = $discussion->firstpost;
-        $navtail = '-> '.format_string($discussion->name);
     }
     
     if (!forum_user_can_view_post($parent, $course, $cm, $forum, $discussion)) {
     }
 
 
-    if (empty($navtail)) {
-        $navtail = "-> <a href=\"discuss.php?d=$discussion->id\">".
-                    format_string($discussion->name,true)."</a> -> ".
-                    format_string($post->subject);
-    }
-    if ($forum->type == 'single') {
-        $navforum = '';
-    } else {
-        $navforum = "<a href=\"../forum/view.php?f=$forum->id\">".
-                     format_string($forum->name,true)."</a> ";
-    }
-    $navmiddle = "<a href=\"../forum/index.php?id=$course->id\">".
-                  get_string("forums", "forum").'</a> -> '.$navforum;
-
     $searchform = forum_search_form($course);
-
-    if ($course->id != SITEID) {
-        print_header("$course->shortname: ".format_string($discussion->name), $course->fullname,
-                     "<a href=\"../../course/view.php?id=$course->id\">$course->shortname</a> ->
-                      $navmiddle $navtail", "", "", true, $searchform, navmenu($course, $cm));
-    } else {
-        print_header("$course->shortname: ".format_string($discussion->name), $course->fullname,
-                     "$navmiddle $navtail", "", "", true, $searchform, navmenu($course, $cm));
-    }
-
+    
+    $navigation = build_navigation($crumbs, $course); 
+    print_header("$course->shortname: ".format_string($discussion->name), $course->fullname,
+                     $navigation, "", "", true, $searchform, navmenu($course, $cm));
+    
 
 /// Check to see if groups are being used in this forum
 /// If so, make sure the current person is allowed to see this discussion
index 1ed6565f9fccbbfe10e0ec75ae64409d86464561..38a38c656473b514a475d8e0427eadaa6c14e94b 100644 (file)
 
 
     /// Output the page
-
-    if ($course->id != SITEID) {
-        print_header("$course->shortname: $strforums", $course->fullname,
-                    "<a href=\"../../course/view.php?id=$course->id\">$course->shortname</a> -> $strforums",
-                    "", "", true, $searchform, navmenu($course));
-    } else {
-        print_header("$course->shortname: $strforums", $course->fullname, "$strforums",
+    $crumbs[] = array('name' => $strforums, 'link' => '', 'type' => 'activity');
+    
+    print_header("$course->shortname: $strforums", $course->fullname,
+                    build_navigation($crumbs, $course),
                     "", "", true, $searchform, navmenu($course));
-    }
 
     if (!isguest()) {
         print_box_start('subscription');
index 7537506971593e5b6de06a993cfea97fe31af11c..3fff3ddbc9e967957417432e84a2f4f0ffd2b6d2 100644 (file)
         }
 
         $strforums = get_string('modulenameplural', 'forum');
-        if ($course->id != SITEID) {
-            print_header($course->shortname, $course->fullname,
-                 "<a href=\"../../course/view.php?id=$course->id\">$course->shortname</a> ->
-                  <a href=\"../forum/index.php?id=$course->id\">$strforums</a> -> 
-                  <a href=\"view.php?f=$forum->id\">".format_string($forum->name,true)."</a>", '', '', true, "", navmenu($course, $cm));
-        } else {
-            print_header($course->shortname, $course->fullname,
-                 "<a href=\"../forum/index.php?id=$course->id\">$strforums</a> -> 
-                  <a href=\"view.php?f=$forum->id\">".format_string($forum->name,true)."</a>", '', '', true, "", navmenu($course, $cm));
-        }
+        $crumbs[] = array('name' => $strforums, 'link' => "index.php?id=$course->id", 'type' => 'activity');
+        $crumbs[] = array('name' => format_string($forum->name), 'link' => "view.php?f=$forum->id", 'type' => 'activityinstance');
+    
+        $navigation = build_navigation($crumbs, $course, $cm);
+        
+        print_header($course->shortname, $course->fullname, $navigation, '', '', true, "", navmenu($course, $cm));
         notice_yesno(get_string('noguesttracking', 'forum').'<br /><br />'.get_string('liketologin'),
                      $wwwroot, $_SERVER['HTTP_REFERER']);
         print_footer($course);
index c81c4f5e42e0b91009690e9f6aaa048f9e40e867..cfc4ca36bbb66e750510f28e3eccd177ceff249d 100644 (file)
         }
 
         $strforums = get_string('modulenameplural', 'forum');
+
         if (!get_referer()) {   // No referer - probably coming in via email  See MDL-9052
             require_login();
         }
-        if ($course->id != SITEID) {
-            print_header($course->shortname, $course->fullname,
-                 "<a href=\"../../course/view.php?id=$course->id\">$course->shortname</a> ->
-                  <a href=\"../forum/index.php?id=$course->id\">$strforums</a> ->
-                  <a href=\"view.php?f=$forum->id\">".format_string($forum->name, true)."</a>",
-                  '', '', true, "", navmenu($course, $cm));
-        } else {
-            print_header($course->shortname, $course->fullname,
-                 "<a href=\"../forum/index.php?id=$course->id\">$strforums</a> ->
-                  <a href=\"view.php?f=$forum->id\">".format_string($forum->name)."</a>",
-                  '', '', true, "", navmenu($course, $cm));
-        }
+        
+        $crumbs[] = array('name' => get_string("forums", "forum"), 'link' => "../forum/view.php?f=$forum->id", 'type' => 'activity');
+        $crumbs[] = array('name' => format_string($forum->name,true), 'link' => '../forum/index.php?id=$course->id', 'type' => 'activityinstance');
+        
+        $navigation = build_navigation($crumbs, $course);
+        
+        
+        print_header($course->shortname, $course->fullname, $navigation, '' , '', true, "", navmenu($course, $cm));
+
         notice_yesno(get_string('noguestpost', 'forum').'<br /><br />'.get_string('liketologin'),
                      $wwwroot, get_referer(false));
         print_footer($course);
 
             $course = get_record('course', 'id', $forum->course);
             $strforums = get_string("modulenameplural", "forum");
-            print_header_simple(format_string($discussion->name).": ".format_string($post->subject), "",
-                         "<a href=\"../forum/index.php?id=$course->id\">$strforums</a> ->
-                          <a href=\"view.php?f=$forum->id\">".format_string($forum->name, true)."</a> ->
-                          <a href=\"discuss.php?d=$discussion->id\">".format_string($post->subject, true)."</a> -> ".
-                          get_string("prune", "forum"), '', "", true, "", navmenu($course, $cm));
+            
+            $crumbs[] = array('name' => $strforums, 'link' => "../forum/index.php?id=$course->id", 'type' => 'activity');
+            $crumbs[] = array('name' => $forum->name, 'link' => "view.php?f=$forum->id", 'type' => 'activityinstance');
+            $crumbs[] = array('name' => format_string($post->subject, true), 'link' => "discuss.php?d=$discussion->id", 'type' => 'title');
+            $crumbs[] = array('name' => get_string("prune", "forum"), 'link' => '', 'type' => 'title');
+            
+            $navigation = build_navigation($crumbs, $course);
+            
+            print_header_simple(format_string($discussion->name).": ".format_string($post->subject), "", $navigation, '', "", true, "", navmenu($course, $cm));
 
             print_heading(get_string('pruneheading', 'forum'));
             echo '<center>';
                                                        get_string("addanewdiscussion", "forum");
     }
 
+    $strforums = get_string("modulenameplural", "forum");
+
+
+    $crumbs[] = array('name' => $strforums, 'link' => "../forum/index.php?id=$course->id", 'type' => 'activity');
+    $crumbs[] = array('name' => $forum->name, 'link' => "view.php?f=$forum->id", 'type' => 'activityinstance');
 
 
     if ($post->parent) {
-        $navtail = ' -> <a href="discuss.php?d='.$discussion->id.'">'.format_string($toppost->subject, true).'</a> -> '.
-                    get_string('editing', 'forum');
-    } else {
-        $navtail = ' -> '.format_string($toppost->subject);
+        $crumbs[] = array('name' => format_string($toppost->subject, true), 'link' => "discuss.php?d=$discussion->id", 'type' => 'activityinstance');
+        $crumbs[] = array('name' => get_string('editing', 'forum'), 'link' => '', 'type' => 'action');            
+    } else {   
+        $crumbs[] = array('name' => format_string($toppost->subject), 'link' => '', 'type' => 'action');
     }
 
     if (empty($post->edit)) {
         $post->edit = '';
     }
 
-    $strforums = get_string("modulenameplural", "forum");
-
-
-    $navmiddle = "<a href=\"../forum/index.php?id=$course->id\">$strforums</a> -> <a href=\"view.php?f=$forum->id\">".format_string($forum->name, true).'</a> ';
-
+    
     if (empty($discussion->name)) {
         if (empty($discussion)) {
             $discussion = new object;
 
     $forcefocus = empty($reply) ? NULL : 'message';
 
-    if ($course->id != SITEID) {
-        print_header("$course->shortname: $strdiscussionname ".
-                      format_string($toppost->subject), $course->fullname,
-                     "<a href=\"../../course/view.php?id=$course->id\">$course->shortname</a> ->
-                      $navmiddle $navtail", $mform_post->focus($forcefocus), "", true, "", navmenu($course, $cm));
 
-    } else {
-        print_header("$course->shortname: $strdiscussionname ".
-                      format_string($toppost->subject), $course->fullname,
-                     "$navmiddle $navtail", $mform_post->focus($forcefocus), "", true, "", navmenu($course, $cm));
-
-    }
+    $navigation = build_navigation($crumbs, $course);
+     
+    print_header("$course->shortname: $strdiscussionname ".
+                  format_string($toppost->subject), $course->fullname,
+                  $navigation, $mform_post->focus($forcefocus), "", true, "", navmenu($course, $cm));
 
+   
 // checkup
     if (!empty($parent) && !forum_user_can_see_post($forum, $discussion, $post)) {
         error("You cannot reply to this post");
index 6f6bd3bd0ffdbc59d81d43f6cb3ad195459b5d3f..76c416394f85ca7f5924394565f1920a4939b8de 100644 (file)
     $strsearchresults = get_string("searchresults", "forum");
     $strpage = get_string("page");
 
+    $crumbs[] = array('name' => $strforums, 'link' => "index.php?id=$course->id", 'type' => 'activity');
+    
     if (!$search || $showform) {
-        print_header_simple("$strsearch", "",
-                 "<a href=\"index.php?id=$course->id\">$strforums</a> -> $strsearch", 'search.words',
+    
+        $crumns[] = array('name' => $strsearch, 'link' => '', 'type' => 'title');
+        $navigation = build_navigation($crumbs, $course);
+        
+        print_header_simple("$strsearch", "", $navigation, 'search.words',
                   "", "", "&nbsp;", navmenu($course));
 
         forum_print_big_search_form($course);
 
     $searchform = forum_search_form($course, $search);
 
+    $crumbs[] = array('name' => $strsearch, 'link' => "search.php?id=$course->id", 'type' => 'activityinstance');
+    $crumbs[] = array('name' => s($search, true), 'link' => '', 'type' => 'link');
+    $navigation = build_navigation($crumbs, $course);
 
-    if (!$posts = forum_search_posts($searchterms, $course->id, $page*$perpage, $perpage, $totalcount)) {
 
-        print_header_simple("$strsearchresults", "",
-                "<a href=\"index.php?id=$course->id\">$strforums</a> ->
-                <a href=\"search.php?id=$course->id\">$strsearch</a> -> ".s($search, true), 'search.words',
-                "", "", "&nbsp;", navmenu($course));
+    if (!$posts = forum_search_posts($searchterms, $course->id, $page*$perpage, $perpage, $totalcount)) {
+        print_header_simple("$strsearchresults", "", $navigation, 'search.words', "", "", "&nbsp;", navmenu($course));
         print_heading(get_string("nopostscontaining", "forum", $search));
 
         if (!$individualparams) {
         print_footer($course);
         exit;
     }
-
-    print_header_simple("$strsearchresults", "",
-            "<a href=\"index.php?id=$course->id\">$strforums</a> ->
-            <a href=\"search.php?id=$course->id\">$strsearch</a> -> ".s($search, true), '',
-            "", "",  $searchform, navmenu($course));
+    
+    
+    print_header_simple("$strsearchresults", "", $navigation, '', "", "",  $searchform, navmenu($course));
 
     echo '<div class="reportlink">';
     echo '<a href="search.php?id='.$course->id.
index 20754c3a9826153141ee864a3c52e3f73ebf3b24..81f4864c1393ab5462e0d0752496224a6f152305 100644 (file)
         }
 
         $strforums = get_string('modulenameplural', 'forum');
-        if ($course->id != SITEID) {
-            print_header($course->shortname, $course->fullname,
-                 "<a href=\"../../course/view.php?id=$course->id\">$course->shortname</a> ->
-                  <a href=\"../forum/index.php?id=$course->id\">$strforums</a> -> 
-                  <a href=\"view.php?f=$forum->id\">".format_string($forum->name,true)."</a>", '', '', true, "", navmenu($course, $cm));
-        } else {
-            print_header($course->shortname, $course->fullname,
-                 "<a href=\"../forum/index.php?id=$course->id\">$strforums</a> -> 
-                  <a href=\"view.php?f=$forum->id\">".format_string($forum->name,true)."</a>", '', '', true, "", navmenu($course, $cm));
-        }
+        $crumbs[] = array('name' => $strforums, 'link' => "index.php?id=$course->id", 'type' => 'activity');
+        $crumbs[] = array('name' => format_string($forum->name), 'link' => "view.php?f=$forum->id", 'type' => 'activityinstance');
+    
+        $navigation = build_navigation($crumbs, $course, $cm);
+        
+        print_header($course->shortname, $course->fullname, $navigation, '', '', true, "", navmenu($course, $cm));
         notice_yesno(get_string('noguesttracking', 'forum').'<br /><br />'.get_string('liketologin'),
                      $wwwroot, $_SERVER['HTTP_REFERER']);
         print_footer($course);
index d807d8d851efb8038a55097b8654ac2900cd3448..2a856986c49b240b0fd70098acf5900aee4c4e98 100644 (file)
         if (!empty($CFG->loginhttps)) {
             $wwwroot = str_replace('http','https', $wwwroot);
         }
-
+        
         $strforums = get_string('modulenameplural', 'forum');
-        if ($course->id != SITEID) {
-            print_header($course->shortname, $course->fullname,
-                 "<a href=\"../../course/view.php?id=$course->id\">$course->shortname</a> ->
-                  <a href=\"../forum/index.php?id=$course->id\">$strforums</a> -> 
-                  <a href=\"view.php?f=$forum->id\">".format_string($forum->name,true)."</a>", '', '', true, "", navmenu($course, $cm));
-        } else {
-            print_header($course->shortname, $course->fullname,
-                 "<a href=\"../forum/index.php?id=$course->id\">$strforums</a> -> 
-                  <a href=\"view.php?f=$forum->id\">".format_string($forum->name,true)."</a>", '', '', true, "", navmenu($course, $cm));
-        }
+        $crumbs[] = array('name' => $strforums, 'link' => "index.php?id=$course->id", 'type' => 'activity');
+        $crumbs[] = array('name' => format_string($forum->name), 'link' => "view.php?f=$forum->id", 'type' => 'activityinstance');
+    
+        $navigation = build_navigation($crumbs, $course, $cm);
+        
+        print_header($course->shortname, $course->fullname, $navigation, '', '', true, "", navmenu($course, $cm));
+        
         notice_yesno(get_string('noguestsubscribe', 'forum').'<br /><br />'.get_string('liketologin'),
                      $wwwroot, $_SERVER['HTTP_REFERER']);
         print_footer($course);
index d5de7fb8b361dc0631e2983dffbd40efd0a18d78..f8a98c86f6cefb928e4cf02212661eed0222e179 100644 (file)
     $strsubscribers = get_string("subscribers", "forum");
     $strforums      = get_string("forums", "forum");
 
-    $navigation = "<a href=\"index.php?id=$course->id\">$strforums</a> ->
-       <a href=\"view.php?f=$forum->id\">".format_string($forum->name,true)."</a> -> $strsubscribers";
+    $crumbs[] = array('name' => $strforums, 'link' => "index.php?id=$course->id", 'type' => 'activity');
+    $crumbs[] = array('name' => format_string($forum->name), 'link' => "view.php?f=$forum->id", 'type' => 'activityinstance');
+    $crumbs[] = array('name' => $strsubscribers, 'link' => '', 'type' => 'title');
+
+    $navigation = build_navigation($crumbs, $course);
 
     if (has_capability('mod/forum:managesubscriptions', $context)) {
-        print_header_simple("$strsubscribers", "", "$navigation",
+        print_header_simple("$strsubscribers", "", $navigation,
             "", "", true, forum_update_subscriptions_button($course->id, $id));
         if ($edit != -1) {
             $USER->subscriptionsediting = $edit;
         }
     } else {
-        print_header_simple("$strsubscribers", "", "$navigation", "", "", true, '');
+        print_header_simple("$strsubscribers", "", $navigation, "", "", true, '');
         unset($USER->subscriptionsediting);
     }
 
index b7e87c71981d5ca7694da62e5cce725a62bc6337..adf67daa0c00965b10a6fb5fbbb717e77886b995 100644 (file)
     $strmode         = get_string($mode, 'forum');
     $fullname        = fullname($user, has_capability('moodle/site:viewfullnames', $syscontext));
 
-    if ($course->id != SITEID) {
-        print_header("$course->shortname: $fullname: $strmode", $course->fullname,
-                 "<a href=\"$CFG->wwwroot/course/view.php?id=$course->id\">$course->shortname</a> ->
-                  <a href=\"$CFG->wwwroot/user/index.php?id=$course->id\">$strparticipants</a> ->
-                  <a href=\"$CFG->wwwroot/user/view.php?id=$user->id&amp;course=$course->id\">$fullname</a> -> 
-                  $strforumposts -> $strmode");
-    } else {
-        print_header("$course->shortname: $fullname: $strmode", $course->fullname,
-                 "<a href=\"$CFG->wwwroot/user/view.php?id=$user->id&amp;course=$course->id\">$fullname</a> -> 
-                  $strforumposts -> $strmode");
-    }
+    // TODO: add new cookie tail here!
+    $crumbs[] = array('name' => $strparticipants, 'link' => "$CFG->wwwroot/user/index.php?id=$course->id", 'type' => 'core');
+    $crumbs[] = array('name' => $fullname, 'link' => "$CFG->wwwroot/user/view.php?id=$user->id&amp;course=$course->id", 'type' => 'title');
+    $crumbs[] = array('name' => $strforumposts, 'link' => '', 'type' => 'title');
+    $crumbs[] = array('name' => $strmode, 'link' => '', 'type' => 'title');
+    
+    $navigation = build_navigation($crumbs, $course);
+    
+    print_header("$course->shortname: $fullname: $strmode", $course->fullname,$navigation);
+    
 
     $currenttab = $mode;
     $showroles = 1;
index 00fcf70ffce26b8ddad0dc092d1b0816539fd253..cb11bc83bb8174adce18b3223fd258532557711e 100644 (file)
@@ -50,7 +50,6 @@
             $cm->course = $course->id;
             $buttontext = "";
         }
-
     } else {
         error('Must specify a course module or a forum ID');
     }
 
 
 /// Print header.
-    $navigation = "<a href=\"index.php?id=$course->id\">$strforums</a> ->";
+    $crumbs[] = array('name' => $strforums, 'link' => "index.php?id=$course->id", 'type' => 'activity');
+    $crumbs[] = array('name' => format_string($forum->name), 'link' => "view.php?f=$forum->id", 'type' => 'activityinstance');
+    
+    $navigation = build_navigation($crumbs, $course, $cm);
+    
     print_header_simple(format_string($forum->name), "",
-                 "$navigation ".format_string($forum->name), "", "", true, $buttontext, navmenu($course, $cm));
+                 $navigation, "", "", true, $buttontext, navmenu($course, $cm));
 
 
 /// Some capability checks.