$PAGE->set_pagelayout('standard'); $PAGE->set_url($url); $PAGE->set_context(context_system::instance()); $PAGE->set_heading($SITE->fullname); $PAGE->set_title(get_string('template_title', 'local_obu_forms')); $message = ''; $formref = ''; $form_id = ''; $formname = ''; $version = ''; $versions = array(); $record = null; $is_published = 0; if (isset($_REQUEST['formref'])) { $formref = strtoupper($_REQUEST['formref']); $settings = read_form_settings_by_ref($formref); if ($settings === false) { $message = get_string('invalid_data', 'local_obu_forms'); } else { if (!is_manager($settings)) { // Not a manager of this type of form $message = get_string('form_unavailable', 'local_obu_forms'); } else { $form_id = $settings->id; $formname = $settings->name; if (isset($_REQUEST['version'])) { $version = strtoupper($_REQUEST['version']); } else { if (!isset($_REQUEST['versions']) || isset($_REQUEST['versions']) && $_REQUEST['versions'] != 0) { $templates = read_form_templates($form_id); if ($templates) {
} $url = $home . 'local/obu_forms/forms.php'; $context = context_system::instance(); $PAGE->set_pagelayout('standard'); $PAGE->set_url($url); $PAGE->set_context($context); $PAGE->set_heading($SITE->fullname); $PAGE->set_title(get_string('settings_title', 'local_obu_forms')); $message = ''; $formref = ''; $record = null; $form_indicator = 0; $student_indicator = 0; if (isset($_REQUEST['formref'])) { $formref = strtoupper($_REQUEST['formref']); $record = read_form_settings_by_ref($formref); if ($record !== false && !is_manager($record)) { $message = get_string('form_unavailable', 'local_obu_forms'); } else { if (!has_capability('local/obu_forms:manage_ump_students', $context) && !has_capability('local/obu_forms:manage_ump_staff', $context)) { $form_indicator = 1; // Can only set UMP flag to false } else { if (!has_capability('local/obu_forms:manage_pg', $context)) { $form_indicator = 2; // Can only set UMP flag to true } } if (!has_capability('local/obu_forms:manage_ump_students', $context) && has_capability('local/obu_forms:manage_ump_staff', $context)) { $student_indicator = 1; // Can only set student flag to false
$home = new moodle_url('/'); $dir = '/local/obu_forms/'; $program = $dir . 'form.php'; $process_url = $home . $dir . 'process.php'; $PAGE->set_pagelayout('standard'); $PAGE->set_url($program); $PAGE->set_context(context_system::instance()); $PAGE->set_heading($SITE->fullname); $PAGE->set_title(get_string('form_title', 'local_obu_forms')); // Initialise values $message = ''; $data_id = 0; $fields = array(); if (isset($_REQUEST['ref'])) { // A request for a brand new form $form = read_form_settings_by_ref($_REQUEST['ref']); if ($form === false) { echo get_string('invalid_data', 'local_obu_forms'); die; } if (!is_manager($form) && (!$form->student && !$staff || !$form->visible)) { // User hasn't the capability to view a non-student or hidden form $message = get_string('form_unavailable', 'local_obu_forms'); } if (isset($_REQUEST['version'])) { $template = read_form_template($form->id, $_REQUEST['version']); } else { // Get the relevant form template (include draft templates if an administrator) $template = get_form_template($form->id, is_siteadmin()); } if (!$template) {
function write_form_template($author, $form_data) { global $DB; $settings = read_form_settings_by_ref($form_data->formref); if ($settings === false) { return 0; } $record = new stdClass(); $record->form_id = $settings->id; $record->version = strtoupper($form_data->version); $record->author = $author; $record->date = time(); $record->published = $form_data->published; $record->data = $form_data->data['text']; $template = read_form_template($record->form_id, $record->version); if ($template !== false) { $id = $template->id; $record->id = $id; $DB->update_record('local_obu_forms_templates', $record); } else { $id = $DB->insert_record('local_obu_forms_templates', $record); } return $id; }