$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
Example #3
0
$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;
}