function quiz_categorized_form_validate in Quiz 7
Same name and namespace in other branches
- 8.4 quiz.admin.inc \quiz_categorized_form_validate()
- 6.4 quiz.admin.inc \quiz_categorized_form_validate()
- 7.6 quiz.admin.inc \quiz_categorized_form_validate()
- 7.4 quiz.admin.inc \quiz_categorized_form_validate()
- 7.5 quiz.admin.inc \quiz_categorized_form_validate()
Validate the categorized form
File
- ./
quiz.admin.inc, line 617 - Administrator interface for Quiz module.
Code
function quiz_categorized_form_validate($form, &$form_state) {
if (_quiz_is_int(arg(1))) {
if (node_last_changed(arg(1)) > $form_state['values']['timestamp']) {
form_set_error('changed', t('This content has been modified by another user, changes cannot be saved.'));
}
}
else {
form_set_error('changed', t('A critical error has occured. Please report error code 28 on the quiz project page.'));
return;
}
if (!empty($form_state['values']['term'])) {
$tid = _quiz_get_id_from_string($form_state['values']['term']);
if ($tid === FALSE) {
$terms = _quiz_search_terms($form_state['values']['term']);
$num_terms = count($terms);
if ($num_terms == 1) {
$tid = key($terms);
}
elseif ($num_terms > 1) {
form_set_error('term', t('You need to be more specific, or use the autocomplete feature. The term name you entered matches several terms: %terms', array(
'%terms' => implode(', ', $terms),
)));
}
elseif ($num_terms == 0) {
form_set_error('term', t("The term name you entered doesn't match any registered question terms."));
}
}
if (in_array($tid, array_keys($form))) {
form_set_error('term', t('The category you are trying to add has already been added to this quiz.'));
}
else {
form_set_value($form['tid'], $tid, $form_state);
}
if (!_quiz_is_int($form_state['values']['number'])) {
form_set_error('number', t('The number of questions needs to be a positive integer'));
}
if (!_quiz_is_int($form_state['values']['max_score'], 0)) {
form_set_error('max_score', t('The max score needs to be a positive integer or 0'));
}
}
}