ILIAS  Release_4_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilBookmark.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
14 {
20  var $user_Id;
21 
27  var $ilias;
28  var $tree;
29 
30  var $title;
32  var $target;
33  var $id;
34  var $parent;
35 
41  function ilBookmark($a_bm_id = 0, $a_tree_id = 0)
42  {
43  global $ilias;
44 
45  // Initiate variables
46  $this->ilias =& $ilias;
47  if ($a_tree_id == 0)
48  {
49  $a_tree_id = $_SESSION["AccountId"];
50  }
51 
52  $this->tree = new ilTree($a_tree_id);
53  $this->tree->setTableNames('bookmark_tree','bookmark_data');
54 
55  $this->id = $a_bm_id;
56 
57  if(!empty($this->id))
58  {
59  $this->read();
60  }
61 
62  }
63 
64 
68  function read()
69  {
70  global $ilias, $ilDB;
71 
72  $q = "SELECT * FROM bookmark_data WHERE obj_id = ".
73  $ilDB->quote($this->getId(), "integer");
74  $bm_set = $ilDB->query($q);
75  if ($ilDB->numRows($bm_set) == 0)
76  {
77  $message = "ilBookmark::read(): Bookmark with id ".$this->id." not found!";
78  $ilias->raiseError($message,$ilias->error_obj->WARNING);
79  }
80  else
81  {
82  $bm = $ilDB->fetchAssoc($bm_set);
83  $this->setTitle($bm["title"]);
84  $this->setDescription($bm["description"]);
85  $this->setTarget($bm["target"]);
86  $this->setParent($this->tree->getParentId($this->id));
87  }
88  }
89 
93  function delete()
94  {
95  global $ilDB;
96 
97  if ($this->getId() != 1)
98  {
99  $q = "DELETE FROM bookmark_data WHERE obj_id = ".
100  $ilDB->quote($this->getId(), "integer");
101  $ilDB->manipulate($q);
102  }
103  }
104 
105 
109  function create()
110  {
111  global $ilDB;
112 
113  $this->setId($ilDB->nextId("bookmark_data"));
114  $q = sprintf(
115  "INSERT INTO bookmark_data (obj_id, user_id, title,description, target, type) ".
116  "VALUES (%s,%s,%s,%s,%s,%s)",
117  $ilDB->quote($this->getId(), "integer"),
118  $ilDB->quote($_SESSION["AccountId"], "integer"),
119  $ilDB->quote($this->getTitle(), "text"),
120  $ilDB->quote($this->getDescription(), "text"),
121  $ilDB->quote($this->getTarget(), "text"),
122  $ilDB->quote('bm', "text")
123  );
124 
125  $ilDB->manipulate($q);
126  $this->tree->insertNode($this->getId(), $this->getParent());
127  }
128 
132  function update()
133  {
134  global $ilDB;
135 
136  $q = sprintf(
137  "UPDATE bookmark_data SET title=%s,description=%s,target=%s ".
138  "WHERE obj_id=%s",
139  $ilDB->quote($this->getTitle(), "text"),
140  $ilDB->quote($this->getDescription(), "text"),
141  $ilDB->quote($this->getTarget(), "text"),
142  $ilDB->quote($this->getId(), "integer")
143  );
144  $ilDB->manipulate($q);
145  }
146 
147 
148  /*
149  * set id
150  * @access public
151  * @param integer
152  */
153  function setId($a_id)
154  {
155  $this->id = $a_id;
156  }
157 
158  function getId()
159  {
160  return $this->id;
161  }
162 
168  function setTitle($a_str)
169  {
170  $this->title = $a_str;
171  }
172 
173  function getTitle()
174  {
175  return $this->title;
176  }
182  function setDescription($a_str)
183  {
184  $this->description = $a_str;
185  }
186 
187  function getDescription()
188  {
189  return $this->description;
190  }
191 
197  function setTarget($a_target)
198  {
199  $this->target = $a_target;
200  }
201 
202 
203  function getTarget()
204  {
205  return $this->target;
206  }
207 
208  function setParent($a_parent_id)
209  {
210  $this->parent = $a_parent_id;
211  }
212 
213  function getParent()
214  {
215  return $this->parent;
216  }
217 
222  public static function _getTypeOfId($a_id)
223  {
224  global $ilias, $ilDB;
225 
226  $q = "SELECT * FROM bookmark_data WHERE obj_id = ".
227  $ilDB->quote($a_id, "integer");
228  $bm_set = $ilDB->query($q);
229  if ($ilDB->numRows($bm_set) == 0)
230  {
231  return null;
232  }
233  else
234  {
235  $bm = $ilDB->fetchAssoc($bm_set);
236  return $bm["type"];
237  }
238  }
239 }
240 ?>