/**
  * 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;
 }
Example #2
0
// 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.