Ejemplo n.º 1
0
 /**
  * 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();
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * 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();
     }
 }