ILIAS  Release_4_4_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilECSCourseMemberAssignment.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
10 {
11  const STATUS_ASSIGNED = 0;
13 
14  private $id;
15  private $server;
16  private $mid;
17  private $cms_id;
18  private $cms_sub_id = 0;
19  private $obj_id;
20  private $uid;
21  private $status = 0;
22 
23 
27  public function __construct($a_id = 0)
28  {
29  $this->id = $a_id;
30 
31  $this->read();
32  }
33 
37  public static function deleteByObjId($a_obj_id)
38  {
39  global $ilDB;
40 
41  $query = 'DELETE FROM ecs_course_assignments '.
42  'WHERE obj_id = '.$ilDB->quote($a_obj_id, 'integer');
43  $ilDB->manipulate($query);
44  return true;
45  }
46 
53  public static function deleteByServerId($a_server_id)
54  {
55  global $ilDB;
56 
57  $query = 'DELETE FROM ecs_course_assignments '.
58  'WHERE sid = '.$ilDB->quote($a_server_id, 'integer');
59  $ilDB->manipulate($query);
60  return true;
61  }
62 
70  public static function lookupUserIds($a_cms_id, $a_cms_sub_id, $a_obj_id)
71  {
72  global $ilDB;
73 
74  $query = 'SELECT usr_id FROM ecs_course_assignments '.
75  'WHERE cms_id = '.$ilDB->quote($a_cms_id,'integer').' '.
76  'AND cms_sub_id = '.$ilDB->quote($a_cms_sub_id).' '.
77  'AND obj_id = '.$ilDB->quote($a_obj_id,'integer');
78  $res = $ilDB->query($query);
79 
80  $usr_ids = array();
81  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
82  {
83  $usr_ids[] = $row->usr_id;
84  }
85  return $usr_ids;
86  }
87 
96  public static function lookupAssignment($a_cms_id,$a_cms_sub_id,$a_obj_id,$a_usr_id)
97  {
98  global $ilDB;
99 
100  $query = 'SELECT id FROM ecs_course_assignments '.
101  'WHERE cms_id = '.$ilDB->quote($a_cms_id,'integer').' '.
102  'AND cms_sub_id = '.$ilDB->quote($a_cms_sub_id,'integer').' '.
103  'AND obj_id = '.$ilDB->quote($a_obj_id,'integer').' '.
104  'AND usr_id = '.$ilDB->quote($a_usr_id,'text');
105  $res = $ilDB->query($query);
106  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
107  {
108  return new ilECSCourseMemberAssignment($row->id);
109  }
110  return null;
111  }
112 
113 
114  public function getId()
115  {
116  return $this->id;
117  }
118 
123  public function setServer($a_server)
124  {
125  $this->server = $a_server;
126  }
127 
132  public function getServer()
133  {
134  return $this->server;
135  }
136 
137  public function setMid($a_mid)
138  {
139  $this->mid = $a_mid;
140  }
141 
142  public function getMid()
143  {
144  return $this->mid;
145  }
146 
147  public function setCmsId($a_id)
148  {
149  $this->cms_id = $a_id;
150  }
151 
152  public function getCmsId()
153  {
154  return $this->cms_id;
155  }
156 
157  public function setCmsSubId($a_id)
158  {
159  $this->cms_sub_id = $a_id;
160  }
161 
162  public function getCmsSubId()
163  {
164  return $this->cms_sub_id;
165  }
166 
167  public function setObjId($a_id)
168  {
169  $this->obj_id = $a_id;
170  }
171 
172  public function getObjId()
173  {
174  return $this->obj_id;
175  }
176 
177  public function setUid($a_id)
178  {
179  $this->uid = $a_id;
180  }
181 
182  public function getUid()
183  {
184  return $this->uid;
185  }
186 
187  public function setStatus($a_status)
188  {
189  $this->status = $a_status;
190  }
191 
192  public function getStatus()
193  {
194  return $this->status;
195  }
196 
201  public function save()
202  {
203  global $ilDB;
204 
205  $this->id = $ilDB->nextId('ecs_course_assignments');
206 
207  $query = 'INSERT INTO ecs_course_assignments '.
208  '(id,sid,mid,cms_id,cms_sub_id,obj_id,usr_id,status) '.
209  'VALUES( '.
210  $ilDB->quote($this->getId(),'integer').', '.
211  $ilDB->quote($this->getServer(),'integer').', '.
212  $ilDB->quote($this->getMid(),'integer').', '.
213  $ilDB->quote($this->getCmsId(),'integer').', '.
214  $ilDB->quote($this->getCmsSubId(),'integer').', '.
215  $ilDB->quote($this->getObjId(),'integer').', '.
216  $ilDB->quote($this->getUid(),'text').', '.
217  $ilDB->quote($this->getStatus(),'integer').' '.
218  ')';
219  $ilDB->manipulate($query);
220  }
221 
227  public function update()
228  {
229  global $ilDB;
230 
231  $query = 'UPDATE ecs_course_assignments '.
232  'SET '.
233  'sid = '.$ilDB->quote($this->getServer(),'integer').', '.
234  'mid = '.$ilDB->quote($this->getMid(),'integer').', '.
235  'cms_id = '.$ilDB->quote($this->getCmsId(),'integer').', '.
236  'cms_sub_id = '.$ilDB->quote($this->getCmsSubId(),'integer').' '.
237  'obj_id = '.$ilDB->quote($this->getObjId(),'integer').', '.
238  'usr_id = '.$ilDB->quote($this->getUid(),'text').', '.
239  'status = '.$ilDB->quote($this->get,'integer').' '.
240  'WHERE id = '.$ilDB->quote($this->getId(),'integer');
241  $ilDB->manipulate($query);
242  return true;
243  }
244 
248  public function delete()
249  {
250  global $ilDB;
251 
252  $query = 'DELETE FROM ecs_course_assignments '.
253  'WHERE id = '.$ilDB->quote($this->getId(),'integer');
254  $ilDB->manipulate($query);
255  return true;
256  }
257 
258 
259 
264  protected function read()
265  {
266  global $ilDB;
267 
268  if(!$this->getId())
269  {
270  return false;
271  }
272 
273  $query = 'SELECT * FROM ecs_course_assignments '.
274  'WHERE id = '.$ilDB->quote($this->getId(),'integer');
275  $res = $ilDB->query($query);
276  while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
277  {
278  $this->setServer($row->sid);
279  $this->setMid($row->mid);
280  $this->setCmsId($row->cms_id);
281  $this->setCmsSubId($row->cms_sub_id);
282  $this->setObjId($row->obj_id);
283  $this->uid = $row->uid;
284  $this->setStatus($row->status);
285  }
286  }
287 }
288 ?>