quizfileupload.module in Quiz File Upload 6
Same filename and directory in other branches
The main file for quizfileupload.
Code: logicmedia
Quizfileupload question type for the Quiz module.
File
quizfileupload.moduleView source
<?php
/**
* The main file for quizfileupload.
*
* Code: logicmedia
*
* @file
* Quizfileupload question type for the Quiz module.
*
*/
/**
* define default allowed extensions
*/
define('QUIZFILEUPLOAD_DEFAULT_EXTENSIONS', 'png pdf odf doc docx');
/**
* Implementation of hook_help().
*/
function quizfileupload_help($path, $args) {
if ($path == 'admin/help#quizfileupload') {
return t('This module provides a fileupload choice question type for Quiz.');
}
}
/**
* Implementation of hook_quiz_question_info().
*/
function quizfileupload_quiz_question_info() {
return array(
'quizfileupload' => array(
'name' => t('Fileupload question'),
'description' => t('This provides fileupload questions for use by the Quiz module.'),
'question provider' => 'QuizfileuploadQuestion',
'response provider' => 'QuizfileuploadResponse',
'module' => 'quiz_question',
),
);
}
/**
* Implementation of hook_autoload_info().
*/
function quizfileupload_autoload_info() {
return array(
'QuizfileuploadQuestion' => array(
'file' => 'quizfileupload.classes.inc',
),
'QuizfileuploadResponse' => array(
'file' => 'quizfileupload.classes.inc',
),
);
}
/**
* Implementation of hook_theme
*/
function quizfileupload_theme($existing, $type, $theme, $path) {
$path = drupal_get_path('module', 'quizfileupload');
return array(
'quizfileupload_creation_form' => array(
'arguments' => array(
'form' => NULL,
),
'path' => $path . '/theme',
'file' => 'quizfileupload.theme.inc',
),
'quizfileupload_answer_node_view' => array(
'arguments' => array(
'alternatives' => NULL,
'show_correct' => NULL,
),
'path' => $path . '/theme',
'file' => 'quizfileupload.theme.inc',
),
'quizfileupload_response' => array(
'arguments' => array(
'data' => array(),
),
'path' => $path . '/theme',
'file' => 'quizfileupload.theme.inc',
),
'quizfileupload_answering_form' => array(
'arguments' => array(
'form' => NULL,
),
'path' => $path . '/theme',
'template' => 'quizfileupload-answering-form',
),
);
}
function quizfileupload_config() {
$form['quizfileupload_default_score'] = array(
'#type' => 'textfield',
'#title' => t('Default score'),
'#required' => TRUE,
'#default_value' => variable_get('quizfileupload_default_score', 1),
);
$form['quizfileupload_default_extensions'] = array(
'#type' => 'textarea',
'#title' => t('Allowed extension'),
'#description' => t('Enter the allowed file extensions one per line.'),
'#default_value' => variable_get('quizfileupload_default_extensions', QUIZFILEUPLOAD_DEFAULT_EXTENSIONS),
'#required' => TRUE,
);
return $form;
}
/**
* Fork of file_validate_extensions().
*/
function quizfileupload_validate_extensions($file, $extensions) {
global $user;
$errors = array();
$regex = '/\\.(' . ereg_replace(' +', '|', preg_quote($extensions)) . ')$/i';
if (!preg_match($regex, $file->filename)) {
$errors[] = t('Only files with the following extensions are allowed: %files-allowed.', array(
'%files-allowed' => $extensions,
));
}
return $errors;
}
Functions
Name![]() |
Description |
---|---|
quizfileupload_autoload_info | Implementation of hook_autoload_info(). |
quizfileupload_config | |
quizfileupload_help | Implementation of hook_help(). |
quizfileupload_quiz_question_info | Implementation of hook_quiz_question_info(). |
quizfileupload_theme | Implementation of hook_theme |
quizfileupload_validate_extensions | Fork of file_validate_extensions(). |
Constants
Name![]() |
Description |
---|---|
QUIZFILEUPLOAD_DEFAULT_EXTENSIONS | define default allowed extensions |