/** * @return array */ private function getQuestionsData() { $questionList = new ilAssQuestionList($this->db, $this->lng, $this->pluginAdmin); $questionList->setQuestionInstanceTypeFilter($this->getQuestionInstanceTypeFilter()); $questionList->setExcludeQuestionIdsFilter($this->testOBJ->getExistingQuestions()); $repositoryRootNode = self::REPOSITORY_ROOT_NODE_ID; foreach ($this->getFilterItems() as $item) { if ($item->getValue() !== false) { switch ($item->getPostVar()) { case 'title': case 'description': case 'author': case 'type': case 'parent_title': $questionList->addFieldFilter($item->getPostVar(), $item->getValue()); break; case 'repository_root_node': $repositoryRootNode = $item->getValue(); } } } $parentObjectIds = $this->getQuestionParentObjIds($repositoryRootNode); if (!count($parentObjectIds)) { return array(); } $questionList->setParentObjIdsFilter($parentObjectIds); $questionList->load(); return $questionList->getQuestionDataArray(); }