/trunk/bibliotheque/dao/TraitementDao.php |
---|
42,8 → 42,8 |
* @param string le code du projet de référentiel. |
* @return mixed un tableau contenant les informations sur les traitements en attente ou false en cas d'échec. |
*/ |
public function getTraitementsEnAttente($code_projet) { |
$url = $this->url."/EnAttente/$code_projet"; |
public function getTraitementsEnAttente($code_projet, $script) { |
$url = $this->url."/EnAttente/$code_projet/$script"; |
$json = $this->envoyerRequeteConsultation($url); |
$traitements = json_decode($json, true); |
56,8 → 56,8 |
* @param string le code du projet de référentiel. |
* @return mixed un tableau contenant les informations sur les traitements en cours ou false en cas d'échec. |
*/ |
public function getTraitementsEnCours($code_projet) { |
$url = $this->url."/EnCours/$code_projet"; |
public function getTraitementsEnCours($code_projet, $script) { |
$url = $this->url."/EnCours/$code_projet/$script"; |
$json = $this->envoyerRequeteConsultation($url); |
$traitements = json_decode($json, true); |
98,8 → 98,8 |
* @param string le code du projet de référentiel. |
* @return mixed un tableau contenant les informations sur les traitements terminés ou false en cas d'échec. |
*/ |
public function getTraitementsTermines($code_projet) { |
$url = $this->url."/Termines/$code_projet"; |
public function getTraitementsTermines($code_projet, $script) { |
$url = $this->url."/Termines/$code_projet/$script"; |
$json = $this->envoyerRequeteConsultation($url); |
$traitements = json_decode($json, true); |
112,9 → 112,10 |
* @param string le code du référentiel. |
* @return mixed l'id du traitement ou false en cas d'échec. |
*/ |
public function ajouterTraitement($code_projet) { |
public function ajouterTraitement($code_projet, $script) { |
// Préparation des données à passer par POST |
$donnees['referentiel_code'] = $code_projet; |
$donnees['script'] = $script; |
// Envoie des données et récupération du retour |
$json = $this->envoyerRequeteAjout($this->url, $donnees); |
/trunk/interfaces/squelettes/form_version.tpl.html |
---|
10,20 → 10,20 |
}); |
}); |
</script> |
<h1>Versionnage du référentiel « <?=$ref;?> »</h1> |
<h1>Versionnage du référentiel « <?=$ref?> »</h1> |
<?php if (isset($messages)) : ?> |
<h2>Messages</h2> |
<?php foreach ($messages as $message) : ?> |
<p class="information"><?=$message;?></p> |
<p class="information"><?=$message?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
<div id="zone-form-version"> |
<form id="ref-demande-versionnage" name="ref-demande-versionnage" action="<?=$url_form;?>" method="get"> |
<input name="module" type="hidden" value="<?=$url_module;?>" /> |
<input name="action" type="hidden" value="<?=$url_action_demande;?>" /> |
<input name="ref" type="hidden" value="<?=$ref;?>" /> |
<form id="ref-demande-versionnage" name="ref-demande-versionnage" action="<?=$url_form?>" method="get"> |
<input name="module" type="hidden" value="<?=$url_module?>" /> |
<input name="action" type="hidden" value="<?=$url_action_demande?>" /> |
<input name="ref" type="hidden" value="<?=$ref?>" /> |
<fieldset> |
<legend>Général</legend> |
138,4 → 138,55 |
<input id="ref-versionnage-ok" type="submit" value="Versionner" /> |
</form> |
</div> |
<h2>Versions</h2> |
<table> |
<caption>Versions <?=strftime('à %H:%M:%S le %d %B %Y')?></caption> |
<thead> |
<tr> |
<th>Nom (#)</th> |
<th>État</th> |
<th>Date début</th> |
<th>Date fin</th> |
<th>Durée</th> |
</tr> |
</thead> |
<tbody> |
<?php if (isset($traitements_en_attente)) : ?> |
<?php foreach ($traitements_en_attente as $traitement) : ?> |
<tr> |
<td><?=$traitement['nom']?> <span class="discretion">(id:<?=$traitement['id_traitement']?>)</span></a></td> |
<td class="traitement-attente">En attente...</td> |
<td> </td> |
<td> </td> |
<td> </td> |
</tr> |
<?php endforeach; ?> |
<?php endif; ?> |
<?php if (isset($traitements_en_cours)) : ?> |
<?php foreach ($traitements_en_cours as $traitement) : ?> |
<tr> |
<td><?=$traitement['nom']?> <span class="discretion">(id:<?=$traitement['id_traitement']?>)</span></a></td> |
<td class="traitement-cours">En cours...</td> |
<td><?=$traitement['date_debut']?></td> |
<td> </td> |
<td> </td> |
</tr> |
<?php endforeach; ?> |
<?php endif; ?> |
<?php if (isset($traitements_termines)) : ?> |
<?php foreach ($traitements_termines as $traitement) : ?> |
<tr> |
<td><a href="<?=$traitement['url']?>"><?=$traitement['nom']?> <span class="discretion">(id:<?=$traitement['id_traitement']?>)</span></a></td> |
<td class="traitement-termine">Terminé</td> |
<td><?=$traitement['date_debut']?></td> |
<td><?=$traitement['date_fin']?></td> |
<td><?=$traitement['duree']?></td> |
</tr> |
<?php endforeach; ?> |
<?php endif; ?> |
</tbody> |
</table> |
<!-- REF - FIN VERSIONNAGE --> |
/trunk/interfaces/squelettes/form_traitement.tpl.html |
---|
38,76 → 38,52 |
<?php endforeach; ?> |
<?php endif; ?> |
<h2>Traitements en attente <?=strftime('à %H:%M:%S le %d %B %Y')?></h2> |
<?php if (isset($traitements_en_attente)) : ?> |
<h2>Tests</h2> |
<table> |
<caption>Traitements en attente</caption> |
<caption>Traitements <?=strftime('à %H:%M:%S le %d %B %Y')?></caption> |
<thead> |
<tr> |
<th>Nom (#)</th> |
<th>Date de la demande</th> |
<th>État</th> |
<th>Date début</th> |
<th>Date fin</th> |
<th>Durée</th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($traitements_en_attente as $traitement) : ?> |
<?php if (isset($traitements_en_attente)) : ?> |
<?php foreach ($traitements_en_attente as $traitement) : ?> |
<tr> |
<td><?=$traitement['nom']?> <span class="discretion">(id:<?=$traitement['id_traitement']?>)</span></td> |
<td><?=$traitement['meta_date_creation']?></td> |
<td><?=$traitement['nom']?> <span class="discretion">(id:<?=$traitement['id_traitement']?>)</span></a></td> |
<td class="traitement-attente">En attente...</td> |
<td> </td> |
<td> </td> |
<td> </td> |
</tr> |
<?php endforeach; ?> |
</tbody> |
</table> |
<?php else : ?> |
<p class="information">Aucun traitement en attente.</p> |
<?php endif; ?> |
<h2>Traitements en cours</h2> |
<?php if (isset($traitements_en_cours)) : ?> |
<table> |
<caption>Traitements en cours</caption> |
<thead> |
<?php endforeach; ?> |
<?php endif; ?> |
<?php if (isset($traitements_en_cours)) : ?> |
<?php foreach ($traitements_en_cours as $traitement) : ?> |
<tr> |
<th>Nom (#)</th> |
<th>Date début</th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($traitements_en_cours as $traitement) : ?> |
<tr> |
<td><?=$traitement['nom']?> <span class="discretion">(id:<?=$traitement['id_traitement']?>)</span></td> |
<td><?=$traitement['nom']?> <span class="discretion">(id:<?=$traitement['id_traitement']?>)</span></a></td> |
<td class="traitement-cours">En cours...</td> |
<td><?=$traitement['date_debut']?></td> |
<td> </td> |
<td> </td> |
</tr> |
<?php endforeach; ?> |
</tbody> |
</table> |
<?php else : ?> |
<p class="information">Aucun traitement en cours.</p> |
<?php endif; ?> |
<h2>Traitements terminés</h2> |
<?php if (isset($traitements_termines)) : ?> |
<table> |
<caption>Traitements terminées</caption> |
<thead> |
<?php endforeach; ?> |
<?php endif; ?> |
<?php if (isset($traitements_termines)) : ?> |
<?php foreach ($traitements_termines as $traitement) : ?> |
<tr> |
<th>Nom (#)</th> |
<th>Date début</th> |
<th>Date fin</th> |
<th>Durée</th> |
</tr> |
</thead> |
<tbody> |
<?php foreach ($traitements_termines as $traitement) : ?> |
<tr> |
<td><a href="<?=$traitement['url']?>"><?=$traitement['nom']?> <span class="discretion">(id:<?=$traitement['id_traitement']?>)</span></a></td> |
<td class="traitement-termine">Terminé</td> |
<td><?=$traitement['date_debut']?></td> |
<td><?=$traitement['date_fin']?></td> |
<td><?=$traitement['duree']?></td> |
</tr> |
<?php endforeach; ?> |
<?php endforeach; ?> |
<?php endif; ?> |
</tbody> |
</table> |
<?php else : ?> |
<p class="information">Aucun traitement terminé.</p> |
<?php endif; ?> |
<!-- REF - FIN TEST --> |
/trunk/interfaces/controleurs/Test.php |
---|
15,6 → 15,8 |
*/ |
class Test extends AppliControleur { |
const SCRIPT_A_LANCER = 'tests'; |
private $referentiel = null; |
private $traitementDao = null; |
53,20 → 55,15 |
// Traitement de l'info sur le code du référentiel |
if (isset($this->referentiel)) { |
$donnees['ref'] = $this->referentiel; |
// Recherche des traitements en attente |
$resultat = $this->traitementDao->getTraitementsEnAttente($this->referentiel); |
if (is_array($resultat)) { |
$donnees['traitements_en_attente'] = $resultat; |
} |
$donnees['traitements_en_attente'] = $this->traitementDao->getTraitementsEnAttente($this->referentiel, self::SCRIPT_A_LANCER); |
// Recherche des traitements en cours d'éxecution |
$resultat = $this->traitementDao->getTraitementsEnCours($this->referentiel); |
if (is_array($resultat)) { |
$donnees['traitements_en_cours'] = $resultat; |
} |
$donnees['traitements_en_cours'] = $this->traitementDao->getTraitementsEnCours($this->referentiel, self::SCRIPT_A_LANCER); |
// Recherche des traitements déjà effectué |
$resultat = $this->traitementDao->getTraitementsTermines($this->referentiel); |
$resultat = $this->traitementDao->getTraitementsTermines($this->referentiel, self::SCRIPT_A_LANCER); |
if (is_array($resultat)) { |
// Ajout de l'url vers la fiche du traitement |
foreach ($resultat as &$traitement) { |
76,7 → 73,7 |
} |
} else { |
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdnff)."); |
} |
} |
$donnees['messages'] = $this->getMessages(); |
$this->setSortie(self::RENDU_CORPS, $this->getVue('form_traitement', $donnees), false); |
88,73 → 85,8 |
* Lance l'ajout d'un traitement |
*/ |
public function demanderTraitement() { |
$this->ajouterTraitement(); |
$this->ajouterTraitement($this->referentiel, self::SCRIPT_A_LANCER); |
$this->afficherInterface(); |
} |
/** |
* Lance l'ajout d'un traitement |
*/ |
private function ajouterTraitement() { |
if (!isset($this->referentiel)) { |
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdnff)."); |
} else { |
$resultat_traitement_en_attente = $this->traitementDao->getTraitementsEnAttente($this->referentiel); |
if ($resultat_traitement_en_attente) { |
$this->addMessage("Un traitement est déjà en attente..."); |
} else { |
$resultat_traitement_en_cours = $this->traitementDao->getTraitementsEnCours($this->referentiel); |
if ($resultat_traitement_en_cours) { |
$this->addMessage("Un traitement est déjà en cours..."); |
} else { |
$resultat = $this->traitementDao->ajouterTraitement($this->referentiel); |
if ($resultat != false) { |
$this->addMessage("Le traitement #'$resultat' a été ajouté."); |
$this->lancerScript(); |
} else { |
$this->addMessage("Un problème est survenu lors de la tentative d'ajout du traitement."); |
} |
} |
} |
} |
} |
/** |
* Lance le script d'execution des traitements |
*/ |
private function lancerScript() { |
$php = Config::get('chemin_bin_php'); |
$exe = Config::get('chemin_script'); |
$script = 'tests'; |
$projet = $this->referentiel; |
$action = 'tout'; |
$log = Config::get('chemin_script_log'); |
$commande = "$php -d memory_limit=1073741824 -f $exe $script -p $projet -a $action > $log &"; |
$message_erreur_tpl = "%s\n.". |
"Il est nécessaire de configurer le lancement du script via une tache dans le cron.\n". |
"La commande à lancer est : <code>$commande</code>"; |
if ($this->verifierSafeModeOff() === false) { |
$e = "Le safe_mode est actif sur ce serveur."; |
$this->addMessage(sprintf($message_erreur_tpl, $e)); |
} else if ($this->verifierAccesFonctionExec() === false) { |
$e = "La fonction 'exec()' fait partie des fonctions désactivées sur ce serveur (voir disable_functions)."; |
$this->addMessage(sprintf($message_erreur_tpl, $e)); |
} else { |
//Debug::printr($commande); |
$this->addMessage("Lancement du script effectuant les traitements."); |
exec($commande); |
} |
} |
private function verifierSafeModeOff() { |
return ('1' == ini_get('safe_mode')) ? false : true; |
} |
private function verifierAccesFonctionExec() { |
$disabled = explode(', ', ini_get('disable_functions')); |
return !in_array('exec', $disabled); |
} |
} |
?> |
/trunk/interfaces/controleurs/Versionnage.php |
---|
14,8 → 14,11 |
*/ |
class Versionnage extends AppliControleur { |
const SCRIPT_A_LANCER = 'versionnage'; |
private $manuel = null; |
private $referentiel = null; |
private $traitementDao = null; |
public function __construct() { |
parent::__construct(); |
24,8 → 27,11 |
if (isset($_GET['ref'])) { // code du projet courrant |
$this->referentiel = strtolower($_GET['ref']); |
} |
// Chargement des infos du manuel technique des référentiels |
$this->manuel = parse_ini_file(Config::get('chemin_appli').DS.'..'.DS.'configurations'.DS.'referentiel_v2.1.ini'); |
$this->manuel = parse_ini_file(Config::get('chemin_appli').DS.'..'.DS.'configurations'.DS.'referentiel_v2.1.ini'); |
// Chargement des DAO nécessaires |
$this->traitementDao = new TraitementDao(); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
42,6 → 48,7 |
*/ |
public function afficherInterface() { |
$donnees = array(); |
// Paramêtres pour l'url du formulaire |
$this->url->unsetVariablesRequete(array('module', 'action', 'ref')); |
$donnees['url_form'] = $this->url->getUrl(); |
66,9 → 73,41 |
} |
} |
// Traitement de l'info sur le code du référentiel |
if (isset($this->referentiel)) { |
// Récupération du référentiel courrant |
$donnees['ref'] = $this->referentiel; |
// Recherche des traitements en attente |
$donnees['traitements_en_attente'] = $this->traitementDao->getTraitementsEnAttente($this->referentiel, self::SCRIPT_A_LANCER); |
// Recherche des traitements en cours d'éxecution |
$donnees['traitements_en_cours'] = $this->traitementDao->getTraitementsEnCours($this->referentiel, self::SCRIPT_A_LANCER); |
// Recherche des traitements déjà effectué |
$resultat = $this->traitementDao->getTraitementsTermines($this->referentiel, self::SCRIPT_A_LANCER); |
if (is_array($resultat)) { |
// Ajout de l'url vers la fiche du traitement |
foreach ($resultat as &$traitement) { |
$traitement['url'] = $this->obtenirUrlFicheTraitement($this->referentiel, $traitement['id_traitement']); |
} |
$donnees['traitements_termines'] = $resultat; |
} |
} else { |
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdnff)."); |
} |
$this->setSortie(self::RENDU_CORPS, $this->getVue('form_version', $donnees), false); |
$this->construireMenu($this->referentiel); |
$this->construireFilAriane($this->referentiel); |
} |
/** |
* Lance l'ajout d'un traitement |
*/ |
public function demanderTraitement() { |
$this->ajouterTraitement($this->referentiel, self::SCRIPT_A_LANCER); |
$this->afficherInterface(); |
} |
} |
?> |
/trunk/interfaces/controleurs/AppliControleur.php |
---|
259,4 → 259,69 |
$this->url->unsetVariablesRequete(array('module', 'id-r', 'ref')); |
return $url; |
} |
/** |
* Lance l'ajout d'un traitement |
*/ |
protected function ajouterTraitement($referentiel_code, $script_nom) { |
if (is_null($referentiel_code)) { |
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdnff)."); |
} else { |
$traitementDao = new TraitementDao(); |
$resultat_traitement_en_attente = $traitementDao->getTraitementsEnAttente($referentiel_code, $script_nom); |
if ($resultat_traitement_en_attente) { |
$this->addMessage("Un traitement est déjà en attente..."); |
} else { |
$resultat_traitement_en_cours = $traitementDao->getTraitementsEnCours($referentiel_code, $script_nom); |
if ($resultat_traitement_en_cours) { |
$this->addMessage("Un traitement est déjà en cours..."); |
} else { |
$resultat = $traitementDao->ajouterTraitement($referentiel_code, $script_nom); |
if ($resultat != false) { |
$this->addMessage("Le traitement #'$resultat' a été ajouté."); |
$this->lancerScript($referentiel_code, $script_nom); |
} else { |
$this->addMessage("Un problème est survenu lors de la tentative d'ajout du traitement."); |
} |
} |
} |
} |
} |
/** |
* Lance le script d'execution des traitements |
*/ |
protected function lancerScript($referentiel_code, $script_nom) { |
$php = Config::get('chemin_bin_php'); |
$exe = Config::get('chemin_script'); |
$action = 'tout'; |
$log = Config::get('chemin_script_log'); |
$commande = "$php -d memory_limit=1073741824 -f $exe $script_nom -p $referentiel_code -a $action > $log &"; |
if ($this->verifierSafeModeOff() === false) { |
$e = "Le safe_mode est actif sur ce serveur."; |
} else if ($this->verifierAccesFonctionExec() === false) { |
$e = "La fonction 'exec()' fait partie des fonctions désactivées sur ce serveur (voir disable_functions)."; |
} else { |
$this->addMessage("Lancement du script effectuant les traitements."); |
exec($commande); |
} |
// Affichage des message de paramêtrage du serveur si nécessaire |
if (Config::get('script_messages') == true) { |
$message_erreur_tpl = "%s\n.". |
"Il est nécessaire de configurer le lancement du script via une tache dans le cron.\n". |
"La commande à lancer est : <code>$commande</code>"; |
$this->addMessage(sprintf($message_erreur_tpl, $e)); |
} |
} |
private function verifierSafeModeOff() { |
return ('1' == ini_get('safe_mode')) ? false : true; |
} |
private function verifierAccesFonctionExec() { |
$disabled = explode(', ', ini_get('disable_functions')); |
return !in_array('exec', $disabled); |
} |
} |
/trunk/interfaces/configurations/referentiel_v2.1.ini |
---|
File deleted |
\ No newline at end of file |
/trunk/interfaces/configurations/config.default.ini |
---|
41,14 → 41,18 |
; +------------------------------------------------------------------------------------------------------+ |
; Spécifique à l'application |
; Scripts |
; Chemin vers le binaire php |
chemin_bin_php = "/opt/lampp/bin/php" |
; Chemin vers le fichier principal de lancement des scripts |
chemin_script = "{ref:chemin_appli}../scripts/script.php" |
; Chemin du fichier où les log des scripts sont stockés |
chemin_script_log = "{ref:chemin_appli}../log.txt" |
; Doit on afficher les messages de paramêtrage du serveur pour les scripts |
script_message = "php:true"; |
; Url du Jrest utilisé pour les services web fournissant les données à l'application |
url_jrest = "{ref:url_base}services/" |
; Nom du fichier contenant les infos sur la version courante du manuel technique |
manuel = "referentiel_v2.1.ini" |
; +------------------------------------------------------------------------------------------------------+ |
; Spécifique au module Consultation |
; Nombre de résultats par page par défaut |
resultat_par_page_defaut = "50" |
; Nombre de résultats par page, choix proposés |
resultat_par_page_choix = "20,50,100,200" |
manuel = "referentiel_v2.1.ini" |
/trunk/services/modules/Ref.php |
---|
68,9 → 68,6 |
$this->envoyerEnteteMessage(); |
} else { |
$sortie = $donnees; |
if (is_null($donnees)) { |
$sortie = 'OK'; |
} |
} |
// Gestion de l'envoie du déboguage |
/trunk/services/modules/Traitement.php |
---|
19,7 → 19,7 |
*/ |
public function getElement($params_url = array()) { |
// Initialisation des variables |
$info = array(); |
$info = null; |
// Nour recherchons le type de requête demandé |
$p = $this->traiterParametresUrl(array('type'), $params_url, false); |
95,6 → 95,8 |
$donnees = $this->bdd->query($requete)->fetch(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} else if (0 == count($donnees)) { |
$donnees = null; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
110,14 → 112,15 |
* Retourne les infos sur les traitements en attente. |
*/ |
public function getElementEnAttente($params_url) { |
$p = $this->traiterParametresUrl(array('projet'), $params_url); |
$p = $this->traiterParametresUrl(array('projet', 'script'), $params_url); |
extract($p); |
$donnees = false; |
if (!is_null($projet)) { |
$donnees = null; |
if (isset($projet) && isset($script)) { |
$requete = ($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM ref_traitement '. |
"WHERE referentiel_code = $projet ". |
" AND script = $script ". |
' AND date_debut IS NULL '. |
' AND date_fin IS NULL '. |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'meta_date_creation DESC').' '; |
127,12 → 130,15 |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} else if (0 == count($donnees)) { |
$donnees = null; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
} else { |
$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff)."; |
$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff) ". |
"et le code du script à lancer comme second paramêtre (ex. : tests ou versionnage)."; |
} |
return $donnees; |
142,14 → 148,15 |
* Retourne les infos sur les traitements en cours. |
*/ |
public function getElementEnCours($params_url) { |
$p = $this->traiterParametresUrl(array('projet'), $params_url); |
$p = $this->traiterParametresUrl(array('projet', 'script'), $params_url); |
extract($p); |
$donnees = false; |
if (!is_null($projet)) { |
$donnees = null; |
if (isset($projet) && isset($script)) { |
$requete = ($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM ref_traitement '. |
"WHERE referentiel_code = $projet ". |
" AND script = $script ". |
' AND date_debut IS NOT NULL '. |
' AND date_fin IS NULL '. |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'meta_date_creation DESC').' '; |
159,12 → 166,15 |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} else if (0 == count($donnees)) { |
$donnees = null; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
} else { |
$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff)."; |
$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff) ". |
"et le code du script à lancer comme second paramêtre (ex. : tests ou versionnage)."; |
} |
return $donnees; |
223,14 → 233,15 |
* Retourne les infos sur les traitements terminés. |
*/ |
public function getElementTermines($params_url) { |
$p = $this->traiterParametresUrl(array('projet'), $params_url); |
$p = $this->traiterParametresUrl(array('projet', 'script'), $params_url); |
extract($p); |
$donnees = false; |
if (!is_null($projet)) { |
$donnees = null; |
if (isset($projet) && isset($script)) { |
$requete = ($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM ref_traitement '. |
"WHERE referentiel_code = $projet ". |
" AND script = $script ". |
' AND date_debut IS NOT NULL '. |
' AND date_fin IS NOT NULL '. |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'meta_date_creation DESC').' '; |
240,12 → 251,15 |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} else if (0 == count($donnees)) { |
$donnees = null; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
} else { |
$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff)."; |
$this->messages[] = "Veuillez préciser le nom de code du projet comme premier paramêtre (ex. : bdnff) ". |
"et le code du script à lancer comme second paramêtre (ex. : tests ou versionnage)."; |
} |
return $donnees; |
256,7 → 270,7 |
* Retour l'id du nouvel enregistrement ou false! |
*/ |
public function createElement($params_post) { |
$params_proteges = $this->traiterParametresPost(array('referentiel_code'), $params_post); |
$params_proteges = $this->traiterParametresPost(array('referentiel_code', 'script'), $params_post); |
$meta_date_creation = date ("Y-m-d H:i:s"); |
$nom = $this->bdd->quote("Traitement {$params_post['referentiel_code']} - $meta_date_creation"); |
$meta_date_creation = $this->bdd->quote($meta_date_creation); |
263,8 → 277,8 |
try { |
$requete = "INSERT INTO ref_traitement ". |
' (referentiel_code, nom, meta_date_creation) '. |
" VALUES ({$params_proteges['referentiel_code']}, $nom, $meta_date_creation) "; |
' (referentiel_code, script, nom, meta_date_creation) '. |
" VALUES ({$params_proteges['referentiel_code']}, {$params_proteges['script']}, $nom, $meta_date_creation) "; |
$resultat = $this->bdd->exec($requete); |
if ($resultat === false) { |
$id = false; |