<?php
// $Id$
/**
* @file
* Questions Import
*
* This module allows you to import questions to quiz node in CSV format.
*/
/**
* Implementation of hook_help().
*/
function questions_import_help($path, $arg) {
if ($path == 'admin/help#questions_import') {
return '<p>' . t('This module allows you to import questions to quiz node in CSV format.') . '</p>';
}
}
/**
* Implementation of hook_perm()
* Valid permissions for this module
* @return array An array of valid permissions.
*/
function questions_import_perm() {
return array('import_questions');
}
/**
* Implementation of hook_menu
*
*/
function questions_import_menu() {
$items = array();
$items['admin/quiz/questions_import'] = array(
'title' => t('Import Quiz Questions'),
'description' => t('Import Questions to quiz node in CSV format'),
'page callback' => 'drupal_get_form',
'page arguments' => array('questions_import_form'),
'access arguments' => array('import_questions', 'upload files'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
/*
* Implementation of hook_form
* form to upload questions
*/
function questions_import_form() {
$form['#attributes'] = array('enctype' => "multipart/form-data");
$form['quiz_node'] = array(
'#type' => 'select',
'#title' => t('Quiz Node'),
'#options' => questions_import_quiz_node(),
'#description' => t('Select the quiz node under which you want to add questions'),
'#required' => TRUE,
);
$form['question_type'] = array(
'#type' => 'select',
'#title' => t('Question type'),
'#options' => questions_import_question_type(),
'#description' => t('Select the quiz question type you wish to upload'),
'#required' => TRUE,
);
$form['import_type'] = array(
'#type' => 'select',
'#title' => t('Import type'),
'#options' => questions_import_type(),
'#description' => t('Select the import type csv, XML'),
'#required' => TRUE,
);
//'upload' will be used in file_check_upload()
$form['upload'] = array(
'#type' => 'file',
'#title' => t('Upload'),
'#size' => 30,
'#description' => t('Upload the file that has quiz questions'),
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('import'),
);
$form['#validate'][] = 'questions_import_form_validate';
$form['#submit'][] = 'questions_import_form_submit';
return $form;
}
/*
* @return
* this function return a list of quiz node title and its id.
*/
function questions_import_quiz_node() {
$list = array();
$results = db_query("SELECT nid, title FROM {node} WHERE type = '%s'", 'quiz');
while($node = db_fetch_object($results)) {
$list[$node->nid] = substr($node->title, 0, 20);
}
return $list;
}
/*
* @return
* this function return a list of available quiz questions type.
*/
function questions_import_question_type() {
$list = array();
if (module_exists('multichoice')) {
$list['multichoice'] = 'Multichoice';
}
return $list;
}
/*
*
*/
function questions_import_type() {
return array('cvs' => 'CVS');
}
function questions_import_form_validate(&$node) {
print_r($node['upload']);exit;
}
function questions_import_form_submit() {
die('i am called');
}