ILIAS  trunk Revision v11.0_alpha-1749-g1a06bdef097
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilLSLocalDI Class Reference
+ Inheritance diagram for ilLSLocalDI:
+ Collaboration diagram for ilLSLocalDI:

Public Member Functions

 init (ArrayAccess $dic, ArrayAccess $lsdic, DataFactory $data_factory, ilObjLearningSequence $object)
 

Detailed Description

Member Function Documentation

◆ init()

ilLSLocalDI::init ( ArrayAccess  $dic,
ArrayAccess  $lsdic,
DataFactory  $data_factory,
ilObjLearningSequence  $object 
)

Definition at line 31 of file class.ilLSLocalDI.php.

References $c, ilObject\_getAllReferences(), ilContainerSorting\_getInstance(), LSControlBuilder\CMD_CHECK_CURRENT_ITEM_LP, ilObjLearningSequenceLearnerGUI\CMD_VIEW, EXTRO, ilObjLearningSequence\getContentPageHTML(), ilObject\getId(), ilObject\getRefId(), ILIAS\Repository\int(), and ilLSPlayer\LSO_CMD_GOTO.

36  : void {
37  $obj_id = (int) $object->getId();
38 
39  $current_user = $dic['ilUser'];
40  $current_user_id = (int) $current_user->getId();
41 
42  $this["obj.ref_id"] = function ($c) use ($object): int {
43  $ref = $object->getRefId();
44  if (!$ref) {
45  $refs = ilObject::_getAllReferences($object->getId());
46  $ref = array_shift($refs);
47  }
48  return (int) $ref;
49  };
50 
51  $this["obj.obj_id"] = $obj_id;
52 
53  $this["usr.id"] = $current_user_id;
54 
55  $this["obj.sorting"] = function ($c): ilContainerSorting {
56  return ilContainerSorting::_getInstance($c["obj.obj_id"]);
57  };
58 
59  $this["db.lsitems"] = function ($c) use ($dic, $lsdic): ilLSItemsDB {
60  $online_status = new LSItemOnlineStatus();
61  return new ilLSItemsDB(
62  $dic["tree"],
63  $c["obj.sorting"],
64  $lsdic["db.postconditions"],
65  $online_status
66  );
67  };
68 
69  $this["db.progress"] = function ($c) use ($dic): ilLearnerProgressDB {
70  return new ilLearnerProgressDB(
71  $c["db.lsitems"],
72  $dic["ilAccess"],
73  $dic['ilObjDataCache']
74  );
75  };
76 
77  $this["learneritems"] = function ($c) use ($dic, $lsdic): ilLSLearnerItemsQueries {
78  return new ilLSLearnerItemsQueries(
79  $c["db.progress"],
80  $lsdic["db.states"],
81  $c["obj.ref_id"],
82  $c["usr.id"]
83  );
84  };
85 
86 
87  $this["get.params"] = function ($c) use ($dic): ArrayBasedRequestWrapper {
88  return $dic["http"]->wrapper()->query();
89  };
90 
91 
92  $this["gui.learner"] = function ($c) use ($dic, $lsdic, $object): ilObjLearningSequenceLearnerGUI {
93  $intro = $object->getContentPageHTML(LSOPageType::INTRO);
94  $extro = $object->getContentPageHTML(LSOPageType::EXTRO);
95 
97  $c["usr.id"],
98  $dic["ilAccess"],
99  $dic["ilCtrl"],
100  $dic["lng"],
101  $dic["tpl"],
102  $dic["ilToolbar"],
103  $dic["ui.factory"],
104  $dic["ui.renderer"],
105  $c["roles"],
106  $lsdic["db.settings"]->getSettingsFor($c["obj.obj_id"]),
107  $c["player.curriculumbuilder"],
108  $c["player.launchlinksbuilder"],
109  $c["player"],
110  $intro,
111  $extro,
112  $c["get.params"]
113  );
114  };
115 
116  $this["player.urlbuilder.lp"] = function ($c) use ($dic, $data_factory): LSUrlBuilder {
117  $player_base_url = $dic['ilCtrl']->getLinkTargetByClass(
118  'ilObjLearningSequenceLPPollingGUI',
120  '',
121  false,
122  false
123  );
124  $player_base_url = $data_factory->uri(ILIAS_HTTP_PATH . '/' . $player_base_url);
125 
126  return new LSUrlBuilder($player_base_url);
127  };
128  $this["gui.learner.lp"] = function ($c) use ($dic): ilObjLearningSequenceLPPollingGUI {
130  $dic["ilCtrl"],
131  $c["usr.id"],
132  $dic['ilObjDataCache'],
133  $dic->refinery(),
134  $dic->http()->wrapper()->query()
135  );
136  };
137 
138  $this["gui.toc"] = function ($c) use ($dic): ilLSTOCGUI {
139  return new ilLSTOCGUI(
140  $c["player.urlbuilder"],
141  $dic["ilCtrl"]
142  );
143  };
144 
145  $this["gui.loc"] = function ($c) use ($dic): ilLSLocatorGUI {
146  return new ilLSLocatorGUI(
147  $c["player.urlbuilder"],
148  $dic["ui.factory"]
149  );
150  };
151 
152  $this["player.viewfactory"] = function ($c) use ($dic): ilLSViewFactory {
153  return new ilLSViewFactory(
154  $dic['service.kiosk_mode'],
155  $dic["lng"],
156  $dic["ilAccess"],
157  $dic['learning_object_metadata']
158  );
159  };
160 
161  $this["player.urlbuilder"] = function ($c) use ($dic, $data_factory): LSUrlBuilder {
162  $player_base_url = $dic['ilCtrl']->getLinkTargetByClass(
163  'ilObjLearningSequenceLearnerGUI',
165  '',
166  false,
167  false
168  );
169  $player_base_url = $data_factory->uri(ILIAS_HTTP_PATH . '/' . $player_base_url);
170 
171  return new LSUrlBuilder($player_base_url);
172  };
173 
174  $this["globalsetttings"] = function ($c) use ($dic): \LSGlobalSettings {
175  $db = new ilLSGlobalSettingsDB($dic['ilSetting']);
176  return $db->getSettings();
177  };
178 
179  $this["player.controlbuilder"] = function ($c) use ($dic): LSControlBuilder {
180  return new LSControlBuilder(
181  $dic["ui.factory"],
182  $c["player.urlbuilder"],
183  $dic["lng"],
184  $c["globalsetttings"],
185  $c["player.urlbuilder.lp"]
186  );
187  };
188 
189  $this["player.kioskrenderer"] = function ($c) use ($dic): ilKioskPageRenderer {
190  $kiosk_template = new ilTemplate("tpl.kioskpage.html", true, true, 'components/ILIAS/LearningSequence');
191  $window_title = $dic['ilSetting']->get('short_inst_name', 'ILIAS');
192 
193  return new ilKioskPageRenderer(
194  $dic["global_screen"]->layout()->meta(),
195  $dic["ui.factory"],
196  $dic["ui.renderer"],
197  $dic['lng'],
198  $kiosk_template,
199  $c["gui.toc"],
200  $c["gui.loc"],
201  $window_title
202  );
203  };
204 
205  $this["player.curriculumbuilder"] = function ($c) use ($dic): ilLSCurriculumBuilder {
206  return new ilLSCurriculumBuilder(
207  $c["learneritems"],
208  $dic["ui.factory"],
209  $dic["lng"],
211  $c["player.urlbuilder"]
212  );
213  };
214 
215  $this["player.launchlinksbuilder"] = function ($c) use ($dic): ilLSLaunchlinksBuilder {
216  $first_access = $c["learneritems"]->getFirstAccess();
217 
218  return new ilLSLaunchlinksBuilder(
219  $dic["lng"],
220  $dic["ilAccess"],
221  $dic["ilCtrl"],
222  $dic["ui.factory"],
223  $c["obj.ref_id"],
224  $c["usr.id"],
225  $first_access,
226  $c["roles"],
227  $c["learneritems"]
228  );
229  };
230 
231  $this["player"] = function ($c) use ($dic, $lsdic): ilLSPlayer {
232  return new ilLSPlayer(
233  $c["learneritems"],
234  $c["player.controlbuilder"],
235  $c["player.urlbuilder"],
236  $c["player.curriculumbuilder"],
237  $c["player.viewfactory"],
238  $c["player.kioskrenderer"],
239  $dic["ui.factory"],
240  $lsdic["gs.current_context"],
241  $dic["refinery"]
242  );
243  };
244 
245  $this["participants"] = function ($c) use ($dic): ilLearningSequenceParticipants {
247  $c["obj.obj_id"],
248  $dic["ilLoggerFactory"]->getRootLogger(),
249  $dic["ilAppEventHandler"],
250  $dic["ilSetting"]
251  );
252  };
253 
254  $this["roles"] = function ($c) use ($dic, $current_user): ilLearningSequenceRoles {
255  return new ilLearningSequenceRoles(
256  $c["obj.ref_id"],
257  $c["obj.obj_id"],
258  $c["participants"],
259  $dic["ilCtrl"],
260  $dic["rbacadmin"],
261  $dic["rbacreview"],
262  $dic["ilDB"],
263  $current_user,
264  $dic['lng']
265  );
266  };
267 
268  $this["ui.renderer"] = function ($c) use ($dic): ILIAS\UI\Renderer {
269  return $dic['ui.renderer'];
270  };
271  }
Class ilLSItemsDB.
Definition: ilLSItemsDB.php:24
Global Settings of the Learning Sequence.
Builds the links to join/(re-)start the LearningSequence.
static _getAllReferences(int $id)
get all reference ids for object ID
Repository for LSGlobalSettings over ILIAS global settings.
$c
Definition: deliver.php:25
getContentPageHTML(LSOPageType $page_type)
This combines calls to ProgressDB and StateDB to handle learner-items in the context of a specific LS...
Implementation of KioskMode Player.
Get LearningProgress and availability of items in sequence.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
GUI for Locator element.
Tree-GUI for ToC.
static _getInstance(int $a_obj_id)
$dic
Definition: result.php:31
Builds the overview (curriculum) of a LearningSequence.
+ Here is the call graph for this function:

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