Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 341 → Rev 342

/trunk/interfaces/controleurs/Informations.php
109,8 → 109,8
$parametres['ref'] = $this->referentiel;
$parametres['version'] = $_POST["version"];
$parametres['version'] = str_replace(".", "_", $parametres['version']);
$parametres['champs'] = implode(",",$_POST["champs"]);
$parametres['filtres'] = implode(",",$_POST["filtres"]);
if (isset($_POST["champs"])) $parametres['champs'] = implode(",",$_POST["champs"]);
if (isset($_POST["filtres"])) $parametres['filtres'] = implode(",",$_POST["filtres"]);
$this->supprimerAncienExport($dossier);
$ref = $this->referentielDao->exporter($parametres);
$meta = $this->metaDao->exporter($parametres);
/trunk/services/modules/Referentiel.php
208,33 → 208,35
chmod($dossier, 0777);
}
$fichier = $dossier.$ref."_".time().'.csv';
$champs = $this->formaterColonnes($p['champs'], $ref);
$requete = 'SELECT "'.implode('","', $champs['titre']).'" UNION (SELECT '.implode(', ',$champs['select']).
" INTO OUTFILE '".$fichier."' CHARACTER SET utf8 FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n' ".
" FROM $ref a left join $ref b on b.num_nom=a.num_nom_retenu";
 
if (isset($p['filtre']) && $p['filtre'] != "*") {
$param_filtres = explode(",",$p["filtre"]);
$dernier_filtre = array_pop($param_filtres);
$filtres = array("nnr"=>"a.num_nom = a.num_nom_retenu", "pre" => "a.presence = 'P'");
if (!isset($filtres[$dernier_filtre])) { // si il s'agit du filtre famille
$filtres["fam"] = "a.famille = '".$dernier_filtre."'";
$dernier_filtre = "fam";
if (isset($p['champs'])) {
$champs = $this->formaterColonnes($p['champs'], $ref);
$requete = 'SELECT "'.implode('","', $champs['titre']).'" UNION (SELECT '.implode(', ',$champs['select']).
" INTO OUTFILE '".$fichier."' CHARACTER SET utf8 FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '' LINES TERMINATED BY '\n' ".
" FROM $ref a left join $ref b on b.num_nom=a.num_nom_retenu";
if (isset($p['filtre']) && $p['filtre'] != "*") {
$param_filtres = explode(",",$p["filtre"]);
$dernier_filtre = array_pop($param_filtres);
$filtres = array("nnr"=>"a.num_nom = a.num_nom_retenu", "pre" => "a.presence = 'P'");
if (!isset($filtres[$dernier_filtre])) { // si il s'agit du filtre famille
$filtres["fam"] = "a.famille = '".$dernier_filtre."'";
$dernier_filtre = "fam";
}
array_push($param_filtres, $dernier_filtre);
$requete .= " WHERE ".implode(" AND ",array_intersect_key($filtres, array_flip($param_filtres)));
}
array_push($param_filtres, $dernier_filtre);
$requete .= " WHERE ".implode(" AND ",array_intersect_key($filtres, array_flip($param_filtres)));
}
$requete .= ")";
// Récupération des résultats
try {
$donnees = $this->bdd->query($requete);
if ($donnees === false) {
$this->messages[] = "La requête a retourné aucun résultat : $requete";
} else {
$info = $donnees;
$requete .= ")";
// Récupération des résultats
try {
$donnees = $this->bdd->query($requete);
if ($donnees === false) {
$this->messages[] = "La requête a retourné aucun résultat : $requete";
} else {
$info = $donnees;
}
} catch (PDOException $e) {
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()).$requete;
}
} catch (PDOException $e) {
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()).$requete;
}
return $fichier;