Exemplo n.º 1
0
 public function execute($request)
 {
     if ($request->getMethod() === coreRequest::POST) {
         // validate post parameters and save user's review session info
         $validator = new coreValidator($this->getContext()->getActionName());
         $this->forward404Unless($validator->validate($request->getParameterHolder()->getAll()));
         $this->saveReviewSessionInfo($request->getParameterHolder());
         // update review stats for the active members list
         ActiveMembersPeer::updateFlashcardInfo($this->getUser()->getUserId());
     } else {
         // grab the user's most recent review session info from db
         $params = ActiveMembersPeer::getReviewSummaryInfo($this->getUser()->getUserId());
         $this->forward404Unless($params);
         $request->getParameterHolder()->add($params);
     }
     // template vars
     $this->ts_start = $request->getParameter('ts_start', 0);
     $this->numRemembered = (int) $request->getParameter('fc_pass', 0);
     $this->numForgotten = (int) $request->getParameter('fc_fail', 0);
     $this->numTotal = $this->numRemembered + $this->numForgotten;
     if ($this->numRemembered == $this->numTotal) {
         $this->title = 'Hurrah! All remembered!';
     } elseif ($this->numForgotten == $this->numTotal && $this->numTotal > 1) {
         $this->title = 'Eek! All forgotten!';
     } else {
         $this->title = 'Remembered ' . $this->numRemembered . ' of ' . $this->numTotal . ' kanji.';
     }
 }