/** * Gets user course sorting preference in course_overview block * * @return array list of course ids */ function block_course_overview_get_myorder() { if ($value = get_user_preferences('course_overview_course_sortorder')) { return explode(',', $value); } // If preference was not found, look in the old location and convert if found. $order = array(); if ($value = get_user_preferences('course_overview_course_order')) { $order = unserialize($value); block_course_overview_update_myorder($order); unset_user_preference('course_overview_course_order'); } return $order; }
print_error("listcantmoveup"); } else { if ($destination >= count($courses_sorted)) { print_error("listcantmovedown"); } } // Create neworder list for courses. unset($sortorder[$sourcekey]); if ($move == -1) { if ($destination > 0) { $neworder = array_slice($sortorder, 0, $destination, true); } $neworder[] = $source; $remaningcourses = array_slice($sortorder, $destination); foreach ($remaningcourses as $courseid) { $neworder[] = $courseid; } } else { if ($move == 1) { $neworder = array_slice($sortorder, 0, $destination); $neworder[] = $source; if ($destination < count($courses_sorted)) { $remaningcourses = array_slice($sortorder, $destination); foreach ($remaningcourses as $courseid) { $neworder[] = $courseid; } } } } block_course_overview_update_myorder($neworder); redirect(new moodle_url('/my/index.php'));
<?php // 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 <http://www.gnu.org/licenses/>. /** * Save course order in course_overview block * * @package block_course_overview * @copyright 2012 Adam Olley <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ define('AJAX_SCRIPT', true); require_once dirname(__FILE__) . '/../../config.php'; require_once dirname(__FILE__) . '/locallib.php'; require_sesskey(); require_login(); $sortorder = required_param_array('sortorder', PARAM_INT); block_course_overview_update_myorder($sortorder);
require_once dirname(__FILE__) . '/locallib.php'; require_sesskey(); require_login(); $coursetomove = required_param('courseid', PARAM_INT); $moveto = required_param('moveto', PARAM_INT); list($courses, $sitecourses, $coursecount) = block_course_overview_get_sorted_courses(); $sortedcourses = array_keys($courses); $currentcourseindex = array_search($coursetomove, $sortedcourses); // If coursetomove is not found or moveto < 0 or > count($sortedcourses) then throw error. if ($currentcourseindex === false) { print_error("invalidcourseid", null, null, $coursetomove); } else { if ($moveto < 0 || $moveto >= count($sortedcourses)) { print_error("invalidaction"); } } // If current course index is same as destination index then don't do anything. if ($currentcourseindex === $moveto) { redirect(new moodle_url('/my/index.php')); } // Create neworder list for courses. $neworder = array(); unset($sortedcourses[$currentcourseindex]); $neworder = array_slice($sortedcourses, 0, $moveto, true); $neworder[] = $coursetomove; $remaningcourses = array_slice($sortedcourses, $moveto); foreach ($remaningcourses as $courseid) { $neworder[] = $courseid; } block_course_overview_update_myorder(array_values($neworder)); redirect(new moodle_url('/my/index.php'));