From f520dcd9bac24442c08dd7e57818748bafb175d6 Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Wed, 21 Mar 2012 09:49:38 +1300 Subject: [PATCH] MDL-31640 course search: Coding style clean up --- course/search.php | 736 ++++++++++++++++++++++++---------------------- 1 file changed, 379 insertions(+), 357 deletions(-) diff --git a/course/search.php b/course/search.php index 3a172f1a352e7..246577cd0344d 100644 --- a/course/search.php +++ b/course/search.php @@ -1,412 +1,434 @@ $searchterm) { - if (strlen($searchterm) < 2) { - unset($searchterms[$key]); - } +// This file is part of Moodle - http://moodle.org/ +// +// Moodle is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// Moodle is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with Moodle. If not, see . + +/** + * Displays external information about a course + * @package core + * @category course + * @copyright 1999 onwards Martin Dougiamas http://dougiamas.com + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +require_once("../config.php"); +require_once($CFG->dirroot.'/course/lib.php'); + +$search = optional_param('search', '', PARAM_RAW); // search words +$page = optional_param('page', 0, PARAM_INT); // which page to show +$perpage = optional_param('perpage', 10, PARAM_INT); // how many per page +$moveto = optional_param('moveto', 0, PARAM_INT); // move to category +$edit = optional_param('edit', -1, PARAM_BOOL); +$hide = optional_param('hide', 0, PARAM_INT); +$show = optional_param('show', 0, PARAM_INT); +$blocklist = optional_param('blocklist', 0, PARAM_INT); +$modulelist= optional_param('modulelist', '', PARAM_PLUGIN); + +// List of minimum capabilities which user need to have for editing/moving course +$capabilities = array('moodle/course:create', 'moodle/category:manage'); + +// List of category id's in which current user has course:create and category:manage capability. +$usercatlist = array(); + +// List of parent category id's +$catparentlist = array(); + +// Populate usercatlist with list of category id's with required capabilities. +make_categories_list($usercatlist, $catparentlist, $capabilities); + +$search = trim(strip_tags($search)); // trim & clean raw searched string +if ($search) { + $searchterms = explode(" ", $search); // Search for words independently + foreach ($searchterms as $key => $searchterm) { + if (strlen($searchterm) < 2) { + unset($searchterms[$key]); } - $search = trim(implode(" ", $searchterms)); } + $search = trim(implode(" ", $searchterms)); +} - $site = get_site(); +$site = get_site(); - $urlparams = array(); - foreach (array('search', 'page', 'blocklist', 'modulelist', 'edit') as $param) { - if (!empty($$param)) { - $urlparams[$param] = $$param; - } +$urlparams = array(); +foreach (array('search', 'page', 'blocklist', 'modulelist', 'edit') as $param) { + if (!empty($$param)) { + $urlparams[$param] = $$param; } - if ($perpage != 10) { - $urlparams['perpage'] = $perpage; +} +if ($perpage != 10) { + $urlparams['perpage'] = $perpage; +} +$PAGE->set_url('/course/search.php', $urlparams); +$PAGE->set_context(context_system::instance()); +$PAGE->set_pagelayout('standard'); + +if ($CFG->forcelogin) { + require_login(); +} + +// Editing is possible if user has system or category level create and manage capability +if (can_edit_in_category() || !empty($usercatlist)) { + if ($edit !== -1) { + $USER->editing = $edit; } - $PAGE->set_url('/course/search.php', $urlparams); - $PAGE->set_context(context_system::instance()); - $PAGE->set_pagelayout('standard'); + $adminediting = $PAGE->user_is_editing(); - if ($CFG->forcelogin) { - require_login(); + // Set perpage if user can edit in category + if ($perpage != 99999) { + $perpage = 30; } - - //Editing is possible if user have system or category level create and manage capability - if (can_edit_in_category() || !empty($usercatlist)) { - if ($edit !== -1) { - $USER->editing = $edit; +} else { + $adminediting = false; +} + +// Editing functions +if (has_capability('moodle/course:visibility', context_system::instance())) { + // Hide or show a course + if (($hide || $show) && confirm_sesskey()) { + if ($hide) { + $course = $DB->get_record("course", array("id" => $hide)); + $visible = 0; + } else { + $course = $DB->get_record("course", array("id" => $show)); + $visible = 1; } - $adminediting = $PAGE->user_is_editing(); - - // Set perpage if user can edit in category - if ($perpage != 99999) { - $perpage = 30; + if ($course) { + $DB->set_field("course", "visible", $visible, array("id" => $course->id)); } - } else { - $adminediting = false; } +} + +$displaylist = array(); +$parentlist = array(); +make_categories_list($displaylist, $parentlist); + +$strcourses = new lang_string("courses"); +$strsearch = new lang_string("search"); +$strsearchresults = new lang_string("searchresults"); +$strcategory = new lang_string("category"); +$strselect = new lang_string("select"); +$strselectall = new lang_string("selectall"); +$strdeselectall = new lang_string("deselectall"); +$stredit = new lang_string("edit"); +$strfrontpage = new lang_string('frontpage', 'admin'); +$strnovalidcourses = new lang_string('novalidcourses'); + +if (empty($search) and empty($blocklist) and empty($modulelist) and empty($moveto) and ($edit != -1)) { + $PAGE->navbar->add($strcourses, new moodle_url('/course/index.php')); + $PAGE->navbar->add($strsearch); + $PAGE->set_title("$site->fullname : $strsearch"); + $PAGE->set_heading($site->fullname); -/// Editing functions - if (has_capability('moodle/course:visibility', context_system::instance())) { - /// Hide or show a course - if ($hide or $show and confirm_sesskey()) { - if ($hide) { - $course = $DB->get_record("course", array("id"=>$hide)); - $visible = 0; - } else { - $course = $DB->get_record("course", array("id"=>$show)); - $visible = 1; - } - if ($course) { - $DB->set_field("course", "visible", $visible, array("id"=>$course->id)); + echo $OUTPUT->header(); + echo $OUTPUT->box_start(); + echo "
"; + echo "
"; + print_course_search("", false, "plain"); + echo "

"; + print_string("searchhelp"); + echo "

"; + echo "
"; + echo $OUTPUT->box_end(); + echo $OUTPUT->footer(); + exit; +} + +$courses = array(); +if (!empty($moveto) and $data = data_submitted() and confirm_sesskey()) { // Some courses are being moved + if (!$destcategory = $DB->get_record("course_categories", array("id" => $moveto))) { + print_error('cannotfindcategory', '', '', $moveto); + } + + // User should have manage and create capablity on destination category. + require_capability('moodle/category:manage', context_coursecat::instance($moveto)); + require_capability('moodle/course:create', context_coursecat::instance($moveto)); + + foreach ( $data as $key => $value ) { + if (preg_match('/^c\d+$/', $key)) { + $courseid = substr($key, 1); + // user must have category:manage and course:create capability for the course to be moved. + $coursecontext = context_course::instance($courseid); + foreach ($capabilities as $capability) { + // Require capability here will result in a fatal error should the user not + // have the requried category ensuring that no moves occur if they are + // trying to move multiple courses. + require_capability($capability, $coursecontext); + array_push($courses, $courseid); } } } + move_courses($courses, $moveto); +} - $displaylist = array(); - $parentlist = array(); - make_categories_list($displaylist, $parentlist); - - $strcourses = get_string("courses"); - $strsearch = get_string("search"); - $strsearchresults = get_string("searchresults"); - $strcategory = get_string("category"); - $strselect = get_string("select"); - $strselectall = get_string("selectall"); - $strdeselectall = get_string("deselectall"); - $stredit = get_string("edit"); - $strfrontpage = get_string('frontpage', 'admin'); - $strnovalidcourses = get_string('novalidcourses'); - - if (empty($search) and empty($blocklist) and empty($modulelist) and empty($moveto) and ($edit != -1)) { - $PAGE->navbar->add($strcourses, new moodle_url('/course/index.php')); - $PAGE->navbar->add($strsearch); - $PAGE->set_title("$site->fullname : $strsearch"); - $PAGE->set_heading($site->fullname); - - echo $OUTPUT->header(); - echo $OUTPUT->box_start(); - echo "
"; - echo "
"; - print_course_search("", false, "plain"); - echo "

"; - print_string("searchhelp"); - echo "

"; - echo "
"; - echo $OUTPUT->box_end(); - echo $OUTPUT->footer(); - exit; +// get list of courses containing blocks if required +if (!empty($blocklist) and confirm_sesskey()) { + $blockname = $DB->get_field('block', 'name', array('id' => $blocklist)); + $courses = array(); + $courses = $DB->get_records_sql(" + SELECT * FROM {course} WHERE id IN ( + SELECT DISTINCT ctx.instanceid + FROM {context} ctx + JOIN {block_instances} bi ON bi.parentcontextid = ctx.id + WHERE ctx.contextlevel = " . CONTEXT_COURSE . " AND bi.blockname = ?)", + array($blockname)); + $totalcount = count($courses); + // Keep only chunk of array which you want to display + if ($totalcount > $perpage) { + $courses = array_chunk($courses, $perpage, true); + $courses = $courses[$page]; + } + foreach ($courses as $course) { + $courses[$course->id] = $course; } +} elseif (!empty($modulelist) and confirm_sesskey()) { // get list of courses containing modules + $modulename = $modulelist; + $sql = "SELECT DISTINCT c.id FROM {".$modulelist."} module, {course} c" + ." WHERE module.course=c.id"; + $courseids = $DB->get_records_sql($sql); $courses = array(); - if (!empty($moveto) and $data = data_submitted() and confirm_sesskey()) { // Some courses are being moved - if (!$destcategory = $DB->get_record("course_categories", array("id" => $moveto))) { - print_error('cannotfindcategory', '', '', $moveto); - } - - //User should have manage and create capablity on destination category. - require_capability('moodle/category:manage', context_coursecat::instance($moveto)); - require_capability('moodle/course:create', context_coursecat::instance($moveto)); - - foreach ( $data as $key => $value ) { - if (preg_match('/^c\d+$/', $key)) { - $courseid = substr($key, 1); - // user must have category:manage and course:create capability for the course to be moved. - $coursecontext = context_course::instance($courseid); - foreach ($capabilities as $capability) { - require_capability($capability, $coursecontext); - array_push($courses, $courseid); - } + if (!empty($courseids)) { + $firstcourse = $page*$perpage; + $lastcourse = $page*$perpage + $perpage -1; + $i = 0; + foreach ($courseids as $courseid) { + if ($i >= $firstcourse && $i <= $lastcourse) { + $courses[$courseid->id] = $DB->get_record('course', array('id'=> $courseid->id)); } + $i++; } - move_courses($courses, $moveto); + $totalcount = count($courseids); } - - // get list of courses containing blocks if required - if (!empty($blocklist) and confirm_sesskey()) { - $blockname = $DB->get_field('block', 'name', array('id' => $blocklist)); - $courses = array(); - $courses = $DB->get_records_sql(" - SELECT * FROM {course} WHERE id IN ( - SELECT DISTINCT ctx.instanceid - FROM {context} ctx - JOIN {block_instances} bi ON bi.parentcontextid = ctx.id - WHERE ctx.contextlevel = " . CONTEXT_COURSE . " AND bi.blockname = ?)", - array($blockname)); - $totalcount = count($courses); - //Keep only chunk of array which you want to display - if ($totalcount > $perpage) { - $courses = array_chunk($courses, $perpage, true); - $courses = $courses[$page]; - } - foreach ($courses as $course) { - $courses[$course->id] = $course; - } - } elseif (!empty($modulelist) and confirm_sesskey()) { // get list of courses containing modules - $modulename = $modulelist; - $sql = "SELECT DISTINCT c.id FROM {".$modulelist."} module, {course} c" - ." WHERE module.course=c.id"; - - $courseids = $DB->get_records_sql($sql); - $courses = array(); - if (!empty($courseids)) { - $firstcourse = $page*$perpage; - $lastcourse = $page*$perpage + $perpage -1; - $i = 0; - foreach ($courseids as $courseid) { - if ($i>= $firstcourse && $i<=$lastcourse) { - $courses[$courseid->id] = $DB->get_record('course', array('id'=> $courseid->id)); - } - $i++; - } - $totalcount = count($courseids); - } - else { - $totalcount = 0; - } - } else if (!empty($searchterm)) { //Donot do search for empty search request. - $courses = get_courses_search($searchterms, "fullname ASC", - $page, $perpage, $totalcount); + else { + $totalcount = 0; } - - $searchform = ''; - //Turn editing should be visible if user have system or category level capability - if (!empty($courses) && (can_edit_in_category() || !empty($usercatlist))) { - if ($PAGE->user_is_editing()) { - $string = get_string("turneditingoff"); - $edit = "off"; - } else { - $string = get_string("turneditingon"); - $edit = "on"; - } - $params = array_merge($urlparams, array('sesskey' => sesskey(), 'edit' => $edit)); - $aurl = new moodle_url("$CFG->wwwroot/course/search.php", $params); - $searchform = $OUTPUT->single_button($aurl, $string, 'get'); +} else if (!empty($searchterm)) { + // Donot do search for empty search request. + $courses = get_courses_search($searchterms, "fullname ASC", $page, $perpage, $totalcount); +} + +$searchform = ''; +// Turn editing should be visible if user have system or category level capability +if (!empty($courses) && (can_edit_in_category() || !empty($usercatlist))) { + if ($PAGE->user_is_editing()) { + $string = new lang_string("turneditingoff"); + $edit = "off"; } else { - $searchform = print_course_search($search, true, "navbar"); + $string = new lang_string("turneditingon"); + $edit = "on"; } - - $PAGE->navbar->add($strcourses, new moodle_url('/course/index.php')); - $PAGE->navbar->add($strsearch, new moodle_url('/course/search.php')); - if (!empty($search)) { - $PAGE->navbar->add(s($search)); + $params = array_merge($urlparams, array('sesskey' => sesskey(), 'edit' => $edit)); + $aurl = new moodle_url("$CFG->wwwroot/course/search.php", $params); + $searchform = $OUTPUT->single_button($aurl, $string, 'get'); +} else { + $searchform = print_course_search($search, true, "navbar"); +} + +$PAGE->navbar->add($strcourses, new moodle_url('/course/index.php')); +$PAGE->navbar->add($strsearch, new moodle_url('/course/search.php')); +if (!empty($search)) { + $PAGE->navbar->add(s($search)); +} +$PAGE->set_title("$site->fullname : $strsearchresults"); +$PAGE->set_heading($site->fullname); +$PAGE->set_button($searchform); + +echo $OUTPUT->header(); + +$lastcategory = -1; +if ($courses) { + echo $OUTPUT->heading("$strsearchresults: $totalcount"); + $encodedsearch = urlencode($search); + + // add the module/block parameter to the paging bar if they exists + $modulelink = ""; + if (!empty($modulelist) and confirm_sesskey()) { + $modulelink = "&modulelist=".$modulelist."&sesskey=".sesskey(); + } else if (!empty($blocklist) and confirm_sesskey()) { + $modulelink = "&blocklist=".$blocklist."&sesskey=".sesskey(); } - $PAGE->set_title("$site->fullname : $strsearchresults"); - $PAGE->set_heading($site->fullname); - $PAGE->set_button($searchform); - echo $OUTPUT->header(); + print_navigation_bar($totalcount, $page, $perpage, $encodedsearch, $modulelink); - $lastcategory = -1; - if ($courses) { - echo $OUTPUT->heading("$strsearchresults: $totalcount"); - $encodedsearch = urlencode($search); - - // add the module/block parameter to the paging bar if they exists - $modulelink = ""; + // Show list of courses + if (!$adminediting) { //Not editing mode + foreach ($courses as $course) { + // front page don't belong to any category and block can exist. + if ($course->category > 0) { + $course->summary .= "

"; + $course->summary .= "$strcategory: category\">"; + $course->summary .= $displaylist[$course->category]; + $course->summary .= "

"; + } + print_course($course, $search); + echo $OUTPUT->spacer(array('height'=>5, 'width'=>5, 'br'=>true)); // should be done with CSS instead + } + } else { + // Editing mode + echo "
\n"; + echo "
\n"; + echo "\n"; + echo "\n"; + echo "
\n"; if (!empty($modulelist) and confirm_sesskey()) { - $modulelink = "&modulelist=".$modulelist."&sesskey=".sesskey(); + echo "\n"; } else if (!empty($blocklist) and confirm_sesskey()) { - $modulelink = "&blocklist=".$blocklist."&sesskey=".sesskey(); + echo "\n"; } + echo "\n\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; - print_navigation_bar($totalcount, $page, $perpage, $encodedsearch, $modulelink); - - // Show list of courses - if (!$adminediting) { //Not editing mode - foreach ($courses as $course) { - // front page don't belong to any category and block can exist. - if ($course->category > 0) { - $course->summary .= "

"; - $course->summary .= "$strcategory: category\">"; - $course->summary .= $displaylist[$course->category]; - $course->summary .= "

"; - } - print_course($course, $search); - echo $OUTPUT->spacer(array('height'=>5, 'width'=>5, 'br'=>true)); // should be done with CSS instead - } - } else { //editing mode - echo "\n"; - echo "
\n"; - echo "\n"; - echo "\n"; - echo "
\n"; - if (!empty($modulelist) and confirm_sesskey()) { - echo "\n"; - } else if (!empty($blocklist) and confirm_sesskey()) { - echo "\n"; - } - echo "
$strcourses$strcategory$strselect$stredit
\n\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - - foreach ($courses as $course) { - - $coursecontext = context_course::instance($course->id); - - $linkcss = $course->visible ? "" : " class=\"dimmed\" "; + foreach ($courses as $course) { - // are we displaying the front page (courseid=1)? - if ($course->id == 1) { - echo "\n"; - echo "\n"; + $coursecontext = context_course::instance($course->id); - // can't do anything else with the front page - echo " \n"; // category place - echo " \n"; // select place - echo " \n"; // edit place - echo "\n"; - continue; - } + $linkcss = $course->visible ? "" : " class=\"dimmed\" "; + // are we displaying the front page (courseid=1)? + if ($course->id == 1) { echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + + // can't do anything else with the front page + echo " \n"; // category place + echo " \n"; // select place + echo " \n"; // edit place + echo "\n"; + continue; + } - echo "\n"; - echo "\n"; + echo "\n"; + echo "\n"; + echo "\n"; + echo "\n\n"; } - echo "\n\n\n"; - echo "
$strcourses$strcategory$strselect$stredit
wwwroot\">$strfrontpage   
id\">" - . highlight($search, format_string($course->fullname)) . "".$displaylist[$course->category]."\n"; - - // If user has all required capabilities to move course then show selectable checkbox - if (has_all_capabilities($capabilities, $coursecontext)) { - echo "id\" />\n"; - } else { - echo "id\" disabled=\"disabled\" />\n"; - } + echo "wwwroot\">$strfrontpage   
\n"; + echo "
id\">" + . highlight($search, format_string($course->fullname)) . "".$displaylist[$course->category]."\n"; - // checks whether user can update course settings - if (has_capability('moodle/course:update', $coursecontext)) { - echo "wwwroot/course/edit.php?id=$course->id\">\npix_url('t/edit') . "\" class=\"iconsmall\" alt=\"".get_string("settings")."\" />\n "; - } + // If user has all required capabilities to move course then show selectable checkbox + if (has_all_capabilities($capabilities, $coursecontext)) { + echo "id\" />\n"; + } else { + echo "id\" disabled=\"disabled\" />\n"; + } - // checks whether user can do role assignment - if (has_capability('moodle/course:enrolreview', $coursecontext)) { - echo''; - echo ''.get_string('enrolledusers', 'enrol').' ' . "\n"; - } + echo "\n"; - // checks whether user can delete course - if (has_capability('moodle/course:delete', $coursecontext)) { - echo "id\">\npix_url('t/delete') . "\" class=\"iconsmall\" alt=\"".get_string("delete")."\" />\n "; - } + // checks whether user can update course settings + if (has_capability('moodle/course:update', $coursecontext)) { + echo "wwwroot/course/edit.php?id=$course->id\">\npix_url('t/edit') . "\" class=\"iconsmall\" alt=\"".get_string("settings")."\" />\n "; + } - // checks whether user can change visibility - if (has_capability('moodle/course:visibility', $coursecontext)) { - if (!empty($course->visible)) { - echo "id&sesskey=".sesskey()."\">\npix_url('t/hide') . "\" class=\"iconsmall\" alt=\"".get_string("hide")."\" />\n "; - } else { - echo "id&sesskey=".sesskey()."\">\npix_url('t/show') . "\" class=\"iconsmall\" alt=\"".get_string("show")."\" />\n "; - } - } + // checks whether user can do role assignment + if (has_capability('moodle/course:enrolreview', $coursecontext)) { + echo''; + echo ''.get_string('enrolledusers', 'enrol').' ' . "\n"; + } - // checks whether user can do site backup - if (has_capability('moodle/backup:backupcourse', $coursecontext)) { - $backupurl = new moodle_url('/backup/backup.php', array('id' => $course->id)); - echo "\npix_url('t/backup') . "\" class=\"iconsmall\" alt=\"".get_string("backup")."\" />\n "; - } + // checks whether user can delete course + if (has_capability('moodle/course:delete', $coursecontext)) { + echo "id\">\npix_url('t/delete') . "\" class=\"iconsmall\" alt=\"".get_string("delete")."\" />\n "; + } - // checks whether user can do restore - if (has_capability('moodle/restore:restorecourse', $coursecontext)) { - $restoreurl = new moodle_url('/backup/restorefile.php', array('contextid' => $coursecontext->id)); - echo "\npix_url('t/restore') . "\" class=\"iconsmall\" alt=\"".get_string("restore")."\" />\n "; + // checks whether user can change visibility + if (has_capability('moodle/course:visibility', $coursecontext)) { + if (!empty($course->visible)) { + echo "id&sesskey=".sesskey()."\">\npix_url('t/hide') . "\" class=\"iconsmall\" alt=\"".get_string("hide")."\" />\n "; + } else { + echo "id&sesskey=".sesskey()."\">\npix_url('t/show') . "\" class=\"iconsmall\" alt=\"".get_string("show")."\" />\n "; } - - echo "
\n"; - echo "
"; - echo "\n"; - echo "\n"; - //Select box should only show categories in which user has min capability to move course. - echo html_writer::select($usercatlist, 'moveto', '', array(''=>get_string('moveselectedcoursesto')), array('id'=>'movetoid')); - $PAGE->requires->js_init_call('M.util.init_select_autosubmit', array('movecourses', 'movetoid', false)); - echo "
\n
"; - } + // checks whether user can do site backup + if (has_capability('moodle/backup:backupcourse', $coursecontext)) { + $backupurl = new moodle_url('/backup/backup.php', array('id' => $course->id)); + echo "\npix_url('t/backup') . "\" class=\"iconsmall\" alt=\"".get_string("backup")."\" />\n "; + } - print_navigation_bar($totalcount,$page,$perpage,$encodedsearch,$modulelink); + // checks whether user can do restore + if (has_capability('moodle/restore:restorecourse', $coursecontext)) { + $restoreurl = new moodle_url('/backup/restorefile.php', array('contextid' => $coursecontext->id)); + echo "\npix_url('t/restore') . "\" class=\"iconsmall\" alt=\"".get_string("restore")."\" />\n "; + } - } else { - if (!empty($search)) { - echo $OUTPUT->heading(get_string("nocoursesfound",'', s($search))); - } - else { - echo $OUTPUT->heading( $strnovalidcourses ); + echo "\n\n"; } - } - - echo "

"; - - print_course_search($search); + echo "\n\n"; + echo "
"; + echo "\n"; + echo "\n"; + // Select box should only show categories in which user has min capability to move course. + echo html_writer::select($usercatlist, 'moveto', '', array(''=>get_string('moveselectedcoursesto')), array('id'=>'movetoid')); + $PAGE->requires->js_init_call('M.util.init_select_autosubmit', array('movecourses', 'movetoid', false)); + echo "\n\n"; + echo "\n"; - echo $OUTPUT->footer(); + } - /** - * Print a list navigation bar - * Display page numbers, and a link for displaying all entries - * @param integer $totalcount - number of entry to display - * @param integer $page - page number - * @param integer $perpage - number of entry per page - * @param string $encodedsearch - * @param string $modulelink - module name - */ - function print_navigation_bar($totalcount,$page,$perpage,$encodedsearch,$modulelink) { - global $OUTPUT; - echo $OUTPUT->paging_bar($totalcount, $page, $perpage, "search.php?search=$encodedsearch".$modulelink."&perpage=$perpage"); - - //display - if ($perpage != 99999 && $totalcount > $perpage) { - echo "

"; - echo "".get_string("showall", "", $totalcount).""; - echo "

"; - } else if ($perpage === 99999) { - $defaultperpage = 10; - //If user has course:create or category:manage capability the show 30 records. - $capabilities = array('moodle/course:create', 'moodle/category:manage'); - if (has_any_capability($capabilities, context_system::instance())) { - $defaultperpage = 30; - } + print_navigation_bar($totalcount,$page,$perpage,$encodedsearch,$modulelink); - echo "

"; - echo "".get_string("showperpage", "", $defaultperpage).""; - echo "

"; - } +} else { + if (!empty($search)) { + echo $OUTPUT->heading(get_string("nocoursesfound",'', s($search))); } + else { + echo $OUTPUT->heading($strnovalidcourses); + } +} + +echo "

"; + +print_course_search($search); + +echo $OUTPUT->footer(); + +/** + * Print a list navigation bar + * Display page numbers, and a link for displaying all entries + * @param int $totalcount number of entry to display + * @param int $page page number + * @param int $perpage number of entry per page + * @param string $encodedsearch + * @param string $modulelink module name + */ +function print_navigation_bar($totalcount, $page, $perpage, $encodedsearch, $modulelink) { + global $OUTPUT; + echo $OUTPUT->paging_bar($totalcount, $page, $perpage, "search.php?search=$encodedsearch".$modulelink."&perpage=$perpage"); + + // display + if ($perpage != 99999 && $totalcount > $perpage) { + echo "

"; + echo "".get_string("showall", "", $totalcount).""; + echo "

"; + } else if ($perpage === 99999) { + $defaultperpage = 10; + // If user has course:create or category:manage capability the show 30 records. + $capabilities = array('moodle/course:create', 'moodle/category:manage'); + if (has_any_capability($capabilities, context_system::instance())) { + $defaultperpage = 30; + } - + echo "

"; + echo "".get_string("showperpage", "", $defaultperpage).""; + echo "

"; + } +} \ No newline at end of file