function questions_import_qti_create_node in Quiz 6.6
Same name and namespace in other branches
- 6.3 includes/questions_import/questions_import.admin.inc \questions_import_qti_create_node()
Take a description of a quiz question and turn it into a node.
The node is saved as the appropriate Quiz question type.
1 call to questions_import_qti_create_node()
- questions_import_submit_qti12 in includes/
questions_import/ questions_import.admin.inc - This function imports questions from Question and Test Interoperability (QTI) format file.
File
- includes/
questions_import/ questions_import.admin.inc, line 534 - Administration file for Questions Import module
Code
function questions_import_qti_create_node($destination_node, $item, $form_state, $row, $import_id) {
global $user;
$item = (object) $item;
$node = new stdClass();
$node->title = $item->title;
$node->teaser = $node->body = $item->content;
$node->uid = $user->uid;
$node->format = $form_state['values']['input_format'];
$node->status = 1;
$node->log = 'Imported from QTI importer.';
$node->quiz_id = $destination_node->nid;
$node->quiz_vid = $destination_node->vid;
switch (strtolower($item->type)) {
/*case 'explanation':
$node->type = 'quiz_directions';
break;
case 'essay':
$node->type = 'long_answer';
$node->maximum_score = 1;
break;*/
case 'multiple choice':
$node->type = 'multichoice';
$answers = $item->answers;
$node->number_of_answers = count($answers);
// Add answers:
$node->answers = array();
foreach ($answers as $answer) {
$node->answers[] = array(
'answer' => $answer['text'],
'feedback' => $answer['feedback'],
'correct' => $answer['is_correct'],
'result_option' => '0',
);
}
break;
}
node_save(questions_import_node_save_static_data($node));
db_query("INSERT INTO {quiz_questions_import_items} VALUES (%d, %d, %d)", $import_id, $node->nid, $row);
}