1 <?php declare(strict_types=1);
34 $this->ls_object = $ls_object;
35 $this->ls_ref_id = $ls_ref_id;
36 $this->has_items = $has_items;
37 $this->first_access = $first_access;
38 $this->usr_id = $usr_id;
39 $this->access = $access;
43 $this->toolbar = $toolbar;
44 $this->ui_factory = $ui_factory;
45 $this->renderer = $ui_renderer;
46 $this->roles = $roles;
48 $this->curriculum_builder = $curriculum_builder;
49 $this->player = $player;
54 $cmd = $this->ctrl->getCmd();
56 case self::CMD_STANDARD:
62 $this->ctrl->redirect($this, self::CMD_VIEW);
64 case self::CMD_UNSUBSCRIBE:
66 $this->roles->leave($this->usr_id);
68 $this->ctrl->redirect($this, self::CMD_STANDARD);
80 "ilObjLearningSequenceLearnerGUI: " .
81 "Command not supported: $cmd" 86 protected function view(
string $cmd)
91 $this->tpl->setContent(
95 $curriculum = $this->curriculum_builder->getLearnerCurriculum();
96 if (count($curriculum->getSteps()) > 0) {
97 $this->tpl->setRightContent(
105 $admins = $this->roles->getLearningSequenceAdminIds();
106 if (!in_array($usr_id, $admins)) {
107 $this->roles->join($usr_id);
114 return $this->access->checkAccess(
'unparticipate',
'', $this->ls_ref_id);
119 return $this->access->checkAccess(
'participate',
'', $this->ls_ref_id);
124 $is_member = $this->roles->isMember($this->usr_id);
125 $completed = $this->roles->isCompletedByUser($this->usr_id);
126 $has_items = $this->has_items;
131 if ($may_subscribe) {
132 $this->toolbar->addButton(
133 $this->lng->txt(
"lso_player_start"),
134 $this->ctrl->getLinkTarget($this, self::CMD_START)
141 $label =
"lso_player_resume";
142 if ($this->first_access === -1) {
143 $label =
"lso_player_start";
146 $this->toolbar->addButton(
147 $this->lng->txt($label),
148 $this->ctrl->getLinkTarget($this, self::CMD_VIEW)
153 $this->toolbar->addButton(
154 $this->lng->txt(
"lso_player_review"),
155 $this->ctrl->getLinkTarget($this, self::CMD_VIEW)
158 if ($cmd === self::CMD_STANDARD) {
159 $this->toolbar->addButton(
160 $this->lng->txt(
"lso_player_extro"),
161 $this->ctrl->getLinkTarget($this, self::CMD_EXTRO)
164 if ($cmd === self::CMD_EXTRO) {
165 $this->toolbar->addButton(
166 $this->lng->txt(
"lso_player_abstract"),
167 $this->ctrl->getLinkTarget($this, self::CMD_STANDARD)
173 if ($may_unsubscribe) {
174 $this->toolbar->addButton(
175 $this->lng->txt(
"unparticipate"),
176 $this->ctrl->getLinkTarget($this, self::CMD_UNSUBSCRIBE)
186 $this->ui_factory->legacy(
'<div class="ilLSOLearnerView">')
188 $components[] = $this->ui_factory->legacy(
'</div>');
190 return $this->renderer->render($components);
195 if ($cmd === self::CMD_STANDARD) {
200 if ($cmd === self::CMD_EXTRO) {
205 $contents = [$this->ui_factory->legacy(
$txt)];
206 if (!is_null(
$img)) {
207 $contents[] = $this->ui_factory->image()->responsive(
$img,
'');
220 $this->tpl->enableDragDropFileUpload(null);
221 $this->tpl->setContent(
'THIS SHOULD NOT SHOW');
224 case 'EXIT::' . $this->player::LSO_CMD_FINISH:
225 $cmd = self::CMD_EXTRO;
228 case 'EXIT::' . $this->player::LSO_CMD_SUSPEND:
230 $cmd = self::CMD_STANDARD;
233 $href = $this->ctrl->getLinkTarget($this, $cmd,
'',
false,
false);
239 print $this->player->getCurrentItemLearningProgress();
This class provides processing control methods.
if(isset($_FILES['img_file']['size']) && $_FILES['img_file']['size'] > 0) $tpl
getWrappedHTML(array $components)
const PARAM_LSO_NEXT_ITEM
Class ChatMainBarProvider .
Class ilObjLearningSequenceLearnerGUI.
const CMD_CHECK_CURRENT_ITEM_LP
Settings for an LSO (like abstract, extro)
getMainContent(string $cmd)
getCurrentItemLearningProgress()
Implementation of KioskMode Player.
static redirect($a_script)
Builds the overview (curriculum) of a LearningSequence.
__construct(int $ls_ref_id, bool $has_items, $first_access, int $usr_id, ilAccess $access, ilCtrl $ctrl, ilLanguage $lng, ilGlobalTemplateInterface $tpl, ilToolbarGUI $toolbar, ILIAS\UI\Factory $ui_factory, ILIAS\UI\Renderer $ui_renderer, ilLearningSequenceRoles $roles, ilLearningSequenceSettings $settings, ilLSCurriculumBuilder $curriculum_builder, ilLSPlayer $player)