ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilObjRemoteTest.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once('Services/WebServices/ECS/classes/class.ilRemoteObjectBase.php');
5
16{
17 const DB_TABLE_NAME = "rtst_settings";
18
22
24 protected $end;
25 protected $start;
26
27 public function initType()
28 {
29 $this->type = "rtst";
30 }
31
32 protected function getTableName()
33 {
35 }
36
37 protected function getECSObjectType()
38 {
39 return "/campusconnect/tests";
40 }
41
48 {
49 $this->availability_type = $a_type;
50 }
51
57 public function getAvailabilityType()
58 {
60 }
61
67 public function setStartingTime($a_time)
68 {
69 $this->start = $a_time;
70 }
71
77 public function getStartingTime()
78 {
79 return $this->start;
80 }
81
87 public function setEndingTime($a_time)
88 {
89 $this->end = $a_time;
90 }
91
97 public function getEndingTime()
98 {
99 return $this->end;
100 }
101
108 public static function _lookupOnline($a_obj_id)
109 {
110 global $ilDB;
111
112 $query = "SELECT * FROM " . self::DB_TABLE_NAME .
113 " WHERE obj_id = " . $ilDB->quote($a_obj_id, 'integer') . " ";
114 $res = $ilDB->query($query);
116 switch ($row->availability_type) {
118 return true;
119
121 return false;
122
124 return time() > $row->r_start && time < $row->r_end;
125
126 default:
127 return false;
128 }
129
130 return false;
131 }
132
133 protected function doCreateCustomFields(array &$a_fields)
134 {
135 $a_fields["availability_type"] = array("integer", 0);
136 $a_fields["availability_start"] = array("integer", 0);
137 $a_fields["availability_end"] = array("integer", 0);
138 }
139
140 protected function doUpdateCustomFields(array &$a_fields)
141 {
142 $a_fields["availability_type"] = array("integer", $this->getAvailabilityType());
143 $a_fields["availability_start"] = array("integer",(int) $this->getStartingTime());
144 $a_fields["availability_end"] = array("integer", (int) $this->getEndingTime());
145 }
146
147 protected function doReadCustomFields($a_row)
148 {
149 $this->setAvailabilityType($a_row->availability_type);
150 $this->setStartingTime($a_row->availability_start);
151 $this->setEndingTime($a_row->availability_end);
152 }
153
154 protected function updateCustomFromECSContent(ilECSSetting $a_server, $a_ecs_content)
155 {
156 // add custom values
157 // $this->setAvailabilityType($a_ecs_content->status == 'online' ? self::ACTIVATION_UNLIMITED : self::ACTIVATION_OFFLINE);
158
159 // :TODO: ACTIVATION_LIMITED is currently not supported in ECS yet
160 }
161}
An exception for terminatinating execution or to throw for unit testing.
Remote test app class.
setEndingTime($a_time)
set ending time
getECSObjectType()
Get ECS resource identifier, e.g.
doCreateCustomFields(array &$a_fields)
Add custom fields to db insert.
updateCustomFromECSContent(ilECSSetting $a_server, $a_ecs_content)
update remote object settings from ecs content
getTableName()
Get db table name.
getStartingTime()
get starting time
static _lookupOnline($a_obj_id)
Lookup online.
setStartingTime($a_time)
set starting time
setAvailabilityType($a_type)
Set Availability type.
getAvailabilityType()
get availability type
doUpdateCustomFields(array &$a_fields)
Add custom fields to db update.
doReadCustomFields($a_row)
Read custom fields from db row.
getEndingTime()
get ending time
Remote object app base class.
$query
foreach($_POST as $key=> $value) $res
global $ilDB
$a_type
Definition: workflow.php:92