public function DoPost() { /** @var \Doctrine\ORM\EntityManager $em */ $em = CommonController::$EntityManager; $request = $this->request; $audioId = $request->getPost("audioId"); $listeningState = $request->getPost("state"); $userId = $this->userId; $audio = $em->getRepository('audio')->find($audioId); if ($audio !== null) { $user = $em->getRepository('User')->find($userId); if ($user !== null) { $listening = new \Listening(); $listening->setDatetime(new \DateTime("now")); $listening->setIdAudio($audio); $listening->setIdUser($user); $listening->setState($listeningState); $em->persist($listening); $metadata = $em->getClassMetaData(get_class($listening)); $metadata->setIdGeneratorType(\Doctrine\ORM\Mapping\ClassMetadata::GENERATOR_TYPE_NONE); $em->flush(); return "true"; } } return "false"; }
public function actionGetAll() { $session_id = Yii::app()->request->getPost("session_id", NULL); $session = Session::model()->find('session_id=:session_id', array(':session_id' => $session_id)); $session_listenings = SessionListening::model()->findAll('session_id=:session_id', array(':session_id' => $session_id)); $all = array(); $all["session_id"] = $session->session_id; $all["session_name"] = $session->session_name; $all["session_order"] = $session->session_order; $all["mod_id"] = $session->mod_id; $all["listenings"] = array(); foreach ($session_listenings as $key => $session_listening) { $temp_listening_id = $session_listening->listening_id; $listening = Listening::model()->find('listening_id=:listening_id', array(':listening_id' => $temp_listening_id)); $all["listenings"][$key] = array('listening_id' => $listening->listening_id, 'listening_name' => $listening->listening_name, 'listening_repeat_number' => $listening->listening_repeat_number, 'listening_learning_guide_availability' => $listening->listening_learning_guide_availability); $criteria = new CDbCriteria(); $criteria->addCondition("listening_id=:listening_id"); $criteria->order = 'RAND()'; $criteria->params = array(':listening_id' => $listening->listening_id); $questions = Question::model()->findAll($criteria); //$questions=Question::model()->findAll('listening_id=:listening_id',array('listening_id'=>$listening->listening_id)); foreach ($questions as $key2 => $question) { $all["listenings"][$key]['questions'][$key2] = array('question_id' => $question->question_id, 'question_body' => $question->question_body, 'question_correct_answer_id' => $question->question_correct_answer_id); $criteria = new CDbCriteria(); $criteria->addCondition("question_id=:question_id"); $criteria->order = 'RAND()'; $criteria->params = array(':question_id' => $question->question_id); $answers = Answer::model()->findAll($criteria); //$answers=Answer::model()->findAll('question_id=:question_id',array(':question_id'=>$question->question_id)); foreach ($answers as $key3 => $answer) { $all["listenings"][$key]['questions'][$key2]['answers'][$key3] = array('answer_id' => $answer->answer_id, 'answer_body' => $answer->answer_body); } } } $this->renderJSON($all); }
public function DoPost() { $uri = CommonController::GetCurrentUri(); $explUri = explode("/", $uri); $id = $explUri[count($explUri) - 2]; $repo = CommonController::$EntityManager->getRepository('audio'); $audio = $repo->find($id); if ($audio !== null) { $UserRepo = CommonController::$EntityManager->getRepository('User'); $user = $UserRepo->find('00000000001'); if ($user !== null) { $Listening = new \Listening(); $Listening->setDatetime(new \DateTime("now")); $Listening->setIdAudio($audio); $Listening->setIdUser($user); $Listening->setState($explUri[count($explUri) - 1]); CommonController::$EntityManager->persist($Listening); CommonController::$EntityManager->flush(); return true; } } return false; }