ILIAS  trunk Revision v12.0_alpha-1540-g00f839d5fa1
ILIAS\COPage\PC\Question\SelfAssQuestionRetrieval Class Reference

Retrieval for self assessment questions from a pool. More...

+ Inheritance diagram for ILIAS\COPage\PC\Question\SelfAssQuestionRetrieval:
+ Collaboration diagram for ILIAS\COPage\PC\Question\SelfAssQuestionRetrieval:

Public Member Functions

 __construct (protected InternalDomainService $domain, protected int $pool_ref_id, protected int $pool_obj_id)
 
 getData (array $fields, ?Range $range=null, ?Order $order=null, array $filter=[], array $parameters=[])
 
 count (array $filter, array $parameters)
 
 isFieldNumeric (string $field)
 
 getData (array $fields, ?Range $range=null, ?Order $order=null, array $filter=[], array $parameters=[])
 
 count (array $filter, array $parameters)
 
 isFieldNumeric (string $field)
 

Protected Member Functions

 collectData ()
 

Detailed Description

Retrieval for self assessment questions from a pool.

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 23 of file SelfAssQuestionRetrieval.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\COPage\PC\Question\SelfAssQuestionRetrieval::__construct ( protected InternalDomainService  $domain,
protected int  $pool_ref_id,
protected int  $pool_obj_id 
)

Definition at line 27 of file SelfAssQuestionRetrieval.php.

31 {
32 }

Member Function Documentation

◆ collectData()

ILIAS\COPage\PC\Question\SelfAssQuestionRetrieval::collectData ( )
protected

Definition at line 61 of file SelfAssQuestionRetrieval.php.

61 : array
62 {
63 $access = $this->domain->access();
64
66 $all_ids = array();
67 foreach ($all_types as $k => $v) {
68 $all_ids[] = $v["question_type_id"];
69 }
70
71 $questions = array();
72 if ($access->checkAccess("read", "", $this->pool_ref_id)) {
73 $questionList = new ilAssQuestionList(
74 $this->domain->database(),
75 $this->domain->lng(),
76 $this->domain->refinery(),
77 $this->domain->componentRepository()
78 );
79 $questionList->setParentObjId($this->pool_obj_id);
80 $questionList->load();
81
82 $data = $questionList->getQuestionDataArray();
83
84 foreach ($data as $d) {
85 // list only self assessment question types
86 if (in_array($d["question_type_fi"], $all_ids)) {
87 $d["id"] = $d["question_id"];
88 $questions[] = $d;
89 }
90 }
91 }
92 return $questions;
93 }
static & _getSelfAssessmentQuestionTypes($all_tags=false)

References Vendor\Package\$d, $data, and ilObjQuestionPool\_getSelfAssessmentQuestionTypes().

+ Here is the call graph for this function:

◆ count()

ILIAS\COPage\PC\Question\SelfAssQuestionRetrieval::count ( array  $filter,
array  $parameters 
)

◆ getData()

ILIAS\COPage\PC\Question\SelfAssQuestionRetrieval::getData ( array  $fields,
?Range  $range = null,
?Order  $order = null,
array  $filter = [],
array  $parameters = [] 
)

Implements ILIAS\Repository\RetrievalInterface.

Definition at line 34 of file SelfAssQuestionRetrieval.php.

40 : \Generator {
41 $data = $this->collectData();
42
43 // Apply ordering if specified
44 $data = $this->applyOrder($data, $order);
45
46 // Apply range (pagination) if specified
47 $data = $this->applyRange($data, $range);
48
49 foreach ($data as $row) {
50 yield $row;
51 }
52 }

◆ isFieldNumeric()

ILIAS\COPage\PC\Question\SelfAssQuestionRetrieval::isFieldNumeric ( string  $field)

Implements ILIAS\Repository\RetrievalInterface.

Definition at line 95 of file SelfAssQuestionRetrieval.php.

95 : bool
96 {
97 return $field === "question_id";
98 }

The documentation for this class was generated from the following file: