$params['element'] = $element->element;
    $params['pageid'] = $pageid;
    $pageurl = new moodle_url('/mod/customcert/edit_element.php', $params);
}
require_login($course, false, $cm);
require_capability('mod/customcert:manage', $context);
$PAGE->set_heading($course->fullname);
$PAGE->set_title(get_string('editcustomcert', 'customcert', format_string($customcert->name)));
$PAGE->set_url($pageurl);
$mform = new mod_customcert_edit_element_form($pageurl, array('element' => $element, 'course' => $course, 'cmid' => $cmid, 'action' => $action));
// Check if they cancelled.
if ($mform->is_cancelled()) {
    $url = new moodle_url('/mod/customcert/edit.php', array('cmid' => $cmid));
    redirect($url);
}
if ($data = $mform->get_data()) {
    // Set the id, or page id depending on if we are editing an element, or adding a new one.
    if ($action == 'edit') {
        $data->id = $id;
    } else {
        $data->pageid = $pageid;
    }
    // Set the element variable.
    $data->element = $element->element;
    // Get an instance of the element class.
    if ($e = customcert_get_element_instance($data)) {
        $e->save_form_elements($data);
    }
    $url = new moodle_url('/mod/customcert/edit.php', array('cmid' => $cmid));
    redirect($url);
}