3 declare(strict_types=1);
19 $this->ls_items = $ls_items;
20 $this->ui_factory = $ui_factory;
21 $this->lng = $language;
22 $this->goto_command = $goto_command;
23 $this->url_builder = $url_builder;
29 foreach ($this->ls_items->getItems() as $item) {
32 $action = $this->query . $item->getRefId();
33 $action = $this->url_builder->getHref($this->goto_command, $item->getRefId());
36 $steps[] = $this->ui_factory->listing()->workflow()->step(
38 $item->getDescription(),
41 ->withAvailability($item->getAvailability())
44 $item->getLearningProgressStatus()
49 $workflow = $this->ui_factory->listing()->workflow()->linear(
50 $this->lng->txt(
'curriculum'),
55 $current_position = max(0, $this->ls_items->getCurrentItemPosition());
56 $workflow = $workflow->withActive($current_position);
77 switch ($il_lp_status) {
78 case \ilLPStatus::LP_STATUS_IN_PROGRESS_NUM:
81 case \ilLPStatus::LP_STATUS_COMPLETED_NUM:
84 case \ilLPStatus::LP_STATUS_FAILED_NUM:
87 case \ilLPStatus::LP_STATUS_NOT_ATTEMPTED_NUM:
Class ChatMainBarProvider .
__construct(ilLSLearnerItemsQueries $ls_items, ILIAS\UI\Factory $ui_factory, ilLanguage $language, string $goto_command, LSUrlBuilder $url_builder=null)
This combines calls to ProgressDB and StateDB to handle learner-items in the context of a specific LS...
getLearnerCurriculum(bool $with_action=false)
translateLPStatus(int $il_lp_status)
Builds the overview (curriculum) of a LearningSequence.