Public Member Functions | Static Public Member Functions | Data Fields

ilObjMediaObject Class Reference
[Services/MediaObjects]

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)
 removeMediaItem ($a_purpose)
 removeAllMediaItems ()
 remove all media items
 getMediaItemNr ($a_purpose)
 hasFullscreenItem ()
 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 ()
 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
 modifyExportIdentifier ($a_tag, $a_param, $a_value)
 setDom (&$a_dom)
 set dom object
 setNode ($a_node)
 set PageContent node
getNode ()
 get PageContent node
 setHierId ($a_hier_id)
 set hierarchical edit id
 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)
 createAlias (&$a_pg_obj, $a_hier_id)
 _deleteAllUsages ($a_type, $a_id)
 static
 _getMobsOfObject ($a_type, $a_id)
 get mobs of object
 _saveUsage ($a_mob_id, $a_type, $a_id)
 _removeUsage ($a_mob_id, $a_type, $a_id)
 getUsages ()
 get all usages of current media object
 lookupUsages ($a_id)
 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)
 resize image and return new image file ("_width_height" string appended)
 getExt2MimeMap ()
 get file extension to mime type map
 getDataDirectory ()
 setEnabled ($value)
 boolean accessor to enable/disable a paragraph
 isEnabled ()
 boolean is PageContent enabled?
 enable ()
 enable page content
 disable ()
 disable page content
_saveTempFileAsMediaObject ($name, $tmp_name, $upload=TRUE)
 create new media object in dom 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.

Static Public Member Functions

static _lookupStandardItemPath ($a_mob_id, $a_url_encode=false, $a_web=true)
 Get path for standard item.
static getMimeType ($a_file)
 get mime type for file

Data Fields

 $is_alias
 $origin_id
 $id
 $dom
 $hier_id
 $node
 $mob_node
 $media_items
 $contains_int_link

Detailed Description

Class ilObjMediaObject.

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

ILIAS Media Object

Author:
Alex Killing <alex.killing@gmx.de>
Version:
Id:
class.ilObjMediaObject.php 16445 2008-04-21 18:36:40Z akill

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


Member Function Documentation

ilObjMediaObject::_createThumbnailDirectory ( a_obj_id  ) 

create thumbnail directory

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

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

Referenced by ilMediaItem::getThumbnailTarget().

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjMediaObject::_deleteAllUsages ( a_type,
a_id 
)

static

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

Referenced by ilPageObject::saveMobUsage().

        {
                global $ilDB;
                
                $q = "DELETE FROM mob_usage WHERE usage_type = ".
                        $ilDB->quote($a_type)." AND usage_id= ".$ilDB->quote($a_id);
                $ilDB->query($q);
        }

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 $id id
Returns:
boolean true, if lm content object exists

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

References ilInternalLink::_extractObjIdOfTarget().

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

Here is the call graph for this function:

ilObjMediaObject::_getDirectory ( a_mob_id  ) 
ilObjMediaObject::_getMobsOfObject ( a_type,
a_id 
)
ilObjMediaObject::_getThumbnailDirectory ( a_mob_id,
a_mode = "filesystem" 
)

get directory for files of media object (static)

Parameters:
int $a_mob_id media object id

Definition at line 511 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_id media object id

Definition at line 501 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::_lookupStandardItemPath ( a_mob_id,
a_url_encode = false,
a_web = true 
) [static]

Get path for standard item.

Parameters:
int $a_mob_id media object id

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

References $location, and ilMediaItem::_lookupLocationForMobId().

Referenced by ilObjectFeedWriter::ilObjectFeedWriter().

        {
                $location = ($a_url_encode)
                        ? rawurlencode(ilMediaItem::_lookupLocationForMobId($a_mob_id, "Standard"))
                        : ilMediaItem::_lookupLocationForMobId($a_mob_id, "Standard");
                
                $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:

ilObjMediaObject::_removeUsage ( a_mob_id,
a_type,
a_id 
)

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

Referenced by ilRTE::_cleanupMediaObjectUsage(), assQuestion::delete(), SurveyQuestion::delete(), ilObjSurvey::deleteSurveyRecord(), and ilObjTest::deleteTest().

        {
                global $ilDB;
                
                $q = "DELETE FROM mob_usage WHERE ".
                        " id = ".$ilDB->quote($a_mob_id)." AND ".
                        " usage_type = ".$ilDB->quote($a_type)." AND ".
                        " usage_id = ".$ilDB->quote($a_id);
                $ilDB->query($q);
        }

Here is the caller graph for this function:

ilObjMediaObject::_resizeImage ( a_file,
a_width,
a_height 
)

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

Parameters:
string $a_file full file name
int $a_width width
int $a_height height

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

References $location, and ilUtil::resizeImage().

Referenced by ilPCMediaObjectGUI::create(), ilObjMediaObjectGUI::resizeImagesObject(), and ilObjMediaObjectGUI::saveObject().

        {
                $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"]."/".
                        $location;
                ilUtil::resizeImage($a_file, $target_file,
                        (int) $a_width, (int) $a_height);

                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 in dom and update page in db and return new media object

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

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

Referenced by assTextSubsetImport::fromXML(), assTextQuestionImport::fromXML(), assSingleChoiceImport::fromXML(), assOrderingQuestionImport::fromXML(), assNumericImport::fromXML(), assMultipleChoiceImport::fromXML(), assMatchingQuestionImport::fromXML(), assJavaAppletImport::fromXML(), assImagemapQuestionImport::fromXML(), assClozeTestImport::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
                $format = ilObjMediaObject::getMimeType($file);
                $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");

                ilUtil::renameExecutables($mob_dir);
                $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 
)
ilObjMediaObject::addMediaItem ( &$  a_item  ) 

add media item to media object

Parameters:
object $a_item media item object

Definition at line 287 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 811 of file class.ilObjMediaObject.php.

        {
                return $this->contains_int_link;
        }

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

create media object in db

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

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

        {
                parent::create();

                if (!$a_upload)
                {
                        $this->createMetaData();
                }

                if ($a_save_media_items)
                {
                        $media_items =& $this->getMediaItems();
                        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::createAlias ( &$  a_pg_obj,
a_hier_id 
)

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

References getId(), and getMediaItem().

        {
                $this->node =& $this->dom->create_element("PageContent");
                $a_pg_obj->insertContent($this, $a_hier_id, IL_INSERT_AFTER);
                $this->mob_node =& $this->dom->create_element("MediaObject");
                $this->mob_node =& $this->node->append_child($this->mob_node);
                $this->mal_node =& $this->dom->create_element("MediaAlias");
                $this->mal_node =& $this->mob_node->append_child($this->mal_node);
                $this->mal_node->set_attribute("OriginId", "il__mob_".$this->getId());

                // standard view
                $item_node =& $this->dom->create_element("MediaAliasItem");
                $item_node =& $this->mob_node->append_child($item_node);
                $item_node->set_attribute("Purpose", "Standard");
                $media_item =& $this->getMediaItem("Standard");

                $layout_node =& $this->dom->create_element("Layout");
                $layout_node =& $item_node->append_child($layout_node);
                if ($media_item->getWidth() > 0)
                {
                        $layout_node->set_attribute("Width", $media_item->getWidth());
                }
                if ($media_item->getHeight() > 0)
                {
                        $layout_node->set_attribute("Height", $media_item->getHeight());
                }
                $layout_node->set_attribute("HorizontalAlign", "Left");

                // caption
                if ($media_item->getCaption() != "")
                {
                        $cap_node =& $this->dom->create_element("Caption");
                        $cap_node =& $item_node->append_child($cap_node);
                        $cap_node->set_attribute("Align", "bottom");
                        $cap_node->set_content($media_item->getCaption());
                }

                $pars = $media_item->getParameters();
                foreach($pars as $par => $val)
                {
                        $par_node =& $this->dom->create_element("Parameter");
                        $par_node =& $item_node->append_child($par_node);
                        $par_node->set_attribute("Name", $par);
                        $par_node->set_attribute("Value", $val);
                }

                // fullscreen view
                $fullscreen_item =& $this->getMediaItem("Fullscreen");
                if (is_object($fullscreen_item))
                {
                        $item_node =& $this->dom->create_element("MediaAliasItem");
                        $item_node =& $this->mob_node->append_child($item_node);
                        $item_node->set_attribute("Purpose", "Fullscreen");

                        // width and height
                        $layout_node =& $this->dom->create_element("Layout");
                        $layout_node =& $item_node->append_child($layout_node);
                        if ($fullscreen_item->getWidth() > 0)
                        {
                                $layout_node->set_attribute("Width", $fullscreen_item->getWidth());
                        }
                        if ($fullscreen_item->getHeight() > 0)
                        {
                                $layout_node->set_attribute("Height", $fullscreen_item->getHeight());
                        }

                        // caption
                        if ($fullscreen_item->getCaption() != "")
                        {
                                $cap_node =& $this->dom->create_element("Caption");
                                $cap_node =& $item_node->append_child($cap_node);
                                $cap_node->set_attribute("Align", "bottom");
                                $cap_node->set_content($fullscreen_item->getCaption());
                        }

                        $pars = $fullscreen_item->getParameters();
                        foreach($pars as $par => $val)
                        {
                                $par_node =& $this->dom->create_element("Parameter");
                                $par_node =& $item_node->append_child($par_node);
                                $par_node->set_attribute("Name", $par);
                                $par_node->set_attribute("Value", $val);
                        }
                }
        }

Here is the call graph for this function:

ilObjMediaObject::createDirectory (  ) 

create file directory of media object

Definition at line 538 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 227 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 96 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 134 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
                        ilUtil::delDir(ilObjMediaObject::_getDirectory($this->getId()));

                        // remove thumbnail directory
                        ilUtil::delDir(ilObjMediaObject::_getThumbnailDirectory($this->getId()));

                        // delete meta data of mob
                        $this->deleteMetaData();

                        // delete media items
                        ilMediaItem::deleteAllItemsOfMob($this->getId());

                        // delete object
                        parent::delete();
                }
        }

Here is the call graph for this function:

ilObjMediaObject::deleteMetaData (  ) 

delete meta data entry

Reimplemented from ilObject.

Definition at line 273 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::disable (  ) 

disable page content

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

References setEnabled().

          {
                        $this->setEnabled ("False");
          } 

Here is the call graph for this function:

ilObjMediaObject::enable (  ) 

enable page content

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

References setEnabled().

          {
                        $this->setEnabled ("True");
          }

Here is the call 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_dir target directory

Definition at line 737 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::exportXML ( &$  a_xml_writer,
a_inst = 0 
)

export XML

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

References getXML().

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

Here is the call graph for this function:

ilObjMediaObject::getDataDirectory (  ) 

Definition at line 1362 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 167 of file class.ilObjMediaObject.php.

Referenced by createMetaData(), and updateMetaData().

        {
                return parent::getDescription();
        }

Here is the caller graph for this function:

ilObjMediaObject::getExt2MimeMap (  ) 

get file extension to mime type map

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

Referenced by getMimeType().

        {
                $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 383 of file class.ilObjMediaObject.php.

Referenced by create(), createAlias(), createDirectory(), createMetaData(), delete(), deleteMetaData(), exportFiles(), getUsages(), getXML(), MDUpdateListener(), 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 421 of file class.ilObjMediaObject.php.

        {
                return $this->import_id;
        }

ilObjMediaObject::getLinkedMediaObjects ( a_ignore = ""  ) 

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

Definition at line 1469 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  ) 

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

Referenced by createAlias(), and hasFullscreenItem().

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

Here is the caller graph for this function:

ilObjMediaObject::getMediaItemNr ( a_purpose  ) 

Definition at line 339 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 298 of file class.ilObjMediaObject.php.

Referenced by create(), getLinkedMediaObjects(), getXML(), and update().

        {
                return $this->media_items;
        }

Here is the caller graph for this function:

static ilObjMediaObject::getMimeType ( a_file  )  [static]

get mime type for file

Parameters:
string $a_file file name
Returns:
string mime type static

map of mimetypes.py from python.org (there was no author mentioned in the file)

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

References getExt2MimeMap().

Referenced by _saveTempFileAsMediaObject(), ilObjMediaObjectGUI::assignFullscreenObject(), ilObjMediaObjectGUI::assignStandardObject(), ilPCMediaObjectGUI::create(), ilFileUtils::createFile(), ilFileDataExercise::deliverFile(), ilObjUserGUI::deliverVCardObject(), ilWebAccessChecker::ilWebAccessChecker(), ilObjMediaCastGUI::saveCastItemObject(), ilObjMediaObjectGUI::saveObject(), ilObjMediaObjectGUI::savePropertiesObject(), assSingleChoice::setImageFile(), assOrderingQuestion::setImageFile(), assMultipleChoice::setImageFile(), assMatchingQuestion::setImageFile(), and ilObjMediaCastGUI::updateCastItemObject().

        {
                // 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 call graph for this function:

Here is the caller graph for this function:

& ilObjMediaObject::getNode (  ) 

get PageContent node

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

        {
                return $this->node;
        }

ilObjMediaObject::getOriginID (  ) 

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

        {
                return $this->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 1028 of file class.ilObjMediaObject.php.

References $id, ilObject::$type, assQuestion::_getQuestionInfo(), ilGlossaryTerm::_lookGlossaryID(), ilNewsItem::_lookupContextObjId(), ilLMObject::_lookupContObjID(), ilGlossaryDefinition::_lookupTermId(), and ilObjTest::_lookupTestObjIdForQuestionId().

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");
                                        $qinfo = assQuestion::_getQuestionInfo($id);
                                        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
                                        }
                                }
                                break;
                                
                        case "pg":
                        
                                // Question Pool Question Pages
                                if ($cont_type == "qpl")
                                {
                                        include_once("./Modules/TestQuestionPool/classes/class.assQuestion.php");
                                        $qinfo = assQuestion::_getQuestionInfo($id);
                                        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");
                                        $obj_id = ilLMObject::_lookupContObjID($id);
                                }
                                
                                // glossary definition
                                if ($cont_type == "gdf")
                                {
                                        include_once("./Modules/Glossary/classes/class.ilGlossaryDefinition.php");
                                        include_once("./Modules/Glossary/classes/class.ilGlossaryTerm.php");
                                        $term_id = ilGlossaryDefinition::_lookupTermId($id);
                                        $obj_id = ilGlossaryTerm::_lookGlossaryID($term_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");
                                $obj_id = ilNewsItem::_lookupContextObjId($id);
                                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 86 of file class.ilObjMediaObject.php.

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

ilObjMediaObject::getTitle (  ) 

get object title public

Returns:
string object title

Reimplemented from ilObject.

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

Referenced by createMetaData(), and updateMetaData().

        {
                return parent::getTitle();
        }

Here is the caller graph for this function:

ilObjMediaObject::getUsages (  ) 

get all usages of current media object

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

References getId(), and lookupUsages().

Referenced by delete().

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

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_mode IL_MODE_ALIAS | IL_MODE_OUTPUT | IL_MODE_FULL

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

References $media_items, getId(), getMediaItems(), ilObject::getType(), and handleAmps().

Referenced by exportXML().

        {
                // TODO: full implementation of all parameters
//echo "-".$a_mode."-";
                switch ($a_mode)
                {
                        case IL_MODE_ALIAS:
                                $xml = "<MediaObject>";
                                $xml .= "<MediaAlias OriginId=\"il__mob_".$this->getId()."\"/>";
                                $media_items =& $this->getMediaItems();
//echo "MediaItems:".count($media_items).":<br>";
                                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>";
                                        }

                                        // 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
                        case IL_MODE_OUTPUT:

                                // get first technical section
//                              $meta =& $this->getMetaData();
                                $xml = "<MediaObject Id=\"il__mob_".$this->getId()."\">";

                                $media_items =& $this->getMediaItems();
                                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>";
                                        }

                                        // 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
                        case IL_MODE_FULL:

//                              $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();

                                $media_items =& $this->getMediaItems();
                                for($i=0; $i<count($media_items); $i++)
                                {
                                        $item =& $media_items[$i];
                                        $xml .= "<MediaItem Purpose=\"".$item->getPurpose()."\">";

                                        // Location
                                        $xml.= "<Location Type=\"".$item->getLocationType()."\">".
                                                $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>";
                                        }

                                        // 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 714 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 351 of file class.ilObjMediaObject.php.

References getMediaItem().

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

Here is the call graph for this function:

ilObjMediaObject::ilObjMediaObject ( a_id = 0  ) 

Constructor public.

Definition at line 63 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";
//echo "<br>ilObjMediaObject:Constructor:$a_id:";
                parent::ilObject($a_id, false);

                /*
                if($a_id != 0)
                {
                        $this->read();
                }*/


        }

Here is the call graph for this function:

Here is the caller graph for this function:

ilObjMediaObject::isAlias (  ) 

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

        {
                return $this->is_alias;
        }

ilObjMediaObject::isEnabled (  ) 

boolean is PageContent enabled?

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

          {
                if (is_object($this->node) && $this->node->has_attribute("Enabled"))
                {
                        $compare = $this->node->get_attribute("Enabled");                                               
                } 
                else $compare = "True";
                        
                return $compare == "True";
          }

ilObjMediaObject::lookupUsages ( a_id  ) 

Lookup usages of media object.

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

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

References $ret, $user, ilObjUser::_getUsersForClipboadObject(), and ilNewsItem::_lookupMediaObjectUsages().

Referenced by ilWebAccessChecker::checkAccess(), and getUsages().

        {
                global $ilDB;

                // get usages in learning modules
                $q = "SELECT * FROM mob_usage WHERE id = ".
                        $ilDB->quote($a_id);
                $us_set = $ilDB->query($q);
                $ret = array();
                while($us_rec = $us_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $ret[] = array("type" => $us_rec["usage_type"],
                                "id" => $us_rec["usage_id"]);
                }

                // get usages in media pools
                $q = "SELECT DISTINCT mep_id FROM mep_tree WHERE child = ".
                        $ilDB->quote($a_id);
                $us_set = $ilDB->query($q);
                while($us_rec = $us_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $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 as it, map_area as area ".
                        " WHERE area.item_id = it.id ".
                        " AND area.link_type='int' ".
                        " AND area.target = ".$ilDB->quote("il__mob_".$a_id);
                $us_set = $ilDB->query($q);
                while($us_rec = $us_set->fetchRow(DB_FETCHMODE_ASSOC))
                {
                        $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 191 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 748 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 91 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 366 of file class.ilObjMediaObject.php.

References ilMediaItem::_getMediaItemsOfMOb().

        {
//echo "<br>ilObjMediaObject:read";
                parent::read();

                // get media items
                ilMediaItem::_getMediaItemsOfMOb($this);
        }

Here is the call graph for this function:

ilObjMediaObject::removeAllMediaItems (  ) 

remove all media items

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

        {
                $this->media_items = array();
        }

ilObjMediaObject::removeMediaItem ( a_purpose  ) 

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

        {
                for($i=0; $i<count($this->media_items); $i++)
                {
                        if($this->media_items[$i]->getPurpose() == $a_purpose)
                        {
                                unset($this->media_items[$i]);
                        }
                }
        }

ilObjMediaObject::setAlias ( a_is_alias  ) 

set wether page object is an alias

Definition at line 391 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_link true, if page contains intern link tag(s)

Definition at line 802 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 175 of file class.ilObjMediaObject.php.

Referenced by MDUpdateListener().

        {
                parent::setDescription($a_description);
        }

Here is the caller graph for this function:

ilObjMediaObject::setDom ( &$  a_dom  ) 

set dom object

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

        {
                $this->dom =& $a_dom;
        }

ilObjMediaObject::setEnabled ( value  ) 

boolean accessor to enable/disable a paragraph

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

Referenced by disable(), and enable().

         {
                if (is_object($this->node))
                {
                        $this->node->set_attribute("Enabled", $value);
                }
         }

Here is the caller graph for this function:

ilObjMediaObject::setHierId ( a_hier_id  ) 

set hierarchical edit id

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

        {
                $this->hier_id = $a_hier_id;
        }

ilObjMediaObject::setId ( a_id  ) 

set id

Reimplemented from ilObject.

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

        {
                $this->id = $a_id;
        }

ilObjMediaObject::setImportId ( a_import_id  ) 

set import id

public

Parameters:
string $a_import_id import id

Reimplemented from ilObject.

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

        {
                $this->import_id = $a_id;
        }

ilObjMediaObject::setNode ( a_node  ) 

set PageContent node

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

        {
                $this->node =& $a_node;                                                 // page content node
                $this->mob_node =& $a_node->first_child();                      // MediaObject node
        }

ilObjMediaObject::setOriginID ( a_id  ) 

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

        {
                return $this->origin_id = $a_id;
        }

ilObjMediaObject::setRefId (  ) 

Definition at line 81 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_title object title

Reimplemented from ilObject.

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

Referenced by MDUpdateListener().

        {
                parent::setTitle($a_title);
        }

Here is the caller graph for this function:

ilObjMediaObject::update (  ) 

update media object in db

Reimplemented from ilObject.

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

References $media_items, ilMediaItem::deleteAllItemsOfMob(), getId(), getMediaItems(), and updateMetaData().

        {
                $this->updateMetaData();
                parent::update();

                ilMediaItem::deleteAllItemsOfMob($this->getId());

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

Here is the call graph for this function:

ilObjMediaObject::updateMetaData (  ) 

update meta data entry

Reimplemented from ilObject.

Definition at line 248 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 57 of file class.ilObjMediaObject.php.

ilObjMediaObject::$dom

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

ilObjMediaObject::$hier_id

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

ilObjMediaObject::$id

Reimplemented from ilObject.

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

Referenced by getParentObjectIdForUsage(), and MDUpdateListener().

ilObjMediaObject::$is_alias

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

ilObjMediaObject::$media_items

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

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

ilObjMediaObject::$mob_node

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

ilObjMediaObject::$node

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

ilObjMediaObject::$origin_id

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


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