ILIAS  trunk Revision v11.0_alpha-2662-g519ff7d528f
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.

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

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
+ 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.

References ilObjMediaObject\getFilesOfDirectory(), ILIAS\COPage\PC\InteractiveImage\IIMManager\getOverlayThumbnailPath(), and ILIAS\COPage\PC\InteractiveImage\IIMManager\getOverlayWebPath().

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  }
getOverlayThumbnailPath(\ilObjMediaObject $mob, string $file)
Definition: IIMManager.php:112
getOverlayWebPath(\ilObjMediaObject $mob, string $file)
Definition: IIMManager.php:107
+ 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.

Referenced by ILIAS\COPage\PC\InteractiveImage\IIMManager\handleOverlayUpload().

117  : string
118  {
119  $piname = pathinfo($file);
120  return basename($file, "." . $piname['extension']) . ".png";
121  }
+ Here is the caller graph for this function:

◆ getOverlayThumbnailPath()

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

Definition at line 112 of file IIMManager.php.

References ilObject\getId().

Referenced by ILIAS\COPage\PC\InteractiveImage\IIMManager\getOverlays().

112  : string
113  {
114  return $this->media_manager->getLocalSrc($mob->getId(), "/thumb/" . $file);
115  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getOverlayWebPath()

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

Definition at line 107 of file IIMManager.php.

References ilObject\getId().

Referenced by ILIAS\COPage\PC\InteractiveImage\IIMManager\getOverlays().

107  : string
108  {
109  return $this->media_manager->getLocalSrc($mob->getId(), "/overlays/" . $file);
110  }
+ Here is the call graph for this function:
+ Here is the caller 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.

References ilObjMediaObject\addAdditionalFileFromUpload(), ilObject\getId(), ILIAS\FileUpload\DTO\UploadResult\getName(), ILIAS\COPage\PC\InteractiveImage\IIMManager\getOverlayThumbnailName(), ilObjMediaObject\makeThumbnail(), and ILIAS\MetaData\OERExposer\OAIPMH\Handler\HandlerResult\STATUS_OK.

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  }
+ Here is the call graph for this function:

◆ handleUploadResult()

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

Definition at line 49 of file IIMManager.php.

References ILIAS\FileUpload\DTO\UploadResult\getName(), and ILIAS\MetaData\OERExposer\OAIPMH\Handler\HandlerResult\STATUS_OK.

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  }
+ Here is the call graph for this function:

◆ 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.

References $path.

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:29

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: