ILIAS  Release_4_0_x_branch Revision 61816
 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 
147  static function getAllPages($a_media_pool_id)
148  {
149  global $ilDB;
150 // todo
151 /*
152  $pages = parent::getAllPages("mep", $a_media_pool_id);
153 
154  $query = "SELECT * FROM il_media_pool_page".
155  " WHERE media_pool_id = ".$ilDB->quote($a_media_pool_id, "integer").
156  " ORDER BY title";
157  $set = $ilDB->query($query);
158 
159  while($rec = $ilDB->fetchAssoc($set))
160  {
161  if (isset($pages[$rec["id"]]))
162  {
163  $pages[$rec["id"]]["title"] = $rec["title"];
164  }
165  }
166 */
167  return $pages;
168  }
169 
177  static function _mediaPoolPageExists($a_media_pool_id, $a_title)
178  {
179  global $ilDB;
180 // todo
181 /*
182  $query = "SELECT id FROM il_media_pool_page".
183  " WHERE media_pool_id = ".$ilDB->quote($a_media_pool_id, "integer").
184  " AND title = ".$ilDB->quote($a_title, "text");
185  $set = $ilDB->query($query);
186 
187  $pages = array();
188  if ($rec = $ilDB->fetchAssoc($set))
189  {
190  return true;
191  }
192 */
193  return false;
194  }
195 
202  static function _exists($a_id)
203  {
204  return ilPageObject::_exists("mep", $a_id);
205  }
206 
210  function getUsages()
211  {
212  return $this->lookupUsages($this->getId());
213  }
214 
220  function lookupUsages($a_id)
221  {
222  global $ilDB;
223 
224  // get usages in pages
225  $q = "SELECT * FROM page_pc_usage WHERE pc_id = ".
226  $ilDB->quote($a_id, "integer").
227  " AND pc_type = ".$ilDB->quote("incl", "text");
228  $us_set = $ilDB->query($q);
229  $ret = array();
230  while($us_rec = $ilDB->fetchAssoc($us_set))
231  {
232  $ut = "";
233  if(is_int(strpos($us_rec["usage_type"], ":")))
234  {
235  $us_arr = explode(":", $us_rec["usage_type"]);
236  $ut = $us_arr[1];
237  $ct = $us_arr[0];
238  }
239 
240  // check whether page exists
241  $skip = false;
242  if ($ut == "pg")
243  {
244  include_once("./Services/COPage/classes/class.ilPageObject.php");
245  if (!ilPageObject::_exists($ct, $us_rec["usage_id"]))
246  {
247  $skip = true;
248  }
249  }
250 
251  if (!$skip)
252  {
253  $ret[] = array("type" => $us_rec["usage_type"],
254  "id" => $us_rec["usage_id"],
255  "hist_nr" => $us_rec["usage_hist_nr"]);
256  }
257  }
258 
259  // get usages in media pools
260  $q = "SELECT DISTINCT mep_id FROM mep_tree JOIN mep_item ON (child = obj_id) WHERE mep_item.obj_id = ".
261  $ilDB->quote($a_id, "integer")." AND mep_item.type = ".$ilDB->quote("pg", "text");
262  $us_set = $ilDB->query($q);
263  while($us_rec = $ilDB->fetchAssoc($us_set))
264  {
265  $ret[] = array("type" => "mep",
266  "id" => $us_rec["mep_id"]);
267  }
268 
269  return $ret;
270  }
271 
272 }
273 ?>