3 declare(strict_types=1);
29 protected \ILIAS\MediaObjects\Tracking\TrackingManager
$tracking;
30 protected \ILIAS\MediaObjects\Player\PlayerGUIRequest
$request;
31 protected \ILIAS\MediaObjects\MediaType\MediaTypeManager
$media_type;
39 $this->gui = $gui_service;
40 $this->domain = $domain_service;
41 $this->media_type = $this->domain->
mediaType();
42 $this->request = $gui_service->
player()->request();
43 $this->tracking = $this->domain->tracking();
48 $ctrl = $this->gui->ctrl();
50 $next_class = $ctrl->getNextClass($this);
51 $cmd = $ctrl->getCmd(
"show");
53 switch ($next_class) {
55 if (in_array($cmd, array(
"saveCompletion"))) {
66 int $tracking_container_ref_id = 0
68 $main_tpl = $this->gui->ui()->mainTemplate();
70 $ctrl = $this->gui->ctrl();
74 if (is_null($med) || !$this->media_type->isAudio($med->getFormat())) {
78 if ($med->getLocationType() ===
"Reference") {
79 $resource = $med->getLocation();
82 $resource = $path_to_file;
85 $audio = $this->gui->ui()->factory()->player()->audio(
90 if ($tracking_container_ref_id > 0) {
93 $treshold = (
int) $mcst_settings->getVideoCompletionThreshold();
95 $main_tpl->addJavaScript(
"./Services/MediaObjects/js/MediaObjectsCompletion.js");
96 $ctrl->setParameter($this,
"mob_tracking_ref_id", $tracking_container_ref_id);
97 $ctrl->setParameter($this,
"mob_tracking_mob_id", $mob->
getId());
98 $url = $ctrl->getLinkTarget($this,
"saveCompletion");
99 $audio = $audio->withAdditionalOnLoadCode(
function (
$id) use (
$url, $treshold) {
101 document.getElementById(
'$id').dataset.mobCompletionCallback =
'$url';
102 document.getElementById(
'$id').dataset.mobCompletionThreshold =
'$treshold';
103 il.MediaObjectsCompletion.init();
113 $ref_id = $this->request->getTrackingRefId();
114 $mob_id = $this->request->getTrackingMobId();
115 $this->tracking->saveCompletion($mob_id,
$ref_id);
Class ChatMainBarProvider .
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins