diff --git a/course/lib.php b/course/lib.php index 07006ee6c51..69fec5843e9 100644 --- a/course/lib.php +++ b/course/lib.php @@ -2009,8 +2009,10 @@ function print_category_info($category, $depth, $showcourses = false) { $strsummary = get_string('summary'); - $catlinkcss = $category->visible ? '' : ' class="dimmed" '; - + $catlinkcss = null; + if (!$category->visible) { + $catlinkcss = array('class'=>'dimmed'); + } static $coursecount = null; if (null === $coursecount) { // only need to check this once @@ -2025,25 +2027,22 @@ function print_category_info($category, $depth, $showcourses = false) { $courses = get_courses($category->id, 'c.sortorder ASC', 'c.id,c.sortorder,c.visible,c.fullname,c.shortname,c.summary'); if ($showcourses and $coursecount) { - echo '<div class="categorylist clearfix">'; - echo '<div class="category">'; + echo '<div class="categorylist clearfix">'; $cat = ''; - $cat .= html_writer::tag('div', $catimage, array('class'=>'image')); - $catlink = '<a '.$catlinkcss.' href="'.$CFG->wwwroot.'/course/category.php?id='.$category->id.'">'. format_string($category->name).'</a>'; + $cat .= html_writer::tag('div', $catimage, array('class'=>'image')); + $catlink = html_writer::link(new moodle_url('/course/category.php', array('id'=>$category->id)), format_string($category->name), $catlinkcss); $cat .= html_writer::tag('div', $catlink, array('class'=>'name')); - $indent = ''; + $html = ''; if ($depth > 0) { for ($i=0; $i< $depth; $i++) { - $indent = html_writer::tag('div', $indent .$cat, array('class'=>'indentation')); + $html = html_writer::tag('div', $html . $cat, array('class'=>'indentation')); $cat = ''; } } else { - $indent = $cat; + $html = $cat; } - echo $indent; - echo '</div>'; - + echo html_writer::tag('div', $html, array('class'=>'category')); echo html_writer::tag('div', '', array('class'=>'clearfloat')); // does the depth exceed maxcategorydepth @@ -2051,10 +2050,13 @@ function print_category_info($category, $depth, $showcourses = false) { $limit = !(isset($CFG->maxcategorydepth) && ($depth >= $CFG->maxcategorydepth-1)); if ($courses && ($limit || $CFG->maxcategorydepth == 0)) { foreach ($courses as $course) { - $linkcss = $course->visible ? '' : ' class="dimmed" '; - + $linkcss = null; + if (!$course->visible) { + $linkcss = array('class'=>'dimmed'); + } + $coursecontent = ''; - $courselink = '<a '.$linkcss.' href="'.$CFG->wwwroot.'/course/view.php?id='.$course->id.'">'. format_string($course->fullname).'</a>'; + $courselink = html_writer::link(new moodle_url('/course/view.php', array('id'=>$course->id)), format_string($course->fullname), $linkcss); $coursecontent .= html_writer::tag('div', $courselink, array('class'=>'name')); //TODO: add some guest, pay icons @@ -2067,25 +2069,32 @@ function print_category_info($category, $depth, $showcourses = false) { $coursecontent .= html_writer::tag('div', $actionlink, array('class'=>'info')); } - $indent = ''; + $html = ''; for ($i=1; $i <= $depth; $i++) { - $indent = html_writer::tag('div', $indent . $coursecontent , array('class'=>'indentation')); + $html = html_writer::tag('div', $html . $coursecontent , array('class'=>'indentation')); $coursecontent = ''; } - echo html_writer::tag('div', $indent, array('class'=>'course clearfloat')); + echo html_writer::tag('div', $html, array('class'=>'course clearfloat')); } } echo '</div>'; } else { - echo '<div class="categorylist">'; - echo '<div class="category">'; - if ($depth) { - $indent = $depth*20; - echo $OUTPUT->spacer(array('height'=>10, 'width'=>$indent, 'br'=>true)); // should be done with CSS instead + echo '<div class="categorylist">'; + $html = ''; + $cat = html_writer::link(new moodle_url('/course/category.php', array('id'=>$category->id)), format_string($category->name), $catlinkcss); + $cat .= html_writer::tag('span', '('.count($courses).')', array('title'=>get_string('numberofcourses'), 'class'=>'numberofcourse')); + + if ($depth > 0) { + for ($i=0; $i< $depth; $i++) { + $html = html_writer::tag('div', $html .$cat, array('class'=>'indentation')); + $cat = ''; + } + } else { + $html = $cat; } - echo '<a '.$catlinkcss.' href="'.$CFG->wwwroot.'/course/category.php?id='.$category->id.'">'. format_string($category->name).'</a>'; - echo '<span class="numberofcourse" title="' .get_string('numberofcourses') . '"> ('.count($courses).')</span>'; - echo '</div>'; + + echo html_writer::tag('div', $html, array('class'=>'category')); + echo html_writer::tag('div', '', array('class'=>'clearfloat')); echo '</div>'; } } diff --git a/theme/base/style/course.css b/theme/base/style/course.css index 6dcc664507f..6691a53cb7e 100644 --- a/theme/base/style/course.css +++ b/theme/base/style/course.css @@ -83,8 +83,8 @@ .categorylist .course .info {float:left;text-align: left;} .categorylist .course {padding-left:18px;} -#page-course-index .indentation {padding-left: 30px;} -#page-course-index .category .image {padding-right: 5px;} +.categorylist .indentation {padding-left: 20px;} +#page-course-index .category .image {padding-right: 2px;} .path-course-report-outline td.numviews {text-align:right;} .path-course-report-outline tr.section {text-align: center;}