ILIAS  Release_4_1_x_branch Revision 61804
 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()
184  {
185  return $this->lookupUsages($this->getId());
186  }
187 
193  function lookupUsages($a_id)
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  $us_set = $ilDB->query($q);
202  $ret = array();
203  while($us_rec = $ilDB->fetchAssoc($us_set))
204  {
205  $ut = "";
206  if(is_int(strpos($us_rec["usage_type"], ":")))
207  {
208  $us_arr = explode(":", $us_rec["usage_type"]);
209  $ut = $us_arr[1];
210  $ct = $us_arr[0];
211  }
212 
213  // check whether page exists
214  $skip = false;
215  if ($ut == "pg")
216  {
217  include_once("./Services/COPage/classes/class.ilPageObject.php");
218  if (!ilPageObject::_exists($ct, $us_rec["usage_id"]))
219  {
220  $skip = true;
221  }
222  }
223 
224  if (!$skip)
225  {
226  $ret[] = array("type" => $us_rec["usage_type"],
227  "id" => $us_rec["usage_id"],
228  "hist_nr" => $us_rec["usage_hist_nr"]);
229  }
230  }
231 
232  // get usages in media pools
233  $q = "SELECT DISTINCT mep_id FROM mep_tree JOIN mep_item ON (child = obj_id) WHERE mep_item.obj_id = ".
234  $ilDB->quote($a_id, "integer")." AND mep_item.type = ".$ilDB->quote("pg", "text");
235  $us_set = $ilDB->query($q);
236  while($us_rec = $ilDB->fetchAssoc($us_set))
237  {
238  $ret[] = array("type" => "mep",
239  "id" => $us_rec["mep_id"]);
240  }
241 
242  return $ret;
243  }
244 
245 }
246 ?>