19 declare(strict_types=1);
37 private readonly
int $question_id,
40 if ($question_id !== $question_properties->getQuestionId()) {
43 'The question ids do not match. Id local: %s. Id properties: %s.',
45 $question_properties->getQuestionId()
55 return $this->question_id;
60 return $this->question_properties;
91 \
Closure $question_target_link_builder,
96 (
string) $this->question_id,
98 'question_id' => $this->question_id,
99 'title' => $ui_factory->link()->standard(
100 $refinery->encode()->htmlSpecialCharsAsEntities()->transform(
101 $this->question_properties->getTitle()
103 $question_target_link_builder($this->question_id)
105 'description' => $this->question_properties->getDescription(),
106 'type_tag' => $this->question_properties->getTypeName($lng),
107 'points' => $this->question_properties->getAvailablePoints(),
108 'author' => $this->question_properties->getAuthor(),
109 'complete' => $this->question_properties->isRequiredInformationComplete(),
114 'percentage_points_achieved' =>
"{$this->getAggregatedResults()->getPercentageOfPointsAchieved()}%"
static getInstance($identifier)
__construct(private readonly int $question_id, private readonly GeneralQuestionProperties $question_properties,)
getAsQuestionsTableRow(Language $lng, UIFactory $ui_factory, Refinery $refinery, \Closure $question_target_link_builder, OrderingRowBuilder $row_builder, TitleColumnsBuilder $title_builder)
buildAccessCheckedQuestionpoolTitleAsLink(?int $qpl_id, ?string $title=null, bool $reference=false)
withAggregatedResults(PropertyAggregatedResults $aggregated_results)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
PropertyAggregatedResults $aggregated_results
getGeneralQuestionProperties()
PropertySequence $sequence
buildOrderingRow(string $id, array $record)
withSequenceInformation(PropertySequence $sequence)