ILIAS  Release_4_4_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilCustomBlock.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 
12 {
13 
14  protected $id;
15  protected $context_obj_id;
16  protected $context_obj_type;
19  protected $type;
20  protected $title;
21 
27  public function __construct($a_id = 0)
28  {
29  if ($a_id > 0)
30  {
31  $this->setId($a_id);
32  $this->read();
33  }
34 
35  }
36 
42  public function setId($a_id)
43  {
44  $this->id = $a_id;
45  }
46 
52  public function getId()
53  {
54  return $this->id;
55  }
56 
62  public function setContextObjId($a_context_obj_id)
63  {
64  $this->context_obj_id = $a_context_obj_id;
65  }
66 
72  public function getContextObjId()
73  {
74  return (int) $this->context_obj_id;
75  }
76 
82  public function setContextObjType($a_context_obj_type)
83  {
84  $this->context_obj_type = $a_context_obj_type;
85  }
86 
92  public function getContextObjType()
93  {
95  }
96 
102  public function setContextSubObjId($a_context_sub_obj_id)
103  {
104  $this->context_sub_obj_id = $a_context_sub_obj_id;
105  }
106 
112  public function getContextSubObjId()
113  {
114  return (int) $this->context_sub_obj_id;
115  }
116 
122  public function setContextSubObjType($a_context_sub_obj_type)
123  {
124  $this->context_sub_obj_type = $a_context_sub_obj_type;
125  }
126 
132  public function getContextSubObjType()
133  {
135  }
136 
142  public function setType($a_type)
143  {
144  $this->type = $a_type;
145  }
146 
152  public function getType()
153  {
154  return $this->type;
155  }
156 
162  public function setTitle($a_title)
163  {
164  $this->title = $a_title;
165  }
166 
172  public function getTitle()
173  {
174  return $this->title;
175  }
176 
181  public function create()
182  {
183  global $ilDB;
184 
185  $this->setId($ilDB->nextId("il_custom_block"));
186  $query = "INSERT INTO il_custom_block (".
187  " id".
188  ", context_obj_id".
189  ", context_obj_type".
190  ", context_sub_obj_id".
191  ", context_sub_obj_type".
192  ", type".
193  ", title".
194  " ) VALUES (".
195  $ilDB->quote($this->getId(), "integer")
196  .",".$ilDB->quote($this->getContextObjId(), "integer")
197  .",".$ilDB->quote($this->getContextObjType(), "text")
198  .",".$ilDB->quote($this->getContextSubObjId(), "integer")
199  .",".$ilDB->quote($this->getContextSubObjType(), "text")
200  .",".$ilDB->quote($this->getType(), "text")
201  .",".$ilDB->quote($this->getTitle(), "text").")";
202  $ilDB->manipulate($query);
203  }
204 
209  public function read()
210  {
211  global $ilDB;
212 
213  $query = "SELECT * FROM il_custom_block WHERE id = ".
214  $ilDB->quote($this->getId(), "integer");
215  $set = $ilDB->query($query);
216  $rec = $ilDB->fetchAssoc($set);
217 
218  $this->setContextObjId($rec["context_obj_id"]);
219  $this->setContextObjType($rec["context_obj_type"]);
220  $this->setContextSubObjId($rec["context_sub_obj_id"]);
221  $this->setContextSubObjType($rec["context_sub_obj_type"]);
222  $this->setType($rec["type"]);
223  $this->setTitle($rec["title"]);
224 
225  }
226 
231  public function update()
232  {
233  global $ilDB;
234 
235  $query = "UPDATE il_custom_block SET ".
236  " context_obj_id = ".$ilDB->quote($this->getContextObjId(), "integer").
237  ", context_obj_type = ".$ilDB->quote($this->getContextObjType(), "text").
238  ", context_sub_obj_id = ".$ilDB->quote($this->getContextSubObjId(), "integer").
239  ", context_sub_obj_type = ".$ilDB->quote($this->getContextSubObjType(), "text").
240  ", type = ".$ilDB->quote($this->getType(), "text").
241  ", title = ".$ilDB->quote($this->getTitle(), "text").
242  " WHERE id = ".$ilDB->quote($this->getId(), "integer");
243 
244  $ilDB->manipulate($query);
245 
246  }
247 
252  public function delete()
253  {
254  global $ilDB;
255 
256  $query = "DELETE FROM il_custom_block".
257  " WHERE id = ".$ilDB->quote($this->getId(), "integer");
258 
259  $ilDB->manipulate($query);
260 
261  }
262 
267  public function querygetBlocksForContext()
268  {
269  global $ilDB;
270 
271  $query = "SELECT id, context_obj_id, context_obj_type, context_sub_obj_id, context_sub_obj_type, type, title ".
272  "FROM il_custom_block ".
273  "WHERE ".
274  "context_obj_id = ".$ilDB->quote($this->getContextObjId(), "integer").
275  " AND context_obj_type = ".$ilDB->quote($this->getContextObjType(), "text").
276  " AND context_sub_obj_id = ".$ilDB->quote($this->getContextSubObjId(), "integer").
277  " AND ".$ilDB->equals("context_sub_obj_type", $this->getContextSubObjType(), "text", true);
278  //" AND context_sub_obj_type = ".$ilDB->quote($this->getContextSubObjType(), "text")."";
279 
280  $set = $ilDB->query($query);
281  $result = array();
282  while($rec = $ilDB->fetchAssoc($set))
283  {
284  $result[] = $rec;
285  }
286 
287  return $result;
288 
289  }
290 
295  public function queryBlocksForContext()
296  {
297  global $ilDB;
298 
299  $query = "SELECT id, context_obj_id, context_obj_type, context_sub_obj_id, context_sub_obj_type, type, title ".
300  "FROM il_custom_block ".
301  "WHERE ".
302  "context_obj_id = ".$ilDB->quote($this->getContextObjId(), "integer").
303  " AND context_obj_type = ".$ilDB->quote($this->getContextObjType(), "text").
304  " AND context_sub_obj_id = ".$ilDB->quote($this->getContextSubObjId(), "integer").
305  " AND ".$ilDB->equals("context_sub_obj_type", $this->getContextSubObjType(), "text", true);
306  //" AND context_sub_obj_type = ".$ilDB->quote($this->getContextSubObjType(), "text")."";
307 //echo "$query";
308  $set = $ilDB->query($query);
309  $result = array();
310  while($rec = $ilDB->fetchAssoc($set))
311  {
312  $result[] = $rec;
313  }
314 
315  return $result;
316 
317  }
318 
323  public function queryTitleForId()
324  {
325  global $ilDB;
326 die("ilCustomBlock::queryTitleForId is deprecated");
327 /*
328  $query = "SELECT id ".
329  "FROM il_custom_block ".
330  "WHERE "."";
331 
332  $set = $ilDB->query($query);
333  $result = array();
334  while($rec = $set->fetchRow(DB_FETCHMODE_ASSOC))
335  {
336  $result[] = $rec;
337  }
338 
339  return $result;
340 */
341  }
342 
347  public function queryCntBlockForContext()
348  {
349  global $ilDB;
350 
351  $query = "SELECT count(*) as cnt ".
352  "FROM il_custom_block ".
353  "WHERE ".
354  "context_obj_id = ".$ilDB->quote($this->getContextObjId(), "integer").
355  " AND context_obj_type = ".$ilDB->quote($this->getContextObjType(), "text").
356  " AND context_sub_obj_id = ".$ilDB->quote($this->getContextSubObjId(), "integer").
357  " AND ".$ilDB->equals("context_sub_obj_type", $this->getContextSubObjType(), "text", true).
358  " AND type = ".$ilDB->quote($this->getType(), "text")."";
359 
360  $set = $ilDB->query($query);
361  $result = array();
362  while($rec = $ilDB->fetchAssoc($set))
363  {
364  $result[] = $rec;
365  }
366 
367  return $result;
368 
369  }
370 
371 
372 }
373 ?>