Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 328 → Rev 329

/trunk/interfaces/controleurs/Informations.php
96,37 → 96,15
* Affiche le détail d'un référentiel et la liste des actions possibles
*/
public function afficherDetail() {
$donnees = array();
$this->definirCommeModulePrincipal('Informations');
// Traitement de l'info sur le code du référentiel
if (isset($this->referentiel)) {
$this->construireMenu($this->referentiel);
$this->construireFilAriane($this->referentiel);
$donnees['referentiel'] = $this->referentiel;
$donnees['nom_referentiel'] = $this->referentielDao->getNom($this->referentiel);
$donnees['url_menu_test'] = $this->obtenirUrlMenuTest($this->referentiel);
$donnees['url_menu_versionnage'] = $this->obtenirUrlMenuVersionnage($this->referentiel);
$donnees['url_menu_consultation'] = $this->obtenirUrlMenuConsultation($this->referentiel);
$donnees['url_form_telech'] = $this->obtenirUrlDetailReferentielTelechargement($this->referentiel);
// suppression du téléchargement pour bdbfx
if ($this->referentiel != 'bdbfx') {
$donnees['versions'] = $this->afficherFormulaireTelechargementsReferentiels();
$donnees['infos_telechargements'] = $this->afficherTelechargementsReferentiels();
$donnees['colonnesOrdonnees'] = $this->colonnesOrdonnees;
}
} else {
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdtfx).");
}
$donnees = $this->preparerPagePourDetailReferentielEtTelechargement();
 
$donnees['messages'] = $this->getMessages();
$this->traiterEsperluette($donnees);
$this->setSortie(self::RENDU_CORPS, $this->getVue('detail_referentiel', $donnees), false);
}
 
public function telecharger() {
//$this->afficherDetail();
$dossier = Config::get('chemin_tmp');
$parametres['ref'] = $this->referentiel;
$parametres['version'] = $_POST["version"];
137,10 → 115,10
$ref = $this->referentielDao->exporter($parametres);
$meta = $this->metaDao->exporter($parametres);
 
$cheminZip = $dossier.date('Y_m_d').'/'.$this->referentiel.time().'.zip';
$dossierDateEtNomDeFichier = date('Y_m_d').'/'.$this->referentiel.time().'.zip';
$cheminZip = $dossier.$dossierDateEtNomDeFichier;
$zip = new ZipArchive();
if($zip->open($cheminZip, ZipArchive::CREATE) === true) {
echo "Ouverture du fichier [$cheminZip]<br/>";
if($zip->open($cheminZip, ZipArchive::CREATE) === true) {
// Ajout des fichiers métadonnées, référentiel et manuel technique
$meta = str_replace("\\/", "/", $meta);
if (file_exists($meta)) $metazip = $zip->addFile($meta, "informations.csv");
149,14 → 127,44
// Et on referme l'archive
$zip->close();
} else {
echo "Impossible d'ouvrir le fichier [$cheminZip]<br/>";
echo "Erreur : impossible d'ouvrir le fichier [$cheminZip]<br/>";
}
 
// on revient à la page de détail, avec un lien de téléchargement en prime
$donnees = $this->preparerPagePourDetailReferentielEtTelechargement();
if (file_exists($cheminZip)) {
echo "<a href='".$zip."'>";
$urlLien = Config::get("base_url_telechargements") . $dossierDateEtNomDeFichier;
$donnees['url_telechargement_zip'] = $urlLien;
}
$this->setSortie(self::RENDU_CORPS, $this->getVue('detail_referentiel', $donnees), false);
}
 
// exécute la partie commune entre l'action "detail" et l'action "telecharger"
protected function preparerPagePourDetailReferentielEtTelechargement() {
$donnees = array();
// Traitement de l'info sur le code du référentiel
if (isset($this->referentiel)) {
$this->construireMenu($this->referentiel);
$this->construireFilAriane($this->referentiel);
$donnees['referentiel'] = $this->referentiel;
$donnees['nom_referentiel'] = $this->referentielDao->getNom($this->referentiel);
$donnees['url_menu_test'] = $this->obtenirUrlMenuTest($this->referentiel);
$donnees['url_menu_versionnage'] = $this->obtenirUrlMenuVersionnage($this->referentiel);
$donnees['url_menu_consultation'] = $this->obtenirUrlMenuConsultation($this->referentiel);
$donnees['url_form_telech'] = $this->obtenirUrlDetailReferentielTelechargement($this->referentiel);
// suppression du téléchargement pour bdbfx
if ($this->referentiel != 'bdbfx') {
$donnees['versions'] = $this->afficherFormulaireTelechargementsReferentiels();
$donnees['infos_telechargements'] = $this->afficherTelechargementsReferentiels();
$donnees['colonnesOrdonnees'] = $this->colonnesOrdonnees;
}
} else {
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdtfx).");
}
return $donnees;
}
 
private function supprimerAncienExport($dossier) {
$pointeur = opendir($dossier);
// si pas d'erreur d'ouverture du dossier on lance le scan