try { $structureId = RequestTool::getParameter('structure', RequestTool::PARAM_TYPE_UNSIGNED_INT, true, null, RequestTool::METHOD_POST); } catch (ParameterException $e) { $errorList[] = 'Structure incorrecte'; } if (empty($errorList)) { $question = $questionId !== null ? OsteoFactory::getElement('Question', $questionId) : new Question(); $question->text = $questionText; $question->question_category_id = RequestTool::getParameter('questionCategoryId', RequestTool::PARAM_TYPE_UNSIGNED_INT, true, null, RequestTool::METHOD_POST); $question->is_in_craft_quizz = RequestTool::getParameter('isInCraftQuizz', RequestTool::PARAM_TYPE_BOOLEAN, false, 0, RequestTool::METHOD_POST); $question->structure_id = $structureId; if ($questionId === null) { $question->add(); } else { $question->update(); OsteoFactory::deleteElementList('Answer', 'question_id=' . $questionId); } for ($answerIndex = 1; $answerIndex <= 20; ++$answerIndex) { try { $answerText = RequestTool::getParameter('answer' . $answerIndex, RequestTool::PARAM_TYPE_FREE, false, null, RequestTool::METHOD_POST); } catch (ParameterException $e) { $errorList[] = 'Réponse ' . $answerIndex . ' incorrecte'; } if (empty($errorList) && $answerText) { $answer = new Answer(); if ($question->question_category_id === 3) { $answerData = explode('/', RequestTool::getParameter('answerData' . $answerIndex, RequestTool::PARAM_TYPE_FREE, false, null, RequestTool::METHOD_POST)); $answer->x = $answerData[0]; $answer->y = $answerData[1]; $answer->is_correct = $answerData[2]; $answer->text = $answerText;
} $questionNumber = RequestTool::getParameter('questionNumber', RequestTool::PARAM_TYPE_UNSIGNED_INT, false, 1, RequestTool::METHOD_POST); $structureOrder = RequestTool::getParameter('order', RequestTool::PARAM_TYPE_UNSIGNED_INT, false, 1, RequestTool::METHOD_POST); $requiredStructureList = RequestTool::getParameter('requiredStructure', RequestTool::PARAM_TYPE_ARRAY, false, array(), RequestTool::METHOD_POST); if (empty($errorList)) { $structure = $structureId !== null ? OsteoFactory::getElement('Structure', $structureId) : new Structure(); $structure->name = $structureName; $structure->order = $structureOrder; $structure->question_number = $questionNumber; $structure->component_quantity = $componentQuantity; $structure->structure_category_id = $structureCategoryId; if ($structureId === null) { $structure->add(); } else { $structure->update(); OsteoFactory::deleteElementList('StructureRequiredStructure', 'structure_id=' . $structureId); } $requiredStructureList = array_unique($requiredStructureList); foreach ($requiredStructureList as $requiredStructureId) { try { $requiredStructure = OsteoFactory::getElement('Structure', $requiredStructureId); } catch (ElementDoesNotExistException $e) { $errorList[] = 'Strcuture de pré-requis incorrecte'; } $structureRequiredStructure = new StructureRequiredStructure(); $structureRequiredStructure->structure_id = $structure->id; $structureRequiredStructure->required_structure_id = $requiredStructureId; $structureRequiredStructure->add(); } if (isset($_FILES['image'])) { $imageFile = $_FILES['image'];