ILIAS  Release_4_1_x_branch Revision 61804
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjMediaObject Class Reference

Class ilObjMediaObject. More...

+ Inheritance diagram for ilObjMediaObject:
+ Collaboration diagram for ilObjMediaObject:

Public Member Functions

 ilObjMediaObject ($a_id=0)
 Constructor public.
 setRefId ()
 getRefId ()
 get reference id public
 putInTree ()
 createReference ()
 creates reference for object
 setTitle ($a_title)
 set object title
 getTitle ()
 get object title public
 _exists ($a_id)
 checks wether a lm content object with specified id exists or not
 delete ()
 delete media object
 getDescription ()
 get description of media object
 setDescription ($a_description)
 set description of media object
 MDUpdateListener ($a_element)
 Meta data update listener.
 createMetaData ()
 create meta data entry
 updateMetaData ()
 update meta data entry
 deleteMetaData ()
 delete meta data entry
 addMediaItem (&$a_item)
 add media item to media object
getMediaItems ()
 get all media items
getMediaItem ($a_purpose)
 get item for media purpose
 removeMediaItem ($a_purpose)
 removeAllMediaItems ()
 remove all media items
 getMediaItemNr ($a_purpose)
 hasFullscreenItem ()
 hasPurposeItem ($purpose)
 returns wether object has media item with specific purpose
 read ()
 read media object data from db
 setId ($a_id)
 set id
 getId ()
 get object id public
 setAlias ($a_is_alias)
 set wether page object is an alias
 isAlias ()
 setOriginID ($a_id)
 getOriginID ()
 getImportId ()
 get import id
 setImportId ($a_id)
 set import id
 create ($a_upload=false, $a_save_media_items=true)
 create media object in db
 update ($a_upload=false)
 update media object in db
 _getDirectory ($a_mob_id)
 get directory for files of media object (static)
 _getURL ($a_mob_id)
 get directory for files of media object (static)
 _getThumbnailDirectory ($a_mob_id, $a_mode="filesystem")
 get directory for files of media object (static)
 createDirectory ()
 create file directory of media object
 _createThumbnailDirectory ($a_obj_id)
 create thumbnail directory
 getXML ($a_mode=IL_MODE_FULL, $a_inst=0)
 get MediaObject XLM Tag
 handleAmps ($a_str)
 Replace "&" (if not an "&") with "&".
 exportXML (&$a_xml_writer, $a_inst=0)
 export XML
 exportFiles ($a_target_dir)
 export all media files of object to target directory note: target directory must be the export target directory, "/objects/il_<inst>_mob_<mob_id>/..." will be appended to this directory
 exportMediaFullscreen ($a_target_dir, $pg_obj)
 modifyExportIdentifier ($a_tag, $a_param, $a_value)
 setContainsIntLink ($a_contains_link)
 content parser set this flag to true, if the media object contains internal links (this method should only be called by the import parser)
 containsIntLink ()
 returns true, if mob was marked as containing an intern link (via setContainsIntLink) (this method should only be called by the import parser)
 _deleteAllUsages ($a_type, $a_id, $a_usage_hist_nr=0)
 static
 _getMobsOfObject ($a_type, $a_id, $a_usage_hist_nr=0)
 get mobs of object
 _saveUsage ($a_mob_id, $a_type, $a_id, $a_usage_hist_nr=0)
 Save usage of mob within another container (e.g.
 _removeUsage ($a_mob_id, $a_type, $a_id, $a_usage_hist_nr=0)
 Remove usage of mob in another container.
 getUsages ($a_include_history=true)
 get all usages of current media object
 lookupUsages ($a_id, $a_include_history=true)
 Lookup usages of media object.
 getParentObjectIdForUsage ($a_usage, $a_include_all_access_obj_ids=false)
 Get's the repository object ID of a parent object, if possible.
 _resizeImage ($a_file, $a_width, $a_height, $a_constrain_prop=false)
 resize image and return new image file ("_width_height" string appended)
 getExt2MimeMap ()
 get file extension to mime type map
 getDataDirectory ()
_saveTempFileAsMediaObject ($name, $tmp_name, $upload=TRUE)
 create new media object and update page in db and return new media object
 getLinkedMediaObjects ($a_ignore="")
 Get all media objects linked in map areas of this media object.
- Public Member Functions inherited from ilObject
 ilObject ($a_id=0, $a_reference=true)
 Constructor public.
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not)
 read ($a_force_db=false)
 read object data from db into object
 setRefId ($a_id)
 set reference id public
 getType ()
 get object type public
 setType ($a_type)
 set object type public
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions
 getUntranslatedTitle ()
 get untranslated object title public
 getLongDescription ()
 get object long description (stored in object_description)
 _lookupObjIdByImportId ($a_import_id)
 getOwner ()
 get object owner
 getOwnerName ()
 _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id
 setOwner ($a_owner)
 set object owner
 getCreateDate ()
 get create date public
 getLastUpdateDate ()
 get last update date public
 getDiskUsage ()
 Gets the disk usage of the object in bytes.
 setObjDataRecord ($a_record)
 set object_data record (note: this method should only be called from the ilObjectFactory class)
 create ()
 create
 update ()
 update object in db
 updateOwner ()
 update owner of object in db
 _getIdForImportId ($a_import_id)
 get current object id for import id (static)
 _lookupOwner ($a_id)
 lookup object owner
 _lookupDescription ($a_id)
 lookup object description
 _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update
 _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects.
 _setDeletedDate ($a_ref_id)
 only called in ilTree::saveSubTree
 _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _lookupDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes
 _writeTitle ($a_obj_id, $a_title)
 write title to db (static)
 _writeDescription ($a_obj_id, $a_desc)
 write description to db (static)
 _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static)
 _isInTrash ($a_ref_id)
 checks wether object is in trash
 _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash
 _lookupObjectId ($a_ref_id)
 lookup object id
 _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type
 putInTree ($a_parent_ref)
 maybe this method should be in tree object!?
 setPermissions ($a_parent_ref)
 set permissions of object
 countReferences ()
 count references of object
 initDefaultRoles ()
 init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type If you want to setup default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example) public
 createRoleFolder ()
 creates a local role folder
 notify ($a_event, $a_ref_id, $a_parent_non_rbac_id, $a_node_id, $a_params=0)
 notifys an object about an event occured Based on the event passed, each object may decide how it reacts.
 setRegisterMode ($a_bool)
 isUserRegistered ($a_user_id=0)
 requireRegistration ()
 getXMLZip ()
 getHTMLDirectory ()
 cloneObject ($a_target_id, $a_copy_id=0)
 Clone object permissions, put in tree ...
 appendCopyInfo ($a_target_id, $a_copy_id)
 Prepend Copy info if object with same name exists in that container.
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies.
 cloneMetaData ($target_obj)
 Copy meta data.

Static Public Member Functions

static _lookupStandardItemPath ($a_mob_id, $a_url_encode=false, $a_web=true)
 Get path for standard item.
static _lookupItemPath ($a_mob_id, $a_url_encode=false, $a_web=true, $a_purpose="")
 Get path for item with specific purpose.
static getMimeType ($a_file)
 get mime type for file
static _determineWidthHeight ($a_def_width, $a_def_height, $a_format, $a_type, $a_file, $a_reference, $a_constrain_proportions, $a_use_original, $a_user_width, $a_user_height)
 Determine width and height.
static _getSimpleMimeTypes ()
 Get simple mime types that deactivate parameter property files tab in ILIAS.
static _useAutoStartParameterOnly ($a_loc, $a_format)
 Check whether only autostart parameter should be supported (instead of parameters input field.
- Static Public Member Functions inherited from ilObject
static _getAllReferences ($a_id)
 get all reference ids of object
static _lookupTitle ($a_id)
 lookup object title
static _getIdsForTitle ($title, $type= '', $partialmatch=false)
static _lookupObjId ($a_id)
static _lookupType ($a_id, $a_reference=false)
 lookup object type
 _exists ($a_id, $a_reference=false)
 checks if an object exists in object_data
static _getObjectsByType ($a_obj_type="", $a_owner="")
 Get objects by type.
static _prepareCloneSelection ($a_ref_ids, $new_type)
 Prepare copy wizard object selection.
static _getIcon ($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
 Get icon for repository item.
static collectDeletionDependencies (&$deps, $a_ref_id, $a_obj_id, $a_type, $a_depth=0)
 Collect deletion dependencies.
static getDeletionDependencies ($a_obj_id)
 Get deletion dependencies.

Data Fields

 $is_alias
 $origin_id
 $id
 $media_items
 $contains_int_link
- Data Fields inherited from ilObject
const TITLE_LENGTH = 128
 max length of object title
 $ilias
 $lng
 $id
 $ref_id
 $type
 $title
 $untranslatedTitle
 $desc
 $long_desc
 $owner
 $create_date
 $last_update
 $import_id
 $register = false
 $referenced
 $objectList
 $max_title
 $max_desc
 $add_dots
 $obj_data_record
 object_data record

Detailed Description

Class ilObjMediaObject.

Todo: this class must be integrated with group/folder handling

ILIAS Media Object

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Version
Id:
class.ilObjMediaObject.php 37640 2012-10-16 13:44:13Z akill

Definition at line 26 of file class.ilObjMediaObject.php.

Member Function Documentation

ilObjMediaObject::_createThumbnailDirectory (   $a_obj_id)

create thumbnail directory

Definition at line 565 of file class.ilObjMediaObject.php.

References createDirectory(), and ilUtil\getWebspaceDir().

Referenced by ilMediaItem\getThumbnailTarget(), and ilMediaObjectDataSet\importRecord().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::_deleteAllUsages (   $a_type,
  $a_id,
  $a_usage_hist_nr = 0 
)

static

Definition at line 881 of file class.ilObjMediaObject.php.

References $ilDB.

Referenced by ilPageObject\saveMobUsage().

{
global $ilDB;
$q = "DELETE FROM mob_usage WHERE usage_type = ".
$ilDB->quote($a_type, "text").
" AND usage_id= ".$ilDB->quote($a_id, "integer").
" AND usage_hist_nr = ".$ilDB->quote($a_usage_hist_nr, "integer");
$ilDB->manipulate($q);
}

+ Here is the caller graph for this function:

static ilObjMediaObject::_determineWidthHeight (   $a_def_width,
  $a_def_height,
  $a_format,
  $a_type,
  $a_file,
  $a_reference,
  $a_constrain_proportions,
  $a_use_original,
  $a_user_width,
  $a_user_height 
)
static

Determine width and height.

Definition at line 1257 of file class.ilObjMediaObject.php.

References ilObject\$lng, $size, and ilUtil\deducibleSize().

Referenced by ilObjMediaObjectGUI\savePropertiesObject(), and ilObjMediaObjectGUI\setObjectPerCreationForm().

{
global $lng;
// determine width and height of known image types
$width = $a_def_width;
$height = $a_def_height;
$info = "";
if ($a_format == "audio/mpeg")
{
$width = 300;
$height = 20;
}
if (ilUtil::deducibleSize($a_format))
{
if ($a_type == "File")
{
$size = @getimagesize($a_file);
}
else
{
$size = @getimagesize($a_reference);
}
}
if ($a_use_original)
{
if ($size[0] > 0 && $size[1] > 0)
{
$width = $size[0];
$height = $size[1];
}
else
{
$info = $lng->txt("cont_could_not_determine_resource_size");
}
}
else
{
$w = (int) $a_user_width;
$h = (int) $a_user_height;
$width = $w;
$height = $h;
//echo "<br>C-$width-$height-";
if (ilUtil::deducibleSize($a_format) && $a_constrain_proportions)
{
if ($size[0] > 0 && $size[1] > 0)
{
if ($w > 0)
{
$wr = $size[0] / $w;
}
if ($h > 0)
{
$hr = $size[1] / $h;
}
//echo "<br>+".$wr."+".$size[0]."+".$w."+";
//echo "<br>+".$hr."+".$size[1]."+".$h."+";
$r = max($wr, $hr);
if ($r > 0)
{
$width = (int) ($size[0]/$r);
$height = (int) ($size[1]/$r);
}
}
}
//echo "<br>D-$width-$height-";
}
//echo "<br>E-$width-$height-";
return array("width" => $width, "height" => $height, "info" => $info);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::_exists (   $a_id)

checks wether a lm content object with specified id exists or not

Parameters
int$idid
Returns
boolean true, if lm content object exists

Definition at line 84 of file class.ilObjMediaObject.php.

References $ilDB, and ilInternalLink\_extractObjIdOfTarget().

Referenced by ilRTE\_getMediaObjects(), ilRTE\_replaceMediaObjectImageSrc(), assQuestion\addQTIMaterial(), ilObjTest\addQTIMaterial(), ilObjForumGUI\addThreadObject(), assQuestion\delete(), ilForum\deletePost(), ilObjTest\deleteTest(), ilQuestionpoolExport\exportXHTMLMediaObjects(), ilTestExport\exportXHTMLMediaObjects(), ilObjQuestionPool\exportXMLMediaObjects(), ilObjTest\exportXMLMediaObjects(), ilObjForumGUI\savePostObject(), and ilObjForumGUI\viewThreadObject().

{
global $ilDB;
include_once("./Services/COPage/classes/class.ilInternalLink.php");
if (is_int(strpos($a_id, "_")))
{
}
return parent::_exists($a_id, false);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::_getMobsOfObject (   $a_type,
  $a_id,
  $a_usage_hist_nr = 0 
)

get mobs of object

Definition at line 895 of file class.ilObjMediaObject.php.

References $ilDB, $mobs, and ilObject\_lookupType().

Referenced by ilRTE\_cleanupMediaObjectUsage(), SurveyQuestion\addMaterialTag(), ilObjSurvey\addMaterialTag(), assQuestion\addQTIMaterial(), ilObjTest\addQTIMaterial(), SurveyQuestion\copyXHTMLMediaObjectsOfQuestion(), assQuestion\copyXHTMLMediaObjectsOfQuestion(), SurveyQuestion\delete(), assQuestion\delete(), ilForum\deletePost(), ilObjSurvey\deleteSurveyRecord(), ilObjTest\deleteTest(), ilObjGlossary\exportHTMLGlossaryTerms(), ilObjContentObject\exportHTMLGlossaryTerms(), ilObjContentObject\exportHTMLPages(), ilSurveyExport\exportXHTMLMediaObjects(), ilQuestionpoolExport\exportXHTMLMediaObjects(), ilTestExport\exportXHTMLMediaObjects(), ilPageObject\getLastUpdateOfIncludedElements(), ilSoapUtils\getMobsOfObject(), ilCOPageExporter\getXmlExportHeadDependencies(), ilObjForumGUI\savePostObject(), assQuestion\syncXHTMLMediaObjectsOfQuestion(), assImagemapQuestion\toJSON(), assOrderingQuestion\toJSON(), assMultipleChoice\toJSON(), assSingleChoice\toJSON(), assMatchingQuestion\toJSON(), assClozeTest\toJSON(), ilPageObject\update(), and ilObjForumGUI\viewThreadObject().

{
global $ilDB;
$q = "SELECT * FROM mob_usage WHERE ".
"usage_type = ".$ilDB->quote($a_type, "text")." AND ".
"usage_id = ".$ilDB->quote($a_id, "integer")." AND ".
"usage_hist_nr = ".$ilDB->quote($a_usage_hist_nr, "integer");
$mobs = array();
$mob_set = $ilDB->query($q);
while($mob_rec = $ilDB->fetchAssoc($mob_set))
{
if (ilObject::_lookupType($mob_rec["id"]) == "mob")
{
$mobs[$mob_rec["id"]] = $mob_rec["id"];
}
}
return $mobs;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilObjMediaObject::_getSimpleMimeTypes ( )
static

Get simple mime types that deactivate parameter property files tab in ILIAS.

Definition at line 1511 of file class.ilObjMediaObject.php.

Referenced by ilObjMediaObjectGUI\getTabs(), ilPCMediaObjectGUI\initAliasForm(), ilObjMediaObjectGUI\initForm(), and ilObjMediaObjectGUI\savePropertiesObject().

{
return array("image/x-ms-bmp", "image/gif", "image/jpeg", "image/x-portable-bitmap",
"image/png", "image/psd", "image/tiff", "application/pdf");
}

+ Here is the caller graph for this function:

ilObjMediaObject::_getThumbnailDirectory (   $a_mob_id,
  $a_mode = "filesystem" 
)

get directory for files of media object (static)

Parameters
int$a_mob_idmedia object id

Definition at line 512 of file class.ilObjMediaObject.php.

References ilUtil\getWebspaceDir().

Referenced by delete(), and ilMediaItem\getThumbnailDirectory().

{
return ilUtil::getWebspaceDir($a_mode)."/thumbs/mm_".$a_mob_id;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::_getURL (   $a_mob_id)

get directory for files of media object (static)

Parameters
int$a_mob_idmedia object id

Definition at line 502 of file class.ilObjMediaObject.php.

References ilUtil\getHtmlPath(), and ilUtil\getWebspaceDir().

Referenced by ilMediaCastTableGUI\fillRow(), and ilNewsForContextBlockGUI\showNews().

{
return ilUtil::getHtmlPath(ilUtil::getWebspaceDir()."/mobs/mm_".$a_mob_id);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilObjMediaObject::_lookupItemPath (   $a_mob_id,
  $a_url_encode = false,
  $a_web = true,
  $a_purpose = "" 
)
static

Get path for item with specific purpose.

Parameters
int$a_mob_idmedia object id

Definition at line 533 of file class.ilObjMediaObject.php.

References $location, $path, and ilMediaItem\_lookupLocationForMobId().

Referenced by _lookupStandardItemPath(), ilMediaCastTableGUI\fillRow(), and ilObjectFeedWriter\ilObjectFeedWriter().

{
if ($a_purpose == "")
{
$a_purpose = "Standard";
}
if (preg_match("/https?\:/i",$location))
return $location;
if ($a_url_encode)
$location = rawurlencode($location);
$path = ($a_web)
? ILIAS_HTTP_PATH
: ".";
return $path."/data/".CLIENT_ID."/mobs/mm_".$a_mob_id."/".$location;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilObjMediaObject::_lookupStandardItemPath (   $a_mob_id,
  $a_url_encode = false,
  $a_web = true 
)
static

Get path for standard item.

Parameters
int$a_mob_idmedia object id

Definition at line 522 of file class.ilObjMediaObject.php.

References _lookupItemPath().

Referenced by ilSCORM2004ScoGUI\getExportResources().

{
return ilObjMediaObject::_lookupItemPath($a_mob_id, $a_url_encode, $a_web, "Standard");
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::_removeUsage (   $a_mob_id,
  $a_type,
  $a_id,
  $a_usage_hist_nr = 0 
)

Remove usage of mob in another container.

Definition at line 940 of file class.ilObjMediaObject.php.

References $ilDB.

Referenced by ilRTE\_cleanupMediaObjectUsage(), ilObjForumGUI\addThreadObject(), SurveyQuestion\delete(), assQuestion\delete(), ilForum\deletePost(), ilObjSurvey\deleteSurveyRecord(), ilObjTest\deleteTest(), ilObjForumGUI\savePostObject(), and ilObjForumGUI\viewThreadObject().

{
global $ilDB;
$q = "DELETE FROM mob_usage WHERE ".
" id = ".$ilDB->quote((int) $a_mob_id, "integer")." AND ".
" usage_type = ".$ilDB->quote($a_type, "text")." AND ".
" usage_id = ".$ilDB->quote((int) $a_id, "integer")." AND ".
" usage_hist_nr = ".$ilDB->quote((int) $a_usage_hist_nr, "integer");
$ilDB->manipulate($q);
}

+ Here is the caller graph for this function:

ilObjMediaObject::_resizeImage (   $a_file,
  $a_width,
  $a_height,
  $a_constrain_prop = false 
)

resize image and return new image file ("_width_height" string appended)

Parameters
string$a_filefull file name
int$a_widthwidth
int$a_heightheight

Definition at line 1197 of file class.ilObjMediaObject.php.

References $location, and ilUtil\resizeImage().

Referenced by ilObjMediaObjectGUI\resizeImagesObject(), ilObjMediaObjectGUI\savePropertiesObject(), and ilObjMediaObjectGUI\setObjectPerCreationForm().

{
$file_path = pathinfo($a_file);
$location = substr($file_path["basename"],0,strlen($file_path["basename"]) -
strlen($file_path["extension"]) - 1)."_".
$a_width."_".
$a_height.".".$file_path["extension"];
$target_file = $file_path["dirname"]."/".
ilUtil::resizeImage($a_file, $target_file,
(int) $a_width, (int) $a_height, $a_constrain_prop);
return $location;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

& ilObjMediaObject::_saveTempFileAsMediaObject (   $name,
  $tmp_name,
  $upload = TRUE 
)

create new media object and update page in db and return new media object

Definition at line 1545 of file class.ilObjMediaObject.php.

References $file, $location, $size, _getDirectory(), ilUtil\deducibleSize(), getMimeType(), ilObjMediaObject(), ilUtil\moveUploadedFile(), and ilUtil\renameExecutables().

Referenced by assErrorTextImport\fromXML(), assFileUploadImport\fromXML(), assFlashQuestionImport\fromXML(), assTextQuestionImport\fromXML(), assSingleChoiceImport\fromXML(), assJavaAppletImport\fromXML(), assTextSubsetImport\fromXML(), assNumericImport\fromXML(), assClozeTestImport\fromXML(), assMultipleChoiceImport\fromXML(), assOrderingHorizontalImport\fromXML(), assImagemapQuestionImport\fromXML(), assOrderingQuestionImport\fromXML(), assMatchingQuestionImport\fromXML(), ilObjTest\fromXML(), ilObjSurvey\importObject(), and ilSoapUtils\saveTempFileAsMediaObject().

{
// create dummy object in db (we need an id)
$media_object = new ilObjMediaObject();
$media_object->setTitle($name);
$media_object->setDescription("");
$media_object->create();
// determine and create mob directory, move uploaded file to directory
$media_object->createDirectory();
$mob_dir = ilObjMediaObject::_getDirectory($media_object->getId());
$media_item =& new ilMediaItem();
$media_object->addMediaItem($media_item);
$media_item->setPurpose("Standard");
$file = $mob_dir."/".$name;
if ($upload)
{
ilUtil::moveUploadedFile($tmp_name,$name, $file);
}
else
{
copy($tmp_name, $file);
}
// get mime type
$location = $name;
// set real meta and object data
$media_item->setFormat($format);
$media_item->setLocation($location);
$media_item->setLocationType("LocalFile");
$media_object->setTitle($name);
$media_object->setDescription($format);
if (ilUtil::deducibleSize($format))
{
$size = getimagesize($file);
$media_item->setWidth($size[0]);
$media_item->setHeight($size[1]);
}
$media_item->setHAlign("Left");
$media_object->update();
return $media_object;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::_saveUsage (   $a_mob_id,
  $a_type,
  $a_id,
  $a_usage_hist_nr = 0 
)

Save usage of mob within another container (e.g.

page)

Definition at line 919 of file class.ilObjMediaObject.php.

References $ilDB.

Referenced by ilRTE\_cleanupMediaObjectUsage(), ilObjForumGUI\addThreadObject(), SurveyQuestion\copyXHTMLMediaObjectsOfQuestion(), assQuestion\copyXHTMLMediaObjectsOfQuestion(), assErrorTextImport\fromXML(), assFileUploadImport\fromXML(), assFlashQuestionImport\fromXML(), assOrderingQuestionImport\fromXML(), assNumericImport\fromXML(), assTextQuestionImport\fromXML(), assOrderingHorizontalImport\fromXML(), assSingleChoiceImport\fromXML(), assTextSubsetImport\fromXML(), assImagemapQuestionImport\fromXML(), assJavaAppletImport\fromXML(), assMultipleChoiceImport\fromXML(), assMatchingQuestionImport\fromXML(), ilObjTest\fromXML(), ilObjSurvey\importObject(), ilPageObject\saveMobUsage(), ilObjForumGUI\savePostObject(), and assQuestion\syncXHTMLMediaObjectsOfQuestion().

{
global $ilDB;
$q = "DELETE FROM mob_usage WHERE ".
" id = ".$ilDB->quote((int) $a_mob_id, "integer")." AND ".
" usage_type = ".$ilDB->quote($a_type, "text")." AND ".
" usage_id = ".$ilDB->quote((int) $a_id, "integer")." AND ".
" usage_hist_nr = ".$ilDB->quote((int) $a_usage_hist_nr, "integer");
$ilDB->manipulate($q);
$q = "INSERT INTO mob_usage (id, usage_type, usage_id, usage_hist_nr) VALUES".
" (".$ilDB->quote((int) $a_mob_id, "integer").",".
$ilDB->quote($a_type, "text").",".
$ilDB->quote((int) $a_id, "integer").",".
$ilDB->quote((int) $a_usage_hist_nr, "integer").")";
$ilDB->manipulate($q);
}

+ Here is the caller graph for this function:

static ilObjMediaObject::_useAutoStartParameterOnly (   $a_loc,
  $a_format 
)
static

Check whether only autostart parameter should be supported (instead of parameters input field.

This should be the same behaviour as mp3/flv in page.xsl

Definition at line 1528 of file class.ilObjMediaObject.php.

Referenced by ilPCMediaObjectGUI\getAliasValues(), ilObjMediaObjectGUI\getValues(), ilPCMediaObjectGUI\initAliasForm(), ilObjMediaObjectGUI\initForm(), ilPCMediaObjectGUI\saveAliasProperties(), and ilObjMediaObjectGUI\savePropertiesObject().

{
$lpath = pathinfo($a_loc);
if ($lpath["extension"] == "mp3" && $a_format == "audio/mpeg")
{
return true;
}
if ($lpath["extension"] == "flv")
{
return true;
}
return false;
}

+ Here is the caller graph for this function:

ilObjMediaObject::addMediaItem ( $a_item)

add media item to media object

Parameters
object$a_itemmedia item object

Definition at line 253 of file class.ilObjMediaObject.php.

{
$this->media_items[] =& $a_item;
}
ilObjMediaObject::containsIntLink ( )

returns true, if mob was marked as containing an intern link (via setContainsIntLink) (this method should only be called by the import parser)

Definition at line 873 of file class.ilObjMediaObject.php.

References $contains_int_link.

ilObjMediaObject::create (   $a_upload = false,
  $a_save_media_items = true 
)

create media object in db

Definition at line 431 of file class.ilObjMediaObject.php.

References $media_items, ilObject\create(), createMetaData(), getId(), and getMediaItems().

{
if (!$a_upload)
{
$this->createMetaData();
}
if ($a_save_media_items)
{
for($i=0; $i<count($media_items); $i++)
{
$item =& $media_items[$i];
$item->setMobId($this->getId());
$item->setNr($i+1);
$item->create();
}
}
}

+ Here is the call graph for this function:

ilObjMediaObject::createDirectory ( )

create file directory of media object

Definition at line 557 of file class.ilObjMediaObject.php.

References _getDirectory(), and getId().

Referenced by _createThumbnailDirectory().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::createMetaData ( )

create meta data entry

Reimplemented from ilObject.

Definition at line 193 of file class.ilObjMediaObject.php.

References getDescription(), getId(), getTitle(), and ilObject\getType().

Referenced by create().

{
include_once 'Services/MetaData/classes/class.ilMDCreator.php';
global $ilUser;
$md_creator = new ilMDCreator(0, $this->getId(), $this->getType());
$md_creator->setTitle($this->getTitle());
$md_creator->setTitleLanguage($ilUser->getPref('language'));
$md_creator->setDescription($this->getDescription());
$md_creator->setDescriptionLanguage($ilUser->getPref('language'));
$md_creator->setKeywordLanguage($ilUser->getPref('language'));
$md_creator->setLanguage($ilUser->getPref('language'));
$md_creator->create();
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::createReference ( )

creates reference for object

public

Returns
integer reference_id of object

Reimplemented from ilObject.

Definition at line 62 of file class.ilObjMediaObject.php.

{
$this->ilias->raiseError("Operation ilObjMedia::createReference() not allowed.",$this->ilias->error_obj->FATAL);
}
ilObjMediaObject::delete ( )

delete media object

Reimplemented from ilObject.

Definition at line 100 of file class.ilObjMediaObject.php.

References _getDirectory(), _getThumbnailDirectory(), ilUtil\delDir(), ilMediaItem\deleteAllItemsOfMob(), deleteMetaData(), getId(), and getUsages().

{
if (!($this->getId() > 0))
{
return;
}
$usages = $this->getUsages();
if (count($usages) == 0)
{
// remove directory
// remove thumbnail directory
// delete meta data of mob
$this->deleteMetaData();
// delete media items
// delete object
}
}

+ Here is the call graph for this function:

ilObjMediaObject::deleteMetaData ( )

delete meta data entry

Reimplemented from ilObject.

Definition at line 239 of file class.ilObjMediaObject.php.

References getId(), and ilObject\getType().

Referenced by delete().

{
// Delete meta data
include_once('Services/MetaData/classes/class.ilMD.php');
$md = new ilMD(0, $this->getId(), $this->getType());
$md->deleteAll();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::exportFiles (   $a_target_dir)

export all media files of object to target directory note: target directory must be the export target directory, "/objects/il_<inst>_mob_<mob_id>/..." will be appended to this directory

Parameters
string$a_target_dirtarget directory

Definition at line 776 of file class.ilObjMediaObject.php.

References getId(), ilUtil\getWebspaceDir(), ilUtil\makeDir(), and ilUtil\rCopy().

{
$subdir = "il_".IL_INST_ID."_mob_".$this->getId();
ilUtil::makeDir($a_target_dir."/objects/".$subdir);
$mobdir = ilUtil::getWebspaceDir()."/mobs/mm_".$this->getId();
ilUtil::rCopy($mobdir, $a_target_dir."/objects/".$subdir);
//echo "from:$mobdir:to:".$a_target_dir."/objects/".$subdir.":<br>";
}

+ Here is the call graph for this function:

ilObjMediaObject::exportMediaFullscreen (   $a_target_dir,
  $pg_obj 
)

Definition at line 786 of file class.ilObjMediaObject.php.

References $_GET, $tpl, ilMediaItem\_getMapAreasIntLinks(), getId(), getXML(), IL_MODE_OUTPUT, ilUtil\makeDir(), xslt_create(), xslt_free(), and xslt_process().

{
$subdir = "il_".IL_INST_ID."_mob_".$this->getId();
$a_target_dir = $a_target_dir."/objects/".$subdir;
ilUtil::makeDir($a_target_dir);
$tpl = new ilTemplate("tpl.fullscreen.html", true, true, "Modules/LearningModule");
$tpl->setCurrentBlock("ilMedia");
//$int_links = $page_object->getInternalLinks();
$med_links = ilMediaItem::_getMapAreasIntLinks($this->getId());
// @todo
//$link_xml = $this->getLinkXML($med_links, $this->getLayoutLinkTargets());
require_once("./Services/MediaObjects/classes/class.ilObjMediaObject.php");
//$media_obj = new ilObjMediaObject($_GET["mob_id"]);
require_once("./Services/COPage/classes/class.ilPageObject.php");
$xml = "<dummy>";
// todo: we get always the first alias now (problem if mob is used multiple
// times in page)
$xml.= $pg_obj->getMediaAliasElement($this->getId());
$xml.= $this->getXML(IL_MODE_OUTPUT);
//$xml.= $link_xml;
$xml.="</dummy>";
//die(htmlspecialchars($xml));
$xsl = file_get_contents("./Services/COPage/xsl/page.xsl");
$args = array( '/_xml' => $xml, '/_xsl' => $xsl );
$xh = xslt_create();
//echo "<b>XML:</b>".htmlentities($xml);
// determine target frames for internal links
$wb_path = "";
$enlarge_path = "";
$params = array ('mode' => "fullscreen", 'enlarge_path' => $enlarge_path,
'link_params' => "ref_id=".$_GET["ref_id"],'fullscreen_link' => "",
'ref_id' => $_GET["ref_id"], 'webspace_path' => $wb_path);
$output = xslt_process($xh,"arg:/_xml","arg:/_xsl",NULL,$args, $params);
//echo xslt_error($xh);
xslt_free($xh);
// unmask user html
$tpl->setVariable("LOCATION_CONTENT_STYLESHEET", "../../css/style.css");
$tpl->setVariable("LOCATION_STYLESHEET", "../../css/system.css");
$tpl->setVariable("MEDIA_CONTENT", $output);
$output = $tpl->get();
//$output = preg_replace("/\/mobs\/mm_(\d+)\/([^\"]+)/i","$2",$output);
$output = preg_replace("/mobs\/mm_(\d+)\/([^\"]+)/i","$2",$output);
$output = preg_replace("/\.\/Services\/MediaObjects\/flash_mp3_player/i","../../players",$output);
$output = preg_replace("/\.\/Services\/MediaObjects\/flash_flv_player/i","../../players",$output);
$output = preg_replace("/file=..\/..\/..\//i","file=../objects/".$subdir."/",$output);
//die(htmlspecialchars($output));
fwrite(fopen($a_target_dir.'/fullscreen.html','w'), $output );
}

+ Here is the call graph for this function:

ilObjMediaObject::exportXML ( $a_xml_writer,
  $a_inst = 0 
)

export XML

Definition at line 763 of file class.ilObjMediaObject.php.

References getXML(), and IL_MODE_FULL.

{
$a_xml_writer->appendXML($this->getXML(IL_MODE_FULL, $a_inst));
}

+ Here is the call graph for this function:

ilObjMediaObject::getDataDirectory ( )

Definition at line 1517 of file class.ilObjMediaObject.php.

References ilUtil\getWebspaceDir().

{
return ilUtil::getWebspaceDir()."/mobs/mm_".$this->object->getId();
}

+ Here is the call graph for this function:

ilObjMediaObject::getDescription ( )

get description of media object

Returns
string description

Reimplemented from ilObject.

Definition at line 133 of file class.ilObjMediaObject.php.

Referenced by createMetaData(), and updateMetaData().

{
}

+ Here is the caller graph for this function:

ilObjMediaObject::getExt2MimeMap ( )

get file extension to mime type map

Definition at line 1336 of file class.ilObjMediaObject.php.

Referenced by ilMediaCastSettings\initStorage().

{
$types_map = array (
'.a' => 'application/octet-stream',
'.ai' => 'application/postscript',
'.aif' => 'audio/x-aiff',
'.aifc' => 'audio/x-aiff',
'.aiff' => 'audio/x-aiff',
'.asd' => 'application/astound',
'.asf' => 'video/x-ms-asf',
'.asn' => 'application/astound',
'.asx' => 'video/x-ms-asf',
'.au' => 'audio/basic',
'.avi' => 'video/x-msvideo',
'.bat' => 'text/plain',
'.bcpio' => 'application/x-bcpio',
'.bin' => 'application/octet-stream',
'.bmp' => 'image/x-ms-bmp',
'.c' => 'text/plain',
'.cdf' => 'application/x-cdf',
'.class' => 'application/x-java-applet',
'.com' => 'application/octet-stream',
'.cpio' => 'application/x-cpio',
'.csh' => 'application/x-csh',
'.css' => 'text/css',
'.csv' => 'text/comma-separated-values',
'.dcr' => 'application/x-director',
'.dir' => 'application/x-director',
'.dll' => 'application/octet-stream',
'.doc' => 'application/msword',
'.dot' => 'application/msword',
'.dvi' => 'application/x-dvi',
'.dwg' => 'application/acad',
'.dxf' => 'application/dxf',
'.dxr' => 'application/x-director',
'.eml' => 'message/rfc822',
'.eps' => 'application/postscript',
'.etx' => 'text/x-setext',
'.exe' => 'application/octet-stream',
'.flv' => 'video/x-flv',
'.gif' => 'image/gif',
'.gtar' => 'application/x-gtar',
'.gz' => 'application/gzip',
'.h' => 'text/plain',
'.hdf' => 'application/x-hdf',
'.htm' => 'text/html',
'.html' => 'text/html',
'.ief' => 'image/ief',
'.iff' => 'image/iff',
'.jar' => 'application/x-java-applet',
'.jpe' => 'image/jpeg',
'.jpeg' => 'image/jpeg',
'.jpg' => 'image/jpeg',
'.js' => 'application/x-javascript',
'.ksh' => 'text/plain',
'.latex' => 'application/x-latex',
'.m1v' => 'video/mpeg',
'.man' => 'application/x-troff-man',
'.me' => 'application/x-troff-me',
'.mht' => 'message/rfc822',
'.mhtml' => 'message/rfc822',
'.mid' => 'audio/x-midi',
'.midi' => 'audio/x-midi',
'.mif' => 'application/x-mif',
'.mov' => 'video/quicktime',
'.movie' => 'video/x-sgi-movie',
'.mp2' => 'audio/mpeg',
'.mp3' => 'audio/mpeg',
'.mpa' => 'video/mpeg',
'.mpe' => 'video/mpeg',
'.mpeg' => 'video/mpeg',
'.mpg' => 'video/mpeg',
'.mp4' => 'video/mp4',
'.mv4' => 'video/mp4',
'.ms' => 'application/x-troff-ms',
'.nc' => 'application/x-netcdf',
'.nws' => 'message/rfc822',
'.o' => 'application/octet-stream',
'.ogg' => 'application/ogg',
'.obj' => 'application/octet-stream',
'.oda' => 'application/oda',
'.p12' => 'application/x-pkcs12',
'.p7c' => 'application/pkcs7-mime',
'.pbm' => 'image/x-portable-bitmap',
'.pdf' => 'application/pdf',
'.pfx' => 'application/x-pkcs12',
'.pgm' => 'image/x-portable-graymap',
'.php' => 'application/x-httpd-php',
'.phtml' => 'application/x-httpd-php',
'.pl' => 'text/plain',
'.png' => 'image/png',
'.pnm' => 'image/x-portable-anymap',
'.pot' => 'application/vnd.ms-powerpoint',
'.ppa' => 'application/vnd.ms-powerpoint',
'.ppm' => 'image/x-portable-pixmap',
'.pps' => 'application/vnd.ms-powerpoint',
'.ppt' => 'application/vnd.ms-powerpoint',
'.ps' => 'application/postscript',
'.psd' => 'image/psd',
'.pwz' => 'application/vnd.ms-powerpoint',
'.py' => 'text/x-python',
'.pyc' => 'application/x-python-code',
'.pyo' => 'application/x-python-code',
'.qt' => 'video/quicktime',
'.ra' => 'audio/x-pn-realaudio',
'.ram' => 'application/x-pn-realaudio',
'.ras' => 'image/x-cmu-raster',
'.rdf' => 'application/xml',
'.rgb' => 'image/x-rgb',
'.roff' => 'application/x-troff',
'.rpm' => 'audio/x-pn-realaudio-plugin',
'.rtf' => 'application/rtf',
'.rtx' => 'text/richtext',
'.sgm' => 'text/x-sgml',
'.sgml' => 'text/x-sgml',
'.sh' => 'application/x-sh',
'.shar' => 'application/x-shar',
'.sit' => 'application/x-stuffit',
'.snd' => 'audio/basic',
'.so' => 'application/octet-stream',
'.spc' => 'text/x-speech',
'.src' => 'application/x-wais-source',
'.sv4cpio'=> 'application/x-sv4cpio',
'.sv4crc' => 'application/x-sv4crc',
'.svg' => 'image/svg+xml',
'.swf' => 'application/x-shockwave-flash',
'.t' => 'application/x-troff',
'.tar' => 'application/x-tar',
'.talk' => 'text/x-speech',
'.tbk' => 'application/toolbook',
'.tcl' => 'application/x-tcl',
'.tex' => 'application/x-tex',
'.texi' => 'application/x-texinfo',
'.texinfo'=> 'application/x-texinfo',
'.tif' => 'image/tiff',
'.tiff' => 'image/tiff',
'.tr' => 'application/x-troff',
'.tsv' => 'text/tab-separated-values',
'.tsp' => 'application/dsptype',
'.txt' => 'text/plain',
'.ustar' => 'application',
'.vcf' => 'text/x-vcard',
'.vox' => 'audio/voxware',
'.wav' => 'audio/x-wav',
'.wax' => 'audio/x-ms-wax',
'.wiz' => 'application/msword',
'.wm' => 'video/x-ms-wm',
'.wma' => 'audio/x-ms-wma',
'.wmd' => 'video/x-ms-wmd',
'.wml' => 'text/vnd.wap.wml',
'.wmlc' => 'application/vnd.wap.wmlc',
'.wmls' => 'text/vnd.wap.wmlscript',
'.wmlsc' => 'application/vnd.wap.wmlscriptc',
'.wmv' => 'video/x-ms-wmv',
'.wmx' => 'video/x-ms-wmx',
'.wmz' => 'video/x-ms-wmz',
'.wvx' => 'video/x-ms-wvx',
'.wrl' => 'x-world/x-vrml',
'.xbm' => 'image/x-xbitmap',
'.xla' => 'application/msexcel',
'.xlb' => 'application/vnd.ms-excel',
'.xls' => 'application/msexcel',
'.xml' => 'text/xml',
'.xpm' => 'image/x-xpixmap',
'.xsl' => 'application/xml',
'.xwd' => 'image/x-xwindowdump',
'.zip' => 'application/zip');
return $types_map;
}

+ Here is the caller graph for this function:

ilObjMediaObject::getId ( )

get object id public

Returns
integer object id

Reimplemented from ilObject.

Definition at line 380 of file class.ilObjMediaObject.php.

References $id.

Referenced by create(), createDirectory(), createMetaData(), delete(), deleteMetaData(), exportFiles(), exportMediaFullscreen(), getUsages(), getXML(), MDUpdateListener(), removeMediaItem(), update(), and updateMetaData().

{
return $this->id;
}

+ Here is the caller graph for this function:

ilObjMediaObject::getImportId ( )

get import id

Reimplemented from ilObject.

Definition at line 418 of file class.ilObjMediaObject.php.

References ilObject\$import_id.

{
}
ilObjMediaObject::getLinkedMediaObjects (   $a_ignore = "")

Get all media objects linked in map areas of this media object.

Definition at line 1597 of file class.ilObjMediaObject.php.

References ilObject\_exists(), ilInternalLink\_extractObjIdOfTarget(), ilMapArea\_getIntLinks(), and getMediaItems().

{
$linked = array();
if (!is_array($a_ignore))
{
$a_ignore = array();
}
// get linked media objects (map areas)
$med_items = $this->getMediaItems();
foreach($med_items as $med_item)
{
$int_links = ilMapArea::_getIntLinks($med_item->getId());
foreach ($int_links as $k => $int_link)
{
if ($int_link["Type"] == "MediaObject")
{
include_once("./Services/COPage/classes/class.ilInternalLink.php");
$l_id = ilInternalLink::_extractObjIdOfTarget($int_link["Target"]);
if (ilObject::_exists($l_id))
{
if (!in_array($l_id, $linked) &&
!in_array($l_id, $a_ignore))
{
$linked[] = $l_id;
}
}
}
}
}
//var_dump($linked);
return $linked;
}

+ Here is the call graph for this function:

& ilObjMediaObject::getMediaItem (   $a_purpose)

get item for media purpose

Parameters
string$a_purpose
Returns
ilMediaItem

Definition at line 275 of file class.ilObjMediaObject.php.

Referenced by ilObjMediaCastGUI\getMediaItem(), and hasPurposeItem().

{
foreach ($this->media_items as $media_item)
{
if($media_item->getPurpose() == $a_purpose)
{
return $media_item;
}
}
return false;
}

+ Here is the caller graph for this function:

ilObjMediaObject::getMediaItemNr (   $a_purpose)

Definition at line 322 of file class.ilObjMediaObject.php.

{
for($i=0; $i<count($this->media_items); $i++)
{
if($this->media_items[$i]->getPurpose() == $a_purpose)
{
return $i + 1;
}
}
return false;
}
& ilObjMediaObject::getMediaItems ( )

get all media items

Returns
array array of media item objects

Definition at line 264 of file class.ilObjMediaObject.php.

References $media_items.

Referenced by create(), getLinkedMediaObjects(), ilObjMediaCastGUI\getMediaItems(), getXML(), and update().

{
}

+ Here is the caller graph for this function:

static ilObjMediaObject::getMimeType (   $a_file)
static

get mime type for file

Parameters
string$a_filefile name
Returns
string mime type static

Definition at line 1219 of file class.ilObjMediaObject.php.

Referenced by _saveTempFileAsMediaObject(), ilObjMediaObjectGUI\assignFullscreenObject(), ilObjMediaObjectGUI\assignStandardObject(), ilFileUtils\createFile(), ilSCORM13Package\dbImportSco(), ilFSStorageExercise\deliverFile(), ilPublicUserProfileGUI\deliverVCard(), ilMediaPlayerGUI\getMp3PlayerHtml(), ilObjMediaObjectGUI\savePropertiesObject(), assMultipleChoice\setImageFile(), assSingleChoice\setImageFile(), ilObjMediaObjectGUI\setObjectPerCreationForm(), and ilObjMediaCastGUI\updateMediaItem().

{
include_once("./Services/Utilities/classes/class.ilMimeTypeUtil.php");
$mime = ilMimeTypeUtil::getMimeType($a_file);
return $mime;
/*
// check if mimetype detection enabled in php.ini
$set = ini_get("mime_magic.magicfile");
// get mimetype
if ($set <> "")
{
$mime = @mime_content_type($a_file);
}
// some php installations return always
// text/plain, so we make our own detection in this case, too
if (empty($mime) || $mime == "text/plain")
{
$path = pathinfo($a_file);
$ext = ".".strtolower($path["extension"]);
$types_map = ilObjMediaObject::getExt2MimeMap();
$mime = $types_map[$ext];
}
// set default if mimetype detection failed or not possible (e.g. remote file)
if (empty($mime))
{
$mime = "application/octet-stream";
}
return $mime;
*/
}

+ Here is the caller graph for this function:

ilObjMediaObject::getOriginID ( )

Definition at line 403 of file class.ilObjMediaObject.php.

References $origin_id.

{
}
ilObjMediaObject::getParentObjectIdForUsage (   $a_usage,
  $a_include_all_access_obj_ids = false 
)

Get's the repository object ID of a parent object, if possible.

Definition at line 1055 of file class.ilObjMediaObject.php.

References $id, ilObject\$type, assQuestion\_getQuestionInfo(), ilGlossaryTerm\_lookGlossaryID(), ilNewsItem\_lookupContextObjId(), ilLMObject\_lookupContObjID(), ilForum\_lookupObjIdForForumId(), ilGlossaryDefinition\_lookupTermId(), ilObjTest\_lookupTestObjIdForQuestionId(), ilWikiPage\lookupObjIdByPage(), and ilPageObject\lookupParentId().

Referenced by ilWebAccessChecker\checkAccess().

{
if(is_int(strpos($a_usage["type"], ":")))
{
$us_arr = explode(":", $a_usage["type"]);
$type = $us_arr[1];
$cont_type = $us_arr[0];
}
else
{
$type = $a_usage["type"];
}
$id = $a_usage["id"];
$obj_id = false;
switch($type)
{
case "html": // "old" category pages
if ($cont_type == "cat")
{
$obj_id = $id;
}
// Test InfoScreen Text
if ($cont_type == "tst")
{
$obj_id = $id;
//var_dump($qinfo);
}
// Question Pool *Question* Text
if ($cont_type == "qpl")
{
include_once("./Modules/TestQuestionPool/classes/class.assQuestion.php");
if ($qinfo["original_id"] > 0)
{
include_once("./Modules/Test/classes/class.ilObjTest.php");
$obj_id = ilObjTest::_lookupTestObjIdForQuestionId($id); // usage in test
}
else
{
$obj_id = $qinfo["obj_fi"]; // usage in pool
}
}
// Forum
if ($cont_type == "frm")
{
$post_pk = $a_usage['id'];
include_once 'Modules/Forum/classes/class.ilForumPost.php';
include_once 'Modules/Forum/classes/class.ilForum.php';
$oPost = new ilForumPost($post_pk);
$frm_pk = $oPost->getForumId();
$obj_id = ilForum::_lookupObjIdForForumId($frm_pk);
}
if ($cont_type == 'frm~')
{
$obj_id = $a_usage['id'];
}
break;
case "pg":
// Question Pool Question Pages
if ($cont_type == "qpl")
{
include_once("./Modules/TestQuestionPool/classes/class.assQuestion.php");
if ($qinfo["original_id"] > 0)
{
include_once("./Modules/Test/classes/class.ilObjTest.php");
$obj_id = ilObjTest::_lookupTestObjIdForQuestionId($id); // usage in test
}
else
{
$obj_id = $qinfo["obj_fi"]; // usage in pool
}
}
// learning modules
if ($cont_type == "lm" || $cont_type == "dbk")
{
include_once("./Modules/LearningModule/classes/class.ilLMObject.php");
}
// glossary definition
if ($cont_type == "gdf")
{
include_once("./Modules/Glossary/classes/class.ilGlossaryDefinition.php");
include_once("./Modules/Glossary/classes/class.ilGlossaryTerm.php");
$obj_id = ilGlossaryTerm::_lookGlossaryID($term_id);
}
// wiki page
if ($cont_type == 'wpg')
{
include_once 'Modules/Wiki/classes/class.ilWikiPage.php';
}
// sahs page
if ($cont_type == 'sahs')
{
// can this implementation be used for other content types, too?
include_once('./Services/COPage/classes/class.ilPageObject.php');
$obj_id = ilPageObject::lookupParentId($id, 'sahs');
}
// repository pages
if (in_array($cont_type, array("crs", "grp", "cat", "fold", "root")))
{
$obj_id = $id;
}
break;
// Media Pool
case "mep":
$obj_id = $id;
break;
// News Context Object (e.g. MediaCast)
case "news":
include_once("./Services/News/classes/class.ilNewsItem.php");
break;
}
return $obj_id;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::getRefId ( )

get reference id public

Returns
integer reference id

Reimplemented from ilObject.

Definition at line 52 of file class.ilObjMediaObject.php.

{
return false;
}
ilObjMediaObject::getTitle ( )

get object title public

Returns
string object title

Reimplemented from ilObject.

Definition at line 72 of file class.ilObjMediaObject.php.

Referenced by createMetaData(), and updateMetaData().

{
return parent::getTitle();
}

+ Here is the caller graph for this function:

ilObjMediaObject::getUsages (   $a_include_history = true)

get all usages of current media object

Definition at line 955 of file class.ilObjMediaObject.php.

References getId(), and lookupUsages().

Referenced by delete().

{
return $this->lookupUsages($this->getId(), $a_include_history);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::getXML (   $a_mode = IL_MODE_FULL,
  $a_inst = 0 
)

get MediaObject XLM Tag

Parameters
int$a_modeIL_MODE_ALIAS | IL_MODE_OUTPUT | IL_MODE_FULL

Definition at line 575 of file class.ilObjMediaObject.php.

References $media_items, getId(), getMediaItems(), ilObject\getType(), handleAmps(), IL_MODE_ALIAS, IL_MODE_FULL, and IL_MODE_OUTPUT.

Referenced by exportMediaFullscreen(), and exportXML().

{
// TODO: full implementation of all parameters
//echo "-".$a_mode."-";
switch ($a_mode)
{
$xml = "<MediaObject>";
$xml .= "<MediaAlias OriginId=\"il__mob_".$this->getId()."\"/>";
for($i=0; $i<count($media_items); $i++)
{
$item =& $media_items[$i];
$xml .= "<MediaAliasItem Purpose=\"".$item->getPurpose()."\">";
// Layout
$width = ($item->getWidth() != "")
? "Width=\"".$item->getWidth()."\""
: "";
$height = ($item->getHeight() != "")
? "Height=\"".$item->getHeight()."\""
: "";
$halign = ($item->getHAlign() != "")
? "HorizontalAlign=\"".$item->getHAlign()."\""
: "";
$xml .= "<Layout $width $height $halign />";
// Caption
if ($item->getCaption() != "")
{
$xml .= "<Caption Align=\"bottom\">".
str_replace("&", "&amp;", $item->getCaption())."</Caption>";
}
// Text Representation
if ($item->getTextRepresentation() != "")
{
$xml .= "<TextRepresentation>".
str_replace("&", "&amp;", $item->getTextRepresentation())."</TextRepresentation>";
}
// Parameter
$parameters = $item->getParameters();
foreach ($parameters as $name => $value)
{
$xml .= "<Parameter Name=\"$name\" Value=\"$value\"/>";
}
$xml .= "</MediaAliasItem>";
}
break;
// for output we need technical sections of meta data
// get first technical section
// $meta =& $this->getMetaData();
$xml = "<MediaObject Id=\"il__mob_".$this->getId()."\">";
for($i=0; $i<count($media_items); $i++)
{
$item =& $media_items[$i];
$xml .= "<MediaItem Purpose=\"".$item->getPurpose()."\">";
// Location
$xml.= "<Location Type=\"".$item->getLocationType()."\">".
$this->handleAmps($item->getLocation())."</Location>";
// Format
$xml.= "<Format>".$item->getFormat()."</Format>";
// Layout
$width = ($item->getWidth() != "")
? "Width=\"".$item->getWidth()."\""
: "";
$height = ($item->getHeight() != "")
? "Height=\"".$item->getHeight()."\""
: "";
$halign = ($item->getHAlign() != "")
? "HorizontalAlign=\"".$item->getHAlign()."\""
: "";
$xml .= "<Layout $width $height $halign />";
// Caption
if ($item->getCaption() != "")
{
$xml .= "<Caption Align=\"bottom\">".
str_replace("&", "&amp;", $item->getCaption())."</Caption>";
}
// Text Representation
if ($item->getTextRepresentation() != "")
{
$xml .= "<TextRepresentation>".
str_replace("&", "&amp;", $item->getTextRepresentation())."</TextRepresentation>";
}
// Parameter
$parameters = $item->getParameters();
foreach ($parameters as $name => $value)
{
$xml .= "<Parameter Name=\"$name\" Value=\"$value\"/>";
}
$xml .= $item->getMapAreasXML();
$xml .= "</MediaItem>";
}
break;
// full xml for export
// $meta =& $this->getMetaData();
$xml = "<MediaObject>";
// meta data
include_once("Services/MetaData/classes/class.ilMD2XML.php");
$md2xml = new ilMD2XML(0, $this->getId(), $this->getType());
$md2xml->setExportMode(true);
$md2xml->startExport();
$xml.= $md2xml->getXML();
for($i=0; $i<count($media_items); $i++)
{
$item =& $media_items[$i];
$xml .= "<MediaItem Purpose=\"".$item->getPurpose()."\">";
// Location
$xml.= "<Location Type=\"".$item->getLocationType()."\">".
$this->handleAmps($item->getLocation())."</Location>";
// Format
$xml.= "<Format>".$item->getFormat()."</Format>";
// Layout
$width = ($item->getWidth() != "")
? "Width=\"".$item->getWidth()."\""
: "";
$height = ($item->getHeight() != "")
? "Height=\"".$item->getHeight()."\""
: "";
$halign = ($item->getHAlign() != "")
? "HorizontalAlign=\"".$item->getHAlign()."\""
: "";
$xml .= "<Layout $width $height $halign />";
// Caption
if ($item->getCaption() != "")
{
$xml .= "<Caption Align=\"bottom\">".
str_replace("&", "&amp;", $item->getCaption())."</Caption>";
}
// Text Representation
if ($item->getTextRepresentation() != "")
{
$xml .= "<TextRepresentation>".
str_replace("&", "&amp;", $item->getTextRepresentation())."</TextRepresentation>";
}
// Parameter
$parameters = $item->getParameters();
foreach ($parameters as $name => $value)
{
$xml .= "<Parameter Name=\"$name\" Value=\"$value\"/>";
}
$xml .= $item->getMapAreasXML(true, $a_inst);
$xml .= "</MediaItem>";
}
break;
}
$xml .= "</MediaObject>";
return $xml;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::handleAmps (   $a_str)

Replace "&" (if not an "&amp;") with "&amp;".

Definition at line 753 of file class.ilObjMediaObject.php.

Referenced by getXML().

{
$a_str = str_replace("&amp;", "&", $a_str);
$a_str = str_replace("&", "&amp;", $a_str);
return $a_str;
}

+ Here is the caller graph for this function:

ilObjMediaObject::hasFullscreenItem ( )

Definition at line 335 of file class.ilObjMediaObject.php.

References hasPurposeItem().

{
return $this->hasPurposeItem("Fullscreen");
}

+ Here is the call graph for this function:

ilObjMediaObject::hasPurposeItem (   $purpose)

returns wether object has media item with specific purpose

Parameters
string$purpose
Returns
boolean

Definition at line 346 of file class.ilObjMediaObject.php.

References getMediaItem().

Referenced by hasFullscreenItem().

{
if(is_object($this->getMediaItem($purpose)))
{
return true;
}
else
{
return false;
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::ilObjMediaObject (   $a_id = 0)

Constructor public.

Definition at line 38 of file class.ilObjMediaObject.php.

References ilObject\ilObject().

Referenced by _saveTempFileAsMediaObject().

{
$this->is_alias = false;
$this->media_items = array();
$this->contains_int_link = false;
$this->type = "mob";
parent::ilObject($a_id, false);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::isAlias ( )

Definition at line 393 of file class.ilObjMediaObject.php.

References $is_alias.

{
}
ilObjMediaObject::lookupUsages (   $a_id,
  $a_include_history = true 
)

Lookup usages of media object.

Todo:
: This should be all in one context -> mob id table

Definition at line 965 of file class.ilObjMediaObject.php.

References $ilDB, $ret, $skip, $user, ilPageObject\_exists(), ilObjUser\_getUsersForClipboadObject(), and ilNewsItem\_lookupMediaObjectUsages().

Referenced by ilWebAccessChecker\checkAccess(), getUsages(), and ilLMObject\updateInternalLinks().

{
global $ilDB;
$hist_str = "";
if ($a_include_history)
{
$hist_str = ", usage_hist_nr";
}
// get usages in pages
$q = "SELECT DISTINCT usage_type, usage_id".$hist_str." FROM mob_usage WHERE id = ".
$ilDB->quote($a_id, "integer");
$us_set = $ilDB->query($q);
$ret = array();
while($us_rec = $ilDB->fetchAssoc($us_set))
{
$ut = "";
if(is_int(strpos($us_rec["usage_type"], ":")))
{
$us_arr = explode(":", $us_rec["usage_type"]);
$ut = $us_arr[1];
$ct = $us_arr[0];
}
// check whether page exists
$skip = false;
if ($ut == "pg")
{
include_once("./Services/COPage/classes/class.ilPageObject.php");
if (!ilPageObject::_exists($ct, $us_rec["usage_id"]))
{
$skip = true;
}
}
if (!$skip)
{
$ret[] = array("type" => $us_rec["usage_type"],
"id" => $us_rec["usage_id"],
"hist_nr" => $us_rec["usage_hist_nr"]);
}
}
// get usages in media pools
$q = "SELECT DISTINCT mep_id FROM mep_tree JOIN mep_item ON (child = obj_id) WHERE mep_item.foreign_id = ".
$ilDB->quote($a_id, "integer")." AND mep_item.type = ".$ilDB->quote("mob", "text");
$us_set = $ilDB->query($q);
while($us_rec = $ilDB->fetchAssoc($us_set))
{
$ret[] = array("type" => "mep",
"id" => $us_rec["mep_id"]);
}
// get usages in news items (media casts)
include_once("./Services/News/classes/class.ilNewsItem.php");
$news_usages = ilNewsItem::_lookupMediaObjectUsages($a_id);
foreach($news_usages as $nu)
{
$ret[] = $nu;
}
// get usages in map areas
$q = "SELECT DISTINCT mob_id FROM media_item it, map_area area ".
" WHERE area.item_id = it.id ".
" AND area.link_type = ".$ilDB->quote("int", "text")." ".
" AND area.target = ".$ilDB->quote("il__mob_".$a_id, "text");
$us_set = $ilDB->query($q);
while($us_rec = $ilDB->fetchAssoc($us_set))
{
$ret[] = array("type" => "map",
"id" => $us_rec["mob_id"]);
}
// get usages in personal clipboards
$users = ilObjUser::_getUsersForClipboadObject("mob", $a_id);
foreach ($users as $user)
{
$ret[] = array("type" => "clip",
"id" => $user);
}
return $ret;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjMediaObject::MDUpdateListener (   $a_element)

Meta data update listener.

Important note: Do never call create() or update() method of ilObject here. It would result in an endless loop: update object -> update meta -> update object -> ... Use static _writeTitle() ... methods instead.

Parameters
string$a_element

Reimplemented from ilObject.

Definition at line 157 of file class.ilObjMediaObject.php.

References $id, ilObject\_writeDescription(), ilObject\_writeTitle(), getId(), ilObject\getType(), setDescription(), and setTitle().

{
include_once 'Services/MetaData/classes/class.ilMD.php';
switch($a_element)
{
case 'General':
// Update Title and description
$md = new ilMD(0, $this->getId(), $this->getType());
$md_gen = $md->getGeneral();
if (is_object($md_gen))
{
ilObject::_writeTitle($this->getId(),$md_gen->getTitle());
$this->setTitle($md_gen->getTitle());
foreach($md_gen->getDescriptionIds() as $id)
{
$md_des = $md_gen->getDescription($id);
ilObject::_writeDescription($this->getId(),$md_des->getDescription());
$this->setDescription($md_des->getDescription());
break;
}
}
break;
default:
}
return true;
}

+ Here is the call graph for this function:

ilObjMediaObject::modifyExportIdentifier (   $a_tag,
  $a_param,
  $a_value 
)

Definition at line 843 of file class.ilObjMediaObject.php.

References ilUtil\insertInstIntoID().

{
if ($a_tag == "Identifier" && $a_param == "Entry")
{
$a_value = ilUtil::insertInstIntoID($a_value);
}
return $a_value;
}

+ Here is the call graph for this function:

ilObjMediaObject::putInTree ( )

Definition at line 57 of file class.ilObjMediaObject.php.

{
$this->ilias->raiseError("Operation ilObjMedia::putInTree() not allowed.",$this->ilias->error_obj->FATAL);
}
ilObjMediaObject::read ( )

read media object data from db

Definition at line 363 of file class.ilObjMediaObject.php.

References ilMediaItem\_getMediaItemsOfMOb().

{
//echo "<br>ilObjMediaObject:read";
// get media items
}

+ Here is the call graph for this function:

ilObjMediaObject::removeAllMediaItems ( )

remove all media items

Definition at line 316 of file class.ilObjMediaObject.php.

{
$this->media_items = array();
}
ilObjMediaObject::removeMediaItem (   $a_purpose)

Definition at line 291 of file class.ilObjMediaObject.php.

References $media_items, and getId().

{
foreach ($this->media_items as $key => $media_item)
{
if($media_item->getPurpose() == $a_purpose)
{
unset($this->media_items[$key]);
}
}
// update numbers and keys
$i = 1;
$media_items = array();
foreach ($this->media_items as $media_item)
{
$media_items [$i] = $media_item;
$media_item->setMobId($this->getId());
$media_item->setNr($i);
$i++;
}
$this->media_items = $media_items;
}

+ Here is the call graph for this function:

ilObjMediaObject::setAlias (   $a_is_alias)

set wether page object is an alias

Definition at line 388 of file class.ilObjMediaObject.php.

{
$this->is_alias = $a_is_alias;
}
ilObjMediaObject::setContainsIntLink (   $a_contains_link)

content parser set this flag to true, if the media object contains internal links (this method should only be called by the import parser)

Parameters
boolean$a_contains_linktrue, if page contains intern link tag(s)

Definition at line 864 of file class.ilObjMediaObject.php.

{
$this->contains_int_link = $a_contains_link;
}
ilObjMediaObject::setDescription (   $a_description)

set description of media object

Reimplemented from ilObject.

Definition at line 141 of file class.ilObjMediaObject.php.

Referenced by MDUpdateListener().

{
parent::setDescription($a_description);
}

+ Here is the caller graph for this function:

ilObjMediaObject::setId (   $a_id)

set id

Reimplemented from ilObject.

Definition at line 375 of file class.ilObjMediaObject.php.

{
$this->id = $a_id;
}
ilObjMediaObject::setImportId (   $a_import_id)

set import id

public

Parameters
string$a_import_idimport id

Reimplemented from ilObject.

Definition at line 423 of file class.ilObjMediaObject.php.

{
$this->import_id = $a_id;
}
ilObjMediaObject::setOriginID (   $a_id)

Definition at line 398 of file class.ilObjMediaObject.php.

{
return $this->origin_id = $a_id;
}
ilObjMediaObject::setRefId ( )

Definition at line 47 of file class.ilObjMediaObject.php.

{
$this->ilias->raiseError("Operation ilObjMedia::setRefId() not allowed.",$this->ilias->error_obj->FATAL);
}
ilObjMediaObject::setTitle (   $a_title)

set object title

public

Parameters
string$a_titleobject title

Reimplemented from ilObject.

Definition at line 67 of file class.ilObjMediaObject.php.

Referenced by MDUpdateListener().

{
parent::setTitle($a_title);
}

+ Here is the caller graph for this function:

ilObjMediaObject::update (   $a_upload = false)

update media object in db

Definition at line 458 of file class.ilObjMediaObject.php.

References $media_items, ilMediaItem\deleteAllItemsOfMob(), getId(), getMediaItems(), ilObject\update(), and updateMetaData().

{
if(!$a_upload)
{
$this->updateMetaData();
}
// iterate all items
$j = 1;
foreach($media_items as $key => $val)
{
$item =& $media_items[$key];
if (is_object($item))
{
$item->setMobId($this->getId());
$item->setNr($j);
if ($item->getLocationType() == "Reference")
{
$item->extractUrlParameters();
}
$item->create();
$j++;
}
}
}

+ Here is the call graph for this function:

ilObjMediaObject::updateMetaData ( )

update meta data entry

Reimplemented from ilObject.

Definition at line 214 of file class.ilObjMediaObject.php.

References getDescription(), getId(), getTitle(), and ilObject\getType().

Referenced by update().

{
include_once("Services/MetaData/classes/class.ilMD.php");
include_once("Services/MetaData/classes/class.ilMDGeneral.php");
include_once("Services/MetaData/classes/class.ilMDDescription.php");
$md =& new ilMD(0, $this->getId(), $this->getType());
$md_gen =& $md->getGeneral();
$md_gen->setTitle($this->getTitle());
// sets first description (maybe not appropriate)
$md_des_ids =& $md_gen->getDescriptionIds();
if (count($md_des_ids) > 0)
{
$md_des =& $md_gen->getDescription($md_des_ids[0]);
$md_des->setDescription($this->getDescription());
$md_des->update();
}
$md_gen->update();
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Field Documentation

ilObjMediaObject::$contains_int_link

Definition at line 32 of file class.ilObjMediaObject.php.

Referenced by containsIntLink().

ilObjMediaObject::$id

Definition at line 30 of file class.ilObjMediaObject.php.

Referenced by getId(), getParentObjectIdForUsage(), and MDUpdateListener().

ilObjMediaObject::$is_alias

Definition at line 28 of file class.ilObjMediaObject.php.

Referenced by isAlias().

ilObjMediaObject::$media_items

Definition at line 31 of file class.ilObjMediaObject.php.

Referenced by create(), getMediaItems(), getXML(), removeMediaItem(), and update().

ilObjMediaObject::$origin_id

Definition at line 29 of file class.ilObjMediaObject.php.

Referenced by getOriginID().


The documentation for this class was generated from the following file: