<?php

require 'config.php';

require 'lib/formslib.php';

class pokus_form extends moodleform {

    function definition() {
        $mform    =& $this->_form;
        $renderer =& $mform->defaultRenderer();

        $course = $this->_customdata['course'];


        $mform->addElement('header','general', 'Test header');

        $mform->addElement('text','sometext', 'Some alpha text (client-side)', 'maxlength="254" size="50"');
        $mform->addRule('sometext', 'Type something here!', 'required', null, 'client');
        $mform->setType('sometext', PARAM_ALPHA);

        $mform->addElement('htmleditor','somesummary', 'Some summary', array('rows'=>'10', 'cols'=>'65'));
        $mform->setDefault('somesummary', 'hmmm');
        $mform->setType('somesummary', PARAM_RAW);

        $mform->addElement('text', 'somenumber', 'Some number','maxlength="10" size="10"');
        $mform->setDefault('somenumber', 15);
        $mform->setType('somenumber', PARAM_INT);

        $mform->addElement('text', 'anothernumber', 'Another non zero number (server-side)', 'maxlength="10" size="10"');
        $mform->addRule('anothernumber', 'can not be zero', 'nonzero', null, 'server');
        $mform->setType('anothernumber', PARAM_INT);

        $mform->addElement('hidden', 'id', null);
        $mform->setDefault('id', $course->id);
        $mform->setType('id', PARAM_INT);

        $mform->addElement('submit', 'submit', get_string('savechanges'));

        $renderer->addStopFieldsetElements('submit');
    }

    function validation($data) {
        $course = $this->_customdata['course'];

        if ($data['somenumber'] !== $course->id) {
            $errors = array();
            $errors['somenumber'] = "this is not current course id number - try '$course->id' instead ;-)";
            $errors['submit'] = 'hehe, try again ;)';
            return $errors;
        }

        return true;
    }
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////

$id = optional_param('id', SITEID, PARAM_INT);

if (!$course = get_record('course', 'id', $id)) {
    error('incorrect course');
}

$form = new pokus_form('ft2.php', array('course'=>$course));

if ($data = $form->data_submitted()) {
    print_header('Form test finished');
    echo "<pre>";
    var_dump($data);
    echo "</pre>";
    print_continue('ft.php');
    print_footer();
    die;
}

print_header('Forms test');
$form->display();
print_footer();



?>
