ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ILIAS\LearningModule\Question\Statistics\Retrieval Class Reference
+ Inheritance diagram for ILIAS\LearningModule\Question\Statistics\Retrieval:
+ Collaboration diagram for ILIAS\LearningModule\Question\Statistics\Retrieval:

Public Member Functions

 __construct (protected int $lm_id, protected QuestionInfo $question_info)
 
 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

 getQuestionData ()
 
 formatPercentage (int $value, int $all)
 

Protected Attributes

array $question_data = null
 

Detailed Description

Definition at line 32 of file Retrieval.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\LearningModule\Question\Statistics\Retrieval::__construct ( protected int  $lm_id,
protected QuestionInfo  $question_info 
)

Definition at line 38 of file Retrieval.php.

41 {
42 }

Member Function Documentation

◆ count()

ILIAS\LearningModule\Question\Statistics\Retrieval::count ( array  $filter,
array  $parameters 
)

Implements ILIAS\Repository\RetrievalInterface.

Definition at line 58 of file Retrieval.php.

58 : int
59 {
60 return count($this->getQuestionData());
61 }
count(array $filter, array $parameters)
Definition: Retrieval.php:58

◆ formatPercentage()

ILIAS\LearningModule\Question\Statistics\Retrieval::formatPercentage ( int  $value,
int  $all 
)
protected

Definition at line 107 of file Retrieval.php.

107 : string|int
108 {
109 if ($all === 0) {
110 return 0;
111 }
112
113 return $value . " (" . (100 / $all * $value) . " %)";
114 }

◆ getData()

ILIAS\LearningModule\Question\Statistics\Retrieval::getData ( array  $fields,
?Range  $range = null,
?Order  $order = null,
array  $filter = [],
array  $parameters = [] 
)

Implements ILIAS\Repository\RetrievalInterface.

Definition at line 44 of file Retrieval.php.

50 : Generator {
51 $data = $this->getQuestionData();
52 $data = $this->applyOrder($data, $order);
53 $data = $this->applyRange($data, $range);
54
55 yield from $data;
56 }
$data
Definition: storeScorm.php:45

◆ getQuestionData()

ILIAS\LearningModule\Question\Statistics\Retrieval::getQuestionData ( )
protected

Definition at line 68 of file Retrieval.php.

68 : array
69 {
70 if ($this->question_data !== null) {
72 }
73
75 $this->lm_id,
76 "",
77 "",
78 0,
79 0
80 );
81
82 $data = [];
83 foreach ($questions["set"] as $question) {
84 $stats = ilPageQuestionProcessor::getQuestionStatistics((int) $question["question_id"]);
85 $all = (int) $stats["all"];
86 $first = (int) $stats["first"];
87 $second = (int) $stats["second"];
88 $third_or_more = (int) $stats["third_or_more"];
89
90 $data[] = [
91 "id" => (int) $question["question_id"],
92 "page" => \ilLMObject::_lookupTitle((int) $question["page_id"]),
93 "question" => $this->question_info
94 ->getGeneralQuestionProperties((int) $question["question_id"])
95 ->getQuestionText(),
96 "answered" => $all,
97 "correct_first" => $this->formatPercentage($first, $all),
98 "correct_second" => $this->formatPercentage($second, $all),
99 "third_and_more" => $this->formatPercentage($third_or_more, $all),
100 "never" => $this->formatPercentage($all - $first - $second - $third_or_more, $all)
101 ];
102 }
103
104 return $this->question_data = $data;
105 }
static _lookupTitle(int $a_obj_id)
static queryQuestionsOfLearningModule(int $a_lm_id, string $a_order_field, string $a_order_dir, int $a_offset, int $a_limit)
Get questions of learning module.

References $data, ilLMObject\_lookupTitle(), ilPageQuestionProcessor\getQuestionStatistics(), ILIAS\Repository\int(), and ilLMPageObject\queryQuestionsOfLearningModule().

+ Here is the call graph for this function:

◆ isFieldNumeric()

ILIAS\LearningModule\Question\Statistics\Retrieval::isFieldNumeric ( string  $field)

Implements ILIAS\Repository\RetrievalInterface.

Definition at line 63 of file Retrieval.php.

63 : bool
64 {
65 return false;
66 }

Field Documentation

◆ $question_data

array ILIAS\LearningModule\Question\Statistics\Retrieval::$question_data = null
protected

Definition at line 36 of file Retrieval.php.


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