Esempio n. 1
0
// 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;
Esempio n. 2
0
$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();