15,6 → 15,7 |
class Traitement extends AppliControleur { |
|
private $referentiel = null; |
private $traitement = null; |
private $traitementId = null; |
private $traitementDao = null; |
private $resultatDao = null; |
57,11 → 58,15 |
// Recherche d'info sur le traitement |
$infos = $this->traitementDao->getInfos($this->traitementId); |
if ($infos != false) { |
$donnees['traitement'] = $infos; |
$this->traitement = $infos; |
$donnees['traitement'] = $this->traitement; |
} else { |
$this->addMessage("L'identifiant de traitement n'est pas indexé dans la base de données."); |
} |
|
|
// Spécificité du script de versionnage |
$donnees['urls_zip'] = $this->traiterScriptVersionnage(); |
|
// Recherche des résultats du traitement |
$infos = $this->resultatDao->getResultatsTraitement($this->traitementId); |
if ($infos != false) { |
81,5 → 86,30 |
$this->construireMenu($this->referentiel); |
$this->construireFilAriane($this->referentiel, $this->traitementId); |
} |
|
private function traiterScriptVersionnage() { |
$urls_zip = null; |
if (isset($this->traitement['script']) && $this->traitement['script'] == 'versionnage') { |
$meta = unserialize($this->traitement['script_parametres']); |
$projet = strtolower($this->traitement['referentiel_code']); |
$version = str_replace('.', '_', $meta['version']); |
$fichier_zip_bdnt = $projet.'_v'.$version.'.zip'; |
$fichier_zip_partiel = $projet.'_v'.$version.'_partiel.zip'; |
$url_zip_bdnt = sprintf(Config::get('url_zip_tpl'), $fichier_zip_bdnt); |
if ($this->testerUrl($url_zip_bdnt)) { |
$urls_zip[$fichier_zip_bdnt] = $url_zip_bdnt; |
} |
$url_zip_partiel = sprintf(Config::get('url_zip_tpl'), $fichier_zip_partiel); |
if ($this->testerUrl($url_zip_partiel)) { |
$urls_zip[$fichier_zip_partiel] = $url_zip_partiel; |
} |
} |
return $urls_zip; |
} |
|
private function testerUrl($url) { |
ini_set('allow_url_fopen', '1'); |
return (@fclose(@fopen($url, 'r'))) ? true : false; |
} |
} |
?> |