function ilMediaCastTableGUI($a_parent_obj, $a_parent_cmd = "", $a_edit_order = false, $a_presentation_mode = false) { global $ilCtrl, $lng; $this->edit_order = (bool) $a_edit_order; $this->presentation_mode = (bool) $a_presentation_mode; parent::__construct($a_parent_obj, $a_parent_cmd); // Check whether download-buttons will be displayed $mediacast = new ilObjMediaCast($a_parent_obj->id); $this->downloadable = $mediacast->getDownloadable(); if (!$this->presentation_mode) { $this->addColumn("", "", "1"); } $this->addColumn($lng->txt("title")); $this->addColumn($lng->txt("properties")); if (!$this->edit_order) { $this->addColumn($lng->txt("mcst_play"), "", "320px"); } $this->setFormAction($ilCtrl->getFormAction($a_parent_obj)); $this->setRowTemplate("tpl.table_media_cast_row.html", "Modules/MediaCast"); $this->setShowRowsSelector(true); // this messes up the db ordering, where the id is also taken into // account, if the creation date is the same (this happens e.g. on import) // $this->setDefaultOrderField("creation_date"); // $this->setDefaultOrderDirection("desc"); }
/** * Get tail dependencies * * @param string entity * @param string target release * @param array ids * @return array array of array with keys "component", entity", "ids" */ function getXmlExportTailDependencies($a_entity, $a_target_release, $a_ids) { include_once "./Modules/MediaCast/classes/class.ilObjMediaCast.php"; $mc_items_ids = array(); foreach ($a_ids as $id) { $mcst = new ilObjMediaCast($id, false); $items = $mcst->readItems(true); foreach ($items as $i) { $news_ids[] = $i["id"]; } } return array(array("component" => "Services/News", "entity" => "news", "ids" => $news_ids)); }
function finalProcessing($a_mapping) { // restore manual order $order = $this->ds->getOrder(); if (sizeof($order)) { foreach ($order as $obj_id => $items) { $map = array(); foreach ($items as $old_id) { $map[] = $a_mapping->getMapping("Services/News", "news", $old_id); } $mcst = new ilObjMediaCast($obj_id, false); $mcst->saveOrder($map); } } }
/** * Import record * * @param * @return */ function importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version) { //echo $a_entity; //var_dump($a_rec); switch ($a_entity) { case "mcst": include_once "./Modules/MediaCast/classes/class.ilObjMediaCast.php"; if ($new_id = $a_mapping->getMapping('Services/Container', 'objs', $a_rec['Id'])) { $newObj = ilObjectFactory::getInstanceByObjId($new_id, false); } else { $newObj = new ilObjMediaCast(); $newObj->setType("mcst"); $newObj->create(true); } $newObj->setTitle($a_rec["Title"]); $newObj->setDescription($a_rec["Description"]); $newObj->setDefaultAccess($a_rec["DefaultAccess"]); $newObj->setDownloadable($a_rec["Downloadable"]); $newObj->setPublicFiles($a_rec["PublicFiles"]); $newObj->update(true); $this->current_obj = $newObj; $a_mapping->addMapping("Modules/MediaCast", "mcst", $a_rec["Id"], $newObj->getId()); $a_mapping->addMapping("Services/News", "news_context", $a_rec["Id"] . ":mcst:0:", $newObj->getId() . ":mcst:0:"); //var_dump($a_mapping->mappings["Services/News"]["news_context"]); break; } }
/** * Import record * * @param * @return */ function importRecord($a_entity, $a_types, $a_rec, $a_mapping, $a_schema_version) { //echo $a_entity; //var_dump($a_rec); switch ($a_entity) { case "mcst": include_once "./Modules/MediaCast/classes/class.ilObjMediaCast.php"; if ($new_id = $a_mapping->getMapping('Services/Container', 'objs', $a_rec['Id'])) { $newObj = ilObjectFactory::getInstanceByObjId($new_id, false); } else { $newObj = new ilObjMediaCast(); $newObj->setType("mcst"); $newObj->create(true); } $newObj->setTitle($a_rec["Title"]); $newObj->setDescription($a_rec["Description"]); $newObj->setDefaultAccess($a_rec["DefaultAccess"]); $newObj->setDownloadable($a_rec["Downloadable"]); $newObj->setPublicFiles($a_rec["PublicFiles"]); if ($a_schema_version == "5.0.0") { $newObj->setOrder($a_rec["Sortmode"]); $newObj->setViewMode($a_rec["Viewmode"]); if ($a_rec["Order"]) { $this->order[$newObj->getId()] = explode(";", $a_rec["Order"]); } include_once "./Services/Block/classes/class.ilBlockSetting.php"; ilBlockSetting::_write("news", "public_feed", $a_rec["PublicFeed"], 0, $newObj->getId()); ilBlockSetting::_write("news", "keep_rss_min", $a_rec["KeepRssMin"], 0, $newObj->getId()); } $newObj->update(true); $this->current_obj = $newObj; $a_mapping->addMapping("Modules/MediaCast", "mcst", $a_rec["Id"], $newObj->getId()); $a_mapping->addMapping("Services/News", "news_context", $a_rec["Id"] . ":mcst:0:", $newObj->getId() . ":mcst:0:"); //var_dump($a_mapping->mappings["Services/News"]["news_context"]); break; } }
/** * Returns the number of bytes used on the harddisk by the file object * with the specified object id. * @param int object id of a file object. */ function _lookupDiskUsage($a_id) { require_once 'Modules/MediaCast/classes/class.ilObjMediaCast.php'; require_once "./Services/News/classes/class.ilNewsItem.php"; require_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; $obj = new ilObjMediaCast($a_id, false); $obj->read(); $items = $obj->getItemsArray(); $size = 0; foreach ($items as $item) { $news_item = new ilNewsItem($item["id"]); $news_item->read(); $mobId = $news_item->getMobId(); $size += ilUtil::dirsize(ilObjMediaObject::_getDirectory($mobId)); } return $size; }