} // Finally start page output echo $OUTPUT->header(); echo $OUTPUT->heading_with_help($title, 'overridepermissions', 'role'); // Show UI for overriding roles. if (!empty($capabilities)) { echo $OUTPUT->box(get_string('nocapabilitiesincontext', 'role'), 'generalbox boxaligncenter'); } else { // Print the capabilities overrideable in this context echo $OUTPUT->box_start('generalbox capbox'); echo html_writer::start_tag('form', array('id' => 'overrideform', 'action' => $PAGE->url->out(), 'method' => 'post')); echo html_writer::start_tag('div'); echo html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey())); echo html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'roleid', 'value' => $roleid)); echo html_writer::tag('p', get_string('highlightedcellsshowinherit', 'role'), array('class' => 'overridenotice')); $overridestable->display(); if ($overridestable->has_locked_capabilities()) { echo '<p class="overridenotice">' . get_string('safeoverridenotice', 'role') . "</p>\n"; } echo html_writer::start_tag('div', array('class' => 'submit_buttons')); echo html_writer::empty_tag('input', array('type' => 'submit', 'name' => 'savechanges', 'value' => get_string('savechanges'))); echo html_writer::empty_tag('input', array('type' => 'submit', 'name' => 'cancel', 'value' => get_string('cancel'))); echo html_writer::end_tag('div'); echo html_writer::end_tag('div'); echo html_writer::end_tag('form'); echo $OUTPUT->box_end(); } // Print a form to swap roles, and a link back to the all roles list. echo html_writer::start_tag('div', array('class' => 'backlink')); $select = new single_select($PAGE->url, 'roleid', $nameswithcounts, $roleid, null); $select->label = get_string('overrideanotherrole', 'role');