function _save_questions($data, $fieldname) { trigger_error("running save questions"); $questions = array(); foreach ($this->_question_fields as $field) { if (isset($data['quiz'][$field]) and is_array($data['quiz'][$field])) { foreach ($data['quiz'][$field] as $index => $value) { if (!isset($questions[$index])) { $questions[$index] = array(); } $questions[$index][$field] = $value; } } } $udm_fields = array(); foreach ($questions as $index => $question) { $current_field = array(); $current_field['label'] = $question['question']; $current_field['correct_answer'] = $question['correct_answer']; $current_field['explanation'] = $question['explanation']; $current_field['type'] = 'radiogroup'; for ($answer_index = 1; $answer_index < 8; $answer_index++) { if (!(isset($question["answer_{$answer_index}"]) && $question["answer_{$answer_index}"])) { continue; } $current_field[] = array('key' => $answer_index, 'value' => $question["answer_{$answer_index}"]); } $udm_fields["custom{$index}"] = $current_field; } $xml_writer = new AMPSystem_XMLEngine("form.{$this->_udm->instance}.quiz.xml"); $xml_writer->save($udm_fields); }