19declare(strict_types=1);
41 DataFactory $data_factory,
46 $current_user =
$dic[
'ilUser'];
47 $current_user_id = (
int) $current_user->getId();
49 $this[
"obj.ref_id"] =
function (
$c) use ($object):
int {
53 $ref = array_shift($refs);
58 $this[
"obj.obj_id"] = $obj_id;
60 $this[
"usr.id"] = $current_user_id;
71 $lsdic[
"db.postconditions"],
80 $dic[
'ilObjDataCache']
95 return $dic[
"http"]->wrapper()->query();
113 $lsdic[
"db.settings"]->getSettingsFor(
$c[
"obj.obj_id"]),
114 $c[
"player.launchlinksbuilder"],
123 $this[
"player.urlbuilder.lp"] =
function (
$c) use (
$dic, $data_factory):
LSUrlBuilder {
124 $player_base_url =
$dic[
'ilCtrl']->getLinkTargetByClass(
125 'ilObjLearningSequenceLPPollingGUI',
131 $player_base_url = $data_factory->uri(ILIAS_HTTP_PATH .
'/' . $player_base_url);
139 $dic[
'ilObjDataCache'],
141 $dic->http()->wrapper()->query()
147 $c[
"player.urlbuilder"],
154 $c[
"player.urlbuilder"],
161 $dic[
'service.kiosk_mode'],
164 $dic[
'learning_object_metadata']
169 $player_base_url =
$dic[
'ilCtrl']->getLinkTargetByClass(
170 'ilObjLearningSequenceLearnerGUI',
176 $player_base_url = $data_factory->uri(ILIAS_HTTP_PATH .
'/' . $player_base_url);
183 return $db->getSettings();
189 $c[
"player.urlbuilder"],
191 $c[
"globalsetttings"],
192 $c[
"player.urlbuilder.lp"]
197 $kiosk_template =
new ilTemplate(
"tpl.kioskpage.html",
true,
true,
'components/ILIAS/LearningSequence');
198 $window_title =
$dic[
'ilSetting']->get(
'short_inst_name',
'ILIAS');
201 $dic[
"global_screen"]->layout()->meta(),
214 $first_access =
$c[
"learneritems"]->getFirstAccess();
230 $mode = $lsdic[
"db.settings"]->getSettingsFor(
$c[
"obj.obj_id"])->getMode();
235 $item_path = $lsdic[
"db.item_path"];
236 $boundaries = $lsdic[
"db.boundaries"];
252 $dic[
"ilObjDataCache"],
253 $c[
"player.urlbuilder"],
260 $learning_map_data_builder =
$c[
"learning_map.data_builder"];
261 $learning_map =
static fn(): string
262 => $object->renderLearningMap($learning_map_data_builder, false);
266 $c[
"player.controlbuilder"],
267 $c[
"player.urlbuilder"],
268 $c[
"player.viewfactory"],
269 $c[
"player.kioskrenderer"],
271 $lsdic[
"gs.current_context"],
282 $choice_page_builder,
294 $is_adaptive = $lsdic[
"db.settings"]->getSettingsFor(
$c[
"obj.obj_id"])->getMode()
297 $navigator = $is_adaptive
300 $item_path = $lsdic[
"db.item_path"];
301 $boundaries = $lsdic[
"db.boundaries"];
303 $lso_obj_id =
$c[
"obj.obj_id"];
304 $ref_id =
$c[
"obj.ref_id"];
306 $progress_db =
$c[
"db.progress"];
313 $position_factory =
static function (
int $usr_id) use ($is_adaptive, $navigator, $item_path, $boundaries, $lso_obj_id, $db):
LSOLearningMapPosition {
338 $items_factory =
static function (
int $usr_id) use ($is_adaptive, $progress_db, $ref_id): array {
339 $items = $progress_db->getLearnerItems($usr_id, $ref_id);
344 =>
$a->getOrderNumber() <=>
$b->getOrderNumber()
352 $c[
"player.urlbuilder"],
367 $dic[
"ilLoggerFactory"]->getComponentLogger(
'lso'),
368 $dic[
"ilAppEventHandler"],
388 return $dic[
'ui.renderer'];
Dependency injection container for the global as well as for local, component specific containers.
Class ArrayBasedRequestWrapper.
Builds learning map data for a user and view mode.
Tracks a user's position and visit history in a learning map.
Provides navigation rules for sequential learning maps.
Tracks the position in a sequential learning map.
Provides condition-based navigation through an adaptive learning sequence.
Reusable "template" for the adaptive branch-selection page.
Provides index-based navigation through the items of a learning sequence.
const CMD_CHECK_CURRENT_ITEM_LP
Global Settings of the Learning Sequence.
Add learning progress and availability information to the LSItem.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _getInstance(int $a_obj_id)
Repository for LSGlobalSettings over ILIAS global settings.
Builds the links to join/(re-)start the LearningSequence.
This combines calls to ProgressDB and StateDB to handle learner-items in the context of a specific LS...
init(ArrayAccess $dic, ArrayAccess $lsdic, DataFactory $data_factory, ilObjLearningSequence $object)
Implementation of KioskMode Player.
Get LearningProgress and availability of items in sequence.
@ilCtrl_Calls ilObjLearningSequenceLearnerGUI: ilCommonActionDispatcherGUI
getContentPageHTML(LSOPageType $page_type)
static _getAllReferences(int $id)
get all reference ids for object ID
special template class to simplify handling of ITX/PEAR
An entity that renders components to a string output.
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples