ILIAS  release_7 Revision v7.30-3-g800a261c036
LSItemOnlineStatus.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
6{
7 const S_LEARNMODULE_IL = "lm";
8 const S_LEARNMODULE_HTML = "htlm";
9 const S_SAHS = "sahs";
10 const S_TEST = "tst";
11 const S_SURVEY = "svy";
12 const S_CONTENTPAGE = "copa";
13 const S_EXERCISE = "exc";
14 const S_IND_ASSESSMENT = "iass";
15 const S_FILE = "file";
16
17 private static $obj_with_online_status = array(
18 self::S_LEARNMODULE_IL,
19 self::S_LEARNMODULE_HTML,
20 self::S_SAHS,
21 self::S_TEST,
22 self::S_SURVEY
23 );
24
25 public function setOnlineStatus(int $ref_id, bool $status)
26 {
28 $obj->setOfflineStatus(!$status);
29 $obj->update();
30 }
31
32 public function getOnlineStatus(int $ref_id) : bool
33 {
34 if(!$this->hasOnlineStatus($ref_id)) {
35 return true;
36 }
38 }
39
40 public function hasOnlineStatus(int $ref_id) : bool
41 {
42 $type = $this->getObjectTypeFor($ref_id);
43 if (in_array($type, self::$obj_with_online_status)) {
44 return true;
45 }
46
47 return false;
48 }
49
50 protected function getObjectTypeFor(int $ref_id) : string
51 {
52 return \ilObject::_lookupType($ref_id, true);
53 }
54}
An exception for terminatinating execution or to throw for unit testing.
hasOnlineStatus(int $ref_id)
getObjectTypeFor(int $ref_id)
setOnlineStatus(int $ref_id, bool $status)
getOnlineStatus(int $ref_id)
static getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
static _lookupObjId($a_id)
static lookupOfflineStatus($a_obj_id)
Lookup offline status using objectDataCache.
$type