ILIAS  release_8 Revision v8.24
LSItemOnlineStatus.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
22{
23 public const S_LEARNMODULE_IL = "lm";
24 public const S_LEARNMODULE_HTML = "htlm";
25 public const S_SAHS = "sahs";
26 public const S_TEST = "tst";
27 public const S_SURVEY = "svy";
28 public const S_CONTENTPAGE = "copa";
29 public const S_EXERCISE = "exc";
30 public const S_IND_ASSESSMENT = "iass";
31 public const S_FILE = "file";
32
33 private static array $obj_with_online_status = array(
34 self::S_LEARNMODULE_IL,
35 self::S_LEARNMODULE_HTML,
36 self::S_SAHS,
37 self::S_TEST,
38 self::S_SURVEY,
39 self::S_CONTENTPAGE
40 );
41
42 public function setOnlineStatus(int $ref_id, bool $status): void
43 {
45 $obj->setOfflineStatus(!$status);
46 $obj->update();
47 }
48
49 public function getOnlineStatus(int $ref_id): bool
50 {
51 if (!$this->hasOnlineStatus($ref_id)) {
52 return true;
53 }
55 }
56
57 public function hasOnlineStatus(int $ref_id): bool
58 {
59 $type = $this->getObjectTypeFor($ref_id);
60 return in_array($type, self::$obj_with_online_status);
61 }
62
63 protected function getObjectTypeFor(int $ref_id): string
64 {
65 return \ilObject::_lookupType($ref_id, true);
66 }
67}
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
hasOnlineStatus(int $ref_id)
getObjectTypeFor(int $ref_id)
setOnlineStatus(int $ref_id, bool $status)
getOnlineStatus(int $ref_id)
static array $obj_with_online_status
static getInstanceByRefId(int $ref_id, bool $stop_on_error=true)
get an instance of an Ilias object by reference id
static _lookupObjId(int $ref_id)
static lookupOfflineStatus(int $obj_id)
Lookup offline status using objectDataCache.
$ref_id
Definition: ltiauth.php:67
$type