You are here

function questions_import_qti_create_node in Quiz 6.3

Same name and namespace in other branches
  1. 6.6 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_qti in includes/questions_import/questions_import.admin.inc

File

includes/questions_import/questions_import.admin.inc, line 320

Code

function questions_import_qti_create_node($item, $form_state) {
  global $user;
  $item = (object) $item;
  $node = new stdClass();
  $node->title = $item->title;
  $node->teaser = $node->body = $item->content;
  $node->uid = $user->uid;
  $node->status = 1;
  $node->log = 'Imported from QTI importer.';
  $quiz_nid = $form_state['values']['quiz_node'];
  $quiz_vid = node_load($quiz_nid);
  $node->quiz_id = $quiz_nid;
  $node->quiz_vid = $quiz_vid->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($node);
  node_save(questions_import_node_save_static_data($node));
}