ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\COPage\PC\InteractiveImage\IIMManager Class Reference
+ Collaboration diagram for ILIAS\COPage\PC\InteractiveImage\IIMManager:

Public Member Functions

 __construct (InternalDomainService $domain)
 
 handleUploadResult (FileUpload $upload, UploadResult $result, ?\ilObjMediaObject $mob=null)
 
 handleOverlayUpload (\ilObjMediaObject $mob, FileUpload $upload, UploadResult $result)
 
 getOverlayWebPath (\ilObjMediaObject $mob, string $file)
 
 getOverlayThumbnailPath (\ilObjMediaObject $mob, string $file)
 
 getOverlays (\ilObjMediaObject $mob)
 
 resolveIIMMediaAliases (\DOMDocument $dom, array $a_mapping)
 Resolve iim media aliases (in ilContObjParse) More...
 

Protected Member Functions

 getOverlayThumbnailName (string $file)
 

Protected Attributes

ILIAS MediaObjects MediaObjectManager $media_manager
 
ilLogger $log
 
InternalDomainService $domain
 
ILIAS COPage Dom DomUtil $dom_util
 

Detailed Description

Definition at line 30 of file IIMManager.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\COPage\PC\InteractiveImage\IIMManager::__construct ( InternalDomainService  $domain)

Definition at line 37 of file IIMManager.php.

39 {
40 global $DIC;
41 $this->domain = $domain;
42 $this->dom_util = $DIC->copage()->internal()->domain()->domUtil();
43 if (isset($DIC['ilLoggerFactory'])) {
44 $this->log = $domain->log();
45 }
46 $this->media_manager = $DIC->mediaObjects()->internal()->domain()->mediaObject();
47 }
global $DIC
Definition: shib_login.php:26

References $DIC, ILIAS\COPage\PC\InteractiveImage\IIMManager\$domain, and ILIAS\COPage\InternalDomainService\log().

+ Here is the call graph for this function:

Member Function Documentation

◆ getOverlays()

ILIAS\COPage\PC\InteractiveImage\IIMManager::getOverlays ( \ilObjMediaObject  $mob)

Definition at line 123 of file IIMManager.php.

123 : array
124 {
125 $overlays = [];
126 foreach ($mob->getFilesOfDirectory("/overlays") as $file) {
127 $file = $file["basename"];
128 $overlays[] = [
129 "name" => $file,
130 "thumbpath" => $this->getOverlayThumbnailPath($mob, $file),
131 "webpath" => $this->getOverlayWebPath($mob, $file)
132 ];
133 }
134 return $overlays;
135 }
getOverlayWebPath(\ilObjMediaObject $mob, string $file)
Definition: IIMManager.php:107
getOverlayThumbnailPath(\ilObjMediaObject $mob, string $file)
Definition: IIMManager.php:112

References ilObjMediaObject\getFilesOfDirectory().

+ Here is the call graph for this function:

◆ getOverlayThumbnailName()

ILIAS\COPage\PC\InteractiveImage\IIMManager::getOverlayThumbnailName ( string  $file)
protected

Definition at line 117 of file IIMManager.php.

117 : string
118 {
119 $piname = pathinfo($file);
120 return basename($file, "." . $piname['extension']) . ".png";
121 }

◆ getOverlayThumbnailPath()

ILIAS\COPage\PC\InteractiveImage\IIMManager::getOverlayThumbnailPath ( \ilObjMediaObject  $mob,
string  $file 
)

Definition at line 112 of file IIMManager.php.

112 : string
113 {
114 return $this->media_manager->getLocalSrc($mob->getId(), "/thumb/" . $file);
115 }

References ilObject\getId().

+ Here is the call graph for this function:

◆ getOverlayWebPath()

ILIAS\COPage\PC\InteractiveImage\IIMManager::getOverlayWebPath ( \ilObjMediaObject  $mob,
string  $file 
)

Definition at line 107 of file IIMManager.php.

107 : string
108 {
109 return $this->media_manager->getLocalSrc($mob->getId(), "/overlays/" . $file);
110 }

References ilObject\getId().

+ Here is the call graph for this function:

◆ handleOverlayUpload()

ILIAS\COPage\PC\InteractiveImage\IIMManager::handleOverlayUpload ( \ilObjMediaObject  $mob,
FileUpload  $upload,
UploadResult  $result 
)

Definition at line 86 of file IIMManager.php.

90 : BasicHandlerResult {
91 $mob->addAdditionalFileFromUpload(
92 $result,
93 "overlays"
94 );
95 $mob->makeThumbnail(
96 "overlays/" . $result->getName(),
97 "thumb/" . $this->getOverlayThumbnailName($result->getName())
98 );
99 return new BasicHandlerResult(
100 "mob_id",
102 (string) $mob->getId(),
103 ''
104 );
105 }

◆ handleUploadResult()

ILIAS\COPage\PC\InteractiveImage\IIMManager::handleUploadResult ( FileUpload  $upload,
UploadResult  $result,
?\ilObjMediaObject  $mob = null 
)

Definition at line 49 of file IIMManager.php.

53 : BasicHandlerResult {
54 $this->log->debug("Handle mob upload");
55 $title = $result->getName();
56 $this->log->debug($title);
57
58 if (is_null($mob)) {
59 $this->log->debug("New...");
60 $mob = new \ilObjMediaObject();
61 $mob->setTitle($title);
62 $mob->setDescription("");
63 $mob->create();
64
65 $media_item = $mob->addMediaItemFromUpload(
66 "Standard",
67 $result
68 );
69 } else {
70 $this->log->debug("Update...");
71 $media_item = $mob->replaceMediaItemFromUpload(
72 "Standard",
73 $result
74 );
75 }
76 $mob->update();
77
78 return new BasicHandlerResult(
79 "mob_id",
81 (string) $mob->getId(),
82 ''
83 );
84 }

◆ resolveIIMMediaAliases()

ILIAS\COPage\PC\InteractiveImage\IIMManager::resolveIIMMediaAliases ( \DOMDocument  $dom,
array  $a_mapping 
)

Resolve iim media aliases (in ilContObjParse)

Definition at line 141 of file IIMManager.php.

144 : bool {
145 // resolve normal internal links
146 $path = "//InteractiveImage/MediaAlias";
147 $changed = false;
148 $nodes = $this->dom_util->path($dom, $path);
149 foreach ($nodes as $node) {
150 $old_id = $node->getAttribute("OriginId");
151 if (($a_mapping[$old_id] ?? 0) > 0) {
152 $node->setAttribute("OriginId", "il__mob_" . $a_mapping[$old_id]);
153 $changed = true;
154 }
155 }
156 return $changed;
157 }
$path
Definition: ltiservices.php:30

Field Documentation

◆ $dom_util

ILIAS COPage Dom DomUtil ILIAS\COPage\PC\InteractiveImage\IIMManager::$dom_util
protected

Definition at line 35 of file IIMManager.php.

◆ $domain

InternalDomainService ILIAS\COPage\PC\InteractiveImage\IIMManager::$domain
protected

◆ $log

ilLogger ILIAS\COPage\PC\InteractiveImage\IIMManager::$log
protected

Definition at line 33 of file IIMManager.php.

◆ $media_manager

ILIAS MediaObjects MediaObjectManager ILIAS\COPage\PC\InteractiveImage\IIMManager::$media_manager
protected

Definition at line 32 of file IIMManager.php.


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