Subversion Repositories Applications.referentiel

Compare Revisions

Ignore whitespace Rev 53 → Rev 54

/trunk/scripts/modules/versionnage/Versionnage.php
134,8 → 134,10
}
private function creerFichierBdnt() {
Debug::printr("Element courrant du tableau des noms : ".print_r(current($this->noms),true));
//Debug::printr("Taille mémoire du tableau des noms : ".Debug::tailleMemoireVar($this->noms));
$noms =& $this->noms;
reset($this->noms);
Debug::printr("Element courrant du tableau des noms : ".count($this->noms).'-'.print_r(current($this->noms),true));
$this->determinerOrdreDesChamps();
$this->definirNomDesChamps();
146,15 → 148,16
foreach ($nom as $champ => &$valeur) {
if (isset($this->champs_ordre[$champ])) {
$ordre = $this->champs_ordre[$champ];
$infos[$ordre] = trim($valeur);
$infos[(int) $ordre] = trim($valeur);
} else {
$e = "Le champ '$champ' n'a pas été pris en compte dans l'attribution de l'ordre des champs.";
$this->ajouterMessage($e);
}
}
ksort($infos);
$donnees['noms'][] = $infos;
}
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);
}
166,6 → 169,7
$champs_ordre = $this->attribuerOrdreChampsSupplémentaires($champs_ordre, $nom_courant);
asort($champs_ordre);
$this->champs_ordre = $champs_ordre;
Debug::printr("Ordre des champs : ".print_r($this->champs_ordre,true));
}
private function definirNomDesChamps() {
183,11 → 187,11
private function ajouterMessage($message) {
$titre = self::SCRIPT_NOM.' #'.$this->traitement['id_traitement'];
$this->messages[] = array($titre, $message);
$this->messages[] = array('message' => $message, 'resultat' => true);
}
private function ecrireFichierBdnt($contenu) {
$fichier_nom = $this->getBaseNomFichier().'_ref.txt';
$fichier_nom = $this->getBaseNomFichier().$this->manuel['ext_fichier_ref'];
$fichier_chemin = Config::get('chemin_referentiel_zip').$fichier_nom;
if ($this->ecrireFichier($fichier_chemin, $contenu)) {
194,8 → 198,7
$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);
$this->ajouterMessage("Nombre de noms traités : ".count($noms));
$this->ajouterMessage("Nombre de combinaisons traités : ".$this->noms_stat['combinaison']);
}
}
215,10 → 218,14
private function creerFichierDiff() {
$derniere_meta = $this->metaDao->getDerniere($this->projet);
if ($derniere_meta === false) {
if (is_null($derniere_meta === false)) {
$this->ajouterMessage("Un problème est survenu lors de la récupération des métadonnées précédentes.");
} else if (is_null($derniere_meta)) {
$this->ajouterMessage("Premier versionnage pour ce projet, aucun fichier différentiel ne sera créé.");
} else {
Debug::printr("Méta dernier enregistrement : ".print_r($derniere_meta,true));
$code_projet_precedent = strtolower($derniere_meta['code']).'_v'.str_replace('.', '_', $derniere_meta['version']);
Debug::printr("Code projet précédent : $code_projet_precedent");
$this->noms_precedents = $this->referentielDao->getTout($code_projet_precedent);
$donnees = array();
$donnees['diff'] = $this->realiserDiff();
241,7 → 248,7
$this->noms_stat['modification']++;
} else {
$nom_precedent =& $this->noms_precedents[$id];
$nom_diff = array_diff_assoc($noms, $nom_precedent);
$nom_diff = array_diff_assoc($nom, $nom_precedent);
if (count($nom_diff) > 0) {
$this->noms_stat['modification']++;
$modif['modification_type'] = 'M';
281,7 → 288,7
}
private function ecrireFichierDiff($contenu) {
$fichier_nom = $this->getBaseNomFichier().'diff.txt';
$fichier_nom = $this->getBaseNomFichier().$this->manuel['ext_fichier_diff'];
$fichier_chemin = Config::get('chemin_referentiel_zip').$fichier_nom;
if ($this->ecrireFichier($fichier_chemin, $contenu)) {
299,7 → 306,7
}
private function ecrireFichierMeta($contenu) {
$fichier_nom = $this->getBaseNomFichier().'_meta.txt';
$fichier_nom = $this->getBaseNomFichier().$this->manuel['ext_fichier_meta'];
$fichier_chemin = Config::get('chemin_referentiel_zip').$fichier_nom;
if ($this->ecrireFichier($fichier_chemin, $contenu)) {
333,7 → 340,9
private function traiterMessages() {
if (isset($this->messages)) {
$num_message = 1;
foreach ($this->messages as $message) {
$message['nom'] = 'Message #'.$num_message++;
$this->resultatDao->ajouter($this->traitement['id_traitement'], $message);
}
}
/trunk/scripts/modules/versionnage/squelettes/meta.tpl.tsv
1,22 → 1,43
titre <?=$titre?>
code <?=$acronyme?>
domaine_taxo <?=$dom_tax?>
domaine_geo <?=$dom_geo?>
domaine_nom <?=$dom_code?>
classification <?=$classification?>
version <?=$version?>
auteur <?=$auteur_principal?>
coordinateur <?=$coordinateur?>
contributeur <?=$contributeur?>
contributeur <?=$contributeur?>
date_production <?=$date_prod?>
source <?=$source?>
contact <?=$contact?>
editeur <?=$editeur?>
droit <?=$copyright?>
licence <?=$licence?>
referencement <?=$referencement?>
stat_combinaison <?=$stats['combinaison']?>
stat_taxon <?=$stats['taxon']?>
stat_modification <?=$stats['modification']?>
titre <?=$titre?>
 
code <?=$acronyme?>
 
domaine_taxo <?=$dom_tax?>
 
domaine_geo <?=$dom_geo?>
 
domaine_nom <?=$dom_code?>
 
classification <?=$classification?>
 
version <?=$version?>
 
auteur <?=$auteur_principal?>
 
coordinateur <?=$coordinateur?>
 
contributeur <?=$contributeur?>
 
contributeur <?=$contributeur?>
 
date_production <?=$date_prod?>
 
source <?=$source?>
 
contact <?=$contact?>
 
editeur <?=$editeur?>
 
droit <?=$copyright?>
 
licence <?=$licence?>
 
referencement <?=$referencement?>
 
stat_combinaison <?=$stats['combinaison']?>
 
stat_taxon <?=$stats['taxon']?>
 
stat_modification <?=$stats['modification']?>
 
signature <?=$signature?>
/trunk/scripts/modules/versionnage/squelettes/bdnt.tpl.tsv
1,6 → 1,6
<?=implode("\t", $champs)?>
 
<?php foreach ($noms as $nom_infos) : ?>
<?=implode("\t", $nom_infos)?>
 
<?=implode("\t", $champs)?>
 
<?php foreach ($noms as $nom_infos) : ?>
<?=implode("\t", $nom_infos)?>
 
<?php endforeach; ?>
/trunk/scripts/modules/versionnage/squelettes/diff.tpl.tsv
1,6 → 1,6
<?=implode("\t", $champs)?>
 
<?php foreach ($diff as $nom_infos) : ?>
<?=implode("\t", $nom_infos)?>
 
<?=implode("\t", $champs)?>
 
<?php foreach ($diff as $nom_infos) : ?>
<?=implode("\t", $nom_infos)?>
 
<?php endforeach; ?>