Skip to content

Commit

Permalink
MM: Cache-Directory kann programmatisch geändert werden (#5236)
Browse files Browse the repository at this point in the history
  • Loading branch information
gharlan committed Jul 18, 2022
1 parent 87c5af8 commit ce17aa9
Showing 1 changed file with 17 additions and 2 deletions.
19 changes: 17 additions & 2 deletions redaxo/src/addons/media_manager/lib/media_manager.php
Expand Up @@ -33,6 +33,9 @@ class rex_media_manager
/** @var bool */
private $notFound = false;

/** @var string|null */
private static $cacheDirectory;

/** @var list<class-string<rex_effect_abstract>> */
private static $effects = [];

Expand Down Expand Up @@ -175,6 +178,14 @@ public function effectsFromType($type)
return $effects;
}

/**
* Set base cache directory for generated images.
*/
public static function setCacheDirectory(string $path): void
{
self::$cacheDirectory = rtrim($path, '/\\').DIRECTORY_SEPARATOR;
}

/**
* @param string $path
*/
Expand Down Expand Up @@ -293,14 +304,18 @@ public static function deleteCacheByType($typeId)
*/
public static function deleteCache($filename = null, $type = null)
{
if (null === $filename) {
rex_file::delete(rex_path::addonCache('media_manager', 'types.cache'));
}

$filename = ($filename ?: '').'*';

if (!$type) {
$type = '*';
}

$counter = 0;
$folder = rex_path::addonCache('media_manager');
$folder = self::$cacheDirectory ?? rex_path::addonCache('media_manager');

$glob = glob($folder.$type.'/'.$filename, GLOB_NOSORT);
if ($glob) {
Expand Down Expand Up @@ -467,7 +482,7 @@ public static function init()

if ('' != $rexMediaManagerFile && '' != $rexMediaManagerType) {
$mediaPath = rex_path::media($rexMediaManagerFile);
$cachePath = rex_path::addonCache('media_manager');
$cachePath = self::$cacheDirectory ?? rex_path::addonCache('media_manager');

$media = new rex_managed_media($mediaPath);
$mediaManager = new self($media);
Expand Down

0 comments on commit ce17aa9

Please sign in to comment.