Fix github comments

This commit is contained in:
Nicolas Le Goff
2014-05-30 11:47:43 +02:00
parent df013d4f21
commit 9ba9533925
6 changed files with 19 additions and 69 deletions

View File

@@ -61,43 +61,4 @@ class StaticMappingGenerator extends Command
return 0; return 0;
} }
private function computeMapping($paths)
{
$paths = array_unique($paths);
$ret = array();
foreach ($paths as $path) {
$ret[$path] = $this->pathsToConf($path);
}
return $ret;
}
private function pathsToConf($path)
{
static $n = 0;
$n++;
return array('mount-point' => 'mp4-videos-'.$n, 'directory' => $path, 'passphrase' => \random::generatePassword(32));
}
private function extractPath(\appbox $appbox)
{
$paths = array();
foreach ($appbox->get_databoxes() as $databox) {
foreach ($databox->get_subdef_structure() as $group => $subdefs) {
if ('video' !== $group) {
continue;
}
foreach ($subdefs as $subdef) {
$paths[] = $subdef->get_path();
}
}
}
return array_filter(array_unique($paths));
}
} }

View File

@@ -13,6 +13,7 @@ namespace Alchemy\Phrasea\Http\StaticFile;
use Alchemy\Phrasea\Http\AbstractServerMode; use Alchemy\Phrasea\Http\AbstractServerMode;
use Alchemy\Phrasea\Http\StaticFile\Symlink\SymLinker; use Alchemy\Phrasea\Http\StaticFile\Symlink\SymLinker;
use Guzzle\Http\Url;
abstract class AbstractStaticMode extends AbstractServerMode abstract class AbstractStaticMode extends AbstractServerMode
{ {
@@ -25,7 +26,22 @@ abstract class AbstractStaticMode extends AbstractServerMode
parent::__construct($mapping); parent::__construct($mapping);
} }
protected function ensureSymlink($pathFile) /**
* {@inheritdoc}
*/
public function getUrl($pathFile)
{
$this->ensureSymlink($pathFile);
return Url::factory(sprintf('%s/%s', $this->mapping['mount-point'], $this->symlinker->getSymlinkBasePath($pathFile)));
}
/**
* Creates a link if it does not exists
*
* @param $pathFile
*/
private function ensureSymlink($pathFile)
{ {
if (false === $this->symlinker->hasSymlink($pathFile)) { if (false === $this->symlinker->hasSymlink($pathFile)) {
$this->symlinker->symlink($pathFile); $this->symlinker->symlink($pathFile);

View File

@@ -12,8 +12,6 @@
namespace Alchemy\Phrasea\Http\StaticFile; namespace Alchemy\Phrasea\Http\StaticFile;
use Alchemy\Phrasea\Exception\InvalidArgumentException; use Alchemy\Phrasea\Exception\InvalidArgumentException;
use Alchemy\Phrasea\Http\AbstractServerMode;
use Guzzle\Http\Url;
class Apache extends AbstractStaticMode implements StaticFileModeInterface class Apache extends AbstractStaticMode implements StaticFileModeInterface
{ {
@@ -35,16 +33,6 @@ class Apache extends AbstractStaticMode implements StaticFileModeInterface
$this->mapping = $mapping; $this->mapping = $mapping;
} }
/**
* {@inheritdoc}
*/
public function getUrl($pathFile)
{
$this->ensureSymlink($pathFile);
return Url::factory(sprintf('%s/%s', $this->mapping['mount-point'], $this->symlinker->getSymlinkBasePath($pathFile)));
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */

View File

@@ -12,8 +12,6 @@
namespace Alchemy\Phrasea\Http\StaticFile; namespace Alchemy\Phrasea\Http\StaticFile;
use Alchemy\Phrasea\Exception\InvalidArgumentException; use Alchemy\Phrasea\Exception\InvalidArgumentException;
use Alchemy\Phrasea\Http\AbstractServerMode;
use Guzzle\Http\Url;
class Nginx extends AbstractStaticMode implements StaticFileModeInterface class Nginx extends AbstractStaticMode implements StaticFileModeInterface
{ {
@@ -35,16 +33,6 @@ class Nginx extends AbstractStaticMode implements StaticFileModeInterface
$this->mapping = $mapping; $this->mapping = $mapping;
} }
/**
* {@inheritdoc}
*/
public function getUrl($pathFile)
{
$this->ensureSymlink($pathFile);
return Url::factory(sprintf('%s/%s', $this->mapping['mount-point'], $this->symlinker->getSymlinkBasePath($pathFile)));
}
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */

View File

@@ -35,7 +35,7 @@ class SymLinker
$app['phraseanet.thumb-symlinker-encoder'], $app['phraseanet.thumb-symlinker-encoder'],
$app['filesystem'], $app['filesystem'],
$app['phraseanet.registry'], $app['phraseanet.registry'],
isset($app['phraseanet.configuration']['static-file']['symlink-directory']) ? $app['phraseanet.configuration']['static-file']['symlink-directory'] : null isset($app['phraseanet.configuration']['static-file']['symlink-directory']) ? $app['phraseanet.configuration']['static-file']['symlink-directory'] : $app['root.path'] . '/symlinks'
); );
} }
@@ -43,10 +43,6 @@ class SymLinker
{ {
$this->encoder = $encoder; $this->encoder = $encoder;
$this->fs = $fs; $this->fs = $fs;
if (!$symlinkDir) {
throw new InvalidArgumentException("Symlink directory is not defined");
}
$this->symlinkDir = rtrim($symlinkDir, '/'); $this->symlinkDir = rtrim($symlinkDir, '/');
} }

View File

@@ -55,6 +55,7 @@ class patch_385alpha1a implements patchInterface
$config['static-file'] = array( $config['static-file'] = array(
'enabled' => false, 'enabled' => false,
'type' => '', 'type' => '',
'symlink-directory' => '',
); );
$app['phraseanet.configuration']->setConfig($config); $app['phraseanet.configuration']->setConfig($config);