}
}
- $file_list = $this->getProprietePastell('file');
-
- $fluxDataTest = new FluxDataTest($data,$file_list);
+ $fluxDataTest = new FluxDataTest($data);
return $this->getBordereauNG($fluxDataTest);
}
$files_list = "";
foreach($fluxData->getFilelist() as $file_id){
- if ($file_id == 'autre_document_attache') {
- $donneesFormulaire=$fluxData->getdonneesFormulaire();
- $num = 0;
- while (file_exists($donneesFormulaire->getFilePath($file_id, $num))) {
- $filename = $donneesFormulaire->getFilename($file_id, $num);
- copy($donneesFormulaire->getFilePath($file_id, $num),"$tmp_folder/$filename");
- $files_list.= escapeshellarg($filename). " ";
- $num++;
- }
- }
- else {
- $filename = $fluxData->getFilename($file_id);
- if (! file_exists($fluxData->getFilePath($file_id))){
- break;
- }
- copy($fluxData->getFilePath($file_id),"$tmp_folder/$filename");
- $files_list.= escapeshellarg($filename). " ";
+
+ $filename = $file_id['filename'];
+ $filepath = $file_id['filepath'];
+
+ if (! $filepath){
+ break;
}
- }
+ copy($filepath,"$tmp_folder/$filename");
+ $files_list.= escapeshellarg($filename). " ";
+ }
+
$command = "tar cvzf $archive_path --directory $tmp_folder $files_list 2>&1";
exec($command,$output,$return_var);
$data = "";
foreach($this->fluxData->getFilelist() as $file_id){
$integrityXML = new SimpleXMLElement("<Integrity></Integrity>");
- $containsXML = $integrityXML->addChild('Contains',$this->fluxData->getFileSHA256($file_id));
+ $containsXML = $integrityXML->addChild('Contains',$this->fluxData->getFileSHA256($file_id['key']));
$containsXML->addAttribute('algorithme',"http://www.w3.org/2001/04/xmlenc#sha256");
- $integrityXML->addChild('UnitIdentifier',$this->fluxData->getFilename($file_id));
+ $integrityXML->addChild('UnitIdentifier',$file_id['filename']);
$dom = dom_import_simplexml($integrityXML);
$data .= $dom->ownerDocument->saveXML($dom->ownerDocument->documentElement);
}
if (empty($value)){
return $this->getAnnotationReturn(AnnotationReturn::EMPTY_RETURN);
}
+ $filepath = $this->fluxData->getFilepath($data);
+ $this->fluxData->setFileList($data, $value, $filepath);
$annotationReturn = $this->getAnnotationReturn(AnnotationReturn::ATTACHMENT_INFO,$value);
$annotationReturn->data = array('content-type' => $this->fluxData->getContentType($data));
return $annotationReturn;
abstract function getFilename($key);
abstract function getFileSHA256($key);
abstract function getFilelist();
+ abstract function setFileList($key, $filename, $filepath);
abstract function getFilePath($key);
abstract function getContentType($key);
class FluxDataStandard extends FluxData {
protected $donneesFormulaire;
- protected $file_list = array();
+ protected $file_list;
- public function __construct(DonneesFormulaire $donneesFormulaire,array $file_list) {
+ public function __construct(DonneesFormulaire $donneesFormulaire) {
$this->donneesFormulaire = $donneesFormulaire;
- $this->file_list = $file_list;
+ $this->file_list = array();
}
public function getData($key) {
return $this->file_list;
}
- public function getFilename($key) {
+ public function setFileList($key, $filename, $filepath) {
+
+ $this->file_list[] = array(
+ 'key' => $key,
+ 'filename' => $filename,
+ 'filepath' => $filepath);
+
+ }
+
+ public function getFilename($key) {
return $this->donneesFormulaire->getFileName($key);
}
class FluxDataTest extends FluxData {
private $flux_info;
- private $file_list;
+ private $file_list;
- public function __construct(array $flux_info, array $file_list) {
+ public function __construct(array $flux_info) {
$this->flux_info = $flux_info;
- $this->file_list = $file_list;
+ $this->file_list = array();
}
public function getData($key) {
return $this->file_list;
}
- public function getFilename($key) {
+ public function setFileList($key, $filename, $filepath) {
+ $this->file_list[] = array(
+ 'key' => $key,
+ 'filename' => $filename,
+ 'filepath' => $filepath);
+ }
+
+ public function getFilename($key) {
return $this->getData($key);
}
public function testIntegrity(){
- $fluxDataTest = new FluxDataTest(array(), array("toto"));
+ $fluxDataTest = new FluxDataTest(array());
$this->annotationWrapper->setFluxData($fluxDataTest);
}
public function testFluxWrap(){
- $fluxDataTest = new FluxDataTest(array("foo"=>"bar"), array());
+ $fluxDataTest = new FluxDataTest(array("foo"=>"bar"));
$this->annotationWrapper->setFluxData($fluxDataTest);
$this->assertAnnotation("bar", "{{pastell:flux:foo}}");
}
}
public function testSha256Command(){
- $fluxDataTest = new FluxDataTest(array(), array("fichier_test"));
+ $fluxDataTest = new FluxDataTest(array());
$this->annotationWrapper->setFluxData($fluxDataTest);
$annotationReturn = $this->annotationWrapper->wrap("{{pastell:sha256:fichier_test}}");
$this->assertEquals(
"fichier_pes"=>"aller.xml"
);
- $fluxDataTest = new FluxDataTest($data_test,array("pes_aller") );
+ $fluxDataTest = new FluxDataTest($data_test);
$this->annotationWrapper->setFluxData($fluxDataTest);
}
public function testConnecteur(){
- $fluxDataTest = new FluxDataTest(array(),array() );
+ $fluxDataTest = new FluxDataTest(array());
$this->annotationWrapper->setFluxData($fluxDataTest);
$this->annotationWrapper->setConnecteurInfo(array('service_versant_description'=>'FooBar'));
$xml = $this->generate();
'date_generation_acquit' => date('c'),
);
- $fluxDataTest = new FluxDataTest($data_test,array("pes_aller","fichier_reponse") );
+ $fluxDataTest = new FluxDataTest($data_test);
$annotationWrapper->setFluxData($fluxDataTest);
$annotationWrapper->setConnecteurInfo($connecteur_info);
'test_tableau' => array('un','deux','trois')
);
- $fluxDataTest = new FluxDataTest($data_test,array() );
+ $fluxDataTest = new FluxDataTest($data_test);
$annotationWrapper->setFluxData($fluxDataTest);
$annotationWrapper->setConnecteurInfo($connecteur_info);
$connecteur_info = array(
);
- $fluxDataTest = new FluxDataTest($data_test,array() );
+ $fluxDataTest = new FluxDataTest($data_test);
$annotationWrapper->setFluxData($fluxDataTest);
$annotationWrapper->setConnecteurInfo($connecteur_info);