/** * 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 "news": $mob_id = null; if ($a_rec["MobId"] > 0) { $mob_id = $a_mapping->getMapping("Services/MediaObjects", "mob", $a_rec["MobId"]); } $c = (int) $a_rec["ContextObjId"] . ":" . $a_rec["ContextObjType"] . ":" . (int) $a_rec["ContextSubObjId"] . ":" . $a_rec["ContextSubObjType"]; $context = $a_mapping->getMapping("Services/News", "news_context", $c); $context = explode(":", $context); //var_dump($c); //var_dump($a_mapping->mappings["Services/News"]["news_context"]); include_once "./Services/News/classes/class.ilNewsItem.php"; $newObj = new ilNewsItem(); $newObj->setTitle($a_rec["Title"]); $newObj->setContent($a_rec["Content"]); $newObj->setPriority($a_rec["Priority"]); $newObj->setContextObjId($context[0]); $newObj->setContextObjType($context[1]); $newObj->setContextSubObjId($context[2]); $newObj->setContextSubObjType($context[3]); $newObj->setContentType($a_rec["ContentType"]); $newObj->setVisibility($a_rec["Visibility"]); $newObj->setContentLong($a_rec["ContentLong"]); $newObj->setContentIsLangVar($a_rec["ContentIsLangVar"]); $newObj->setMobId($mob_id); $newObj->setPlaytime($a_rec["Playtime"]); $newObj->create(); $a_mapping->addMapping("Services/News", "news", $a_rec["Id"], $newObj->getId()); break; } }
/** * Save new cast item */ function saveCastItemObject() { global $tpl, $ilCtrl, $ilUser, $lng, $ilTabs; $this->checkPermission("write"); $ilTabs->activateTab("edit_content"); $this->initAddCastItemForm(); if ($_POST["url_Standard"] == "" && !$_FILES['file_Standard']['tmp_name']) { ilUtil::sendFailure($lng->txt("msg_input_either_file_or_url")); $this->populateFormFromPost(); } else { if ($this->form_gui->checkInput()) { // create dummy object in db (we need an id) include_once "./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php"; $mob = new ilObjMediaObject(); $mob->create(); //handle standard purpose $file = $this->createMediaItemForPurpose($mob, "Standard"); // set title and description // set title to basename of file if left empty $title = $this->form_gui->getInput("title") != "" ? $this->form_gui->getInput("title") : basename($file); $description = $this->form_gui->getInput("description"); $mob->setTitle($title); $mob->setDescription($description); // save preview pic $prevpic = $this->form_gui->getInput("preview_pic"); if ($prevpic["size"] > 0) { $mob->uploadVideoPreviewPic($prevpic); } // determine duration for standard purpose $duration = $this->getDuration($file); // handle other purposes foreach ($this->additionalPurposes as $purpose) { // check if some purpose has been uploaded $file_gui = $this->form_gui->getInput("file_" . $purpose); $url_gui = $this->form_gui->getInput("url_" . $purpose); if ($url_gui || $file_gui["size"] > 0) { $this->createMediaItemForPurpose($mob, $purpose); } } $mob->update(); if ($prevpic["size"] == 0) { // re-read media object $mob = new ilObjMediaObject($mob->getId()); $mob->generatePreviewPic(320, 240); } // // @todo: save usage // $news_set = new ilSetting("news"); $enable_internal_rss = $news_set->get("enable_rss_for_internal"); // create new media cast item include_once "./Services/News/classes/class.ilNewsItem.php"; $mc_item = new ilNewsItem(); $mc_item->setMobId($mob->getId()); $mc_item->setContentType(NEWS_AUDIO); $mc_item->setContextObjId($this->object->getId()); $mc_item->setContextObjType($this->object->getType()); $mc_item->setUserId($ilUser->getId()); $mc_item->setPlaytime($duration); $mc_item->setTitle($title); $mc_item->setContent($description); $mc_item->setLimitation(false); if ($enable_internal_rss) { $mc_item->setVisibility($this->form_gui->getInput("visibility")); } else { $mc_item->setVisibility("users"); } $mc_item->create(); $ilCtrl->redirect($this, "listItems"); } else { $this->populateFormFromPost(); } } }
/** * Copy items * * @param * @return */ function copyItems($a_new_obj) { global $ilUser; include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; foreach ($this->readItems(true) as $item) { // copy media object $mob_id = $item["mob_id"]; $mob = new ilObjMediaObject($mob_id); $new_mob = $mob->duplicate(); // copy news item // create new media cast item include_once "./Services/News/classes/class.ilNewsItem.php"; $mc_item = new ilNewsItem(); $mc_item->setMobId($new_mob->getId()); $mc_item->setContentType(NEWS_AUDIO); $mc_item->setContextObjId($a_new_obj->getId()); $mc_item->setContextObjType($a_new_obj->getType()); $mc_item->setUserId($ilUser->getId()); $mc_item->setPlaytime($item["playtime"]); $mc_item->setTitle($item["title"]); $mc_item->setContent($item["content"]); $mc_item->setVisibility($item["visibility"]); $mc_item->create(); } }