ILIAS  release_8 Revision v8.24
class.ilObjRemoteFile.php
Go to the documentation of this file.
1<?php
2
18declare(strict_types=1);
19
30{
31 public const DB_TABLE_NAME = "rfil_settings";
32
33 protected $version;
34 protected $version_tstamp;
35
36 public function initType(): void
37 {
38 $this->type = "rfil";
39 }
40
41 protected function getTableName(): string
42 {
44 }
45
46 protected function getECSObjectType(): string
47 {
48 return "/campusconnect/files";
49 }
50
56 public function setVersion($a_version)
57 {
58 $this->version = (int) $a_version;
59 }
60
66 public function getVersion()
67 {
68 return $this->version;
69 }
70
76 public function setVersionDateTime($a_tstamp)
77 {
78 $this->version_tstamp = (int) $a_tstamp;
79 }
80
86 public function getVersionDateTime()
87 {
89 }
90
91 protected function doCreateCustomFields(array &$a_fields): void
92 {
93 $a_fields["version"] = array("integer", 1);
94 $a_fields["version_tstamp"] = array("integer", time());
95 }
96
97 protected function doUpdateCustomFields(array &$a_fields): void
98 {
99 $a_fields["version"] = array("integer", $this->getVersion());
100 $a_fields["version_tstamp"] = array("integer", $this->getVersionDateTime());
101 }
102
103 protected function doReadCustomFields($a_row): void
104 {
105 $this->setVersion($a_row->version);
106 $this->setVersionDateTime($a_row->version_tstamp);
107 }
108
109 protected function updateCustomFromECSContent(ilECSSetting $a_server, $ecs_content): void
110 {
111 $this->setVersion($ecs_content->version);
112 $this->setVersionDateTime($ecs_content->version_date);
113 }
114
123 public static function _lookupVersionInfo($a_obj_id)
124 {
125 global $ilDB;
126
127 $set = $ilDB->query("SELECT version, version_tstamp" .
128 " FROM " . self::DB_TABLE_NAME .
129 " WHERE obj_id = " . $ilDB->quote($a_obj_id, "integer"));
130 $row = $ilDB->fetchAssoc($set);
131 $res = (int) $row["version"];
132
133 if ($row["version_tstamp"]) {
134 $res .= " (" . ilDatePresentation::formatDate(new ilDateTime($row["version_tstamp"], IL_CAL_UNIX)) . ")";
135 }
136
137 return $res;
138 }
139}
const IL_CAL_UNIX
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
@classDescription Date and time handling
Remote file app class.
doUpdateCustomFields(array &$a_fields)
Add custom fields to db update.
getVersionDateTime()
get version timestamp
doCreateCustomFields(array &$a_fields)
Add custom fields to db insert.
getTableName()
Get db table name.
updateCustomFromECSContent(ilECSSetting $a_server, $ecs_content)
update remote object settings from ecs content
setVersion($a_version)
Set version.
getECSObjectType()
Get ECS resource identifier, e.g.
static _lookupVersionInfo($a_obj_id)
Get version info.
setVersionDateTime($a_tstamp)
Set version timestamp.
Remote object app base class.
$res
Definition: ltiservices.php:69