Subversion Repositories Applications.referentiel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 195 → Rev 194

/trunk/scripts/modules/versionnage/Versionnage.php
15,11 → 15,11
* @version $Id$
*/
// +-------------------------------------------------------------------------------------------------------------------+
// TODO : lors de la génération de la version 2 de la BDTFX tester les diff! Il se peut que la mémoire soit dépassée.
// TODO : utilisation de array_key_exists à la place de isset dans creerFichierBdnt() ????
class Versionnage extends ScriptCommande {
const SCRIPT_NOM = 'versionnage';
const MANUEL_VERSION = '4.2';
const MANUEL_VERSION = "4.1";
private $projet = null;
private $traitement = null;
196,12 → 196,6
$donnees = array();
$donnees['champs'] = $this->champs_nom;
$fichier_nom = $this->getBaseNomFichier().$this->manuel['ext_fichier_bdnt'];
$fichier_chemin = $this->zip_chemin_dossier.$fichier_nom;
$bdnt_tsv_entete = $this->getVue('versionnage/squelettes/bdnt_entete', array('champs' => $donnees['champs']), '.tpl.tsv');
$this->ecrireFichier($fichier_chemin, $bdnt_tsv_entete);
foreach ($this->noms as $id => &$nom) {
$infos = array();
foreach ($this->champs_ordre as $champ => $ordre) {
214,12 → 208,11
}
$infos = $this->remplacerTabulation($infos);
$infos = $this->remplacerSautsDeLigne($infos);
$this->noms[$id] = $infos;
$bdnt_tsv_ligne = $this->getVue('versionnage/squelettes/bdnt_ligne', array('nom_infos' => $infos), '.tpl.tsv');
$this->ajouterAuFichier($fichier_chemin, $bdnt_tsv_ligne);
$donnees['noms'][$id] = $infos;
}
$this->ecrireComplementFichierBdnt($fichier_chemin);
Debug::printr("Dernier element du tableau des noms [trié] : ".print_r($infos,true));
$bdnt_tsv =& $this->getVue('versionnage/squelettes/bdnt', &$donnees, '.tpl.tsv');
$this->ecrireFichierBdnt($bdnt_tsv);
return $donnees;
}
279,8 → 272,11
return $doc;
}
private function ecrireComplementFichierBdnt($fichier_chemin) {
if (file_exists($fichier_chemin)) {
private function ecrireFichierBdnt(&$contenu) {
$fichier_nom = $this->getBaseNomFichier().$this->manuel['ext_fichier_bdnt'];
$fichier_chemin = $this->zip_chemin_dossier.$fichier_nom;
if ($this->ecrireFichier($fichier_chemin, $contenu)) {
$this->ajouterMessage("Écriture du fichier bdnt réussie.");
$this->signature_md5 = md5_file($fichier_chemin);
$this->ajouterMessage("Signature MD5 du fichier bdnt :".$this->signature_md5);
297,7 → 293,8
Debug::printr(current($donnees['noms']));
$donnees['champs_partiel'] = $this->champs_nom_partiel;
$donnees['dernier_champ'] = end($this->champs_nom_partiel);
$this->ecrireFichierBdntPartielle($donnees);
$bdnt_partielle_tsv =& $this->getVue('versionnage/squelettes/bdnt_partiel', &$donnees, '.tpl.tsv');
$this->ecrireFichierBdntPartielle($bdnt_partielle_tsv);
}
private function definirChampsPartiel() {
305,21 → 302,11
Debug::printr("Champs partiels : ".print_r($this->champs_nom_partiel,true));
}
private function ecrireFichierBdntPartielle(&$donnees) {
private function ecrireFichierBdntPartielle(&$contenu) {
$fichier_nom = $this->getBaseNomFichier().$this->manuel['ext_fichier_bdnt'];
$fichier_chemin = $this->zip_chemin_dossier_partiel.$fichier_nom;
$bdnt_tsv_entete = $this->getVue('versionnage/squelettes/bdnt_partiel_entete', array('champs_partiel' => $donnees['champs_partiel']), '.tpl.tsv');
$this->ecrireFichier($fichier_chemin, $bdnt_tsv_entete);
foreach ($this->noms as $id => &$nom) {
$donnees['nom_infos'] = $nom;
$bdnt_tsv_ligne = $this->getVue('versionnage/squelettes/bdnt_partiel_ligne', $donnees, '.tpl.tsv');
if ($bdnt_tsv_ligne != '') {
$this->ajouterAuFichier($fichier_chemin, $bdnt_tsv_ligne);
}
}
if (file_exists($fichier_chemin)) {
if ($this->ecrireFichier($fichier_chemin, $contenu)) {
$this->ajouterMessage("Écriture du fichier de la bdnt partielle réussie.");
$this->signature_md5_partiel = md5_file($fichier_chemin);
$this->ajouterMessage("Signature MD5 du fichier bdnt partiel :".$this->signature_md5_partiel);
338,17 → 325,6
return $retour;
}
private function ajouterAuFichier($fichier_chemin, &$contenu) {
$retour = true;
if (file_put_contents($fichier_chemin, $contenu, FILE_APPEND) == false) {
$e = "Une erreur est survenu lors de l'ajout de données dans le fichier : $fichier_chemin";
$this->ajouterMessage($e);
$retour = false;
}
$contenu = null;
return $retour;
}
private function creerFichierDiff() {
$donnees = array();
$derniere_meta = $this->metaDao->getDerniere($this->projet);
/trunk/scripts/modules/versionnage/squelettes/bdnt_entete.tpl.tsv
File deleted
/trunk/scripts/modules/versionnage/squelettes/bdnt_partiel_entete.tpl.tsv
File deleted
/trunk/scripts/modules/versionnage/squelettes/bdnt_ligne.tpl.tsv
File deleted
/trunk/scripts/modules/versionnage/squelettes/bdnt_partiel_ligne.tpl.tsv
File deleted
\ No newline at end of file