ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
ILIAS\Style\Content\ImageManager Class Reference

Main business logic for content style images. More...

+ Collaboration diagram for ILIAS\Style\Content\ImageManager:

Public Member Functions

 __construct (int $style_id, Access\StyleAccessManager $access_manager, InternalRepoService $repo, protected ResourceStakeholder $stakeholder)
 
 getImages ()
 Get images of style. More...
 
 getWebPath (Image $image)
 
 getByFilename (string $filename)
 
 resizeImage (string $filename, int $width, int $height, bool $constrain_proportions)
 
 supportsResize (Image $image)
 
 deleteByFilename (string $filename)
 
 importFromUploadResult (UploadResult $result)
 

Protected Attributes

Images $img_convert
 
ImageFileRepo $repo
 
StyleRepo $style_repo
 
Access StyleAccessManager $access_manager
 
int $style_id
 

Private Attributes

Filesystem Util Convert LegacyImages $image_conversion
 

Detailed Description

Main business logic for content style images.

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 37 of file class.ImageManager.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Style\Content\ImageManager::__construct ( int  $style_id,
Access\StyleAccessManager  $access_manager,
InternalRepoService  $repo,
protected ResourceStakeholder  $stakeholder 
)

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

References ILIAS\Style\Content\ImageManager\$access_manager, $DIC, and ILIAS\Style\Content\ImageManager\$style_id.

51  {
52  global $DIC;
53  $this->repo = $repo->image();
54  $this->style_repo = $repo->style();
55  $this->access_manager = $access_manager;
56  $this->style_id = $style_id;
57  $this->image_conversion = $DIC->fileConverters()->legacyImages();
58  $this->img_convert = $DIC->fileConverters()->images();
59  }
global $DIC
Definition: shib_login.php:26
Access StyleAccessManager $access_manager

Member Function Documentation

◆ deleteByFilename()

ILIAS\Style\Content\ImageManager::deleteByFilename ( string  $filename)

Definition at line 143 of file class.ImageManager.php.

143  : void
144  {
145  $this->repo->deleteImageByFilename($this->style_id, $filename);
146  }
$filename
Definition: buildRTE.php:78

◆ getByFilename()

ILIAS\Style\Content\ImageManager::getByFilename ( string  $filename)

Definition at line 90 of file class.ImageManager.php.

90  : Image
91  {
92  $rid = $this->style_repo->readRid($this->style_id);
93  return $this->repo->getByFilename($this->style_id, $rid, $filename);
94  }
$filename
Definition: buildRTE.php:78

◆ getImages()

ILIAS\Style\Content\ImageManager::getImages ( )

Get images of style.

Returns
Generator
Exceptions
Filesystem

Definition at line 66 of file class.ImageManager.php.

References $filename.

66  : Generator
67  {
68  $rid = $this->style_repo->readRid($this->style_id);
69  return $this->repo->getImages($this->style_id, $rid);
70  }

◆ getWebPath()

ILIAS\Style\Content\ImageManager::getWebPath ( Image  $image)

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

References ILIAS\Style\Content\Image\getPath().

84  : string
85  {
86  return $this->repo->getWebPath($image->getPath());
87  }
+ Here is the call graph for this function:

◆ importFromUploadResult()

ILIAS\Style\Content\ImageManager::importFromUploadResult ( UploadResult  $result)

Definition at line 148 of file class.ImageManager.php.

150  : void {
151  $rid = $this->style_repo->getOrCreateRid($this->style_id, $this->stakeholder);
152  $this->repo->importFromUploadResult(
153  $rid,
154  $result
155  );
156  }

◆ resizeImage()

ILIAS\Style\Content\ImageManager::resizeImage ( string  $filename,
int  $width,
int  $height,
bool  $constrain_proportions 
)

Definition at line 97 of file class.ImageManager.php.

102  : void {
103  $rid = $this->style_repo->readRid($this->style_id);
104  if ($this->filenameExists($filename)) {
105  // the zip stream is not seekable, which is needed by Imagick
106  // so we create a seekable stream first
107  $tempStream = fopen('php://temp', 'w+');
108  stream_copy_to_stream($this->repo->getImageStream($rid, $filename)->detach(), $tempStream);
109  rewind($tempStream);
110  $stream = new Stream($tempStream);
111 
112  $converter = $this->img_convert->resizeToFixedSize(
113  $stream,
114  $width,
115  $height
116  );
117  $this->repo->addStream(
118  $rid,
119  $filename,
120  $converter->getStream()
121  );
122  fclose($tempStream);
123  }
124  }
$filename
Definition: buildRTE.php:78

◆ supportsResize()

ILIAS\Style\Content\ImageManager::supportsResize ( Image  $image)

Definition at line 127 of file class.ImageManager.php.

References ILIAS\Style\Content\Image\getFilename().

129  : bool {
130  // for svg, see
131  // https://stackoverflow.com/questions/6532261/how-do-you-get-the-width-and-height-of-an-svg-picture-in-php
132  if (in_array(
133  strtolower(pathinfo($image->getFilename(), PATHINFO_EXTENSION)),
134  ["jpg", "jpeg", "gif", "png"]
135  )) {
136  return true;
137  }
138  return false;
139  }
+ Here is the call graph for this function:

Field Documentation

◆ $access_manager

Access StyleAccessManager ILIAS\Style\Content\ImageManager::$access_manager
protected

Definition at line 42 of file class.ImageManager.php.

Referenced by ILIAS\Style\Content\ImageManager\__construct().

◆ $image_conversion

Filesystem Util Convert LegacyImages ILIAS\Style\Content\ImageManager::$image_conversion
private

Definition at line 44 of file class.ImageManager.php.

◆ $img_convert

Images ILIAS\Style\Content\ImageManager::$img_convert
protected

Definition at line 39 of file class.ImageManager.php.

◆ $repo

ImageFileRepo ILIAS\Style\Content\ImageManager::$repo
protected

Definition at line 40 of file class.ImageManager.php.

◆ $style_id

int ILIAS\Style\Content\ImageManager::$style_id
protected

Definition at line 43 of file class.ImageManager.php.

Referenced by ILIAS\Style\Content\ImageManager\__construct().

◆ $style_repo

StyleRepo ILIAS\Style\Content\ImageManager::$style_repo
protected

Definition at line 41 of file class.ImageManager.php.


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