'index.php', 'name' => get_lang('PlatformAdmin')]; $form = new FormValidator('admin_questions', 'get'); $form->addHeader(get_lang('Questions')); $form->addText('id', get_lang('Id'), false); $form->addText('title', get_lang('Title'), false); $form->addText('description', get_lang('Description'), false); $form->addHidden('form_sent', 1); $form->addButtonSearch(get_lang('Search')); $questions = []; $pagination = ''; $formSent = isset($_REQUEST['form_sent']) ? (int) $_REQUEST['form_sent'] : 0; $length = 20; $questionCount = 0; if ($formSent) { $id = isset($_REQUEST['id']) ? (int) $_REQUEST['id'] : ''; $description = isset($_REQUEST['description']) ? Security::remove_XSS($_REQUEST['description']) : ''; $title = isset($_REQUEST['title']) ? Security::remove_XSS($_REQUEST['title']) : ''; $page = isset($_GET['page']) ? (int) $_GET['page'] : 1; $em = Database::getManager(); $repo = $em->getRepository('ChamiloCourseBundle:CQuizQuestion'); $criteria = new \Doctrine\Common\Collections\Criteria(); if (!empty($id)) { $criteria->where($criteria->expr()->eq('iid', $id)); } if (!empty($description)) { $criteria->orWhere($criteria->expr()->contains('description', "%$description%")); } if (!empty($title)) { $criteria->orWhere($criteria->expr()->contains('question', "%$title%")); } $questions = $repo->matching($criteria); $params = [ 'id' => $id, 'title' => $title, 'description' => $description, 'form_sent' => 1, ]; $url = api_get_self().'?'.http_build_query($params); $form->setDefaults($params); $questionCount = count($questions); $paginator = new Knp\Component\Pager\Paginator(); $pagination = $paginator->paginate($questions, $page, $length); $pagination->setItemNumberPerPage($length); $pagination->setCurrentPageNumber($page); $pagination->renderer = function ($data) use ($url) { $render = '
'; return $render; }; /** @var CQuizQuestion $question */ if ($pagination) { foreach ($pagination as $question) { // Creating empty exercise $exercise = new Exercise(); $exercise->course_id = $question->getCId(); ob_start(); ExerciseLib::showQuestion( $exercise, $question->getId(), false, null, null, false, true, false, true, true ); $question->questionData = ob_get_contents(); ob_end_clean(); } } else { /*Display::addFlash(Display::return_message(get_lang('NotFound'))); header('Location:' .api_get_self()); exit;*/ } } $formContent = $form->returnForm(); $tpl = new Template(get_lang('Questions')); $tpl->assign('form', $formContent); $tpl->assign('pagination', $pagination); $tpl->assign('pagination_length', $length); $tpl->assign('question_count', $questionCount); $layout = $tpl->get_template('admin/questions.tpl'); $tpl->display($layout);