// Page info. $PAGE->set_context($context); $PAGE->set_pagelayout('course'); $PAGE->set_title($strcourserules); $PAGE->set_heading($COURSE->fullname); $PAGE->set_url($url); $renderer = $PAGE->get_renderer('block_xp'); $manager = block_xp_manager::get($courseid); $filtermanager = $manager->get_filter_manager(); $userfilters = $filtermanager->get_user_filters(); // Check for $add. if ($add !== preg_replace('/[^a-z0-9_\\\\]/', '', $add)) { // Invalid event. $add = null; } $form = new block_xp_rules_form($url, array('filters' => $userfilters, 'staticfilters' => block_xp_filter_manager::get_static_filters(), 'add' => $add)); if ($data = $form->get_data()) { // New rules. foreach ($data->newfilter as $key => $values) { if (empty($values['value'])) { continue; } $rule = new block_xp_rule_property($values['compare'], $values['value'], $values['property']); $filter = block_xp_filter::load_from_data(array('rule' => $rule, 'courseid' => $manager->get_courseid(), 'points' => $values['f_points'], 'sortorder' => 0)); $filter->save(); } // Existing rules. if (isset($data->filter)) { foreach ($data->filter as $id => $values) { if ($id < 1 || !isset($userfilters[$id])) { continue;
$a->doc = (new moodle_url('https://docs.moodle.org/dev/Event_2'))->out(); echo get_string('rulesformhelp', 'block_xp', $a); echo html_writer::start_div('block-xp-filters-wrapper'); echo html_writer::start_tag('form', array('method' => 'POST', 'class' => 'block-xp-filters')); echo html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey())); $addlink = html_writer::start_tag('li', array('class' => 'filter-add')); $addlink .= $renderer->action_link('#', get_string('addarule', 'block_xp'), null, null, new pix_icon('t/add', '', '', array('class' => 'iconsmall'))); $addlink .= html_writer::end_tag('li'); echo $OUTPUT->heading(get_string('yourownrules', 'block_xp'), 3); echo html_writer::start_tag('ul', array('class' => 'filters-list filters-editable')); echo $addlink; foreach ($userfilters as $filter) { echo $renderer->render($filter); echo $addlink; } echo html_writer::end_tag('ul'); echo html_writer::start_tag('p'); echo html_writer::empty_tag('input', array('value' => get_string('savechanges'), 'type' => 'submit', 'name' => 'save')); echo ' '; echo html_writer::empty_tag('input', array('value' => get_string('cancel'), 'type' => 'submit', 'name' => 'cancel')); echo html_writer::end_tag('p'); echo html_writer::end_tag('form'); echo $OUTPUT->heading(get_string('defaultrules', 'block_xp'), 3); echo html_writer::tag('p', get_string('defaultrulesformhelp', 'block_xp')); echo html_writer::start_tag('ul', array('class' => 'filters-list filters-readonly')); foreach (block_xp_filter_manager::get_static_filters() as $filter) { echo $renderer->render($filter); } echo html_writer::end_tag('ul'); echo html_writer::end_div(); echo $OUTPUT->footer();