5 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
34 $this->
ilObjectGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
35 $lng->loadLanguageModule(
"mcst");
36 $lng->loadLanguageModule(
"news");
37 $lng->loadLanguageModule(
"rep");
39 $ilCtrl->saveParameter($this,
"item_id");
41 include_once (
"./Modules/MediaCast/classes/class.ilMediaCastSettings.php");
43 $this->purposeSuffixes = $settings->getPurposeSuffixes();
44 $this->mimeTypes = array();
45 $mime_types = $settings->getMimeTypes();
46 foreach ($mime_types as $mt)
48 $this->mimeTypes[$mt] = $mt;
51 include_once(
"./Services/Utilities/classes/class.ilMimeTypeUtil.php");
54 $this->mimeTypes[$mt] = $mt;
56 asort($this->mimeTypes);
63 $next_class = $this->ctrl->getNextClass($this);
64 $cmd = $this->ctrl->getCmd();
69 case "ilinfoscreengui":
76 $ilTabs->activateTab(
"export");
77 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
79 $exp_gui->addFormat(
"xml");
80 $ret = $this->ctrl->forwardCommand($exp_gui);
84 case 'ilpermissiongui':
85 $ilTabs->activateTab(
"id_permissions");
86 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
88 $ret =& $this->ctrl->forwardCommand($perm_gui);
91 case 'ilobjectcopygui':
92 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
95 $this->ctrl->forwardCommand($cp);
98 case "ilcommonactiondispatchergui":
99 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
101 $this->ctrl->forwardCommand($gui);
104 case "illearningprogressgui":
105 $ilTabs->activateTab(
'learning_progress');
106 require_once
'Services/Tracking/classes/class.ilLearningProgressGUI.php';
109 $this->object->getRefId(),
110 $_GET[
'user_id'] ?
$_GET[
'user_id'] : $ilUser->getId()
112 $this->ctrl->forwardCommand($new_gui);
113 $this->tabs_gui->setTabActive(
'learning_progress');
122 if (
$cmd !=
"infoScreenObject")
142 $forms = array(self::CFORM_NEW => $this->
initCreateForm($a_new_type),
157 ilUtil::redirect(
"ilias.php?baseClass=ilMediaCastHandlerGUI&ref_id=".$newObj->getRefId().
"&cmd=editSettings");
165 global
$tpl,
$lng, $ilAccess, $ilTabs, $ilToolbar;
169 if ($a_presentation_mode)
178 $med_items = $this->
object->getSortedItemsArray();
180 include_once(
"./Modules/MediaCast/classes/class.ilMediaCastTableGUI.php");
181 if ($a_presentation_mode)
190 $table_gui->setData($med_items);
192 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]) && !$a_presentation_mode)
194 $ilToolbar->addButton($lng->txt(
"add"), $this->ctrl->getLinkTarget($this,
"addCastItem"));
196 $table_gui->addMultiCommand(
"confirmDeletionItems", $lng->txt(
"delete"));
197 $table_gui->setSelectAllCheckbox(
"item_id");
201 if ($feed_icon_html !=
"")
203 $table_gui->setHeaderHTML($feed_icon_html);
206 $tpl->setContent($table_gui->getHTML());
208 $tpl->setPermanentLink($this->object->getType(), $this->
object->getRefId());
223 include_once(
"./Services/Block/classes/class.ilBlockSetting.php");
225 0, $this->object->getId());
231 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
233 if ($enable_internal_rss)
236 $items = $this->
object->getItemsArray();
237 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
241 foreach ($items as $id => $item)
245 if ($mob->hasPurposeItem($purpose))
251 $url = ILIAS_HTTP_PATH.
"/feed.php?client_id=".rawurlencode(CLIENT_ID).
"&".
"ref_id=".$_GET[
"ref_id"].
"&purpose=$purpose";
252 $title = $lng->txt(
"news_feed_url");
254 include_once(
"./Services/News/classes/class.ilRSSButtonGUI.php");
255 switch (strtolower($purpose))
257 case "audioportable":
262 case "videoportable":
272 $row1 .=
" ".ilRSSButtonGUI::get($type1,
$url);
273 if ($this->object->getPublicFiles())
275 $url = preg_replace(
"/https?/i",
"itpc",
$url);
276 $title = $lng->txt(
"news_feed_url");
278 include_once(
"./Services/News/classes/class.ilRSSButtonGUI.php");
279 $row2 .=
" ".ilRSSButtonGUI::get($type2,
$url);
309 $tpl->setContent($this->form_gui->getHTML());
322 include_once(
"./Services/MediaObjects/classes/class.ilFFmpeg.php");
326 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
332 foreach (array(
"Standard") as $p)
373 include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
378 $ilToolbar->addInputItem($ni,
true);
380 $ilToolbar->addFormButton($this->lng->txt(
"mcst_extract_preview_image"),
"extractPreviewImage");
381 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
394 $tpl->setContent($this->form_gui->getHTML());
405 $ilTabs->activateTab(
"edit_content");
407 $lng->loadLanguageModule(
"mcst");
410 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
412 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
414 $this->form_gui->setMultipart(
true);
419 $this->form_gui->addItem($text_input);
424 $this->form_gui->addItem($text_area);
427 if ($enable_internal_rss)
430 $radio_option =
new ilRadioOption($lng->txt(
"access_users"),
"users");
431 $radio_group->addOption($radio_option);
432 $radio_option =
new ilRadioOption($lng->txt(
"access_public"),
"public");
433 $radio_group->addOption($radio_option);
434 $radio_group->
setInfo($lng->txt(
"mcst_visibility_info"));
435 $radio_group->setRequired(
true);
436 $radio_group->setValue($this->object->getDefaultAccess() == 0 ?
"users" :
"public");
437 $this->form_gui->addItem($radio_group);
442 $dur->
setInfo($lng->txt(
"mcst_duration_info"));
443 $dur->setShowDays(
false);
444 $dur->setShowHours(
true);
445 $dur->setShowSeconds(
true);
446 $this->form_gui->addItem($dur);
450 if ($purpose ==
"VideoAlternative" &&
457 $section->setTitle($lng->txt(
"mcst_".strtolower($purpose).
"_title"));
459 if ($a_mode !=
"create")
464 $label->setInfo($lng->txt(
"mcst_current_value_info"));
465 $this->form_gui->addItem($label);
466 $this->form_gui->addItem($value);
470 $file->setSuffixes($this->purposeSuffixes[$purpose]);
471 $this->form_gui->addItem(
$file);
474 $text_input->setInfo($lng->txt(
"mcst_reference_info"));
475 $this->form_gui->addItem($text_input);
476 if ($purpose !=
"Standard")
479 $clearCheckBox->setPostVar(
"delete_".$purpose);
480 $clearCheckBox->setTitle($lng->txt(
"mcst_clear_purpose_title"));
481 $this->form_gui->addItem($clearCheckBox);
486 $mimeTypeSelection->setPostVar(
"mimetype_".$purpose);
487 $mimeTypeSelection->setTitle($lng->txt(
"mcst_mimetype"));
488 $mimeTypeSelection->setInfo($lng->txt(
"mcst_mimetype_info"));
489 $options = array(
"" => $lng->txt(
"mcst_automatic_detection"));
490 $options = array_merge($options, $this->mimeTypes);
491 $mimeTypeSelection->setOptions($options);
492 $this->form_gui->addItem($mimeTypeSelection);
497 $pp->setInfo($lng->txt(
"mcst_preview_picture_info").
" mp4, mp3, png, jp(e)g, gif");
498 $this->form_gui->addItem($pp);
505 if ($a_mode ==
"create")
507 $this->form_gui->setTitle($lng->txt(
"mcst_add_new_item"));
508 $this->form_gui->addCommandButton(
"saveCastItem", $lng->txt(
"save"));
512 $this->form_gui->setTitle($lng->txt(
"mcst_edit_item"));
513 $this->form_gui->addCommandButton(
"updateCastItem", $lng->txt(
"save"));
515 $this->form_gui->addCommandButton(
"listItems", $lng->txt(
"cancel"));
516 $this->form_gui->setFormAction($ilCtrl->getFormAction($this,
"saveCastItem"));
529 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
536 $i = $this->form_gui->getItemByPostVar(
"preview_pic");
543 if (count ($mediaItems) > 0)
545 foreach ($mediaItems as $med)
547 if (!isset ($values[
"title"]))
550 $values[
"title"] = $this->mcst_item->getTitle();
551 $values[
"description"] = $this->mcst_item->getContent();
552 $values[
"visibility"] = $this->mcst_item->getVisibility();
553 $length = explode(
":", $this->mcst_item->getPlaytime());
554 $values[
"duration"] = array(
"hh" => $length[0],
"mm" => $length[1],
"ss" => $length[2]);
557 $values[
"value_".$med->getPurpose()] = (strlen($med->getLocation())> 100) ?
"...".substr($med->getLocation(), strlen($med->getLocation()) - 100) : $med->getLocation();
558 $values[
"label_value_".$med->getPurpose()] = (strlen($med->getLocation())> 100) ?
"...".substr($med->getLocation(), strlen($med->getLocation()) - 100) : $med->getLocation();
559 $values[
"mimetype_".$med->getPurpose()] = $med->getFormat();
563 if (!isset ($values[
"value_".$purpose]))
565 $values[
"label_value_".$purpose] = $lng->txt(
"none");
566 $values[
"value_".$purpose] = $lng->txt(
"none");
569 $this->form_gui->setValuesByArray($values);
580 $ilTabs->activateTab(
"edit_content");
584 if (!$this->form_gui->checkInput() ||
585 (
$_POST[
"url_Standard"] ==
"" && !$_FILES[
'file_Standard'][
'tmp_name']))
587 if ((
$_POST[
"url_Standard"] ==
"" && !$_FILES[
'file_Standard'][
'tmp_name']))
596 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
605 $title = $this->form_gui->getInput(
"title") !=
"" ? $this->form_gui->getInput(
"title") : basename(
$file);
606 $description = $this->form_gui->getInput(
"description");
607 $mob->setTitle($title);
608 $mob->setDescription($description);
611 $prevpic = $this->form_gui->getInput(
"preview_pic");
612 if ($prevpic[
"size"] > 0)
614 $mob->uploadVideoPreviewPic($prevpic);
621 foreach ($this->additionalPurposes as $purpose)
624 $file_gui = $this->form_gui->getInput(
"file_".$purpose);
625 $url_gui = $this->form_gui->getInput(
"url_".$purpose);
626 if ($url_gui || $file_gui[
"size"] > 0)
634 if ($prevpic[
"size"] == 0)
646 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
649 include_once(
"./Services/News/classes/class.ilNewsItem.php");
651 $mc_item->setMobId($mob->getId());
653 $mc_item->setContextObjId($this->object->getId());
654 $mc_item->setContextObjType($this->object->getType());
655 $mc_item->setUserId($ilUser->getId());
656 $mc_item->setPlaytime($duration);
657 $mc_item->setTitle($title);
658 $mc_item->setContent($description);
659 $mc_item->setLimitation(
false);
660 if ($enable_internal_rss)
662 $mc_item->setVisibility($this->form_gui->getInput(
"visibility"));
666 $mc_item->setVisibility(
"users");
670 $ilCtrl->redirect($this,
"listItems");
682 $duration = isset($this->form_gui)
683 ? $this->form_gui->getInput(
"duration")
684 : array(
"hh"=>0,
"mm"=>0,
"ss"=>0);
685 if ($duration[
"hh"] == 0 && $duration[
"mm"] == 0 && $duration[
"ss"] == 0 && is_file(
$file))
687 include_once(
"./Services/MediaObjects/classes/class.ilMediaAnalyzer.php");
689 $ana->setFile(
$file);
691 $dur = $ana->getPlaytimeString();
692 $dur = explode(
":", $dur);
693 $duration[
"mm"] = $dur[0];
694 $duration[
"ss"] = $dur[1];
696 $duration = str_pad($duration[
"hh"], 2 ,
"0", STR_PAD_LEFT).
":".
697 str_pad($duration[
"mm"], 2 ,
"0", STR_PAD_LEFT).
":".
698 str_pad($duration[
"ss"], 2 ,
"0", STR_PAD_LEFT);
711 $mob->addMediaItem($mediaItem);
712 $mediaItem->setPurpose($purpose);
725 $purpose = $mediaItem->getPurpose();
726 $url_gui = $this->form_gui->getInput (
"url_".$purpose);
727 $file_gui = $this->form_gui->getInput (
"file_".$purpose);
731 $file = $this->form_gui->getInput (
"url_".$purpose);
732 $title = basename (
$file);
733 $location = $this->form_gui->getInput (
"url_".$purpose);
734 $locationType =
"Reference";
735 } elseif ($file_gui[
"size"] > 0){
739 if (!is_dir($mob_dir))
740 $mob->createDirectory();
743 $file_name = str_replace(
" ",
"_", $file_name);
745 $file = $mob_dir.
"/".$file_name;
747 $locationType =
"LocalFile";
755 if (
$_POST[
"mimetype_".$purpose] !=
"")
757 $mediaItem->setFormat(
$_POST[
"mimetype_".$purpose]);
759 elseif ($mediaItem->getLocation () !=
"")
762 $mediaItem->setFormat($format);
774 $mediaItem->setFormat($format);
776 $mediaItem->setLocationType($locationType);
777 $mediaItem->setHAlign(
"Left");
778 $mediaItem->setHeight(self::isAudio($format)?0:180);
781 if ($purpose ==
"Standard")
784 $mob->setTitle ($title);
786 $mob->setDescription($format);
803 if ($this->form_gui->checkInput())
806 include_once(
"./Services/News/classes/class.ilNewsItem.php");
808 $mob_id = $mc_item->getMobId();
811 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
817 if ($this->form_gui->getInput(
"delete_".$purpose))
819 $mob->removeMediaItem($purpose);
820 $log->write (
"Mcst: deleting purpose $purpose");
823 $media_item = $mob->getMediaItem($purpose);
824 $url_gui = $this->form_gui->getInput(
"url_".$purpose);
825 $file_gui = $this->form_gui->getInput(
"file_".$purpose);
827 if ($media_item == null)
829 if ($purpose !=
"Standard" &&
830 ($url_gui || $file_gui[
"size"]>0))
841 if ($purpose ==
"Standard")
844 $title = $this->form_gui->getInput(
"title") !=
"" ? $this->form_gui->getInput(
"title") : basename(
$file);
845 $description = $this->form_gui->getInput(
"description");
847 $mob->setTitle($title);
848 $mob->setDescription($description);
850 $prevpic = $this->form_gui->getInput(
"preview_pic");
851 if ($prevpic[
"size"] > 0)
853 $mob->uploadVideoPreviewPic($prevpic);
857 $prevpici = $this->form_gui->getItemByPostVar(
"preview_pic");
858 if ($prevpici->getDeletionFlag())
860 $mob->removeAdditionalFile($mob->getVideoPreviewPic(
true));
874 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
876 $mc_item->setUserId($ilUser->getId());
877 if (isset($duration))
879 $mc_item->setPlaytime($duration);
881 $mc_item->setTitle($title);
882 $mc_item->setContent($description);
883 if ($enable_internal_rss)
885 $mc_item->setVisibility($this->form_gui->getInput(
"visibility"));
889 $ilCtrl->redirect($this,
"listItems");
905 $ilTabs->activateTab(
"edit_content");
907 if (!is_array(
$_POST[
"item_id"]))
913 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
917 $c_gui->setFormAction($ilCtrl->getFormAction($this,
"deleteItems"));
918 $c_gui->setHeaderText($lng->txt(
"info_delete_sure"));
919 $c_gui->setCancel($lng->txt(
"cancel"),
"listItems");
920 $c_gui->setConfirm($lng->txt(
"confirm"),
"deleteItems");
923 include_once(
"./Services/News/classes/class.ilNewsItem.php");
924 foreach(
$_POST[
"item_id"] as $item_id)
927 $c_gui->addItem(
"item_id[]", $item_id, $item->getTitle(),
931 $tpl->setContent($c_gui->getHTML());
944 foreach(
$_POST[
"item_id"] as $item_id)
950 $ilCtrl->redirect($this,
"listItems");
962 if (!$news_item->deliverMobFile(
$_GET[
"purpose"], (
int)
$_GET[
"presentation"]))
964 $ilCtrl->redirect($this,
"listItems");
969 $this->
object->handleLPUpdate($ilUser->getId(), $news_item->getMobId());
982 $mob = $mc_item->getMobId();
983 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
986 $m_item = $mob->getMediaItem(
"Standard");
987 $file = $mob_dir.
"/".$m_item->getLocation();
989 if ($duration !=
"00:00:00")
991 $mc_item->setPlaytime($duration);
1000 $ilCtrl->redirect($this,
"listItems");
1011 $this->ctrl->setCmd(
"showSummary");
1012 $this->ctrl->setCmdClass(
"ilinfoscreengui");
1021 global $ilAccess,
$ilUser, $ilTabs;
1023 $ilTabs->activateTab(
"id_info");
1025 if (!$ilAccess->checkAccess(
"visible",
"", $this->object->getRefId()))
1027 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->
ilias->error_obj->MESSAGE);
1030 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
1033 $info->enablePrivateNotes();
1044 $this->lng->loadLanguageModule(
"meta");
1045 $this->lng->loadLanguageModule(
"mcst");
1046 $med_items = $this->
object->getItemsArray();
1047 $info->addSection($this->lng->txt(
"meta_general"));
1048 $info->addProperty($this->lng->txt(
"mcst_nr_items"),
1049 (int) count($med_items));
1051 if (count($med_items) > 0)
1053 $cur = current($med_items);
1061 $info->addProperty($this->lng->txt(
"mcst_last_submission"), $last);
1064 $this->ctrl->forwardCommand(
$info);
1073 global $ilAccess, $ilTabs,
$lng, $ilHelp;
1075 $ilHelp->setScreenIdComponent(
"mcst");
1078 if ($ilAccess->checkAccess(
'read',
"", $this->object->getRefId()))
1080 $ilTabs->addTab(
"content",
1081 $lng->txt(
"content"),
1082 $this->ctrl->getLinkTarget($this,
"showContent"));
1086 if ($ilAccess->checkAccess(
'visible',
"", $this->object->getRefId()))
1088 $ilTabs->addTab(
"id_info",
1089 $lng->txt(
"info_short"),
1090 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary"));
1094 if ($ilAccess->checkAccess(
'write',
"", $this->object->getRefId()))
1096 $ilTabs->addTab(
"id_settings",
1097 $lng->txt(
"settings"),
1098 $this->ctrl->getLinkTarget($this,
"editSettings"));
1101 require_once
'Services/Tracking/classes/class.ilLearningProgressAccess.php';
1105 'learning_progress',
1106 $lng->txt(
'learning_progress'),
1107 $this->ctrl->getLinkTargetByClass(array(__CLASS__,
'illearningprogressgui'),
'')
1112 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
1114 $ilTabs->addTab(
"export",
1115 $lng->txt(
"export"),
1116 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""));
1120 if ($ilAccess->checkAccess(
'edit_permission',
"", $this->object->getRefId()))
1122 $ilTabs->addTab(
"id_permissions",
1123 $lng->txt(
"perm_settings"),
1124 $this->ctrl->getLinkTargetByClass(
"ilpermissiongui",
"perm"));
1136 global $ilTabs, $ilAccess,
$lng;
1138 $ilTabs->addSubTab(
"content",
1140 $this->ctrl->getLinkTarget($this,
"showContent"));
1142 if ($ilAccess->checkAccess(
"write",
"",
$_GET[
"ref_id"]))
1144 $ilTabs->addSubTab(
"manage",
1145 $lng->txt(
"mcst_manage"),
1146 $this->ctrl->getLinkTarget($this,
"listItems"));
1150 $ilTabs->addSubTab(
"sorting",
1151 $lng->txt(
"mcst_ordering"),
1152 $this->ctrl->getLinkTarget($this,
"editOrder"));
1156 $ilTabs->activateSubTab($a_active);
1157 $ilTabs->activateTab(
"content");
1166 global
$tpl, $ilTabs;
1169 $ilTabs->activateTab(
"id_settings");
1172 $tpl->setContent($this->form_gui->getHtml());
1182 $lng->loadLanguageModule(
"mcst");
1184 include(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1186 $this->form_gui->setTitle($lng->txt(
"mcst_settings"));
1190 $tit->
setValue($this->object->getTitle());
1191 $tit->setRequired(
true);
1192 $this->form_gui->addItem($tit);
1196 $des->
setValue($this->object->getLongDescription());
1197 $this->form_gui->addItem($des);
1200 $sh->setTitle($lng->txt(
"rep_activation_availability"));
1201 $this->form_gui->addItem($sh);
1205 $online->
setChecked($this->object->getOnline());
1206 $this->form_gui->addItem($online);
1210 $sh->setTitle($lng->txt(
"obj_presentation"));
1211 $this->form_gui->addItem($sh);
1217 $sort->addOption(
new ilRadioOption($lng->txt(
"mcst_ordering_creation_date_asc"),
1219 $sort->addOption(
new ilRadioOption($lng->txt(
"mcst_ordering_creation_date_desc"),
1221 $sort->addOption(
new ilRadioOption($lng->txt(
"mcst_ordering_manual"),
1223 $sort->setValue($this->object->getOrder());
1224 $this->form_gui->addItem($sort);
1238 $si->setValue($this->object->getViewMode());
1239 $this->form_gui->addItem($si);
1243 $downloadable =
new ilCheckboxInputGUI($lng->txt(
"mcst_downloadable"),
"downloadable");
1244 $downloadable->
setChecked($this->object->getDownloadable());
1245 $downloadable->setInfo($lng->txt(
"mcst_downloadable_info"));
1246 $this->form_gui->addItem($downloadable);
1249 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
1252 if ($enable_internal_rss)
1256 $sh->setTitle($lng->txt(
"mcst_webfeed"));
1257 $this->form_gui->addItem($sh);
1259 $radio_group =
new ilRadioGroupInputGUI($lng->txt(
"news_default_visibility"),
"defaultaccess");
1260 $radio_option =
new ilRadioOption($lng->txt(
"news_visibility_users"),
"0");
1261 $radio_option->
setInfo($lng->txt(
"news_news_item_def_visibility_users_info"));
1262 $radio_group->addOption($radio_option);
1263 $radio_option =
new ilRadioOption($lng->txt(
"news_visibility_public"),
"1");
1264 $radio_option->
setInfo($lng->txt(
"news_news_item_def_visibility_public_info"));
1265 $radio_group->addOption($radio_option);
1266 $radio_group->setRequired(
false);
1267 $radio_group->setValue($this->object->getDefaultAccess());
1268 #$ch->addSubItem($radio_group); 1269 $this->form_gui->addItem($radio_group);
1272 include_once(
"./Services/Block/classes/class.ilBlockSetting.php");
1275 $ch->
setInfo($lng->txt(
"news_public_feed_info"));
1276 $ch->setChecked($public_feed);
1277 $this->form_gui->addItem($ch);
1280 $ni =
new ilNumberInputGUI($this->lng->txt(
"news_keep_minimal_x_items"),
"keep_rss_min");
1282 $ni->setMinValue(0);
1283 $ni->setMaxLength(3);
1285 $ni->setInfo($this->lng->txt(
"news_keep_minimal_x_items_info").
" (".
1288 $ch->addSubItem($ni);
1291 $incl_files =
new ilCheckboxInputGUI($lng->txt(
"mcst_incl_files_in_rss"),
"public_files");
1292 $incl_files->
setChecked($this->object->getPublicFiles());
1293 $incl_files->setInfo($lng->txt(
"mcst_incl_files_in_rss_info"));
1294 #$ch->addSubItem($incl_files); 1295 $this->form_gui->addItem($incl_files);
1299 $this->form_gui->addCommandButton(
"saveSettings", $lng->txt(
"save"));
1300 $this->form_gui->setFormAction($ilCtrl->getFormAction($this,
"saveSettings"));
1311 $ilTabs->activateTab(
"id_settings");
1314 if ($this->form_gui->checkInput())
1317 $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
1319 $this->
object->setTitle($this->form_gui->getInput(
"title"));
1320 $this->
object->setDescription($this->form_gui->getInput(
"description"));
1321 $this->
object->setOnline($this->form_gui->getInput(
"online"));
1322 $this->
object->setDownloadable($this->form_gui->getInput(
"downloadable"));
1323 $this->
object->setOrder($this->form_gui->getInput(
"order"));
1324 $this->
object->setViewMode($this->form_gui->getInput(
"viewmode"));
1326 if ($enable_internal_rss)
1328 $this->
object->setPublicFiles($this->form_gui->getInput(
"public_files"));
1329 $this->
object->setDefaultAccess($this->form_gui->getInput(
"defaultaccess"));
1331 $this->
object->update();
1333 if ($enable_internal_rss)
1335 include_once(
"./Services/Block/classes/class.ilBlockSetting.php");
1337 $this->form_gui->getInput(
"extra_feed"),
1338 0, $this->
object->getId());
1341 $this->form_gui->getInput(
"keep_rss_min"),
1342 0, $this->
object->getId());
1346 $ilCtrl->redirect($this,
"editSettings");
1350 $this->form_gui->setValuesByPost();
1351 $this->tpl->setContent($this->form_gui->getHTML());
1360 if (is_object($this->
object))
1362 $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this,
"listItems"),
"",
$_GET[
"ref_id"]);
1370 if ($ilAccess->checkAccess(
"read",
"", $a_target))
1372 $_GET[
"cmd"] =
"showContent";
1373 $_GET[
"ref_id"] = $a_target;
1374 $_GET[
"baseClass"] =
"ilmediacasthandlergui";
1375 $_GET[
"cmdClass"] =
"ilobjmediacastgui";
1376 include(
"ilias.php");
1379 else if ($ilAccess->checkAccess(
"visible",
"", $a_target))
1383 else if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
1390 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
1401 return strpos($extension,
"audio") !==
false;
1411 include_once(
"./Services/News/classes/class.ilNewsItem.php");
1414 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
1426 include_once(
"./Services/News/classes/class.ilNewsItem.php");
1429 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
1443 if (
$_POST[
"value_".$purpose])
1445 $_POST[
"label_value_".$purpose] =
$_POST[
"value_".$purpose];
1449 $this->form_gui->setValuesByPost();
1450 $tpl->setContent($this->form_gui->getHTML());
1458 $ilTabs->activateTab(
"edit_content");
1463 switch($this->object->getOrder())
1475 include_once(
"./Modules/MediaCast/classes/class.ilMediaCastTableGUI.php");
1478 $table_gui->setTitle($lng->txt(
"mcst_media_cast"));
1479 $table_gui->setData($this->object->getSortedItemsArray());
1481 $table_gui->addCommandButton(
"saveOrder", $lng->txt(
"mcst_save_order"));
1483 $tpl->setContent($table_gui->getHTML());
1490 asort(
$_POST[
"item_id"]);
1493 foreach(array_keys(
$_POST[
"item_id"]) as $id)
1497 $this->
object->saveOrder($items);
1500 $this->ctrl->redirect($this,
"editOrder");
1518 require_once
'Services/Tracking/classes/class.ilChangeEvent.php';
1520 $this->
object->getId(), $ilUser->getId());
1536 $tpl->addJavascript(
"./Modules/MediaCast/js/MediaCast.js");
1538 $ilTabs->activateTab(
"content");
1542 $ctpl =
new ilTemplate(
"tpl.mcst_content.html",
true,
true,
"Modules/MediaCast");
1544 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
1545 require_once(
'./Services/WebAccessChecker/classes/class.ilWACSignedPath.php');
1546 foreach ($this->object->getSortedItemsArray() as $item)
1549 $med = $mob->getMediaItem(
"Standard");
1551 $ctpl->setCurrentBlock(
"item");
1552 $ctpl->setVariable(
"TITLE", $item[
"title"]);
1553 $ctpl->setVariable(
"TIME", $item[
"playtime"]);
1554 $ctpl->setVariable(
"ID", $item[
"id"]);
1556 if ($mob->getVideoPreviewPic() !=
"")
1558 $ctpl->setVariable(
"PREVIEW_PIC",
1563 $ctpl->setVariable(
"PREVIEW_PIC",
1568 if (is_object($med))
1570 include_once(
"./Services/MediaObjects/classes/class.ilMediaPlayerGUI.php");
1574 $ilCtrl->getLinkTarget($this,
"handlePlayerEvent",
"",
true,
false));
1576 if (strcasecmp(
"Reference", $med->getLocationType()) == 0)
1579 $mpl->setFile($med->getLocation());
1585 $mpl->setFile($path_to_file);
1587 $mpl->setMimeType ($med->getFormat());
1589 $mpl->setDisplayHeight(
"480");
1590 $mpl->setDisplayWidth(
"640");
1592 $mpl->setTitle($item[
"title"]);
1593 $mpl->setDescription($item[
"content"]);
1594 $mpl->setForceAudioPreview(
true);
1595 if ($this->object->getDownloadable())
1597 $ilCtrl->setParameterByClass(
"ilobjmediacastgui",
"item_id", $item[
"id"]);
1598 $ilCtrl->setParameterByClass(
"ilobjmediacastgui",
"purpose",
"Standard");
1599 $mpl->setDownloadLink($ilCtrl->getLinkTargetByClass(
"ilobjmediacastgui",
"downloadItem"));
1601 $med_alt = $mob->getMediaItem(
"VideoAlternative");
1602 if (is_object($med_alt))
1605 $med_alt->getLocation()));
1606 $mpl->setAlternativeVideoMimeType($med_alt->getFormat());
1609 $ctpl->setVariable(
"PLAYER", $mpl->getPreviewHtml());
1613 $ctpl->parseCurrentBlock();
1618 if ($feed_icon_html !=
"")
1620 $feed_icon_html =
'<p>'.$feed_icon_html.
'</p>';
1623 $tpl->setContent($feed_icon_html.$ctpl->get());
1639 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
1647 include_once(
"./Services/MediaObjects/classes/class.ilFFmpeg.php");
1648 $med = $mob->getMediaItem(
"Standard");
1652 $pi = pathinfo($new_file);
1653 $med = $mob->getMediaItem($target_purpose);
1654 if (!is_object($med))
1657 $med->setMobId($mob->getId());
1658 $mob->addMediaItem($med);
1660 $med->setPurpose($target_purpose);
1662 $med->setFormat($target_format);
1663 $med->setLocation($pi[
"basename"]);
1664 $med->setLocationType(
"LocalFile");
1667 $add = (is_array(
$ret) && count(
$ret) > 0)
1668 ?
"<br />".implode(
$ret,
"<br />")
1676 $add = (is_array(
$ret) && count(
$ret) > 0)
1677 ?
"<br />".implode(
$ret,
"<br />")
1683 $ilCtrl->redirect($this,
"editCastItem");
1699 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
1704 $sec = (int)
$_POST[
"sec"];
1709 if ($mob->getVideoPreviewPic() !=
"")
1711 $mob->removeAdditionalFile($mob->getVideoPreviewPic(
true));
1713 include_once(
"./Services/MediaObjects/classes/class.ilFFmpeg.php");
1714 $med = $mob->getMediaItem(
"Standard");
1719 if ($new_file !=
"")
1733 $add = (is_array(
$ret) && count(
$ret) > 0)
1734 ?
"<br />".implode(
$ret,
"<br />")
1741 $ilCtrl->redirect($this,
"editCastItem");
1752 if (
$_GET[
"event"] ==
"play")
1754 $player = explode(
"_",
$_GET[
"player"]);
1755 $news_id = (int) $player[1];
1756 include_once(
"./Services/News/classes/class.ilNewsItem.php");
1758 $item->increasePlayCounter();
1760 $mob_id = $item->getMobId();
1764 $this->
object->handleLPUpdate($ilUser->getId(), $mob_id);
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
This class represents an option in a radio group.
Base class for ILIAS Exception handling.
static _write($a_type, $a_setting, $a_value, $a_user=0, $a_block_id=0)
Write setting to database.
GUI class for the workflow of copying objects.
static convert($a_file, $a_target_mime, $a_target_dir="", $a_target_filename="")
Convert file to target mime type.
static signFolderOfStartFile($start_file_path, ilWACCookieInterface $ilWACCookieInterface=null)
setValue($a_value)
Set Value.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getLastReturnValues()
Get last return values.
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor public.
static _lookupTitle($a_id)
lookup object title
fillCloneTemplate($a_tpl_varname, $a_type)
Fill object clone template This method can be called from any object GUI class that wants to offer ob...
setInfo($a_info)
Set Info.
static extractImage($a_file, $a_target_filename, $a_target_dir="", $a_sec=1)
Extract image from video file.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
initImportForm($a_new_type)
Init object import form.
if(!is_array($argv)) $options
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
special template class to simplify handling of ITX/PEAR
static _lookup($a_type, $a_setting, $a_user=0, $a_block_id=0)
Lookup setting from database.
This class represents a text property in a property form.
static formatDate(ilDateTime $date)
Format a date public.
redirection script todo: (a better solution should control the processing via a xml file) ...
setMaxLength($a_maxlength)
Set Max Length.
initCreateForm($a_new_type)
Init object creation form.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static signFile($path_to_file)
prepareOutput()
prepare output
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
_recordReadEvent($a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
This class represents a non editable value in a property form.
static renameExecutables($a_dir)
Rename uploaded executables for security reasons.
const LP_CONTEXT_REPOSITORY
This class represents a text area property in a property form.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static enabled()
Checks, whether FFmpeg support is enabled (path is set in the setup)
setValue($a_value)
Set Value.
static redirect($a_script)
http redirect to other script
addHeaderAction()
Add header action menu.
Class ilObjUserTrackingGUI.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
static supportsImageExtraction($a_mime)
Check if mime type supports image extraction.