ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilObjRemoteGroup.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once('Services/WebServices/ECS/classes/class.ilRemoteObjectBase.php');
5 
16 {
17  const DB_TABLE_NAME = "rgrp_settings";
18 
20  const ACTIVATION_OFFLINE = 1;
22  const ACTIVATION_LIMITED = 2;
23 
24  protected $availability_type;
25  protected $end;
26  protected $start;
27 
28  public function initType()
29  {
30  $this->type = "rgrp";
31  }
32 
33  protected function getTableName()
34  {
35  return self::DB_TABLE_NAME;
36  }
37 
38  protected function getECSObjectType()
39  {
40  return "/campusconnect/groups";
41  }
42 
48  public function setAvailabilityType($a_type)
49  {
50  $this->availability_type = $a_type;
51  }
52 
58  public function getAvailabilityType()
59  {
61  }
62 
68  public function setStartingTime($a_time)
69  {
70  $this->start = $a_time;
71  }
72 
78  public function getStartingTime()
79  {
80  return $this->start;
81  }
82 
88  public function setEndingTime($a_time)
89  {
90  $this->end = $a_time;
91  }
92 
98  public function getEndingTime()
99  {
100  return $this->end;
101  }
102 
109  public static function _lookupOnline($a_obj_id)
110  {
111  global $ilDB;
112 
113  $query = "SELECT * FROM ".self::DB_TABLE_NAME.
114  " WHERE obj_id = ".$ilDB->quote($a_obj_id ,'integer')." ";
115  $res = $ilDB->query($query);
117  switch($row->availability_type)
118  {
119  case self::ACTIVATION_UNLIMITED:
120  return true;
121 
122  case self::ACTIVATION_OFFLINE:
123  return false;
124 
125  case self::ACTIVATION_LIMITED:
126  return time() > $row->r_start && time < $row->r_end;
127 
128  default:
129  return false;
130  }
131 
132  return false;
133  }
134 
135  protected function doCreateCustomFields(array &$a_fields)
136  {
137  $a_fields["availability_type"] = array("integer", 0);
138  $a_fields["availability_start"] = array("integer", 0);
139  $a_fields["availability_end"] = array("integer", 0);
140  }
141 
142  protected function doUpdateCustomFields(array &$a_fields)
143  {
144  $a_fields["availability_type"] = array("integer", $this->getAvailabilityType());
145  $a_fields["availability_start"] = array("integer", (int) $this->getStartingTime());
146  $a_fields["availability_end"] = array("integer", (int) $this->getEndingTime());
147  }
148 
149  protected function doReadCustomFields($a_row)
150  {
151  $this->setAvailabilityType($a_row->availability_type);
152  $this->setStartingTime($a_row->availability_start);
153  $this->setEndingTime($a_row->availability_end);
154  }
155 
156  protected function updateCustomFromECSContent(ilECSSetting $a_server, $a_ecs_content)
157  {
158  // add custom values
159  // $this->setAvailabilityType($a_ecs_content->status == 'online' ? self::ACTIVATION_UNLIMITED : self::ACTIVATION_OFFLINE);
160 
161  // :TODO: ACTIVATION_LIMITED is currently not supported in ECS yet
162  }
163 
164 
165 }
166 
167 ?>
getEndingTime()
get ending time
setAvailabilityType($a_type)
Set Availability type.
static _lookupOnline($a_obj_id)
Lookup online.
getAvailabilityType()
get availability type
$a_type
Definition: workflow.php:93
getStartingTime()
get starting time
doUpdateCustomFields(array &$a_fields)
Remote object app base class.
const ACTIVATION_OFFLINE
Fixed activation.
Create styles array
The data for the language used.
setEndingTime($a_time)
set ending time
Remote group app class.
updateCustomFromECSContent(ilECSSetting $a_server, $a_ecs_content)
doCreateCustomFields(array &$a_fields)
global $ilDB
Add data(end) time
Method that wraps PHPs time in order to allow simulations with the workflow.
setStartingTime($a_time)
set starting time