MDL-38593 Merge code from /course/category.php into /course/index.php
This commit is contained in:
@@ -60,7 +60,7 @@ class block_course_list extends block_list {
|
||||
foreach ($categories as $category) {
|
||||
$categoryname = $category->get_formatted_name();
|
||||
$linkcss = $category->visible ? "" : " class=\"dimmed\" ";
|
||||
$this->content->items[]="<a $linkcss href=\"$CFG->wwwroot/course/category.php?id=$category->id\">".$icon . $categoryname . "</a>";
|
||||
$this->content->items[]="<a $linkcss href=\"$CFG->wwwroot/course/index.php?categoryid=$category->id\">".$icon . $categoryname . "</a>";
|
||||
}
|
||||
/// If we can update any course of the view all isn't hidden, show the view all courses link
|
||||
if (has_capability('moodle/course:update', context_system::instance()) || empty($CFG->block_course_list_hideallcourseslink)) {
|
||||
|
||||
+1
-1
@@ -527,7 +527,7 @@ BRANCH.prototype = {
|
||||
url = M.cfg.wwwroot + '/course/index.php';
|
||||
}
|
||||
} else {
|
||||
url = M.cfg.wwwroot+'/course/category.php?id=' + branch.get('key');
|
||||
url = M.cfg.wwwroot+'/course/index.php?categoryid=' + branch.get('key');
|
||||
}
|
||||
branch.addChild({
|
||||
name : M.str.moodle.viewallcourses,
|
||||
|
||||
+3
-48
@@ -24,54 +24,9 @@
|
||||
*/
|
||||
|
||||
require_once("../config.php");
|
||||
require_once($CFG->dirroot.'/course/lib.php');
|
||||
require_once($CFG->libdir.'/textlib.class.php');
|
||||
require_once($CFG->libdir. '/coursecatlib.php');
|
||||
|
||||
$id = required_param('id', PARAM_INT); // Category id
|
||||
$page = optional_param('page', 0, PARAM_INT); // which page to show
|
||||
$categoryid = required_param('id', PARAM_INT); // Category id
|
||||
|
||||
$perpage = optional_param('perpage', $CFG->coursesperpage, PARAM_INT); // how many per page
|
||||
debugging('Please use URL /course/index.php?categoryid=XXX instead of /course/category.php?id=XXX', DEBUG_DEVELOPER);
|
||||
|
||||
if (empty($id)) {
|
||||
print_error("unknowcategory");
|
||||
}
|
||||
|
||||
$PAGE->set_category_by_id($id);
|
||||
$PAGE->set_url(new moodle_url('/course/category.php', array('id' => $id)));
|
||||
// This is sure to be the category context
|
||||
$context = $PAGE->context;
|
||||
// And the object has been loaded for us no need for another DB call
|
||||
$category = $PAGE->category;
|
||||
|
||||
if ($CFG->forcelogin) {
|
||||
require_login();
|
||||
}
|
||||
|
||||
if (!$category->visible) {
|
||||
require_capability('moodle/category:viewhiddencategories', $context);
|
||||
}
|
||||
|
||||
// Prepare the standard URL params for this page. We'll need them later.
|
||||
$urlparams = array('id' => $id);
|
||||
if ($page) {
|
||||
$urlparams['page'] = $page;
|
||||
}
|
||||
if ($perpage) {
|
||||
$urlparams['perpage'] = $perpage;
|
||||
}
|
||||
|
||||
// Begin output
|
||||
$PAGE->set_pagelayout('coursecategory');
|
||||
$courserenderer = $PAGE->get_renderer('core', 'course');
|
||||
$site = get_site();
|
||||
$PAGE->set_title("$site->shortname: $category->name");
|
||||
$PAGE->set_heading($site->fullname);
|
||||
|
||||
$content = $courserenderer->course_category($id);
|
||||
echo $OUTPUT->header();
|
||||
|
||||
|
||||
echo $content;
|
||||
|
||||
echo $OUTPUT->footer();
|
||||
redirect(new moodle_url('/course/index.php', array('categoryid' => $categoryid)));
|
||||
+1
-1
@@ -37,7 +37,7 @@
|
||||
|
||||
$PAGE->navbar->add($stradministration, new moodle_url('/admin/index.php/'));
|
||||
$PAGE->navbar->add($strcategories, new moodle_url('/course/index.php'));
|
||||
$PAGE->navbar->add($categoryname, new moodle_url('/course/category.php', array('id'=>$course->category)));
|
||||
$PAGE->navbar->add($categoryname, new moodle_url('/course/index.php', array('categoryid' => $course->category)));
|
||||
if (! $delete) {
|
||||
$strdeletecheck = get_string("deletecheck", "", $courseshortname);
|
||||
$strdeletecoursecheck = get_string("deletecoursecheck");
|
||||
|
||||
+1
-1
@@ -95,7 +95,7 @@ $editform = new course_edit_form(NULL, array('course'=>$course, 'category'=>$cat
|
||||
if ($editform->is_cancelled()) {
|
||||
switch ($returnto) {
|
||||
case 'category':
|
||||
$url = new moodle_url($CFG->wwwroot.'/course/category.php', array('id'=>$categoryid));
|
||||
$url = new moodle_url($CFG->wwwroot.'/course/index.php', array('categoryid' => $categoryid));
|
||||
break;
|
||||
case 'catmanage':
|
||||
$url = new moodle_url($CFG->wwwroot.'/course/manage.php', array('id'=>$categoryid));
|
||||
|
||||
+19
-12
@@ -24,29 +24,36 @@
|
||||
*/
|
||||
|
||||
require_once("../config.php");
|
||||
require_once("lib.php");
|
||||
require_once($CFG->dirroot. '/course/lib.php');
|
||||
require_once($CFG->libdir. '/coursecatlib.php');
|
||||
|
||||
$categoryid = optional_param('categoryid', 0, PARAM_INT); // Category id
|
||||
$site = get_site();
|
||||
|
||||
$systemcontext = context_system::instance();
|
||||
if ($categoryid) {
|
||||
$PAGE->set_category_by_id($categoryid);
|
||||
$PAGE->set_url(new moodle_url('/course/index.php', array('categoryid' => $categoryid)));
|
||||
// And the object has been loaded for us no need for another DB call
|
||||
$category = $PAGE->category;
|
||||
} else {
|
||||
$categoryid = 0;
|
||||
$PAGE->set_url('/course/index.php');
|
||||
$PAGE->set_context(context_system::instance());
|
||||
}
|
||||
|
||||
$PAGE->set_url('/course/index.php');
|
||||
$PAGE->set_context($systemcontext);
|
||||
$PAGE->set_pagelayout('admin');
|
||||
$PAGE->set_pagelayout('coursecategory');
|
||||
$courserenderer = $PAGE->get_renderer('core', 'course');
|
||||
|
||||
if ($CFG->forcelogin) {
|
||||
require_login();
|
||||
}
|
||||
|
||||
$countcategories = $DB->count_records('course_categories');
|
||||
if (can_edit_in_category()) {
|
||||
$managebutton = $OUTPUT->single_button(new moodle_url('/course/manage.php'),
|
||||
get_string('managecourses'), 'get');
|
||||
$PAGE->set_button($managebutton);
|
||||
if ($categoryid && !$category->visible && !has_capability('moodle/category:viewhiddencategories', $PAGE->context)) {
|
||||
throw new moodle_exception('unknowncategory');
|
||||
}
|
||||
$PAGE->set_heading($COURSE->fullname);
|
||||
$content = $courserenderer->course_category(0);
|
||||
|
||||
$PAGE->set_heading($site->fullname);
|
||||
$content = $courserenderer->course_category($categoryid);
|
||||
|
||||
echo $OUTPUT->header();
|
||||
echo $OUTPUT->skip_link_target();
|
||||
|
||||
+2
-2
@@ -75,7 +75,7 @@ if ($id) {
|
||||
// This is sure to be the category context.
|
||||
$context = $PAGE->context;
|
||||
if (!can_edit_in_category($coursecat->id)) {
|
||||
redirect(new moodle_url('/course/category.php', array('id' => $coursecat->id)));
|
||||
redirect(new moodle_url('/course/index.php', array('categoryid' => $coursecat->id)));
|
||||
}
|
||||
} else {
|
||||
$context = context_system::instance();
|
||||
@@ -298,7 +298,7 @@ if (can_edit_in_category()) {
|
||||
// otherwise the admin block does not appear to this user, and you get an error.
|
||||
require_once($CFG->libdir . '/adminlib.php');
|
||||
if ($id) {
|
||||
navigation_node::override_active_url(new moodle_url('/course/category.php', array('id' => $id)));
|
||||
navigation_node::override_active_url(new moodle_url('/course/index.php', array('categoryid' => $id)));
|
||||
}
|
||||
admin_externalpage_setup('coursemgmt', '', $urlparams, $CFG->wwwroot . '/course/manage.php');
|
||||
$settingsnode = $PAGE->settingsnav->find_active_node();
|
||||
|
||||
+39
-35
@@ -1161,7 +1161,7 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
&& ($cat = coursecat::get($course->category, IGNORE_MISSING))) {
|
||||
$content .= html_writer::start_tag('div', array('class' => 'coursecat'));
|
||||
$content .= get_string('category').': '.
|
||||
html_writer::link(new moodle_url('/course/category.php', array('id' => $cat->id)),
|
||||
html_writer::link(new moodle_url('/course/index.php', array('categoryid' => $cat->id)),
|
||||
$cat->get_formatted_name(), array('class' => $cat->visible ? '' : 'dimmed'));
|
||||
$content .= html_writer::end_tag('div'); // .coursecat
|
||||
}
|
||||
@@ -1300,12 +1300,8 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
}
|
||||
} else if ($viewmoreurl = $chelper->get_categories_display_option('viewmoreurl')) {
|
||||
// the option 'viewmoreurl' was specified, display more link (if it is link to category view page, add category id)
|
||||
if ($viewmoreurl->compare(new moodle_url('/course/category.php'), URL_MATCH_BASE)) {
|
||||
if ($coursecat->id) {
|
||||
$viewmoreurl->param('id', $coursecat->id);
|
||||
} else {
|
||||
$viewmoreurl = new moodle_url('/course/index.php', $viewmoreurl->params());
|
||||
}
|
||||
if ($viewmoreurl->compare(new moodle_url('/course/index.php'), URL_MATCH_BASE)) {
|
||||
$viewmoreurl->param('categoryid', $coursecat->id);
|
||||
}
|
||||
$viewmoretext = $chelper->get_categories_display_option('viewmoretext', new lang_string('viewmore'));
|
||||
$morelink = html_writer::tag('div', html_writer::link($viewmoreurl, $viewmoretext),
|
||||
@@ -1367,8 +1363,8 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
$courses = $coursecat->get_courses($chelper->get_courses_display_options());
|
||||
if ($viewmoreurl = $chelper->get_courses_display_option('viewmoreurl')) {
|
||||
// the option for 'View more' link was specified, display more link (if it is link to category view page, add category id)
|
||||
if ($viewmoreurl->compare(new moodle_url('/course/category.php'), URL_MATCH_BASE)) {
|
||||
$chelper->set_courses_display_option('viewmoreurl', new moodle_url($viewmoreurl, array('id' => $coursecat->id)));
|
||||
if ($viewmoreurl->compare(new moodle_url('/course/index.php'), URL_MATCH_BASE)) {
|
||||
$chelper->set_courses_display_option('viewmoreurl', new moodle_url($viewmoreurl, array('categoryid' => $coursecat->id)));
|
||||
}
|
||||
}
|
||||
$content .= $this->coursecat_courses($chelper, $courses, $coursecat->get_courses_count());
|
||||
@@ -1422,8 +1418,8 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
|
||||
// category name
|
||||
$categoryname = $coursecat->get_formatted_name();
|
||||
$categoryname = html_writer::link(new moodle_url('/course/category.php',
|
||||
array('id' => $coursecat->id)),
|
||||
$categoryname = html_writer::link(new moodle_url('/course/index.php',
|
||||
array('categoryid' => $coursecat->id)),
|
||||
$categoryname);
|
||||
if ($chelper->get_show_courses() == self::COURSECAT_SHOW_COURSES_COUNT
|
||||
&& ($coursescount = $coursecat->get_courses_count())) {
|
||||
@@ -1498,21 +1494,29 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
$site = get_site();
|
||||
$output = '';
|
||||
|
||||
if (!$coursecat->id && coursecat::count_all() == 1) {
|
||||
// There exists only one category in the system, do not display link to it
|
||||
$coursecat = coursecat::get_default();
|
||||
$strfulllistofcourses = get_string('fulllistofcourses');
|
||||
$this->page->set_title("$site->shortname: $strfulllistofcourses");
|
||||
} else if (!$coursecat->id) {
|
||||
$strcategories = get_string('categories');
|
||||
$this->page->set_title("$site->shortname: $strcategories");
|
||||
$this->page->set_button($this->course_search_form('', 'navbar'));
|
||||
if (!$coursecat->id) {
|
||||
if (can_edit_in_category()) {
|
||||
// add 'Manage' button instead of course search form
|
||||
$managebutton = $this->single_button(new moodle_url('/course/manage.php'),
|
||||
get_string('managecourses'), 'get');
|
||||
$this->page->set_button($managebutton);
|
||||
}
|
||||
if (coursecat::count_all() == 1) {
|
||||
// There exists only one category in the system, do not display link to it
|
||||
$coursecat = coursecat::get_default();
|
||||
$strfulllistofcourses = get_string('fulllistofcourses');
|
||||
$this->page->set_title("$site->shortname: $strfulllistofcourses");
|
||||
} else {
|
||||
$strcategories = get_string('categories');
|
||||
$this->page->set_title("$site->shortname: $strcategories");
|
||||
}
|
||||
} else {
|
||||
$this->page->set_title("$site->shortname: ". $coursecat->get_formatted_name());
|
||||
$this->page->set_button($this->course_search_form('', 'navbar'));
|
||||
|
||||
// Print the category selector
|
||||
$output .= html_writer::start_tag('div', array('class' => 'categorypicker'));
|
||||
$select = new single_select(new moodle_url('/course/category.php'), 'id',
|
||||
$select = new single_select(new moodle_url('/course/index.php'), 'categoryid',
|
||||
coursecat::make_categories_list(), $coursecat->id, null, 'switchcategory');
|
||||
$select->set_label(get_string('categories').':');
|
||||
$output .= $this->render($select);
|
||||
@@ -1534,29 +1538,29 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
$browse = optional_param('browse', null, PARAM_ALPHA);
|
||||
$perpage = optional_param('perpage', $CFG->coursesperpage, PARAM_INT);
|
||||
$page = optional_param('page', 0, PARAM_INT);
|
||||
$baseurl = new moodle_url('/course/index.php');
|
||||
if ($coursecat->id) {
|
||||
$baseurl = new moodle_url('/course/category.php', array('id' => $coursecat->id));
|
||||
} else {
|
||||
$baseurl = new moodle_url('/course/index.php');
|
||||
$baseurl->param('categoryid', $coursecat->id);
|
||||
}
|
||||
if ($perpage != $CFG->coursesperpage) {
|
||||
$baseurl->param('perpage', $perpage);
|
||||
}
|
||||
$coursedisplayoptions['limit'] = $perpage;
|
||||
$catdisplayoptions['limit'] = $perpage;
|
||||
if ($browse === 'courses' || !$coursecat->has_children()) {
|
||||
$coursedisplayoptions['limit'] = $perpage;
|
||||
$coursedisplayoptions['offset'] = $page * $perpage;
|
||||
$coursedisplayoptions['paginationurl'] = new moodle_url($baseurl, array('browse' => 'courses', 'perpage' => $perpage));
|
||||
$coursedisplayoptions['paginationurl'] = new moodle_url($baseurl, array('browse' => 'courses'));
|
||||
$catdisplayoptions['nodisplay'] = true;
|
||||
$catdisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'categories', 'page' => 0));
|
||||
$catdisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'categories'));
|
||||
$catdisplayoptions['viewmoretext'] = new lang_string('viewallsubcategories');
|
||||
} else if ($browse === 'categories' || !$coursecat->has_courses()) {
|
||||
$coursedisplayoptions['nodisplay'] = true;
|
||||
$catdisplayoptions['limit'] = $perpage;
|
||||
$catdisplayoptions['offset'] = $page * $perpage;
|
||||
$catdisplayoptions['paginationurl'] = new moodle_url($baseurl, array('browse' => 'categories', 'perpage' => $perpage));
|
||||
$coursedisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'courses', 'page' => 0));
|
||||
$catdisplayoptions['paginationurl'] = new moodle_url($baseurl, array('browse' => 'categories'));
|
||||
$coursedisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'courses'));
|
||||
$coursedisplayoptions['viewmoretext'] = new lang_string('viewallcourses');
|
||||
} else {
|
||||
// we have a category that has both subcategories and courses, display pagination separately
|
||||
$coursedisplayoptions['limit'] = $CFG->coursesperpage;
|
||||
$catdisplayoptions['limit'] = $CFG->coursesperpage;
|
||||
$coursedisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'courses', 'page' => 1));
|
||||
$catdisplayoptions['viewmoreurl'] = new moodle_url($baseurl, array('browse' => 'categories', 'page' => 1));
|
||||
}
|
||||
@@ -1849,12 +1853,12 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
$chelper->set_subcat_depth($CFG->maxcategorydepth)->
|
||||
set_categories_display_options(array(
|
||||
'limit' => $CFG->coursesperpage,
|
||||
'viewmoreurl' => new moodle_url('/course/category.php',
|
||||
'viewmoreurl' => new moodle_url('/course/index.php',
|
||||
array('browse' => 'categories', 'page' => 1))
|
||||
))->
|
||||
set_courses_display_options(array(
|
||||
'limit' => $CFG->coursesperpage,
|
||||
'viewmoreurl' => new moodle_url('/course/category.php',
|
||||
'viewmoreurl' => new moodle_url('/course/index.php',
|
||||
array('browse' => 'courses', 'page' => 1))
|
||||
))->
|
||||
set_attributes(array('class' => 'frontpage-category-combo'));
|
||||
@@ -1874,7 +1878,7 @@ class core_course_renderer extends plugin_renderer_base {
|
||||
set_show_courses(self::COURSECAT_SHOW_COURSES_COUNT)->
|
||||
set_categories_display_options(array(
|
||||
'limit' => $CFG->coursesperpage,
|
||||
'viewmoreurl' => new moodle_url('/course/category.php',
|
||||
'viewmoreurl' => new moodle_url('/course/index.php',
|
||||
array('browse' => 'categories', 'page' => 1))
|
||||
))->
|
||||
set_attributes(array('class' => 'frontpage-category-names'));
|
||||
|
||||
+1
-1
@@ -6281,7 +6281,7 @@ class context_coursecat extends context {
|
||||
* @return moodle_url
|
||||
*/
|
||||
public function get_url() {
|
||||
return new moodle_url('/course/category.php', array('id'=>$this->_instanceid));
|
||||
return new moodle_url('/course/index.php', array('categoryid' => $this->_instanceid));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1693,7 +1693,7 @@ class global_navigation extends navigation_node {
|
||||
$excessivecategories = $DB->get_records_sql($sql, $params);
|
||||
foreach ($categories as &$category) {
|
||||
if (array_key_exists($category->key, $excessivecategories) && !$this->can_add_more_courses_to_category($category)) {
|
||||
$url = new moodle_url('/course/category.php', array('id'=>$category->key));
|
||||
$url = new moodle_url('/course/index.php', array('categoryid' => $category->key));
|
||||
$category->add(get_string('viewallcourses'), $url, self::TYPE_SETTING);
|
||||
}
|
||||
}
|
||||
@@ -1713,7 +1713,7 @@ class global_navigation extends navigation_node {
|
||||
if (array_key_exists($category->id, $this->addedcategories)) {
|
||||
return;
|
||||
}
|
||||
$url = new moodle_url('/course/category.php', array('id' => $category->id));
|
||||
$url = new moodle_url('/course/index.php', array('categoryid' => $category->id));
|
||||
$context = context_coursecat::instance($category->id);
|
||||
$categoryname = format_string($category->name, true, array('context' => $context));
|
||||
$categorynode = $parent->add($categoryname, $url, $nodetype, $categoryname, $category->id);
|
||||
|
||||
+1
-1
@@ -765,7 +765,7 @@
|
||||
foreach ($ras AS $key=>$ra) {
|
||||
$rolename = $allrolenames[$ra['roleid']] ;
|
||||
if ($ra['ctxlevel'] == CONTEXT_COURSECAT) {
|
||||
$rastring .= $rolename. ' @ ' . '<a href="'.$CFG->wwwroot.'/course/category.php?id='.$ra['ctxinstanceid'].'">'.s($ra['ccname']).'</a>';
|
||||
$rastring .= $rolename. ' @ ' . '<a href="'.$CFG->wwwroot.'/course/index.php?categoryid='.$ra['ctxinstanceid'].'">'.s($ra['ccname']).'</a>';
|
||||
} elseif ($ra['ctxlevel'] == CONTEXT_SYSTEM) {
|
||||
$rastring .= $rolename. ' - ' . get_string('globalrole','role');
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user