/** * This function stores the options of the questions in the table * * @param array $form_content * @author Patrick Cool <*****@*****.**>, Ghent University * @version January 2007 * * @todo writing the update statement when editing a question */ public static function save_question_options($form_content, $survey_data) { $course_id = api_get_course_int_id(); // A percentage question type has options 1 -> 100 if ($form_content['type'] == 'percentage') { for ($i = 1; $i < 101; $i++) { $form_content['answers'][] = $i; } } if (is_numeric($survey_data['survey_share']) && $survey_data['survey_share'] != 0) { SurveyManager::save_shared_question_options($form_content, $survey_data); } // Table definition $table_survey_question_option = Database::get_course_table(TABLE_SURVEY_QUESTION_OPTION); // We are editing a question so we first have to remove all the existing options from the database if (is_numeric($form_content['question_id'])) { $sql = "DELETE FROM {$table_survey_question_option}\n\t\t\t WHERE c_id = {$course_id} AND question_id = '" . intval($form_content['question_id']) . "'"; Database::query($sql); } $counter = 1; if (isset($form_content['answers']) && is_array($form_content['answers'])) { for ($i = 0; $i < count($form_content['answers']); $i++) { $values = isset($form_content['values']) ? $form_content['values'][$i] : ''; $params = ['c_id' => $course_id, 'question_id' => $form_content['question_id'], 'survey_id' => $form_content['survey_id'], 'option_text' => $form_content['answers'][$i], 'value' => $values, 'sort' => $counter]; $insertId = Database::insert($table_survey_question_option, $params); if ($insertId) { $sql = "UPDATE {$table_survey_question_option}\n SET question_option_id = {$insertId}\n WHERE iid = {$insertId}"; Database::query($sql); $counter++; } } } }