diff --git a/lib/Alchemy/Phrasea/Command/Setup/XSendFileConfigurationDumper.php b/lib/Alchemy/Phrasea/Command/Setup/XSendFileConfigurationDumper.php index f761945e73..ec20cfe039 100644 --- a/lib/Alchemy/Phrasea/Command/Setup/XSendFileConfigurationDumper.php +++ b/lib/Alchemy/Phrasea/Command/Setup/XSendFileConfigurationDumper.php @@ -33,27 +33,26 @@ class XSendFileConfigurationDumper extends Command $output->writeln(''); if (!$this->container['phraseanet.xsendfile-factory']->isXSendFileModeEnabled()) { - $output->writeln('XSendFile support is disabled'); - - return 1; + $output->writeln('XSendFile support is disabled, enable it to use this feature.'); + $ret = 1; + } else { + $output->writeln('XSendFile support is enabled'); + $ret = 0; } - $output->writeln('XSendFile support is enabled'); - try { - $configuration = $this->container['phraseanet.xsendfile-factory']->getMode(true)->getVirtualHostConfiguration(); + $configuration = $this->container['phraseanet.xsendfile-factory']->getMode(true, true)->getVirtualHostConfiguration(); $output->writeln('XSendFile configuration seems OK'); $output->writeln($configuration); - return 0; } catch (RuntimeException $e) { $output->writeln('XSendFile configuration seems invalid'); - return 1; + $ret = 1; } $output->writeln(''); - return 0; + return $ret; } } diff --git a/lib/Alchemy/Phrasea/Command/Setup/XSendFileMappingGenerator.php b/lib/Alchemy/Phrasea/Command/Setup/XSendFileMappingGenerator.php index d74705649b..e673827d18 100644 --- a/lib/Alchemy/Phrasea/Command/Setup/XSendFileMappingGenerator.php +++ b/lib/Alchemy/Phrasea/Command/Setup/XSendFileMappingGenerator.php @@ -56,13 +56,15 @@ class XSendFileMappingGenerator extends Command $this->container['conf']->set('xsendfile', $conf); $output->writeln(" OK"); $output->writeln(""); - $output->write("It is now strongly recommended to use xsendfile:dump-configuration command to upgrade your virtual-host"); + $output->writeln("It is now strongly recommended to use xsendfile:dump-configuration command to upgrade your virtual-host"); } else { $output->writeln("Configuration will not be written, use --write option to write it"); $output->writeln(""); $output->writeln(Yaml::dump(['xsendfile' => $conf], 4)); } + $output->writeln(""); + return 0; } diff --git a/lib/Alchemy/Phrasea/Http/XSendFile/XSendFileFactory.php b/lib/Alchemy/Phrasea/Http/XSendFile/XSendFileFactory.php index 936a92e52f..d98966d31c 100644 --- a/lib/Alchemy/Phrasea/Http/XSendFile/XSendFileFactory.php +++ b/lib/Alchemy/Phrasea/Http/XSendFile/XSendFileFactory.php @@ -66,9 +66,9 @@ class XSendFileFactory * * @throws InvalidArgumentException if mode type is unknown */ - public function getMode($throwException = false) + public function getMode($throwException = false, $forceMode = false) { - if (false === $this->enabled) { + if (false === $this->enabled && true !== $forceMode) { return new NullMode(); } diff --git a/lib/classes/media/subdef.php b/lib/classes/media/subdef.php index b4ee096a34..b54a66c5ec 100644 --- a/lib/classes/media/subdef.php +++ b/lib/classes/media/subdef.php @@ -95,6 +95,9 @@ class media_subdef extends media_abstract implements cache_cacheableInterface */ protected $is_physically_present = false; + /** @var integer */ + private $size = 0; + /** * Players types constants */ @@ -162,6 +165,7 @@ class media_subdef extends media_abstract implements cache_cacheableInterface $this->mime = $datas['mime']; $this->width = $datas['width']; $this->height = $datas['height']; + $this->size = $datas['size']; $this->etag = $datas['etag']; $this->path = $datas['path']; $this->url = $datas['url']; @@ -197,6 +201,7 @@ class media_subdef extends media_abstract implements cache_cacheableInterface if ($row) { $this->width = (int) $row['width']; + $this->size = (int) $row['size']; $this->height = (int) $row['height']; $this->mime = $row['mime']; $this->file = $row['file']; @@ -222,6 +227,7 @@ class media_subdef extends media_abstract implements cache_cacheableInterface $datas = [ 'mime' => $this->mime , 'width' => $this->width + , 'size' => $this->size , 'height' => $this->height , 'etag' => $this->etag , 'path' => $this->path @@ -441,7 +447,7 @@ class media_subdef extends media_abstract implements cache_cacheableInterface */ public function get_size() { - return (int) @filesize($this->get_pathfile()); + return $this->size; } /**