5require_once 
"./Services/Object/classes/class.ilObjectGUI.php";
 
   29        function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output = 
true)
 
   34                parent::__construct($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(),
 
  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),
 
  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());
 
  221                include_once(
"./Services/Block/classes/class.ilBlockSetting.php");
 
  223                        0, $this->object->getId());
 
  229                        $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
 
  231                        if ($enable_internal_rss)
 
  234                            $items = $this->
object->getItemsArray();
 
  235                        include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
 
  239                                foreach ($items as  $id => $item)
 
  243                                    if ($mob->hasPurposeItem($purpose))
 
  249                                            $url = ILIAS_HTTP_PATH.
"/feed.php?client_id=".rawurlencode(CLIENT_ID).
"&".
"ref_id=".$_GET[
"ref_id"].
"&purpose=$purpose";
 
  252                                                        include_once(
"./Services/News/classes/class.ilRSSButtonGUI.php");
 
  253                                                        switch (strtolower($purpose))
 
  255                                                                case "audioportable":
 
  260                                                                case "videoportable":
 
  270                                                        $row1 .= 
" ".ilRSSButtonGUI::get($type1, 
$url);
 
  271                                        if ($this->object->getPublicFiles())
 
  273                                            $url = preg_replace(
"/https?/i",
"itpc",
$url);
 
  276                                                                include_once(
"./Services/News/classes/class.ilRSSButtonGUI.php");
 
  277                                                                $row2 .= 
" ".ilRSSButtonGUI::get($type2, 
$url);
 
  307                $tpl->setContent($this->form_gui->getHTML());
 
  320                include_once(
"./Services/MediaObjects/classes/class.ilFFmpeg.php");
 
  324                        include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
 
  330                    foreach (array(
"Standard") as $p)
 
  365                        $med = $mob->getMediaItem($p);
 
  371                                                include_once(
"./Services/Form/classes/class.ilTextInputGUI.php");
 
  373                                                $ni->setMaxLength(4);
 
  376                                                $ilToolbar->addInputItem($ni, 
true);
 
  378                                                $ilToolbar->addFormButton($this->lng->txt(
"mcst_extract_preview_image"), 
"extractPreviewImage");
 
  379                                                $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
 
  392                $tpl->setContent($this->form_gui->getHTML());
 
  403                $ilTabs->activateTab(
"edit_content");
 
  405                $lng->loadLanguageModule(
"mcst");
 
  408                $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
 
  410                include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
  412                $this->form_gui->setMultipart(
true);
 
  416                $text_input->setMaxLength(200);
 
  417                $this->form_gui->addItem($text_input);
 
  421                $text_area->setRequired(
false);
 
  422                $this->form_gui->addItem($text_area);
 
  425                if ($enable_internal_rss)
 
  429                        $radio_group->addOption($radio_option);
 
  431                        $radio_group->addOption($radio_option);
 
  432                        $radio_group->setInfo(
$lng->txt(
"mcst_visibility_info"));
 
  433                        $radio_group->setRequired(
true);
 
  434                        $radio_group->setValue($this->object->getDefaultAccess() == 0 ? 
"users" : 
"public");
 
  435                        $this->form_gui->addItem($radio_group);
 
  440                $dur->setInfo(
$lng->txt(
"mcst_duration_info"));
 
  441                $dur->setShowDays(
false);
 
  442                $dur->setShowHours(
true);
 
  443                $dur->setShowSeconds(
true);
 
  444                $this->form_gui->addItem($dur);
 
  448                        if ($purpose == 
"VideoAlternative" &&
 
  455                $section->setTitle(
$lng->txt(
"mcst_".strtolower($purpose).
"_title"));
 
  457                if ($a_mode != 
"create")
 
  461                    $label->setPostVar(
"label_value_".$purpose);        
 
  462                    $label->setInfo(
$lng->txt(
"mcst_current_value_info"));
 
  463                    $this->form_gui->addItem($label);
 
  464                    $this->form_gui->addItem($value);
 
  468                $file->setSuffixes($this->purposeSuffixes[$purpose]);
 
  469                $this->form_gui->addItem(
$file);
 
  471                $text_input->setPattern(
"/https?\:\/\/.+/i");
 
  472                $text_input->setInfo(
$lng->txt(
"mcst_reference_info"));
 
  473                $this->form_gui->addItem($text_input);
 
  474                if ($purpose != 
"Standard")
 
  477                        $clearCheckBox->setPostVar(
"delete_".$purpose);
 
  478                        $clearCheckBox->setTitle(
$lng->txt(
"mcst_clear_purpose_title"));
 
  479                        $this->form_gui->addItem($clearCheckBox);
 
  484                        $mimeTypeSelection->setPostVar(
"mimetype_".$purpose);
 
  485                        $mimeTypeSelection->setTitle(
$lng->txt(
"mcst_mimetype"));
 
  486                        $mimeTypeSelection->setInfo(
$lng->txt(
"mcst_mimetype_info")); 
 
  487                        $options = array(
"" => 
$lng->txt(
"mcst_automatic_detection"));
 
  489                        $mimeTypeSelection->setOptions(
$options);                       
 
  490                        $this->form_gui->addItem($mimeTypeSelection);
 
  494                        $pp->setSuffixes(array(
"png", 
"jpeg", 
"jpg"));
 
  495                        $pp->setInfo(
$lng->txt(
"mcst_preview_picture_info").
" mp4, mp3, png, jp(e)g, gif");
 
  496                        $this->form_gui->addItem($pp);
 
  503                if ($a_mode == 
"create")
 
  505                    $this->form_gui->setTitle(
$lng->txt(
"mcst_add_new_item"));              
 
  506                    $this->form_gui->addCommandButton(
"saveCastItem", 
$lng->txt(
"save"));
 
  510                    $this->form_gui->setTitle(
$lng->txt(
"mcst_edit_item"));                 
 
  511                        $this->form_gui->addCommandButton(
"updateCastItem", 
$lng->txt(
"save"));
 
  513                $this->form_gui->addCommandButton(
"listItems", 
$lng->txt(
"cancel"));    
 
  514                $this->form_gui->setFormAction(
$ilCtrl->getFormAction($this, 
"saveCastItem"));
 
  527                include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
 
  531                $ppic = $mob->getVideoPreviewPic();
 
  534                        $i = $this->form_gui->getItemByPostVar(
"preview_pic");
 
  541                if (count ($mediaItems) > 0)
 
  543                    foreach ($mediaItems as $med) 
 
  545                        if (!isset ($values[
"title"]))
 
  548                            $values[
"title"] = $this->mcst_item->getTitle();
 
  549                            $values[
"description"] = $this->mcst_item->getContent();
 
  550                            $values[
"visibility"] = $this->mcst_item->getVisibility();
 
  551                            $length = explode(
":", $this->mcst_item->getPlaytime());
 
  552                            $values[
"duration"] = array(
"hh" => $length[0], 
"mm" => $length[1], 
"ss" => $length[2]);                                               
 
  555                        $values[
"value_".$med->getPurpose()] = (strlen($med->getLocation())> 100) ? 
"...".substr($med->getLocation(), strlen($med->getLocation()) - 100) : $med->getLocation();                         
 
  556                        $values[
"label_value_".$med->getPurpose()] = (strlen($med->getLocation())> 100) ? 
"...".substr($med->getLocation(), strlen($med->getLocation()) - 100) : $med->getLocation();
 
  557                        $values[
"mimetype_".$med->getPurpose()] = $med->getFormat();
 
  561                    if (!isset ($values[
"value_".$purpose]))
 
  563                        $values[
"label_value_".$purpose] = 
$lng->txt(
"none");
 
  564                        $values[
"value_".$purpose] = 
$lng->txt(
"none");
 
  567                $this->form_gui->setValuesByArray($values);
 
  578                $ilTabs->activateTab(
"edit_content");
 
  582                if (!$this->form_gui->checkInput() ||
 
  583                        (
$_POST[
"url_Standard"] == 
"" && !$_FILES[
'file_Standard'][
'tmp_name']))
 
  585                        if ((
$_POST[
"url_Standard"] == 
"" && !$_FILES[
'file_Standard'][
'tmp_name']))
 
  594                        include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
 
  603                        $title = $this->form_gui->getInput(
"title") != 
"" ? $this->form_gui->getInput(
"title") : basename(
$file);
 
  604                        $description = $this->form_gui->getInput(
"description");
 
  606                        $mob->setDescription($description);
 
  609                        $prevpic = $this->form_gui->getInput(
"preview_pic");
 
  610                        if ($prevpic[
"size"] > 0)
 
  612                                $mob->uploadVideoPreviewPic($prevpic);
 
  619                        foreach ($this->additionalPurposes as $purpose) 
 
  622                            $file_gui = $this->form_gui->getInput(
"file_".$purpose);
 
  623                            $url_gui = $this->form_gui->getInput(
"url_".$purpose);
 
  624                            if ($url_gui || $file_gui[
"size"] > 0) 
 
  632                        if ($prevpic[
"size"] == 0)
 
  636                        $mob->generatePreviewPic(320, 240);
 
  644                        $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
 
  647                        include_once(
"./Services/News/classes/class.ilNewsItem.php");
 
  649                        $mc_item->setMobId($mob->getId());
 
  651                        $mc_item->setContextObjId($this->object->getId());
 
  652                        $mc_item->setContextObjType($this->object->getType());
 
  653                        $mc_item->setUserId(
$ilUser->getId());
 
  655                        $mc_item->setTitle(
$title);
 
  656                        $mc_item->setContent($description);
 
  657                        $mc_item->setLimitation(
false);
 
  658                        if ($enable_internal_rss)
 
  660                                $mc_item->setVisibility($this->form_gui->getInput(
"visibility"));
 
  664                                $mc_item->setVisibility(
"users");
 
  668                        $ilCtrl->redirect($this, 
"listItems");
 
  681                        ? $this->form_gui->getInput(
"duration") 
 
  682                        : array(
"hh"=>0, 
"mm"=>0, 
"ss"=>0);
 
  685                include_once(
"./Services/MediaObjects/classes/class.ilMediaAnalyzer.php");
 
  687                $ana->setFile(
$file);
 
  689                $dur = $ana->getPlaytimeString();
 
  690                $dur = explode(
":", $dur);
 
  695                        str_pad(
$duration[
"mm"], 2 , 
"0", STR_PAD_LEFT).
":".
 
  696                        str_pad(
$duration[
"ss"], 2 , 
"0", STR_PAD_LEFT);
 
  709                $mob->addMediaItem($mediaItem);
 
  710                $mediaItem->setPurpose($purpose);               
 
  723            $purpose = $mediaItem->getPurpose();
 
  724            $url_gui = $this->form_gui->getInput (
"url_".$purpose);
 
  725            $file_gui = $this->form_gui->getInput (
"file_".$purpose);
 
  729                $file = $this->form_gui->getInput (
"url_".$purpose);
 
  731                $location = $this->form_gui->getInput (
"url_".$purpose);
 
  732                $locationType = 
"Reference";
 
  733            } elseif ($file_gui[
"size"] > 0){
 
  737                if (!is_dir($mob_dir))
 
  738                    $mob->createDirectory();
 
  741                $file_name = str_replace(
" ", 
"_", $file_name);
 
  743                $file = $mob_dir.
"/".$file_name;
 
  745                $locationType = 
"LocalFile";
 
  753            if (
$_POST[
"mimetype_".$purpose] != 
"")
 
  755                $mediaItem->setFormat(
$_POST[
"mimetype_".$purpose]);
 
  757            elseif ($mediaItem->getLocation () != 
"")
 
  760                $mediaItem->setFormat($format);
 
  772                $mediaItem->setFormat($format);
 
  774                $mediaItem->setLocationType($locationType);
 
  775                $mediaItem->setHAlign(
"Left");
 
  776                $mediaItem->setHeight(self::isAudio($format)?0:180);            
 
  779            if ($purpose == 
"Standard")
 
  784                    $mob->setDescription($format);
 
  801                if ($this->form_gui->checkInput())
 
  804                        include_once(
"./Services/News/classes/class.ilNewsItem.php");
 
  806                        $mob_id = $mc_item->getMobId();
 
  809                        include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
 
  815                            if ($this->form_gui->getInput(
"delete_".$purpose)) 
 
  817                                $mob->removeMediaItem($purpose);
 
  818                                $log->write (
"Mcst: deleting purpose $purpose");
 
  821                            $media_item = $mob->getMediaItem($purpose);                     
 
  822                            $url_gui = $this->form_gui->getInput(
"url_".$purpose);
 
  823                            $file_gui = $this->form_gui->getInput(
"file_".$purpose);
 
  825                            if ($media_item == 
null)
 
  827                            if ($purpose != 
"Standard" && 
 
  828                               ($url_gui || $file_gui[
"size"]>0)) 
 
  839                            if ($purpose == 
"Standard")
 
  842                            $title = $this->form_gui->getInput(
"title") != 
"" ? $this->form_gui->getInput(
"title") : basename(
$file);
 
  843                                $description = $this->form_gui->getInput(
"description"); 
 
  846                                $mob->setDescription($description);
 
  848                                $prevpic = $this->form_gui->getInput(
"preview_pic");
 
  849                                if ($prevpic[
"size"] > 0)
 
  851                                        $mob->uploadVideoPreviewPic($prevpic);
 
  855                                                $prevpici = $this->form_gui->getItemByPostVar(
"preview_pic");
 
  856                                                if ($prevpici->getDeletionFlag())
 
  858                                                        $mob->removeAdditionalFile($mob->getVideoPreviewPic(
true));
 
  872                        $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
 
  874                        $mc_item->setUserId(
$ilUser->getId());
 
  879                        $mc_item->setTitle(
$title);
 
  880                        $mc_item->setContent($description);
 
  881                        if ($enable_internal_rss)
 
  883                                $mc_item->setVisibility($this->form_gui->getInput(
"visibility"));
 
  887                        $ilCtrl->redirect($this, 
"listItems");
 
  903                $ilTabs->activateTab(
"edit_content");
 
  905                if (!is_array(
$_POST[
"item_id"]))
 
  911                include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  915                $c_gui->setFormAction(
$ilCtrl->getFormAction($this, 
"deleteItems"));
 
  916                $c_gui->setHeaderText(
$lng->txt(
"info_delete_sure"));
 
  917                $c_gui->setCancel(
$lng->txt(
"cancel"), 
"listItems");
 
  918                $c_gui->setConfirm(
$lng->txt(
"confirm"), 
"deleteItems");
 
  921                include_once(
"./Services/News/classes/class.ilNewsItem.php");
 
  922                foreach(
$_POST[
"item_id"] as $item_id)
 
  925                        $c_gui->addItem(
"item_id[]", $item_id, $item->getTitle(),
 
  929                $tpl->setContent($c_gui->getHTML());
 
  942                foreach(
$_POST[
"item_id"] as $item_id)
 
  948                $ilCtrl->redirect($this, 
"listItems");
 
  960                if (!$news_item->deliverMobFile(
$_GET[
"purpose"], (
int) 
$_GET[
"presentation"]))
 
  962                        $ilCtrl->redirect($this, 
"listItems");
 
  967                        $this->
object->handleLPUpdate($ilUser->getId(), $news_item->getMobId());
 
  980                $mob = $mc_item->getMobId();
 
  981                include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
 
  984                $m_item = $mob->getMediaItem(
"Standard");
 
  985                $file = $mob_dir.
"/".$m_item->getLocation();
 
  998                $ilCtrl->redirect($this, 
"listItems");
 
 1009                $this->ctrl->setCmd(
"showSummary");
 
 1010                $this->ctrl->setCmdClass(
"ilinfoscreengui");
 
 1019                global $ilAccess, 
$ilUser, $ilTabs;
 
 1021                $ilTabs->activateTab(
"id_info");
 
 1023                if (!$ilAccess->checkAccess(
"visible", 
"", $this->object->getRefId()))
 
 1025                        $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->ilias->error_obj->MESSAGE);
 
 1028                include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
 
 1031                $info->enablePrivateNotes();
 
 1042                $this->lng->loadLanguageModule(
"meta");
 
 1043                $this->lng->loadLanguageModule(
"mcst");
 
 1044                $med_items = $this->
object->getItemsArray();
 
 1045                $info->addSection($this->lng->txt(
"meta_general"));
 
 1046                $info->addProperty($this->lng->txt(
"mcst_nr_items"),
 
 1047                        (
int) count($med_items));
 
 1049                if (count($med_items) > 0)
 
 1051                        $cur = current($med_items);
 
 1059                $info->addProperty($this->lng->txt(
"mcst_last_submission"), $last);
 
 1062                $this->ctrl->forwardCommand(
$info);
 
 1071                global $ilAccess, $ilTabs, 
$lng, $ilHelp;
 
 1073                $ilHelp->setScreenIdComponent(
"mcst");
 
 1076                if ($ilAccess->checkAccess(
'read', 
"", $this->object->getRefId()))
 
 1078                        $ilTabs->addTab(
"content",
 
 1079                                $lng->txt(
"content"),
 
 1080                                $this->ctrl->getLinkTarget($this, 
"showContent"));
 
 1084                if ($ilAccess->checkAccess(
'visible', 
"", $this->object->getRefId()))
 
 1086                        $ilTabs->addTab(
"id_info",
 
 1087                                $lng->txt(
"info_short"),
 
 1088                                $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui", 
"showSummary"));
 
 1092                if ($ilAccess->checkAccess(
'write', 
"", $this->object->getRefId()))
 
 1094                        $ilTabs->addTab(
"id_settings",
 
 1095                                $lng->txt(
"settings"),
 
 1096                                $this->ctrl->getLinkTarget($this, 
"editSettings"));
 
 1099                require_once 
'Services/Tracking/classes/class.ilLearningProgressAccess.php';
 
 1103                                'learning_progress',
 
 1104                                $lng->txt(
'learning_progress'),
 
 1105                                $this->ctrl->getLinkTargetByClass(array(__CLASS__, 
'illearningprogressgui'),
'')
 
 1110                if ($ilAccess->checkAccess(
"write", 
"", $this->object->getRefId()))
 
 1112                        $ilTabs->addTab(
"export",
 
 1113                                $lng->txt(
"export"),
 
 1114                                $this->ctrl->getLinkTargetByClass(
"ilexportgui", 
""));
 
 1118                if ($ilAccess->checkAccess(
'edit_permission', 
"", $this->object->getRefId()))
 
 1120                        $ilTabs->addTab(
"id_permissions",
 
 1121                                $lng->txt(
"perm_settings"),
 
 1122                                $this->ctrl->getLinkTargetByClass(
"ilpermissiongui", 
"perm"));
 
 1134                global $ilTabs, $ilAccess, 
$lng;
 
 1136                $ilTabs->addSubTab(
"content",
 
 1138                        $this->ctrl->getLinkTarget($this, 
"showContent"));
 
 1140                if ($ilAccess->checkAccess(
"write", 
"", 
$_GET[
"ref_id"]))
 
 1142                        $ilTabs->addSubTab(
"manage",
 
 1143                                $lng->txt(
"mcst_manage"),
 
 1144                                $this->ctrl->getLinkTarget($this, 
"listItems"));
 
 1148                                $ilTabs->addSubTab(
"sorting",
 
 1149                                        $lng->txt(
"mcst_ordering"),
 
 1150                                        $this->ctrl->getLinkTarget($this, 
"editOrder"));
 
 1154                $ilTabs->activateSubTab($a_active);
 
 1155                $ilTabs->activateTab(
"content");
 
 1164                global 
$tpl, $ilTabs;
 
 1167                $ilTabs->activateTab(
"id_settings");
 
 1170                $tpl->setContent($this->form_gui->getHtml());
 
 1180                $lng->loadLanguageModule(
"mcst");
 
 1182                require_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1184                $this->form_gui->setTitle(
$lng->txt(
"mcst_settings"));
 
 1188                $tit->setValue($this->object->getTitle());
 
 1189                $tit->setRequired(
true);
 
 1190                $this->form_gui->addItem($tit);
 
 1194                $des->setValue($this->object->getLongDescription());
 
 1195                $this->form_gui->addItem($des);
 
 1198                $sh->setTitle(
$lng->txt(
"rep_activation_availability"));
 
 1199                $this->form_gui->addItem($sh);
 
 1203                $online->setChecked($this->object->getOnline());
 
 1204                $this->form_gui->addItem($online);
 
 1208                $sh->setTitle(
$lng->txt(
"obj_presentation"));
 
 1209                $this->form_gui->addItem($sh);
 
 1215                $sort->addOption(
new ilRadioOption(
$lng->txt(
"mcst_ordering_creation_date_asc"), 
 
 1217                $sort->addOption(
new ilRadioOption(
$lng->txt(
"mcst_ordering_creation_date_desc"),
 
 1221                $sort->setValue($this->object->getOrder());
 
 1222                $this->form_gui->addItem($sort);
 
 1236                $si->setValue($this->object->getViewMode());
 
 1237                $this->form_gui->addItem(
$si);
 
 1242                $downloadable->setChecked($this->object->getDownloadable());
 
 1243                $downloadable->setInfo(
$lng->txt(
"mcst_downloadable_info"));
 
 1244                $this->form_gui->addItem($downloadable);
 
 1247                $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
 
 1250                if ($enable_internal_rss)
 
 1254                        $sh->setTitle(
$lng->txt(
"mcst_webfeed"));
 
 1255                        $this->form_gui->addItem($sh);
 
 1259                        $radio_option->setInfo(
$lng->txt(
"news_news_item_def_visibility_users_info"));
 
 1260                        $radio_group->addOption($radio_option);                                 
 
 1262                        $radio_option->setInfo(
$lng->txt(
"news_news_item_def_visibility_public_info"));
 
 1263                        $radio_group->addOption($radio_option);
 
 1264                        $radio_group->setRequired(
false);                       
 
 1265                        $radio_group->setValue($this->object->getDefaultAccess());                      
 
 1266                        #$ch->addSubItem($radio_group); 
 1267                        $this->form_gui->addItem($radio_group);
 
 1270                        include_once(
"./Services/Block/classes/class.ilBlockSetting.php");
 
 1273                        $ch->setInfo(
$lng->txt(
"news_public_feed_info"));
 
 1274                        $ch->setChecked($public_feed);
 
 1275                        $this->form_gui->addItem($ch);
 
 1278                                $ni = 
new ilNumberInputGUI($this->lng->txt(
"news_keep_minimal_x_items"), 
"keep_rss_min");
 
 1279                                $ni->setMaxValue(100);
 
 1280                                $ni->setMinValue(0);
 
 1281                                $ni->setMaxLength(3);
 
 1283                                $ni->setInfo($this->lng->txt(
"news_keep_minimal_x_items_info").
" (".
 
 1286                                $ch->addSubItem($ni);
 
 1290                        $incl_files->setChecked($this->object->getPublicFiles());
 
 1291                        $incl_files->setInfo(
$lng->txt(
"mcst_incl_files_in_rss_info"));
 
 1292                        #$ch->addSubItem($incl_files); 
 1293                        $this->form_gui->addItem($incl_files);
 
 1297                $this->form_gui->addCommandButton(
"saveSettings", 
$lng->txt(
"save"));
 
 1298                $this->form_gui->setFormAction(
$ilCtrl->getFormAction($this, 
"saveSettings"));
 
 1309                $ilTabs->activateTab(
"id_settings");
 
 1312                if ($this->form_gui->checkInput())
 
 1315                        $enable_internal_rss = $news_set->get(
"enable_rss_for_internal");
 
 1317                        $this->
object->setTitle($this->form_gui->getInput(
"title"));
 
 1318                        $this->
object->setDescription($this->form_gui->getInput(
"description"));
 
 1319                        $this->
object->setOnline($this->form_gui->getInput(
"online"));
 
 1320                        $this->
object->setDownloadable($this->form_gui->getInput(
"downloadable"));
 
 1321                        $this->
object->setOrder($this->form_gui->getInput(
"order"));
 
 1322                        $this->
object->setViewMode($this->form_gui->getInput(
"viewmode"));
 
 1324                        if ($enable_internal_rss)
 
 1326                                $this->
object->setPublicFiles($this->form_gui->getInput(
"public_files"));
 
 1327                                $this->
object->setDefaultAccess($this->form_gui->getInput(
"defaultaccess"));                            
 
 1329                        $this->
object->update();
 
 1331                        if ($enable_internal_rss)
 
 1333                                include_once(
"./Services/Block/classes/class.ilBlockSetting.php");
 
 1335                                        $this->form_gui->getInput(
"extra_feed"),
 
 1336                                        0, $this->object->getId());
 
 1339                                        $this->form_gui->getInput(
"keep_rss_min"),
 
 1340                                        0, $this->object->getId());
 
 1344                        $ilCtrl->redirect($this, 
"editSettings");
 
 1348                        $this->form_gui->setValuesByPost();
 
 1349                        $this->tpl->setContent($this->form_gui->getHTML());
 
 1358                if (is_object($this->
object))
 
 1360                        $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, 
"listItems"), 
"", 
$_GET[
"ref_id"]);
 
 1368                if ($ilAccess->checkAccess(
"read", 
"", $a_target))
 
 1370                        $_GET[
"cmd"] = 
"showContent";
 
 1371                        $_GET[
"ref_id"] = $a_target;
 
 1372                        $_GET[
"baseClass"] = 
"ilmediacasthandlergui";
 
 1373                        $_GET[
"cmdClass"] = 
"ilobjmediacastgui";
 
 1374                        include(
"ilias.php");
 
 1377                else if ($ilAccess->checkAccess(
"visible", 
"", $a_target))
 
 1381                else if ($ilAccess->checkAccess(
"read", 
"", ROOT_FOLDER_ID))
 
 1399                return strpos($extension,
"audio") !== 
false;
 
 1409                include_once(
"./Services/News/classes/class.ilNewsItem.php");
 
 1412                include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
 
 1414                return $mob->getMediaItem(
"Standard");                                          
 
 1424                include_once(
"./Services/News/classes/class.ilNewsItem.php");
 
 1427                include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php");
 
 1429                return $mob->getMediaItems();                                           
 
 1441                    if (
$_POST[
"value_".$purpose])
 
 1443                        $_POST[
"label_value_".$purpose] = 
$_POST[
"value_".$purpose]; 
 
 1447                $this->form_gui->setValuesByPost();
 
 1448                $tpl->setContent($this->form_gui->getHTML());                       
 
 1456                $ilTabs->activateTab(
"edit_content");
 
 1461                switch($this->object->getOrder())
 
 1473                include_once(
"./Modules/MediaCast/classes/class.ilMediaCastTableGUI.php");
 
 1476                $table_gui->setTitle(
$lng->txt(
"mcst_media_cast"));
 
 1477                $table_gui->setData($this->object->getSortedItemsArray());
 
 1479                $table_gui->addCommandButton(
"saveOrder", 
$lng->txt(
"mcst_save_order"));
 
 1481                $tpl->setContent($table_gui->getHTML());
 
 1488                asort(
$_POST[
"item_id"]);
 
 1491                foreach(array_keys(
$_POST[
"item_id"]) as $id)
 
 1495                $this->
object->saveOrder($items);
 
 1498                $this->ctrl->redirect($this, 
"editOrder");
 
 1516                require_once 
'Services/Tracking/classes/class.ilChangeEvent.php';                                               
 
 1518                        $this->object->getId(), 
$ilUser->getId());              
 
 1529                $tpl->setPermanentLink($this->object->getType(), $this->object->getRefId());
 
 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);
 
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
static _write($a_type, $a_setting, $a_value, $a_user=0, $a_block_id=0)
Write setting to database.
static _lookup($a_type, $a_setting, $a_user=0, $a_block_id=0)
Lookup setting from database.
static _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 getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
static formatDate(ilDateTime $date)
Format a date @access public.
@classDescription Date and time handling
Base class for ILIAS Exception handling.
Export User Interface Class.
static extractImage($a_file, $a_target_filename, $a_target_dir="", $a_sec=1)
Extract image from video file.
static enabled()
Checks, whether FFmpeg support is enabled (path is set in the setup)
static convert($a_file, $a_target_mime, $a_target_dir="", $a_target_filename="")
Convert file to target mime type.
static getLastReturnValues()
Get last return values.
static supportsImageExtraction($a_mime)
Check if mime type supports image extraction.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
Class ilObjUserTrackingGUI.
static _lookupRSSPeriod()
This class represents a non editable value in a property form.
GUI class for the workflow of copying objects.
Class ilObjectGUI Basic methods of all Output classes.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
initImportForm($a_new_type)
Init object import form.
prepareOutput($a_show_subobjects=true)
prepare output
initCreateForm($a_new_type)
Init object creation form.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
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...
addHeaderAction()
Add header action menu.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
getRefId()
get reference id @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents an option in a radio group.
special template class to simplify handling of ITX/PEAR
This class represents a text area property in a property form.
This class represents a text property in a property form.
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static redirect($a_script)
http redirect to other script
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
static getASCIIFilename($a_filename)
convert utf8 to ascii filename
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static renameExecutables($a_dir)
Rename uploaded executables for security reasons.
static signFile($path_to_file)
static signFolderOfStartFile($start_file_path, ilWACCookieInterface $ilWACCookieInterface=null)
redirection script todo: (a better solution should control the processing via a xml file)
if(!file_exists("$old.txt")) if( $old===$new) if(file_exists("$new.txt")) $file
if(!is_array($argv)) $options