| Line 94... |
Line 94... |
| 94 |
|
94 |
|
| 95 |
/**
|
95 |
/**
|
| 96 |
* Affiche le détail d'un référentiel et la liste des actions possibles
|
96 |
* Affiche le détail d'un référentiel et la liste des actions possibles
|
| 97 |
*/
|
97 |
*/
|
| 98 |
public function afficherDetail() {
|
- |
|
| 99 |
$donnees = array();
|
98 |
public function afficherDetail() {
|
| 100 |
$this->definirCommeModulePrincipal('Informations');
|
- |
|
| 101 |
|
- |
|
| 102 |
// Traitement de l'info sur le code du référentiel
|
- |
|
| 103 |
if (isset($this->referentiel)) {
|
- |
|
| 104 |
$this->construireMenu($this->referentiel);
|
- |
|
| 105 |
$this->construireFilAriane($this->referentiel);
|
- |
|
| 106 |
$donnees['referentiel'] = $this->referentiel;
|
- |
|
| 107 |
$donnees['nom_referentiel'] = $this->referentielDao->getNom($this->referentiel);
|
- |
|
| 108 |
$donnees['url_menu_test'] = $this->obtenirUrlMenuTest($this->referentiel);
|
- |
|
| 109 |
$donnees['url_menu_versionnage'] = $this->obtenirUrlMenuVersionnage($this->referentiel);
|
- |
|
| 110 |
$donnees['url_menu_consultation'] = $this->obtenirUrlMenuConsultation($this->referentiel);
|
99 |
$this->definirCommeModulePrincipal('Informations');
|
| 111 |
$donnees['url_form_telech'] = $this->obtenirUrlDetailReferentielTelechargement($this->referentiel);
|
- |
|
| 112 |
|
- |
|
| 113 |
// suppression du téléchargement pour bdbfx
|
- |
|
| 114 |
if ($this->referentiel != 'bdbfx') {
|
- |
|
| 115 |
$donnees['versions'] = $this->afficherFormulaireTelechargementsReferentiels();
|
- |
|
| 116 |
$donnees['infos_telechargements'] = $this->afficherTelechargementsReferentiels();
|
- |
|
| 117 |
$donnees['colonnesOrdonnees'] = $this->colonnesOrdonnees;
|
- |
|
| 118 |
}
|
- |
|
| 119 |
} else {
|
- |
|
| 120 |
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdtfx).");
|
- |
|
| 121 |
}
|
100 |
$donnees = $this->preparerPagePourDetailReferentielEtTelechargement();
|
| 122 |
|
101 |
|
| 123 |
$donnees['messages'] = $this->getMessages();
|
102 |
$donnees['messages'] = $this->getMessages();
|
| 124 |
$this->traiterEsperluette($donnees);
|
103 |
$this->traiterEsperluette($donnees);
|
| 125 |
$this->setSortie(self::RENDU_CORPS, $this->getVue('detail_referentiel', $donnees), false);
|
104 |
$this->setSortie(self::RENDU_CORPS, $this->getVue('detail_referentiel', $donnees), false);
|
| 126 |
}
|
105 |
}
|
| 127 |
|
106 |
|
| 128 |
public function telecharger() {
|
- |
|
| 129 |
//$this->afficherDetail();
|
107 |
public function telecharger() {
|
| 130 |
$dossier = Config::get('chemin_tmp');
|
108 |
$dossier = Config::get('chemin_tmp');
|
| 131 |
$parametres['ref'] = $this->referentiel;
|
109 |
$parametres['ref'] = $this->referentiel;
|
| 132 |
$parametres['version'] = $_POST["version"];
|
110 |
$parametres['version'] = $_POST["version"];
|
| 133 |
$parametres['version'] = str_replace(".", "_", $parametres['version']);
|
111 |
$parametres['version'] = str_replace(".", "_", $parametres['version']);
|
| 134 |
$parametres['champs'] = implode(",",$_POST["champs"]);
|
112 |
$parametres['champs'] = implode(",",$_POST["champs"]);
|
| 135 |
$parametres['filtres'] = implode(",",$_POST["filtres"]);
|
113 |
$parametres['filtres'] = implode(",",$_POST["filtres"]);
|
| 136 |
$this->supprimerAncienExport($dossier);
|
114 |
$this->supprimerAncienExport($dossier);
|
| 137 |
$ref = $this->referentielDao->exporter($parametres);
|
115 |
$ref = $this->referentielDao->exporter($parametres);
|
| Line 138... |
Line 116... |
| 138 |
$meta = $this->metaDao->exporter($parametres);
|
116 |
$meta = $this->metaDao->exporter($parametres);
|
| - |
|
117 |
|
| 139 |
|
118 |
$dossierDateEtNomDeFichier = date('Y_m_d').'/'.$this->referentiel.time().'.zip';
|
| 140 |
$cheminZip = $dossier.date('Y_m_d').'/'.$this->referentiel.time().'.zip';
|
119 |
$cheminZip = $dossier.$dossierDateEtNomDeFichier;
|
| 141 |
$zip = new ZipArchive();
|
- |
|
| 142 |
if($zip->open($cheminZip, ZipArchive::CREATE) === true) {
|
120 |
$zip = new ZipArchive();
|
| 143 |
echo "Ouverture du fichier [$cheminZip]<br/>";
|
121 |
if($zip->open($cheminZip, ZipArchive::CREATE) === true) {
|
| 144 |
// Ajout des fichiers métadonnées, référentiel et manuel technique
|
122 |
// Ajout des fichiers métadonnées, référentiel et manuel technique
|
| 145 |
$meta = str_replace("\\/", "/", $meta);
|
123 |
$meta = str_replace("\\/", "/", $meta);
|
| 146 |
if (file_exists($meta)) $metazip = $zip->addFile($meta, "informations.csv");
|
124 |
if (file_exists($meta)) $metazip = $zip->addFile($meta, "informations.csv");
|
| 147 |
if (file_exists($ref)) $refzip = $zip->addFile($ref, "referentiel.csv");
|
125 |
if (file_exists($ref)) $refzip = $zip->addFile($ref, "referentiel.csv");
|
| 148 |
if (file_exists($dossier.'mtpr_V4_4.pdf')) $zip->addFile($dossier.'mtpr_V4_4.pdf', 'manuel_technique.pdf');
|
126 |
if (file_exists($dossier.'mtpr_V4_4.pdf')) $zip->addFile($dossier.'mtpr_V4_4.pdf', 'manuel_technique.pdf');
|
| 149 |
// Et on referme l'archive
|
127 |
// Et on referme l'archive
|
| 150 |
$zip->close();
|
128 |
$zip->close();
|
| 151 |
} else {
|
129 |
} else {
|
| Line -... |
Line 130... |
| - |
|
130 |
echo "Erreur : impossible d'ouvrir le fichier [$cheminZip]<br/>";
|
| - |
|
131 |
}
|
| 152 |
echo "Impossible d'ouvrir le fichier [$cheminZip]<br/>";
|
132 |
|
| - |
|
133 |
// on revient à la page de détail, avec un lien de téléchargement en prime
|
| - |
|
134 |
$donnees = $this->preparerPagePourDetailReferentielEtTelechargement();
|
| - |
|
135 |
if (file_exists($cheminZip)) {
|
| - |
|
136 |
$urlLien = Config::get("base_url_telechargements") . $dossierDateEtNomDeFichier;
|
| - |
|
137 |
$donnees['url_telechargement_zip'] = $urlLien;
|
| - |
|
138 |
}
|
| - |
|
139 |
$this->setSortie(self::RENDU_CORPS, $this->getVue('detail_referentiel', $donnees), false);
|
| - |
|
140 |
}
|
| - |
|
141 |
|
| - |
|
142 |
// exécute la partie commune entre l'action "detail" et l'action "telecharger"
|
| 153 |
}
|
143 |
protected function preparerPagePourDetailReferentielEtTelechargement() {
|
| - |
|
144 |
$donnees = array();
|
| - |
|
145 |
// Traitement de l'info sur le code du référentiel
|
| - |
|
146 |
if (isset($this->referentiel)) {
|
| - |
|
147 |
$this->construireMenu($this->referentiel);
|
| - |
|
148 |
$this->construireFilAriane($this->referentiel);
|
| - |
|
149 |
$donnees['referentiel'] = $this->referentiel;
|
| - |
|
150 |
$donnees['nom_referentiel'] = $this->referentielDao->getNom($this->referentiel);
|
| - |
|
151 |
$donnees['url_menu_test'] = $this->obtenirUrlMenuTest($this->referentiel);
|
| - |
|
152 |
$donnees['url_menu_versionnage'] = $this->obtenirUrlMenuVersionnage($this->referentiel);
|
| - |
|
153 |
$donnees['url_menu_consultation'] = $this->obtenirUrlMenuConsultation($this->referentiel);
|
| - |
|
154 |
$donnees['url_form_telech'] = $this->obtenirUrlDetailReferentielTelechargement($this->referentiel);
|
| - |
|
155 |
|
| - |
|
156 |
// suppression du téléchargement pour bdbfx
|
| - |
|
157 |
if ($this->referentiel != 'bdbfx') {
|
| - |
|
158 |
$donnees['versions'] = $this->afficherFormulaireTelechargementsReferentiels();
|
| - |
|
159 |
$donnees['infos_telechargements'] = $this->afficherTelechargementsReferentiels();
|
| - |
|
160 |
$donnees['colonnesOrdonnees'] = $this->colonnesOrdonnees;
|
| 154 |
|
161 |
}
|
| - |
|
162 |
} else {
|
| 155 |
if (file_exists($cheminZip)) {
|
163 |
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdtfx).");
|
| 156 |
echo "<a href='".$zip."'>";
|
164 |
}
|
| 157 |
}
|
165 |
return $donnees;
|
| 158 |
}
|
166 |
}
|
| 159 |
|
167 |
|
| 160 |
private function supprimerAncienExport($dossier) {
|
168 |
private function supprimerAncienExport($dossier) {
|
| 161 |
$pointeur = opendir($dossier);
|
169 |
$pointeur = opendir($dossier);
|