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);
|