/** * Return contents of course_overview block * * @return stdClass contents of block */ public function get_content() { global $CFG; require_once $CFG->dirroot . '/user/profile/lib.php'; if ($this->content !== null) { return $this->content; } $config = get_config('block_course_overview_lite'); $this->content = new stdClass(); $this->content->text = ''; $this->content->footer = ''; $updatemynumber = optional_param('mynumber', -1, PARAM_INT); if ($updatemynumber >= 0) { block_course_overview_lite_update_mynumber($updatemynumber); } list($sortedcourses, $numcourses, $numhidden) = block_course_overview_lite_get_sorted_courses(); $renderer = $this->page->get_renderer('block_course_overview_lite'); if (!empty($config->showwelcomearea) && !empty($config->welcomeareatext)) { $this->content->text = $renderer->welcome_area($config->welcomeareatext); } // Number of sites to display. if ($this->page->user_is_editing() && empty($config->forcedefaultmaxcourses)) { $this->content->text .= $renderer->editing_bar_head($numcourses); } // Load up the course detailed view info. $overviews = array(); $this->content->text .= $renderer->course_overview($sortedcourses, $overviews); $this->content->text .= $renderer->hidden_courses($numhidden); $this->page->requires->js_init_call('M.block_course_overview_lite.init'); if ($this->page->user_is_editing()) { $this->page->requires->js_init_call('M.block_course_overview_lite.add_handles'); } return $this->content; }
// You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Move/order course functionality for course_overview block. * * @package block_course_overview_lite * @copyright 2014 Josh Stagg <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once dirname(__FILE__) . '/../../config.php'; require_once dirname(__FILE__) . '/locallib.php'; require_sesskey(); require_login(); $source = required_param('source', PARAM_INT); $move = required_param('move', PARAM_INT); list($sortedcourses, $numcourses, $numhidden, $ajax) = block_course_overview_lite_get_sorted_courses(false); $sortorder = array(); foreach ($sortedcourses as $key => $course) { $sortorder[] = $course->id; } // Now resort based on new weight for chosen course. $neworder = array(); $sourcekey = array_search($source, $sortorder); if ($sourcekey === false) { print_error("invalidcourseid", null, null, $source); } $destination = $sourcekey + $move; if ($destination < 0) { print_error("listcantmoveup"); } else { if ($destination >= count($sortedcourses)) {
*/ define('AJAX_SCRIPT', true); /* Include config */ require_once dirname(__FILE__) . '/../../config.php'; /* Include course lib for its functions */ require_once $CFG->dirroot . '/blocks/course_overview_lite/locallib.php'; require_sesskey(); require_login(); $edit = optional_param('edit', false, PARAM_BOOL); global $USER; try { // Start buffer capture so that we can remove any errors. ob_start(); $json = array(); if (confirm_sesskey()) { list($json, $totalcourses, $numhidden, $ajax) = block_course_overview_lite_get_sorted_courses(false); } // Stop buffering errors at this point. $html = ob_get_contents(); ob_end_clean(); } catch (Exception $e) { die(json_encode(array('error' => 'Exception raised', 'data' => $e->getMessage()))); } header('Content-type: text/json; charset=utf-8'); // Check if the buffer contained anything if it did ERROR! if (trim($html) !== '') { $error = json_encode(array('error' => 'Errors were encountered while producing the course list', 'data' => $html, 'user' => $USER->id)); error_log($error); die($error); } // Output json.