MDL-22388 Added some checks to kill these scripts dead with an unequivocal notice...
[moodle.git] / mod / wiki / mod_form.php
1 <?php
3 // This file is part of Moodle - http://moodle.org/
4 //
5 // Moodle is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // Moodle is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
18 /**
19  * This file defines de main wiki configuration form
20  *
21  * @package mod-wiki-2.0
22  * @copyrigth 2009 Marc Alier, Jordi Piguillem marc.alier@upc.edu
23  * @copyrigth 2009 Universitat Politecnica de Catalunya http://www.upc.edu
24  *
25  * @author Jordi Piguillem
26  * @author Marc Alier
27  * @author David Jimenez
28  * @author Josep Arus
29  * @author Kenneth Riba
30  *
31  * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
32  */
34 if (!defined('MOODLE_INTERNAL')) {
35     die('Direct access to this script is forbidden.');    ///  It must be included from a Moodle page
36 }
38 require_once('moodleform_mod.php');
39 require_once($CFG->dirroot . '/mod/wiki/locallib.php');
40 require_once($CFG->dirroot . '/lib/datalib.php');
42 class mod_wiki_mod_form extends moodleform_mod {
44     function definition() {
46         global $COURSE;
47         $mform =& $this->_form;
49         //-------------------------------------------------------------------------------
50         /// Adding the "general" fieldset, where all the common settings are showed
51         $mform->addElement('header', 'general', get_string('general', 'form'));
52         /// Adding the standard "name" field
53         $mform->addElement('text', 'name', get_string('wikiname', 'wiki'), array('size' => '64'));
54         $mform->setType('name', PARAM_TEXT);
55         $mform->addRule('name', null, 'required', null, 'client');
56         /// Adding the optional "intro" and "introformat" pair of fields
57         //      $mform->addElement('htmleditor', 'intro', get_string('wikiintro', 'wiki'));
58         //              $mform->setType('intro', PARAM_RAW);
59         //              $mform->addRule('intro', get_string('required'), 'required', null, 'client');
60         //        $mform->setHelpButton('intro', array('writing', 'richtext2'), false, 'editorhelpbutton');
61         //
62         //        $mform->addElement('format', 'introformat', get_string('format'));
63         $this->add_intro_editor(true, get_string('wikiintro', 'wiki'));
64         //-------------------------------------------------------------------------------
65         /// Adding the rest of wiki settings, spreeading all them into this fieldset
66         /// or adding more fieldsets ('header' elements) if needed for better logic
68         $mform->addElement('header', 'wikifieldset', get_string('wikisettings', 'wiki'));
70         $attr = array('size' => '20');
71         if (!empty($this->_instance)) {
72             $attr['disabled'] = 'disabled';
73         } else {
74             $attr['value'] = get_string('firstpagetitle', 'wiki');
75         }
77         $mform->addElement('text', 'firstpagetitle', get_string('firstpagetitle', 'wiki'), $attr);
79         if (empty($this->_instance)) {
80             $mform->addRule('firstpagetitle', null, 'required', null, 'client');
81         }
83         $wikimodeoptions = array ('collaborative' => get_string('wikimodecollaborative', 'wiki'), 'individual' => get_string('wikimodeindividual', 'wiki'));
84         // don't allow to change wiki type once is set
85         $wikitype_attr = array();
86         if (!empty($this->_instance)) {
87             $wikitype_attr['disabled'] = 'disabled';
88         }
89         $mform->addElement('select', 'wikimode', get_string('wikimode', 'wiki'), $wikimodeoptions, $wikitype_attr);
91         $formats = wiki_get_formats();
92         $editoroptions = array();
93         foreach ($formats as $format) {
94             $editoroptions[$format] = get_string($format, 'wiki');
95         }
96         $mform->addElement('select', 'defaultformat', get_string('defaultformat', 'wiki'), $editoroptions);
97         $mform->addElement('checkbox', 'forceformat', get_string('forceformat', 'wiki'));
99         //-------------------------------------------------------------------------------
100         // add standard elements, common to all modules
101         $this->standard_coursemodule_elements();
102         //-------------------------------------------------------------------------------
103         // add standard buttons, common to all modules
104         $this->add_action_buttons();
106     }