forked from amandadoughty/moodle-block_culupcoming_events
-
Notifications
You must be signed in to change notification settings - Fork 0
/
scroll_ajax.php
71 lines (61 loc) · 2.01 KB
/
scroll_ajax.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?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/>.
/**
* CUL upcoming events block
*
* Appends events asynchronously on scroll.
*
* @package block/culupcoming_events
* @copyright Amanda Doughty
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
*
*/
define('AJAX_SCRIPT', true);
require_once(dirname(__FILE__) . '/../../config.php');
require_once($CFG->dirroot . '/calendar/lib.php');
use block_culupcoming_events\output\eventlist;
require_sesskey();
require_login();
$PAGE->set_context(context_system::instance());
$lookahead = required_param('lookahead', PARAM_INT);
$courseid = required_param('courseid', PARAM_INT);
$lastid = required_param('lastid', PARAM_INT);
$limitnum = required_param('limitnum', PARAM_INT);
$list = '';
$end = false;
$renderer = $PAGE->get_renderer('block_culupcoming_events');
$eventlist = new eventlist(
$lookahead,
$courseid,
$lastid,
0,
0,
$limitnum,
0
);
$templatecontext = $eventlist->export_for_template($renderer);
$events = $templatecontext['events'];
$more = $templatecontext['more'];
if ($events) {
foreach ($events as $event) {
$list .= $renderer->render_from_template('block_culupcoming_events/event', $event);
}
}
if (!$more) {
$list .= html_writer::tag('li', get_string('nomoreevents', 'block_culupcoming_events'));
$end = true;
}
echo json_encode(['output' => $list, 'end' => $end]);