public function delete($id) { $id = (int) $id; $this->_access->query("START TRANSACTION"); $manageRateDomain = new RateDomainManager(); $manageRateQuality = new RateQualityManager(); $manageRateDomain->deleteByActivityId($id); $manageRateQuality->deleteByActivityId($id); $manageQuestion = new QuestionManager(); $questions = $manageQuestion->getQuestionsOfQuiz($id); foreach ($questions as $q) { $manageQuestion->delete($q->getId()); } $this->deleteResultByQuiz($id); $quiz = $this->getById($id); if ($quiz->getPostId() !== 0) { $this->unpost($quiz); } $this->_access->delete(StudyPressDB::getTableNameVisite(), array(StudyPressDB::COL_ID_ACTIVITY_VISITE => $id)); $this->_access->delete(StudyPressDB::getTableNameActivity(), array(StudyPressDB::COL_ID_ACTIVITY => $id)); if ($this->isError()) { $m = $this->getMessageError(); $this->_access->query("ROLLBACK"); $this->_access->setMsgError($m); } else { $this->_access->query("COMMIT"); } }
if (isset($_POST['type']) && $_POST['type'] === "remove-question") { if (isset($_POST['id_question']) && isset($_POST['id_quiz'])) { $managerQuiz = new QuizManager(); $managerQuestion = new QuestionManager(); $v = new validation(); $v->addSource($_POST); $v->AddRules(array('id_question' => array('type' => 'numeric', 'required' => 'true', 'min' => '1', 'max' => '999999', 'trim' => 'true'), 'id_quiz' => array('type' => 'numeric', 'required' => 'true', 'min' => '1', 'max' => '999999', 'trim' => 'true'))); $v->run(); if (sizeof($v->errors) > 0) { header("HTTP/1.0 400 Bad Request"); } else { $quiz = $managerQuiz->getById($v->sanitized['id_quiz']); if ($quiz) { foreach ($quiz->getQuestions() as $q) { if ($q->getId() == $v->sanitized['id_question']) { $managerQuestion->delete($v->sanitized['id_question']); echo "true"; break; } } } } } exit; } if (isset($_POST['type']) && $_POST['type'] === "get-question") { if (isset($_POST['id_question']) && isset($_POST['id_quiz'])) { $managerQuestion = new QuestionManager(); $managerQuiz = new QuizManager(); $v = new validation(); $v->addSource($_POST);
$questionManager = new QuestionManager($bdd); $question = new Question($_POST); $questionOld = $questionManager->get($question->id()); $question->setUserid($questionOld->userid()); $questionManager->update($question); header('Location: ?controler=question&action=list'); } else { header('Location: ?controler=question&action=list'); } break; case 'delete': $adminLvlThisControler = 3; require_once 'lib/checkRights.php'; if (isset($_GET['id'])) { $questionManager = new QuestionManager($bdd); $questionManager->delete($_GET['id']); header('Location: ?controler=question&action=list'); } else { header('Location: ?controler=question&action=list'); } break; case 'csvImport': $adminLvlThisControler = 4; require_once 'lib/checkRights.php'; if (isset($_POST['file']) && !empty($_POST['theme'])) { if ($file = fopen('web/csv/' . $_POST['file'], 'r')) { $questionManager = new QuestionManager($bdd); $question = new Question(array()); while ($ligne = fgetcsv($file, 0, '|', '"')) { $question->setQuestion(stripslashes($ligne[0])); $question->setRep1($ligne[1]);