. /** * Clone outage. * * @package auth_outage * @author Daniel Thee Roperto * @copyright 2016 Catalyst IT * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ use auth_outage\dml\outagedb; use auth_outage\form\outage\edit; use auth_outage\output\renderer; require_once(__DIR__.'/../../config.php'); require_once($CFG->libdir.'/adminlib.php'); require_once($CFG->libdir.'/formslib.php'); admin_externalpage_setup('auth_outage_manage'); $PAGE->set_url(new moodle_url('/auth/outage/manage.php')); $mform = new edit(); if ($mform->is_cancelled()) { redirect('/auth/outage/manage.php'); } else if ($outage = $mform->get_data()) { $id = outagedb::save($outage); redirect('/auth/outage/manage.php#auth_outage_id_'.$id); } $id = required_param('id', PARAM_INT); $outage = outagedb::get_by_id($id); if ($outage == null) { throw new invalid_parameter_exception('Outage #'.$id.' not found.'); } // Remove outage id to force creating a new one. $outage->id = null; $mform->set_data($outage); $PAGE->navbar->add($outage->get_title()); echo $OUTPUT->header(); echo renderer::get()->rendersubtitle('outageclone'); $mform->display(); echo $OUTPUT->footer();