ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
class.ilMediaPoolPage.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 include_once("./Services/COPage/classes/class.ilPageObject.php");
5 
15 {
21  function __construct($a_id = 0, $a_old_nr = 0)
22  {
23  parent::__construct("mep", $a_id, $a_old_nr);
24  }
25 
29  function create()
30  {
31  global $ilDB;
32 
33  // create page object
35 
36  $this->saveInternalLinks($this->getXMLContent());
37  }
38 
45  function update($a_validate = true, $a_no_history = false)
46  {
47  global $ilDB;
48  parent::update($a_validate, $a_no_history);
49 
50  return true;
51  }
52 
56  function read()
57  {
58  global $ilDB;
59 
60  // get co page
61  parent::read();
62  }
63 
64 
70  function delete()
71  {
72  global $ilDB;
73 
74 
75  // delete internal links information to this page
76 // include_once("./Services/COPage/classes/class.ilInternalLink.php");
77 // ilInternalLink::_deleteAllLinksToTarget("mep", $this->getId());
78 
79 
80  // delete co page
82 
83  return true;
84  }
85 
91  static function deleteAllPagesOfMediaPool($a_media_pool_id)
92  {
93  global $ilDB;
94 
95 // todo
96 /*
97  $query = "SELECT * FROM il_media_pool_page".
98  " WHERE media_pool_id = ".$ilDB->quote($a_media_pool_id, "integer");
99  $set = $ilDB->query($query);
100 
101  while($rec = $ilDB->fetchAssoc($set))
102  {
103  $mp_page = new ilMediaPoolPage($rec["id"]);
104  $mp_page->delete();
105  }
106 */
107  }
108 
112  static function exists($a_media_pool_id, $a_title)
113  {
114  global $ilDB;
115 
116 // todo
117 /*
118 
119  $query = "SELECT * FROM il_media_pool_page".
120  " WHERE media_pool_id = ".$ilDB->quote($a_media_pool_id, "integer").
121  " AND title = ".$ilDB->quote($a_title, "text");
122  $set = $ilDB->query($query);
123  if($rec = $ilDB->fetchAssoc($set))
124  {
125  return true;
126  }
127 */
128  return false;
129  }
130 
134  static function lookupTitle($a_page_id)
135  {
136  global $ilDB;
137 
138  include_once("./Modules/MediaPool/classes/class.ilMediaPoolItem.php");
139  return ilMediaPoolItem::lookupTitle($a_page_id);
140  }
141 
142 
150  static function _mediaPoolPageExists($a_media_pool_id, $a_title)
151  {
152  global $ilDB;
153 // todo
154 /*
155  $query = "SELECT id FROM il_media_pool_page".
156  " WHERE media_pool_id = ".$ilDB->quote($a_media_pool_id, "integer").
157  " AND title = ".$ilDB->quote($a_title, "text");
158  $set = $ilDB->query($query);
159 
160  $pages = array();
161  if ($rec = $ilDB->fetchAssoc($set))
162  {
163  return true;
164  }
165 */
166  return false;
167  }
168 
175  static function _exists($a_id)
176  {
177  return ilPageObject::_exists("mep", $a_id);
178  }
179 
183  function getUsages($a_incl_hist = true)
184  {
185  return $this->lookupUsages($this->getId(), $a_incl_hist);
186  }
187 
193  function lookupUsages($a_id, $a_incl_hist = true)
194  {
195  global $ilDB;
196 
197  // get usages in pages
198  $q = "SELECT * FROM page_pc_usage WHERE pc_id = ".
199  $ilDB->quote($a_id, "integer").
200  " AND pc_type = ".$ilDB->quote("incl", "text");
201 
202  if (!$a_incl_hist)
203  {
204  $q.= " AND usage_hist_nr = ".$ilDB->quote(0, "integer");
205  }
206 
207  $us_set = $ilDB->query($q);
208  $ret = array();
209  while($us_rec = $ilDB->fetchAssoc($us_set))
210  {
211  $ut = "";
212  if(is_int(strpos($us_rec["usage_type"], ":")))
213  {
214  $us_arr = explode(":", $us_rec["usage_type"]);
215  $ut = $us_arr[1];
216  $ct = $us_arr[0];
217  }
218 
219  // check whether page exists
220  $skip = false;
221  if ($ut == "pg")
222  {
223  include_once("./Services/COPage/classes/class.ilPageObject.php");
224  if (!ilPageObject::_exists($ct, $us_rec["usage_id"]))
225  {
226  $skip = true;
227  }
228  }
229 
230  if (!$skip)
231  {
232  $ret[] = array("type" => $us_rec["usage_type"],
233  "id" => $us_rec["usage_id"],
234  "hist_nr" => $us_rec["usage_hist_nr"]);
235  }
236  }
237 
238  // get usages in media pools
239  $q = "SELECT DISTINCT mep_id FROM mep_tree JOIN mep_item ON (child = obj_id) WHERE mep_item.obj_id = ".
240  $ilDB->quote($a_id, "integer")." AND mep_item.type = ".$ilDB->quote("pg", "text");
241  $us_set = $ilDB->query($q);
242  while($us_rec = $ilDB->fetchAssoc($us_set))
243  {
244  $ret[] = array("type" => "mep",
245  "id" => $us_rec["mep_id"]);
246  }
247 
248  return $ret;
249  }
250 
251 }
252 ?>