public function getPageDiskSize() { $quota_sum = 0; $this->buildDom(); $dom = $this->getDom(); if ($dom instanceof php4DOMDocument) { $dom = $dom->myDOMDocument; } $xpath_temp = new DOMXPath($dom); // mobs include_once "Services/MediaObjects/classes/class.ilObjMediaObject.php"; $nodes = $xpath_temp->query("//PageContent/MediaObject/MediaAlias"); foreach ($nodes as $node) { $mob_id = array_pop(explode("_", $node->getAttribute("OriginId"))); $mob_dir = ilObjMediaObject::_getDirectory($mob_id); $quota_sum += ilUtil::dirSize($mob_dir); } return $quota_sum; }
/** * Uploads a new rooms agreement by using the ILIAS MediaObject Service. * If the old file id is given, the old file will be deleted. * * @param array $a_newfile an array containing the input values of the form * @param string $a_oldFileId to delete trash * * @return string uploaded file id */ public function uploadRoomsAgreement($a_newfile, $a_oldFileId = "0") { if (!empty($a_oldFileId) && $a_oldFileId != "0") { $agreementFile = new ilObjMediaObject($a_oldFileId); $agreementFile->delete(); } $mediaObj = new ilObjMediaObject(); $mediaObj->setTitle("RoomSharingRoomsAgreement"); $mediaObj->setDescription("RoomSharingRoomsAgreement"); $mediaObj->create(); $mob_dir = ilObjMediaObject::_getDirectory($mediaObj->getId()); if (!is_dir($mob_dir)) { $mediaObj->createDirectory(); } $file_name = ilUtil::getASCIIFilename($a_newfile["name"]); $file_name_mod = str_replace(" ", "_", $file_name); $file = $mob_dir . "/" . $file_name_mod; ilUtil::moveUploadedFile($a_newfile["tmp_name"], $file_name_mod, $file); ilUtil::renameExecutables($mob_dir); $format = ilObjMediaObject::getMimeType($file); $media_item = new ilMediaItem(); $mediaObj->addMediaItem($media_item); $media_item->setPurpose("Standard"); $media_item->setFormat($format); $media_item->setLocation($file_name_mod); $media_item->setLocationType("LocalFile"); $mediaObj->update(); return $mediaObj->getId(); }
/** * get media file directory */ function getDirectory() { return ilObjMediaObject::_getDirectory($this->getMobId()); }
/** * function parses stored value in database to a html output for eg. the record list gui. * @param $value * @return mixed */ public function parseHTML($value, ilDataCollectionRecordField $record_field) { switch ($this->id) { case self::INPUTFORMAT_DATETIME: $html = ilDatePresentation::formatDate(new ilDate($value, IL_CAL_DATETIME)); break; case self::INPUTFORMAT_FILE: global $ilCtrl; if (!ilObject2::_exists($value) || ilObject2::_lookupType($value, false) != "file") { $html = ""; break; } $file_obj = new ilObjFile($value, false); $ilCtrl->setParameterByClass("ildatacollectionrecordlistgui", "record_id", $record_field->getRecord()->getId()); $ilCtrl->setParameterByClass("ildatacollectionrecordlistgui", "field_id", $record_field->getField()->getId()); $html = "<a href=" . $ilCtrl->getLinkTargetByClass("ildatacollectionrecordlistgui", "sendFile") . " >" . $file_obj->getFileName() . "</a>"; break; case self::INPUTFORMAT_MOB: $mob = new ilObjMediaObject($value, false); $dir = ilObjMediaObject::_getDirectory($mob->getId()); $media_item = $mob->getMediaItem('Standard'); if (!$media_item->location) { $html = ""; break; } $html = '<img src="' . $dir . "/" . $media_item->location . '" />'; break; case self::INPUTFORMAT_BOOLEAN: switch ($value) { case 0: $im = ilUtil::getImagePath('icon_not_ok.png'); break; case 1: $im = ilUtil::getImagePath('icon_ok.png'); break; } $html = "<img src='" . $im . "'>"; break; case ilDataCollectionDatatype::INPUTFORMAT_TEXT: //Property URL $arr_properties = $record_field->getField()->getProperties(); if ($arr_properties[ilDataCollectionField::PROPERTYID_URL]) { $link = $value; if (preg_match("/^[a-z0-9!#\$%&'*+=?^_`{|}~-]+(?:\\.[a-z0-9!#\$%&'*+=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\$/i", $value)) { $value = "mailto:" . $value; } elseif (!preg_match('~(^(news|(ht|f)tp(s?)\\://){1}\\S+)~i', $value)) { return $link; } if (strlen($link) > self::LINK_MAX_LENGTH) { $link = substr($value, 0, (self::LINK_MAX_LENGTH - 3) / 2); $link .= "..."; $link .= substr($value, -(self::LINK_MAX_LENGTH - 3) / 2); } $html = "<a target='_blank' href='" . $value . "'>" . $link . "</a>"; } else { $html = $value; } // BEGIN EASTEREGG /*if(strtolower($value) == "nyan it plx!"){ $link = ilLink::_getLink($_GET['ref_id']); $html = "<a href='http://nyanit.com/".$link."'>Data Collections rock!</a>"; }*/ // END EASTEREGG break; default: $html = $value; break; } return $html; }
/** * Handle the event * * @param string component, e.g. "Services/User" * @param event event, e.g. "afterUpdate" * @param array array of event specific parameters */ public function handleEvent($a_component, $a_event, $a_parameter) { // Adds access rights for standard participants to courses // Only needed for Soziale Arbeit // create course part of code if ($a_component == 'Modules/Course' && $a_event == 'create') { $crs = $a_parameter['object']; //activation unlimited, not offline $crs->setActivationType(IL_CRS_ACTIVATION_UNLIMITED); $crs->setOfflineStatus(false); global $affected_crs; $affected_crs = $a_parameter['obj_id']; } // Adds access rights for standard participants to courses // Only needed for Soziale Arbeit // update course part of code if ($a_component == 'Modules/Course' && $a_event == 'update') { global $tree, $rbacreview, $rbacadmin, $affected_crs; $crs = $a_parameter['object']; $ref_id = $crs->getRefId(); //check if new Course is in "Soziale Arbeit -> Bachelor" if ($affected_crs == $a_parameter['obj_id'] && in_array(4781, $obj_path = $tree->getPathId($ref_id))) { //Get the current access rights on the course $user_role = $this->_getGlobalUserRoleId(); $local_ops = $rbacreview->getRoleOperationsOnObject($user_role, $ref_id); $local_ops = array_map('strval', $local_ops); //Get the access rights of the standard course user and remove rights that the standard user doesn't have $non_member_template_id = $this->__getCrsNonMemberTemplateId(); $template_ops = $rbacreview->getOperationsOfRole($non_member_template_id, 'crs', ROLE_FOLDER_ID); $role_folders = array_intersect($obj_path, $rbacreview->getFoldersAssignedToRole($user_role)); end($role_folders); $parent_role_folder = prev($role_folders); $parent_ops = $this->__getTemplatePolicies($user_role, $parent_role_folder, 'crs'); $template_ops = $this->__intersectPolicies($template_ops, $parent_ops); //Get the local and the next higher policies $local_policies = $this->__getTemplatePolicies($user_role, $ref_id); $parent_policies = $this->__getTemplatePolicies($user_role, $parent_role_folder); $non_member_policies = $this->__getTemplatePolicies($non_member_template_id, ''); $non_member_policies = array_values($this->__intersectPolicies($non_member_policies, $parent_policies)); if ($local_ops == $template_ops && $local_policies == $non_member_policies) { $rbacadmin->copyRoleTemplatePermissions($user_role, $parent_role_folder, $ref_id, $user_role); $local_policies = $this->__getTemplatePolicies($user_role, $ref_id, 'crs'); $rbacadmin->grantPermission($user_role, $local_policies, $ref_id); } } } // FFMPEG Conversion of media files if ($a_component == 'Services/MediaObjects' && $a_event == 'update' && isset($a_parameter) && count($a_parameter) > 0 && isset($a_parameter['object'])) { $allMediaItems = $a_parameter['object']->getMediaItems(); $ffmpegQueue = 'ffmpegQueue.txt'; foreach ($allMediaItems as $media_item) { $filename = $media_item->location; include_once "./Modules/MediaCast/classes/class.ilMediaCastSettings.php"; $settings = ilMediaCastSettings::_getInstance(); $purposeSuffixes = $settings->getPurposeSuffixes(); if (in_array(mb_strtolower(substr($filename, strrpos($filename, '.') + 1)), $purposeSuffixes['VideoPortable'])) { global $ilUser; $folder = ilObjMediaObject::_getDirectory($a_parameter['object']->getId()); if (substr($filename, -3) != 'mp4') { $numofLines = ilHSLUObjectDefaultsPlugin::lineCount($ffmpegQueue); ilUtil::sendSuccess('Ihre Datei wurde hochgeladen und wird nun in ein Streaming-kompatibles Format konvertiert. Sie werden via Mail informiert, sobald die Konvertierung abgeschlossen ist. Vor der aktuell hochgeladenen Datei hat es ' . $numofLines . ' andere in der Warteschlange. Besten Dank für Ihre Geduld.', true); } file_put_contents($ffmpegQueue, $folder . '/' . $filename . '|' . $folder . '/' . substr($filename, 0, strrpos($filename, '.')) . '.mp4|' . $ilUser->getEmail() . "\n", FILE_APPEND); //geht nicht wegen client cache //@copy('Customizing/mob_vpreview.png', $folder.'/mob_vpreview.png'); @chmod($folder, 0775); //set new media format $media_item->setFormat('video/mp4'); $media_item->setLocation(substr($filename, 0, strrpos($filename, '.')) . '.mp4'); $media_item->update(); } else { if (in_array(mb_strtolower(substr($filename, strrpos($filename, '.') + 1)), $purposeSuffixes['AudioPortable']) && substr($filename, -3) != 'mp3') { global $ilUser; $folder = ilObjMediaObject::_getDirectory($a_parameter['object']->getId()); $numofLines = ilHSLUObjectDefaultsPlugin::lineCount($ffmpegQueue); ilUtil::sendSuccess('Ihre Datei wurde hochgeladen und wird nun in ein Streaming-kompatibles Format konvertiert. Sie werden via Mail informiert, sobald die Konvertierung abgeschlossen ist. Vor der aktuell hochgeladenen Datei hat es ' . $numofLines . ' andere in der Warteschlange. Besten Dank für Ihre Geduld.', true); file_put_contents($ffmpegQueue, $folder . '/' . $filename . '|' . $folder . '/' . substr($filename, 0, strrpos($filename, '.')) . '.mp3|' . $ilUser->getEmail() . "\n", FILE_APPEND); //geht nicht wegen client cache //@copy('Customizing/mob_vpreview.png', $folder.'/mob_vpreview.png'); @chmod($folder, 0775); //set new media format $media_item->setFormat('audio/mpeg'); $media_item->setLocation(substr($filename, 0, strrpos($filename, '.')) . '.mp3'); $media_item->update(); } } } } }
/** * Create media object from upload directory */ function createMediaFromUploadDir() { $mset = new ilSetting("mobs"); $upload_dir = trim($mset->get("upload_dir")); include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; if (is_array($_POST["file"]) && ilMainMenuGUI::_checkAdministrationPermission()) { foreach ($_POST["file"] as $f) { $f = str_replace("..", "", $f); $fullpath = $upload_dir . "/" . $f; $mob = new ilObjMediaObject(); $mob->setTitle(basename($fullpath)); $mob->setDescription(""); $mob->create(); // determine and create mob directory, move uploaded file to directory //$mob_dir = ilUtil::getWebspaceDir()."/mobs/mm_".$a_mob->getId(); $mob->createDirectory(); $mob_dir = ilObjMediaObject::_getDirectory($mob->getId()); $media_item = new ilMediaItem(); $mob->addMediaItem($media_item); $media_item->setPurpose("Standard"); $file = $mob_dir . "/" . basename($fullpath); ilUtil::moveUploadedFile($fullpath, basename($fullpath), $file, false, $_POST["action"]); // get mime type $format = ilObjMediaObject::getMimeType($file); $location = basename($fullpath); // set real meta and object data $media_item->setFormat($format); $media_item->setLocation($location); $media_item->setLocationType("LocalFile"); $mob->setDescription($format); // determine width and height of known image types $wh = ilObjMediaObject::_determineWidthHeight(500, 400, $format, "File", $mob_dir . "/" . $location, $media_item->getLocation(), true, true, "", ""); $media_item->setWidth($wh["width"]); $media_item->setHeight($wh["height"]); if ($wh["info"] != "") { // ilUtil::sendInfo($wh["info"], true); } $media_item->setHAlign("Left"); ilUtil::renameExecutables($mob_dir); $mob->update(); // put it into current folder $mep_item = new ilMediaPoolItem(); $mep_item->setTitle($mob->getTitle()); $mep_item->setType("mob"); $mep_item->setForeignId($mob->getId()); $mep_item->create(); $tree = $this->object->getTree(); $parent = $_GET["mepitem_id"] == "" ? $tree->getRootId() : $_GET["mepitem_id"]; $tree->insertNode($mep_item->getId(), $parent); } } ilUtil::redirect("ilias.php?baseClass=ilMediaPoolPresentationGUI&cmd=listMedia&ref_id=" . $_GET["ref_id"] . "&mepitem_id=" . $_GET["mepitem_id"]); }
public function dbImportSco($slm, $sco, $asset = false) { $qtis = array(); $d = ilUtil::getDir($this->packageFolder); foreach ($d as $f) { //continue; if ($f[type] == 'file' && substr($f[entry], 0, 4) == 'qti_') { include_once "./Services/QTI/classes/class.ilQTIParser.php"; include_once "./Modules/Test/classes/class.ilObjTest.php"; $qtiParser = new ilQTIParser($this->packageFolder . "/" . $f[entry], IL_MO_VERIFY_QTI, 0, ""); $result = $qtiParser->startParsing(); $founditems =& $qtiParser->getFoundItems(); // die(print_r($founditems)); foreach ($founditems as $qp) { $newObj = new ilObjTest(0, true); // This creates a lot of invalid repository objects for each question // question are not repository objects (see e.g. table object_data), alex 29 Sep 2009 // $newObj->setType ( $qp ['type'] ); // $newObj->setTitle ( $qp ['title'] ); // $newObj->create ( true ); // $newObj->createReference (); // $newObj->putInTree ($_GET ["ref_id"]); // $newObj->setPermissions ( $sco->getId ()); // $newObj->notify ("new", $_GET["ref_id"], $sco->getId (), $_GET["ref_id"], $newObj->getRefId () ); // $newObj->mark_schema->flush (); $qtiParser = new ilQTIParser($this->packageFolder . "/" . $f[entry], IL_MO_PARSE_QTI, 0, ""); $qtiParser->setTestObject($newObj); $result = $qtiParser->startParsing(); // $newObj->saveToDb (); $qtis = array_merge($qtis, $qtiParser->getImportMapping()); } } } //exit; include_once 'Modules/Scorm2004/classes/class.ilSCORM2004Page.php'; $doc = new SimpleXMLElement($this->imsmanifest->saveXml()); $l = $doc->xpath("/ContentObject/MetaData"); if ($l[0]) { include_once 'Services/MetaData/classes/class.ilMDXMLCopier.php'; $mdxml =& new ilMDXMLCopier($l[0]->asXML(), $slm->getId(), $sco->getId(), $sco->getType()); $mdxml->startParsing(); $mdxml->getMDObject()->update(); } $l = $doc->xpath("/ContentObject/PageObject"); foreach ($l as $page_xml) { $tnode = $page_xml->xpath('MetaData/General/Title'); $page = new ilSCORM2004PageNode($slm); $page->setTitle($tnode[0]); $page->setSLMId($slm->getId()); $page->create(true); ilSCORM2004Node::putInTree($page, $sco->getId(), $target); $pmd = $page_xml->xpath("MetaData"); if ($pmd[0]) { include_once 'Services/MetaData/classes/class.ilMDXMLCopier.php'; $mdxml =& new ilMDXMLCopier($pmd[0]->asXML(), $slm->getId(), $page->getId(), $page->getType()); $mdxml->startParsing(); $mdxml->getMDObject()->update(); } $tnode = $page_xml->xpath("//MediaObject/MediaAlias | //InteractiveImage/MediaAlias"); foreach ($tnode as $ttnode) { include_once './Services/MediaObjects/classes/class.ilObjMediaObject.php'; $OriginId = $ttnode[OriginId]; $medianodes = $doc->xpath("//MediaObject[MetaData/General/Identifier/@Entry='" . $OriginId . "']"); $medianode = $medianodes[0]; if ($medianode) { $media_object = new ilObjMediaObject(); $media_object->setTitle($medianode->MetaData->General->Title); $media_object->setDescription($medianode->MetaData->General->Description); $media_object->create(false); $mmd = $medianode->xpath("MetaData"); if ($mmd[0]) { include_once 'Services/MetaData/classes/class.ilMDXMLCopier.php'; $mdxml =& new ilMDXMLCopier($mmd[0]->asXML(), 0, $media_object->getId(), $media_object->getType()); $mdxml->startParsing(); $mdxml->getMDObject()->update(); } // determine and create mob directory, move uploaded file to directory $media_object->createDirectory(); $mob_dir = ilObjMediaObject::_getDirectory($media_object->getId()); foreach ($medianode->MediaItem as $xMediaItem) { $media_item =& new ilMediaItem(); $media_object->addMediaItem($media_item); $media_item->setPurpose($xMediaItem[Purpose]); $media_item->setFormat($xMediaItem->Format); $media_item->setLocation($xMediaItem->Location); $media_item->setLocationType($xMediaItem->Location[Type]); $media_item->setWidth($xMediaItem->Layout[Width]); $media_item->setHeight($xMediaItem->Layout[Height]); $media_item->setHAlign($xMediaItem->Layout[HorizontalAlign]); $media_item->setCaption($xMediaItem->Caption); $media_item->setTextRepresentation($xMediaItem->TextRepresentation); $nr = 0; // add map areas (external links only) foreach ($xMediaItem->MapArea as $n => $v) { if ($v->ExtLink[Href] != "") { include_once "./Services/MediaObjects/classes/class.ilMapArea.php"; $ma = new ilMapArea(); $map_area = new ilMapArea(); $map_area->setShape($v[Shape]); $map_area->setCoords($v[Coords]); $map_area->setLinkType(IL_EXT_LINK); $map_area->setTitle($v->ExtLink); $map_area->setHref($v->ExtLink[Href]); $media_item->addMapArea($map_area); } } if ($media_item->getLocationType() == "LocalFile") { // $tmp_name = $this->packageFolder."/objects/".$OriginId."/".$xMediaItem->Location; // copy($tmp_name, $mob_dir."/".$xMediaItem->Location); } } // copy whole directory ilUtil::rCopy($this->packageFolder . "/objects/" . $OriginId, $mob_dir); // alex: fixed media import: these lines have been // behind the next curly bracket which makes it fail // when no medianode is given. (id=0 -> fatal error) ilUtil::renameExecutables($mob_dir); $media_object->update(true); $ttnode[OriginId] = "il__mob_" . $media_object->getId(); } } include_once "./Modules/File/classes/class.ilObjFile.php"; include_once "./Services/Utilities/classes/class.ilFileUtils.php"; include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; $intlinks = $page_xml->xpath("//IntLink"); foreach ($intlinks as $intlink) { if ($intlink[Type] != "File") { continue; } $path = $this->packageFolder . "/objects/" . str_replace('dfile', 'file', $intlink[Target]); if (!is_dir($path)) { continue; } $ffiles = array(); ilFileUtils::recursive_dirscan($path, $ffiles); $filename = $ffiles[file][0]; $fileObj = new ilObjFile(); $fileObj->setType("file"); $fileObj->setTitle(ilFileUtils::utf8_encode(ilUtil::stripSlashes($filename))); $fileObj->setFileName(ilFileUtils::utf8_encode(ilUtil::stripSlashes($filename))); // better use this, mime_content_type is deprecated $fileObj->setFileType(ilObjMediaObject::getMimeType($path . "/" . $filename)); $fileObj->setFileSize(filesize($path . "/" . $filename)); $fileObj->create(); $fileObj->createReference(); //$fileObj->putInTree($_GET["ref_id"]); //$fileObj->setPermissions($slm->getId ()); $fileObj->createDirectory(); $fileObj->storeUnzipedFile($path . "/" . $filename, ilFileUtils::utf8_encode(ilUtil::stripSlashes($filename))); $intlink[Target] = "il__dfile_" . $fileObj->getId(); } $fileitems = $page_xml->xpath("//FileItem/Identifier"); foreach ($fileitems as $fileitem) { $path = $this->packageFolder . "/objects/" . $fileitem[Entry]; if (!is_dir($path)) { continue; } $ffiles = array(); ilFileUtils::recursive_dirscan($path, $ffiles); $filename = $ffiles[file][0]; $fileObj = new ilObjFile(); $fileObj->setType("file"); $fileObj->setTitle(ilFileUtils::utf8_encode(ilUtil::stripSlashes($filename))); $fileObj->setFileName(ilFileUtils::utf8_encode(ilUtil::stripSlashes($filename))); // better use this, mime_content_type is deprecated $fileObj->setFileType(ilObjMediaObject::getMimeType($path . "/" . $filename)); $fileObj->setFileSize(filesize($path . "/" . $filename)); $fileObj->create(); $fileObj->createReference(); //$fileObj->putInTree($_GET["ref_id"]); //$fileObj->setPermissions($slm->getId ()); $fileObj->createDirectory(); $fileObj->storeUnzipedFile($path . "/" . $filename, ilFileUtils::utf8_encode(ilUtil::stripSlashes($filename))); $fileitem[Entry] = "il__file_" . $fileObj->getId(); } $pagex = new ilSCORM2004Page($page->getId()); $ddoc = new DOMDocument(); $ddoc->async = false; $ddoc->preserveWhiteSpace = false; $ddoc->formatOutput = false; $ddoc->loadXML($page_xml->asXML()); $xpath = new DOMXPath($ddoc); $tnode = $xpath->query('PageContent'); $t = "<PageObject>"; foreach ($tnode as $ttnode) { $t .= $ddoc->saveXML($ttnode); } $t .= "</PageObject>"; foreach ($qtis as $old => $q) { $t = str_replace($old, 'il__qst_' . $q['pool'], $t); } $pagex->setXMLContent($t); $pagex->updateFromXML(); } }
protected function getFirstMediaObjectAsTag($a_width = 144, $a_height = 144, $a_export_directory = null) { $this->obj->buildDom(); $mob_ids = $this->obj->collectMediaObjects(); if ($mob_ids) { require_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; foreach ($mob_ids as $mob_id) { $mob_obj = new ilObjMediaObject($mob_id); $mob_item = $mob_obj->getMediaItem("Standard"); if (stristr($mob_item->getFormat(), "image")) { $mob_size = $mob_item->getOriginalSize(); if ($mob_size["width"] >= $a_width || $mob_size["height"] >= $a_height) { if (!$a_export_directory) { $mob_dir = ilObjMediaObject::_getDirectory($mob_obj->getId()); } else { // see ilCOPageHTMLExport::exportHTMLMOB() $mob_dir = "./mobs/mm_" . $mob_obj->getId(); } $mob_res = self::parseImage($mob_size["width"], $mob_size["height"], $a_width, $a_height); return '<img' . ' src="' . $mob_dir . "/" . $mob_item->getLocation() . '"' . ' width="' . $mob_res[0] . '"' . ' height="' . $mob_res[1] . '"' . ' class="ilBlogListItemSnippetPreviewImage ilFloatLeft noMirror"' . ' />'; } } } } }
/** * 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 "mob": //var_dump($a_rec); include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; $newObj = new ilObjMediaObject(); $newObj->setType("mob"); $newObj->setTitle($a_rec["Title"]); $newObj->setDescription($a_rec["Description"]); $newObj->create(); $newObj->createDirectory(); ilObjMediaObject::_createThumbnailDirectory($newObj->getId()); $this->current_mob = $newObj; $dir = str_replace("..", "", $a_rec["Dir"]); if ($dir != "" && $this->getImportDirectory() != "") { $source_dir = $this->getImportDirectory() . "/" . $dir; $target_dir = $dir = ilObjMediaObject::_getDirectory($newObj->getId()); ilUtil::rCopy($source_dir, $target_dir); } $a_mapping->addMapping("Services/MediaObjects", "mob", $a_rec["Id"], $newObj->getId()); //echo "<br>++add++"."0:".$a_rec["Id"].":mob+0:".$newObj->getId().":mob"."+"; $a_mapping->addMapping("Services/MetaData", "md", "0:" . $a_rec["Id"] . ":mob", "0:" . $newObj->getId() . ":mob"); break; case "mob_media_item": // determine parent mob include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; $mob_id = (int) $a_mapping->getMapping("Services/MediaObjects", "mob", $a_rec["MobId"]); if (is_object($this->current_mob) && $this->current_mob->getId() == $mob_id) { $mob = $this->current_mob; } else { $mob = new ilObjMediaObject($mob_id); } include_once "./Services/MediaObjects/classes/class.ilMediaItem.php"; $newObj = new ilMediaItem(); $newObj->setMobId($mob_id); $newObj->setWidth($a_rec["Width"]); $newObj->setHeight($a_rec["Height"]); $newObj->setCaption($a_rec["Caption"]); $newObj->setNr($a_rec["Nr"]); $newObj->setPurpose($a_rec["Purpose"]); $newObj->setLocation($a_rec["Location"]); $newObj->setLocationType($a_rec["LocationType"]); $newObj->setFormat($a_rec["Format"]); $newObj->setTextRepresentation($a_rec["TextRepresentation"]); $newObj->create(); $this->current_media_item = $newObj; $a_mapping->addMapping("Services/MediaObjects", "mob_media_item", $a_rec["Id"], $newObj->getId()); break; case "mob_mi_parameter": // get media item include_once "./Services/MediaObjects/classes/class.ilMediaItem.php"; $med_id = (int) $a_mapping->getMapping("Services/MediaObjects", "mob_media_item", $a_rec["MiId"]); if (is_object($this->current_media_item) && $this->current_media_item->getId() == $med_id) { $med = $this->current_media_item; } else { $med = new ilMediaItem($med_id); } $med->writeParameter($a_rec["Name"], $a_rec["Value"]); break; case "mob_mi_map_area": // get media item include_once "./Services/MediaObjects/classes/class.ilMediaItem.php"; $med_id = (int) $a_mapping->getMapping("Services/MediaObjects", "mob_media_item", $a_rec["MiId"]); if (is_object($this->current_media_item) && $this->current_media_item->getId() == $med_id) { $med = $this->current_media_item; } else { $med = new ilMediaItem($med_id); } include_once "./Services/MediaObjects/classes/class.ilMapArea.php"; $map_area = new ilMapArea(); $map_area->setItemId($med_id); $map_area->setNr($a_rec["Nr"]); $map_area->setShape($a_rec["Shape"]); $map_area->setCoords($a_rec["Coords"]); $map_area->setLinkType($a_rec["LinkType"]); $map_area->setTitle($a_rec["Title"]); $map_area->setHref($a_rec["Href"]); $map_area->setTarget($a_rec["Target"]); $map_area->setType($a_rec["Type"]); $map_area->setTargetFrame($a_rec["TargetFrame"]); $map_area->setHighlightMode($a_rec["HighlightMode"]); $map_area->setHighlightClass($a_rec["HighlightClass"]); $map_area->create(); break; } }
/** * Standard Version of Fill Row. Most likely to * be overwritten by derived class. */ protected function fillRow($a_set) { global $lng, $ilCtrl; $news_set = new ilSetting("news"); $enable_internal_rss = $news_set->get("enable_rss_for_internal"); // context $obj_id = ilObject::_lookupObjId($a_set["ref_id"]); $obj_type = ilObject::_lookupType($obj_id); $obj_title = ilObject::_lookupTitle($obj_id); // user if ($a_set["user_id"] > 0) { $this->tpl->setCurrentBlock("user_info"); if ($obj_type == "frm") { include_once "./Modules/Forum/classes/class.ilForumProperties.php"; if (ilForumProperties::_isAnonymized($a_set["context_obj_id"])) { if ($a_set["context_sub_obj_type"] == "pos" && $a_set["context_sub_obj_id"] > 0) { include_once "./Modules/Forum/classes/class.ilForumPost.php"; $post = new ilForumPost($a_set["context_sub_obj_id"]); if ($post->getUserAlias() != "") { $this->tpl->setVariable("VAL_AUTHOR", ilUtil::stripSlashes($post->getUserAlias())); } else { $this->tpl->setVariable("VAL_AUTHOR", $lng->txt("forums_anonymous")); } } else { $this->tpl->setVariable("VAL_AUTHOR", $lng->txt("forums_anonymous")); } } else { if (ilObject::_exists($a_set["user_id"])) { $user_obj = new ilObjUser($a_set["user_id"]); $this->tpl->setVariable("VAL_AUTHOR", $user_obj->getLogin()); } } } else { if (ilObject::_exists($a_set["user_id"])) { $user_obj = new ilObjUser($a_set["user_id"]); $this->tpl->setVariable("VAL_AUTHOR", $user_obj->getLogin()); } } $this->tpl->setVariable("TXT_AUTHOR", $lng->txt("author")); $this->tpl->parseCurrentBlock(); } // media player if ($a_set["content_type"] == NEWS_AUDIO && $a_set["mob_id"] > 0 && ilObject::_exists($a_set["mob_id"])) { include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; include_once "./Services/MediaObjects/classes/class.ilMediaPlayerGUI.php"; $mob = new ilObjMediaObject($a_set["mob_id"]); $med = $mob->getMediaItem("Standard"); $mpl = new ilMediaPlayerGUI(); $mpl->setFile(ilObjMediaObject::_getDirectory($a_set["mob_id"]) . "/" . $med->getLocation()); $this->tpl->setCurrentBlock("player"); $this->tpl->setVariable("PLAYER", $mpl->getMp3PlayerHtml()); $this->tpl->parseCurrentBlock(); } // access if ($enable_internal_rss) { $this->tpl->setCurrentBlock("access"); include_once "./Services/Block/classes/class.ilBlockSetting.php"; $this->tpl->setVariable("TXT_ACCESS", $lng->txt("news_news_item_visibility")); if ($a_set["visibility"] == NEWS_PUBLIC || $a_set["priority"] == 0 && ilBlockSetting::_lookup("news", "public_notifications", 0, $obj_id)) { $this->tpl->setVariable("VAL_ACCESS", $lng->txt("news_visibility_public")); } else { $this->tpl->setVariable("VAL_ACCESS", $lng->txt("news_visibility_users")); } $this->tpl->parseCurrentBlock(); } // content if ($a_set["content"] != "") { $this->tpl->setCurrentBlock("content"); $this->tpl->setVariable("VAL_CONTENT", ilUtil::makeClickable($a_set["content"], true)); $this->tpl->parseCurrentBlock(); } if ($a_set["content_long"] != "") { $this->tpl->setCurrentBlock("long"); $this->tpl->setVariable("VAL_LONG_CONTENT", ilUtil::makeClickable($a_set["content_long"], true)); $this->tpl->parseCurrentBlock(); } if ($a_set["update_date"] != $a_set["creation_date"]) { $this->tpl->setCurrentBlock("ni_update"); $this->tpl->setVariable("TXT_LAST_UPDATE", $lng->txt("last_update")); $this->tpl->setVariable("VAL_LAST_UPDATE", ilDatePresentation::formatDate(new ilDateTime($a_set["update_date"], IL_CAL_DATETIME))); $this->tpl->parseCurrentBlock(); } // forum hack, not nice $add = ""; if ($obj_type == "frm" && $a_set["context_sub_obj_type"] == "pos" && $a_set["context_sub_obj_id"] > 0) { include_once "./Modules/Forum/classes/class.ilObjForumAccess.php"; $pos = $a_set["context_sub_obj_id"]; $thread = ilObjForumAccess::_getThreadForPosting($pos); if ($thread > 0) { $add = "_" . $thread . "_" . $pos; } } $url_target = "./goto.php?client_id=" . rawurlencode(CLIENT_ID) . "&target=" . $obj_type . "_" . $a_set["ref_id"] . $add; $this->tpl->setCurrentBlock("context"); $cont_loc = new ilLocatorGUI(); $cont_loc->addContextItems($a_set["ref_id"], true); $this->tpl->setVariable("CONTEXT_LOCATOR", $cont_loc->getHTML()); $this->tpl->setVariable("HREF_CONTEXT_TITLE", $url_target); $this->tpl->setVariable("CONTEXT_TITLE", $obj_title); $this->tpl->setVariable("ALT_CONTEXT_TITLE", $lng->txt("icon") . " " . $lng->txt("obj_" . $obj_type)); $this->tpl->setVariable("IMG_CONTEXT_TITLE", ilUtil::getImagePath("icon_" . $obj_type . "_b.png")); $this->tpl->parseCurrentBlock(); $this->tpl->setVariable("HREF_TITLE", $url_target); // title if ($a_set["content_is_lang_var"]) { $this->tpl->setVariable("VAL_TITLE", $lng->txt($a_set["title"])); } else { $this->tpl->setVariable("VAL_TITLE", ilUtil::stripSlashes($a_set["title"])); // title } // creation date $this->tpl->setVariable("VAL_CREATION_DATE", ilDatePresentation::formatDate(new ilDateTime($a_set["creation_date"], IL_CAL_DATETIME))); $this->tpl->setVariable("TXT_CREATED", $lng->txt("created")); $this->tpl->parseCurrentBlock(); }
/** * get media info as html */ function _getMediaInfoHTML(&$a_mob) { global $lng; $tpl =& new ilTemplate("tpl.media_info.html", true, true, "Services/MediaObjects"); $types = array("Standard", "Fullscreen"); foreach ($types as $type) { if ($type == "Fullscreen" && !$a_mob->hasFullScreenItem()) { continue; } $med = $a_mob->getMediaItem($type); if (!$med) { return ""; } $tpl->setCurrentBlock("media_info"); if ($type == "Standard") { $tpl->setVariable("TXT_PURPOSE", $lng->txt("cont_std_view")); } else { $tpl->setVariable("TXT_PURPOSE", $lng->txt("cont_fullscreen")); } $tpl->setVariable("TXT_TYPE", $lng->txt("cont_" . strtolower($med->getLocationType()))); $tpl->setVariable("VAL_LOCATION", $med->getLocation()); if ($med->getLocationType() == "LocalFile") { $file = ilObjMediaObject::_getDirectory($med->getMobId()) . "/" . $med->getLocation(); if (is_file($file)) { $size = filesize($file); } else { $size = 0; } $tpl->setVariable("VAL_FILE_SIZE", " ({$size} " . $lng->txt("bytes") . ")"); } $tpl->setVariable("TXT_FORMAT", $lng->txt("cont_format")); $tpl->setVariable("VAL_FORMAT", $med->getFormat()); if ($med->getWidth() != "" && $med->getHeight() != "") { $tpl->setCurrentBlock("size"); $tpl->setVariable("TXT_SIZE", $lng->txt("size")); $tpl->setVariable("VAL_SIZE", $med->getWidth() . "x" . $med->getHeight()); $tpl->parseCurrentBlock(); } // original size if ($orig_size = $med->getOriginalSize()) { if ($orig_size["width"] != $med->getWidth() || $orig_size["height"] != $med->getHeight()) { $tpl->setCurrentBlock("orig_size"); $tpl->setVariable("TXT_ORIG_SIZE", $lng->txt("cont_orig_size")); $tpl->setVariable("ORIG_WIDTH", $orig_size["width"]); $tpl->setVariable("ORIG_HEIGHT", $orig_size["height"]); $tpl->parseCurrentBlock(); } } // output caption if ($med && strlen($med->getCaption())) { $tpl->setCurrentBlock('additional_info'); $tpl->setVariable('ADD_INFO', $lng->txt('cont_caption') . ': ' . $med->getCaption()); $tpl->parseCurrentBlock(); } // output keywords if ($type == "Standard") { include_once './Services/MetaData/classes/class.ilMDKeyword.php'; if (count($kws = ilMDKeyword::lookupKeywords(0, $med->getMobId()))) { $tpl->setCurrentBlock('additional_info'); $tpl->setVariable('ADD_INFO', $lng->txt('keywords') . ': ' . implode(', ', $kws)); $tpl->parseCurrentBlock(); } } $tpl->setCurrentBlock("media_info"); $tpl->parseCurrentBlock(); } return $tpl->get(); }
/** * get media info as html */ function _getMediaInfoHTML(&$a_mob) { global $lng; $tpl =& new ilTemplate("tpl.media_info.html", true, true, "Services/MediaObjects"); $types = array("Standard", "Fullscreen"); foreach ($types as $type) { if ($type == "Fullscreen" && !$a_mob->hasFullScreenItem()) { continue; } $med =& $a_mob->getMediaItem($type); $tpl->setCurrentBlock("media_info"); if ($type == "Standard") { $tpl->setVariable("TXT_PURPOSE", $lng->txt("cont_std_view")); } else { $tpl->setVariable("TXT_PURPOSE", $lng->txt("cont_fullscreen")); } $tpl->setVariable("TXT_TYPE", $lng->txt("cont_" . strtolower($med->getLocationType()))); $tpl->setVariable("VAL_LOCATION", $med->getLocation()); if ($med->getLocationType() == "LocalFile") { $file = ilObjMediaObject::_getDirectory($med->getMobId()) . "/" . $med->getLocation(); if (is_file($file)) { $size = filesize($file); } else { $size = 0; } $tpl->setVariable("VAL_FILE_SIZE", " ({$size} " . $lng->txt("bytes") . ")"); } $tpl->setVariable("TXT_FORMAT", $lng->txt("cont_format")); $tpl->setVariable("VAL_FORMAT", $med->getFormat()); if ($med->getWidth() != "" && $med->getHeight() != "") { $tpl->setCurrentBlock("size"); $tpl->setVariable("TXT_SIZE", $lng->txt("size")); $tpl->setVariable("VAL_SIZE", $med->getWidth() . "x" . $med->getHeight()); $tpl->parseCurrentBlock(); } // original size if ($orig_size = $med->getOriginalSize()) { if ($orig_size["width"] != $med->getWidth() || $orig_size["height"] != $med->getHeight()) { $tpl->setCurrentBlock("orig_size"); $tpl->setVariable("TXT_ORIG_SIZE", $lng->txt("cont_orig_size")); $tpl->setVariable("ORIG_WIDTH", $orig_size["width"]); $tpl->setVariable("ORIG_HEIGHT", $orig_size["height"]); $tpl->parseCurrentBlock(); } } $tpl->setCurrentBlock("media_info"); $tpl->parseCurrentBlock(); } return $tpl->get(); }
/** * function parses stored value in database to a html output for eg. the record list gui. * * @param $value * @param ilDataCollectionRecordField $record_field * * @return mixed */ public function parseHTML($value, ilDataCollectionRecordField $record_field, $link = true) { global $ilAccess, $ilCtrl, $lng; switch ($this->id) { case self::INPUTFORMAT_DATETIME: $html = ilDatePresentation::formatDate(new ilDate($value, IL_CAL_DATETIME)); break; case self::INPUTFORMAT_FILE: if (!ilObject2::_exists($value) || ilObject2::_lookupType($value, false) != "file") { $html = ""; break; } $file_obj = new ilObjFile($value, false); $ilCtrl->setParameterByClass("ildatacollectionrecordlistgui", "record_id", $record_field->getRecord()->getId()); $ilCtrl->setParameterByClass("ildatacollectionrecordlistgui", "field_id", $record_field->getField()->getId()); $html = '<a href="' . $ilCtrl->getLinkTargetByClass("ildatacollectionrecordlistgui", "sendFile") . '">' . $file_obj->getFileName() . '</a>'; if (ilPreview::hasPreview($file_obj->getId())) { ilPreview::createPreview($file_obj); // Create preview if not already existing $preview = new ilPreviewGUI((int) $_GET['ref_id'], ilPreviewGUI::CONTEXT_REPOSITORY, $file_obj->getId(), $ilAccess); $preview_status = ilPreview::lookupRenderStatus($file_obj->getId()); $preview_status_class = ""; $preview_text_topic = "preview_show"; if ($preview_status == ilPreview::RENDER_STATUS_NONE) { $preview_status_class = "ilPreviewStatusNone"; $preview_text_topic = "preview_none"; } $wrapper_html_id = 'record_field_' . $record_field->getId(); $script_preview_click = $preview->getJSCall($wrapper_html_id); $preview_title = $lng->txt($preview_text_topic); $preview_icon = ilUtil::getImagePath("preview.png", "Services/Preview"); $html = '<div id="' . $wrapper_html_id . '">' . $html; $html .= '<span class="il_ContainerItemPreview ' . $preview_status_class . '"><a href="javascript:void(0);" onclick="' . $script_preview_click . '" title="' . $preview_title . '"><img src="' . $preview_icon . '" height="16" width="16"></a></span></div>'; } break; case self::INPUTFORMAT_MOB: $mob = new ilObjMediaObject($value, false); $med = $mob->getMediaItem('Standard'); if (!$med->location) { $html = ""; break; } $arr_properties = $record_field->getField()->getProperties(); $is_linked_field = $arr_properties[ilDataCollectionField::PROPERTYID_LINK_DETAIL_PAGE_MOB]; $has_view = ilDataCollectionRecordViewViewdefinition::getIdByTableId($record_field->getRecord()->getTableId()); if (in_array($med->getSuffix(), array('jpg', 'jpeg', 'png', 'gif'))) { // Image $dir = ilObjMediaObject::_getDirectory($mob->getId()); $width = (int) $arr_properties[ilDataCollectionField::PROPERTYID_WIDTH]; $height = (int) $arr_properties[ilDataCollectionField::PROPERTYID_HEIGHT]; $html = ilUtil::img($dir . "/" . $med->location, '', $width, $height); if ($is_linked_field and $has_view and $link) { $ilCtrl->setParameterByClass('ildatacollectionrecordviewgui', 'record_id', $record_field->getRecord()->getId()); $html = '<a href="' . $ilCtrl->getLinkTargetByClass("ildatacollectionrecordviewgui", 'renderRecord') . '">' . $html . '</a>'; } } else { // Video/Audio $mpl = new ilMediaPlayerGUI($med->getId(), ''); $mpl->setFile(ilObjMediaObject::_getURL($mob->getId()) . "/" . $med->getLocation()); $mpl->setMimeType($med->getFormat()); $mpl->setDisplayWidth((int) $arr_properties[ilDataCollectionField::PROPERTYID_WIDTH] . 'px'); $mpl->setDisplayHeight((int) $arr_properties[ilDataCollectionField::PROPERTYID_HEIGHT] . 'px'); $mpl->setVideoPreviewPic($mob->getVideoPreviewPic()); $html = $mpl->getPreviewHtml(); if ($is_linked_field and $has_view) { global $lng; $ilCtrl->setParameterByClass('ildatacollectionrecordviewgui', 'record_id', $record_field->getRecord()->getId()); $html = $html . '<a href="' . $ilCtrl->getLinkTargetByClass("ildatacollectionrecordviewgui", 'renderRecord') . '">' . $lng->txt('details') . '</a>'; } } break; case self::INPUTFORMAT_BOOLEAN: switch ($value) { case 0: $im = ilUtil::getImagePath('icon_not_ok.svg'); break; case 1: $im = ilUtil::getImagePath('icon_ok.svg'); break; } $html = "<img src='" . $im . "'>"; break; case ilDataCollectionDatatype::INPUTFORMAT_TEXT: //Property URL $arr_properties = $record_field->getField()->getProperties(); if ($arr_properties[ilDataCollectionField::PROPERTYID_URL]) { $link = $value; if (preg_match("/^[a-z0-9!#\$%&'*+=?^_`{|}~-]+(?:\\.[a-z0-9!#\$%&'*+=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\$/i", $value)) { $value = "mailto:" . $value; } elseif (!preg_match('~(^(news|(ht|f)tp(s?)\\://){1}\\S+)~i', $value)) { return $link; } $link = $this->shortenLink($link); $html = "<a target='_blank' href='" . $value . "'>" . $link . "</a>"; } elseif ($arr_properties[ilDataCollectionField::PROPERTYID_LINK_DETAIL_PAGE_TEXT] and $link and ilDataCollectionRecordViewViewdefinition::getIdByTableId($record_field->getRecord()->getTableId())) { $ilCtrl->setParameterByClass('ildatacollectionrecordviewgui', 'record_id', $record_field->getRecord()->getId()); $html = '<a href="' . $ilCtrl->getLinkTargetByClass("ildatacollectionrecordviewgui", 'renderRecord') . '">' . $value . '</a>'; } else { $html = $value; } break; default: $html = $value; break; } return $html; }
/** * Extract preview image * * @param * @return */ function extractPreviewImageObject() { global $ilCtrl; $this->checkPermission("write"); $this->mcst_item = new ilNewsItem($_GET["item_id"]); include_once "./Services/MediaObjects/classes/class.ilObjMediaObjectGUI.php"; $mob = new ilObjMediaObject($this->mcst_item->getMobId()); try { $sec = (int) $_POST["sec"]; if ($sec < 0) { $sec = 0; } if ($mob->getVideoPreviewPic() != "") { $mob->removeAdditionalFile($mob->getVideoPreviewPic(true)); } include_once "./Services/MediaObjects/classes/class.ilFFmpeg.php"; $med = $mob->getMediaItem("Standard"); $mob_file = ilObjMediaObject::_getDirectory($mob->getId()) . "/" . $med->getLocation(); $new_file = ilFFmpeg::extractImage($mob_file, "mob_vpreview.png", ilObjMediaObject::_getDirectory($mob->getId()), $sec); if ($new_file != "") { ilUtil::sendInfo($this->lng->txt("mcst_image_extracted"), true); } else { ilUtil::sendFailure($this->lng->txt("mcst_no_extraction_possible"), true); } } catch (ilException $e) { if (DEVMODE == 1) { $ret = ilFFmpeg::getLastReturnValues(); $add = is_array($ret) && count($ret) > 0 ? "<br />" . implode($ret, "<br />") : ""; } ilUtil::sendFailure($e->getMessage() . $add, true); } $ilCtrl->redirect($this, "editCastItem"); }
/** * Configures the file for the updateFloorPlanInfosWithFile and addFloorPlan function. * * @param ilObjMediaObject $a_mediaObj * @param array $a_newfile * * @return array with format and filename */ private function configureFile($a_mediaObj, $a_newfile = NULL) { if ($this->mobjMock) { return $a_newfile; } $mob_dir = ilObjMediaObject::_getDirectory($a_mediaObj->getId()); if (!is_dir($mob_dir)) { $a_mediaObj->createDirectory(); } $file_name = ilUtil::getASCIIFilename($a_newfile["name"]); $file_name_mod = str_replace(" ", "_", $file_name); $file = $mob_dir . "/" . $file_name_mod; // construct file path ilUtil::moveUploadedFile($a_newfile["tmp_name"], $file_name_mod, $file); ilUtil::renameExecutables($mob_dir); $format = ilObjMediaObject::getMimeType($file); return array("format" => $format, "filename" => $file_name_mod); }
/** * Deliver mob file * * @param * @return */ function deliverMobFile($a_purpose = "Standard", $a_increase_download_cnt = false) { $mob = $this->getMobId(); include_once "./Services/MediaObjects/classes/class.ilObjMediaObject.php"; $mob = new ilObjMediaObject($mob); $mob_dir = ilObjMediaObject::_getDirectory($mob->getId()); // check purpose if (!$mob->hasPurposeItem($a_purpose)) { return false; } $m_item = $mob->getMediaItem($a_purpose); if ($m_item->getLocationType() != "Reference") { $file = $mob_dir . "/" . $m_item->getLocation(); if (file_exists($file) && is_file($file)) { if ($a_increase_download_cnt) { $this->increaseDownloadCounter(); } ilUtil::deliverFile($file, $m_item->getLocation()); } else { ilUtil::sendFailure("File not found!", true); return false; } } else { if ($a_increase_download_cnt) { $this->increaseDownloadCounter(); } ilUtil::redirect($m_item->getLocation()); } }
/** * Update (base image) */ function update() { global $ilCtrl, $lng; $mob = $this->content_obj->getMediaObject(); $mob_dir = ilObjMediaObject::_getDirectory($mob->getId()); $std_item = $mob->getMediaItem("Standard"); $location = $_FILES['image_file']['name']; if ($location != "" && is_file($_FILES['image_file']['tmp_name'])) { $file = $mob_dir . "/" . $_FILES['image_file']['name']; ilUtil::moveUploadedFile($_FILES['image_file']['tmp_name'], $_FILES['image_file']['name'], $file); // get mime type $format = ilObjMediaObject::getMimeType($file); $location = $_FILES['image_file']['name']; $std_item->setFormat($format); $std_item->setLocation($location); $std_item->setLocationType("LocalFile"); $mob->setDescription($format); $mob->update(); } // set caption $std_alias_item = new ilMediaAliasItem($this->dom, $this->getHierId(), "Standard", $this->content_obj->getPcId(), "InteractiveImage"); $std_alias_item->setCaption(ilUtil::stripSlashes($_POST["caption"])); $_SESSION["il_pg_error"] = $this->pg_obj->update(); ilUtil::sendSuccess($lng->txt("msg_obj_modified"), true); $ilCtrl->redirectByClass("ilpcinteractiveimagegui", "editBaseImage"); }
/** * Get video preview pic * * @param * @return */ function getVideoPreviewPic($a_filename_only = false) { $dir = ilObjMediaObject::_getDirectory($this->getId()); $ppics = array("mob_vpreview.jpg", "mob_vpreview.jpeg", "mob_vpreview.png"); foreach ($ppics as $p) { if (is_file($dir . "/" . $p)) { if ($a_filename_only) { return $p; } else { return $dir . "/" . $p; } } } return ""; }
/** * 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; }