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;
 }