public function QuizfileuploadResponse::isValid in Quiz File Upload 6
Same name and namespace in other branches
- 7 quizfileupload.classes.inc \QuizfileuploadResponse::isValid()
- 7.4 quizfileupload.classes.inc \QuizfileuploadResponse::isValid()
Implementation of isValid
See also
QuizQuestionResponse#isValid()
1 call to QuizfileuploadResponse::isValid()
- QuizfileuploadResponse::save in ./
quizfileupload.classes.inc - Implementation of save
File
- ./
quizfileupload.classes.inc, line 206 - The main classes for the multichoice question type.
Class
- QuizfileuploadResponse
- Extension of QuizQuestionResponse
Code
public function isValid() {
$dir = variable_get('file_directory_path', 'sites/default/files');
$is_writable = file_check_directory($dir, 1);
if (!$is_writable) {
return t('File system path is not writable. Contact administrator to check settings at url /admin/settings/file-system');
}
if (isset($this->answer['files']['type']['tries']) && empty($this->answer['files']['type']['tries'])) {
$file = db_fetch_object(db_query('SELECT filename, filepath FROM {files} f
INNER JOIN {quiz_fileupload_user_answers} qf ON (f.fid = qf.fid)
WHERE answer_id = %d', $this->answer_id));
if (is_object($file)) {
// Don't throw error as the file has been already attached.
return TRUE;
}
else {
return t('Please upload a valid file.');
}
}
if (isset($this->answer['files']['type']['tries']) && !empty($this->answer['files']['type']['tries'])) {
$file = file_save_upload('tries', array(), file_directory_path());
if (!$file) {
form_set_error('field', 'Error uploading file.');
return;
}
$message = quizfileupload_validate_extensions($file, $this->question->filetypes);
return empty($message) ? TRUE : $message[0];
}
return FALSE;
}