/**
  * function used to save question
  *
  * @global db $dh
  *
  * @param array $data question data to be saved in database
  * @param int $question_id question node id
  * 
  * @return node id in case of successful insert or boolean
  */
 protected function saveQuestion($data, $question_id = null)
 {
     $dh = $GLOBALS['dh'];
     $data['testo'] = preg_replace(array('#<p[^>]*>#', '#</p>#'), array('', '<br />'), $data['testo']);
     if (is_null($question_id)) {
         $question_res = $dh->test_addNode($data);
         $question_id = $question_res;
     } else {
         $question_res = $dh->test_updateNode($question_id, $data);
     }
     if ($data['tipo'][1] == ADA_CLOZE_TEST_TYPE && $question_res) {
         require_once MODULES_TEST_PATH . '/include/question.class.inc.php';
         require_once MODULES_TEST_PATH . '/include/questionCloze.class.inc.php';
         if ($data['tipo'][3] == ADA_ERASE_TEST_SIMPLICITY) {
             require_once MODULES_TEST_PATH . '/include/questionEraseCloze.class.inc.php';
             QuestionEraseClozeTest::createEraseClozeAnswers($question_id, $data, $this->test);
         } else {
             if ($data['tipo'][3] == ADA_SLOT_TEST_SIMPLICITY) {
                 require_once MODULES_TEST_PATH . '/include/questionSlotCloze.class.inc.php';
                 QuestionSlotClozeTest::createSlotClozeAnswers($question_id, $data, $this->test);
             } else {
                 if ($data['tipo'][3] == ADA_MULTIPLE_TEST_SIMPLICITY) {
                     require_once MODULES_TEST_PATH . '/include/questionMultipleCloze.class.inc.php';
                     QuestionMultipleClozeTest::createMultipleClozeAnswers($question_id, $data, $this->test);
                 } else {
                     QuestionClozeTest::createClozeAnswers($question_id, $data, $this->test);
                 }
             }
         }
     }
     return $question_res;
 }
 /**
  * Function that automatic creates answers (and save it to database) for cloze question type
  * ADA_MULTIPLE_TEST_SIMPLICITY version
  *
  * @global db $dh
  *
  * @param int $question_id
  * @param array $data question data
  * @param array $test test record
  * 
  * @see QuestionEraseClozeTest::createEraseClozeAnswers
  * @see QuestionClozeTest::createClozeAnswers
  */
 public static function createMultipleClozeAnswers($question_id, $data, $test)
 {
     require_once MODULES_TEST_PATH . '/include/questionEraseCloze.class.inc.php';
     QuestionEraseClozeTest::createEraseClozeAnswers($question_id, $data, $test);
 }