protected function getPaginatorAndQuestion($request, $conditions, $course, $lesson)
 {
     if (!isset($conditions['target']) || empty($conditions['target'])) {
         unset($conditions['target']);
         $conditions['targetPrefix'] = "course-{$course['id']}";
     }
     if (!empty($conditions['keyword'])) {
         $conditions['stem'] = $conditions['keyword'];
     }
     $conditions['parentId'] = 0;
     $conditions['types'] = array('determine', 'single_choice', 'uncertain_choice', 'fill', "choice");
     $orderBy = array('createdTime', 'DESC');
     $paginator = new Paginator($request, $this->getQuestionService()->searchQuestionsCount($conditions), 5);
     $paginator->setPageRange(4);
     $questions = $this->getQuestionService()->searchQuestions($conditions, $orderBy, $paginator->getOffsetCount(), $paginator->getPerPageCount());
     $markerIds = ArrayToolkit::column($this->getMarkerService()->findMarkersByMediaId($lesson['mediaId']), 'id');
     $questionMarkerIds = ArrayToolkit::column($this->getQuestionMarkerService()->findQuestionMarkersByMarkerIds($markerIds), 'questionId');
     foreach ($questions as $key => $question) {
         $questions[$key]['exist'] = in_array($question['id'], $questionMarkerIds) ? true : false;
     }
     return array($paginator, $questions);
 }