mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 00:46:50 +02:00
60 lines
1.8 KiB
PHP
60 lines
1.8 KiB
PHP
<?php
|
|
|
|
if (!defined('MOODLE_INTERNAL')) {
|
|
die('Direct access to this script is forbidden.'); /// It must be included from a Moodle page
|
|
}
|
|
|
|
require_once($CFG->dirroot.'/lib/formslib.php');
|
|
|
|
class category_form extends moodleform {
|
|
|
|
// Define the form
|
|
function definition () {
|
|
global $USER, $CFG;
|
|
|
|
$mform =& $this->_form;
|
|
|
|
$strrequired = get_string('required');
|
|
|
|
/// Add some extra hidden fields
|
|
$mform->addElement('hidden', 'id');
|
|
$mform->setType('id', PARAM_INT);
|
|
$mform->addElement('hidden', 'action', 'editcategory');
|
|
$mform->setType('action', PARAM_ALPHANUMEXT);
|
|
|
|
$mform->addElement('text', 'name', get_string('profilecategoryname', 'admin'), 'maxlength="255" size="30"');
|
|
$mform->setType('name', PARAM_TEXT);
|
|
$mform->addRule('name', $strrequired, 'required', null, 'client');
|
|
|
|
$this->add_action_buttons(true);
|
|
|
|
} /// End of function
|
|
|
|
/// perform some moodle validation
|
|
function validation($data, $files) {
|
|
global $CFG, $DB;
|
|
$errors = parent::validation($data, $files);
|
|
|
|
$data = (object)$data;
|
|
|
|
$duplicate = $DB->record_exists('user_info_category', array('name'=>$data->name));
|
|
|
|
/// Check the name is unique
|
|
if (!empty($data->id)) { // we are editing an existing record
|
|
$olddata = $DB->get_record('user_info_category', array('id'=>$data->id));
|
|
// name has changed, new name in use, new name in use by another record
|
|
$dupfound = (($olddata->name !== $data->name) && $duplicate && ($data->id != $duplicate->id));
|
|
}
|
|
else { // new profile category
|
|
$dupfound = $duplicate;
|
|
}
|
|
|
|
if ($dupfound ) {
|
|
$errors['name'] = get_string('profilecategorynamenotunique', 'admin');
|
|
}
|
|
|
|
return $errors;
|
|
}
|
|
}
|
|
|
|
|