Fix #983 : Fix download of basket containing slash in their titles

This commit is contained in:
Romain Neutron
2012-11-05 14:42:49 +01:00
parent 96ee08a3d2
commit bc2d26472b
2 changed files with 9 additions and 3 deletions

View File

@@ -60,6 +60,12 @@ class record_exportElement extends record_adapter
public function __construct(Application $app, $sbas_id, $record_id, $directory = '', $remain_hd = false) public function __construct(Application $app, $sbas_id, $record_id, $directory = '', $remain_hd = false)
{ {
$this->directory = $directory; $this->directory = $directory;
if ($this->directory) {
$unicode = new \unicode();
$this->directory = $unicode->remove_nonazAZ09($this->directory) . '/';
}
$this->remain_hd = $remain_hd; $this->remain_hd = $remain_hd;
$this->size = array(); $this->size = array();
parent::__construct($app, $sbas_id, $record_id); parent::__construct($app, $sbas_id, $record_id);

View File

@@ -62,7 +62,7 @@ class set_export extends set_abstract
/* @var $repository \Repositories\BasketRepository */ /* @var $repository \Repositories\BasketRepository */
$Basket = $repository->findUserBasket($this->app, $sstid, $app['phraseanet.user'], false); $Basket = $repository->findUserBasket($this->app, $sstid, $app['phraseanet.user'], false);
$this->exportName = str_replace(' ', '_', $Basket->getName()) . "_" . date("Y-n-d"); $this->exportName = str_replace(array(' ', '\\', '/'), '_', $Basket->getName()) . "_" . date("Y-n-d");
foreach ($Basket->getElements() as $basket_element) { foreach ($Basket->getElements() as $basket_element) {
/* @var $basket_element \Entities\BasketElement */ /* @var $basket_element \Entities\BasketElement */
@@ -82,7 +82,7 @@ class set_export extends set_abstract
$app, $app,
$basket_element->getRecord($this->app)->get_sbas_id(), $basket_element->getRecord($this->app)->get_sbas_id(),
$record_id, $record_id,
$Basket->getName() . '/', $Basket->getName(),
$remain_hd[$base_id] $remain_hd[$base_id]
); );
@@ -122,7 +122,7 @@ class set_export extends set_abstract
$app, $app,
$child_basrec->get_sbas_id(), $child_basrec->get_sbas_id(),
$record_id, $record_id,
$record->get_title(null, null, true) . '_' . $n . '/', $record->get_title(null, null, true) . '_' . $n,
$remain_hd[$base_id] $remain_hd[$base_id]
); );