/trunk/scripts/scripts.conf.php |
---|
27,5 → 27,8 |
define('ES_CHEMIN_PEAR', '/opt/lampp/lib/php/'); |
// Chargement de base pour l'autoload |
$GLOBALS['chemins_autoload'] = array(dirname(realpath(__FILE__)).DS.'bibliotheque'.DS); |
$GLOBALS['chemins_autoload'] = array( |
dirname(realpath(__FILE__)).DS.'bibliotheque'.DS, |
dirname(realpath(__FILE__)).DS.'..'.DS.'bibliotheque'.DS.'dao'.DS, |
); |
?> |
/trunk/scripts/modules/tests/Tests.php |
---|
26,6 → 26,13 |
$this->projet = $this->getParam('p'); |
$this->manuel = parse_ini_file($this->getModuleChemin().DS.'configurations'.DS.'referentiel_v2.1.ini'); |
$traitementDao = new TraitementDao(); |
$traitement = $traitementDao->getDernierTraitement($this->projet); |
Debug::printr($traitement); |
Debug::printr('Debute:'.$traitementDao->debuterTraitement($traitement['id_traitement'])); |
$traitements_obsoletes = $traitementDao->getTraitementsObsoletes($this->projet); |
Debug::printr('Supp. obsoletes:'.$traitementDao->supprimer($traitements_obsoletes)); |
// Lancement du test demandé |
$cmd = $this->getParam('a'); |
switch ($cmd) { |
40,6 → 47,8 |
public function lancerTests() { |
$donnees = array(); |
$donnees['tests'] = array(); |
/* |
// Récupération des données à tester |
$colonnes = $this->tableStructureDao->getColonnes($this->projet); |
136,10 → 145,7 |
$donnees['tests'][] = $this->testerStatutOrigineSyntaxe($noms); |
$donnees['tests'][] = $this->testerStatutIntroductionSyntaxe($noms); |
$donnees['tests'][] = $this->testerStatutCultureSyntaxe($noms); |
*/ |
//Debug::printr($this->manuel); |
$this->setSortie(self::RENDU_CORPS, $this->getVue('test', $donnees)); |
*/ |
} |
//+--------------------------------------------------------------------------------------------------------------+// |
/trunk/scripts/script.php |
---|
46,7 → 46,7 |
// Gestion des classes principales des modules |
$module = strtolower(str_replace(' ', '_', preg_replace('/([a-z])([A-Z])/', '$1 $2',$classe))); |
$fichier = ES_CHEMIN_MODULE.$module.DS.$classe.'.class.php'; |
$fichier = ES_CHEMIN_MODULE.$module.DS.$classe.'.php'; |
if (file_exists($fichier)) { |
require_once $fichier; |
} |
53,35 → 53,49 |
// Gestion des bibliothèques des scripts |
foreach ($GLOBALS['chemins_autoload'] as $chemin) { |
$fichiers = array( $chemin.$classe.'.class.php', |
$chemin.$classe.'.php'); |
$fichier = $chemin.$classe.'.php'; |
foreach ($fichiers as $fichier) { |
if (file_exists($fichier)) { |
require_once $fichier; |
break; |
} |
if (file_exists($fichier)) { |
require_once $fichier; |
break; |
} |
} |
} |
/** |
* récupération du nom de la commande et éventuellement du nom de l'application |
*/ |
if ($_SERVER['argc'] < 2){ |
die("Erreur: pas de commande. Voir '".$_SERVER['argv'][0]." help'.\n"); |
// Le fichier autoload.inc.php du Framework de Tela Botanica doit être appelée avant tout autre chose dans l'application. |
// Sinon, rien ne sera chargé. |
// Chemin du fichier chargeant le framework requis |
$framework = dirname(__FILE__).DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'interfaces'.DIRECTORY_SEPARATOR.'framework.php'; |
if (!file_exists($framework)) { |
$e = "Veuillez paramêtrer l'emplacement et la version du Framework dans le fichier $framework"; |
trigger_error($e, E_USER_ERROR); |
} else { |
// Inclusion du Framework |
require_once $framework; |
// Ajout d'information concernant cette application |
Application::setChemin(__FILE__);// Obligatoire |
Application::setInfo(Config::get('info')); |
/** |
* récupération du nom de la commande et éventuellement du nom de l'application |
*/ |
if ($_SERVER['argc'] < 2){ |
die("Erreur: pas de commande. Voir '".$_SERVER['argv'][0]." help'.\n"); |
} |
$argv = $_SERVER['argv']; |
$script_nom = array_shift($argv); // shift le nom du script |
$commande_nom = array_shift($argv); // prend le nom de la commande |
// Chargement de la commande |
$Script = Script::charger($commande_nom); |
$parametres = Script::getParametres($argv); |
// Lancement de la commande |
$Script->initialiser($parametres); |
$Script->executer(); |
// Affichage des execptions et erreurs générées par le script |
echo GestionnaireException::getExceptions(); |
} |
$argv = $_SERVER['argv']; |
$script_nom = array_shift($argv); // shift le nom du script |
$commande_nom = array_shift($argv); // prend le nom de la commande |
// Chargement de la commande |
$Script = Script::charger($commande_nom); |
$parametres = Script::getParametres($argv); |
// Lancement de la commande |
$Script->initialiser($parametres); |
$Script->executer(); |
?> |
/trunk/scripts/bibliotheque/ScriptCommande.php |
---|
112,7 → 112,6 |
} |
$tab_fichiers_ini = array( ES_CHEMIN_CONFIG.'bdd.ini', // Paramêtres de la base de données |
ES_CHEMIN_CONFIG.'commun.ini', // Paramêtres communs aux différents projets |
ES_CHEMIN_CONFIG.$this->getParam('p').'.ini',// Ancien emplacement du fichier ini du projet, dans le dossier configuration global |
$this->getModuleChemin().$this->getParam('p').'.ini', |
$this->getModuleChemin().DS.'configurations'.DS.$this->getParam('p').'.ini'); |
125,7 → 124,7 |
} |
// Chargement du fichier ini du projet |
$erreur_ini_projet = true; |
for ($i = 2; $i < 7 ; $i++) { |
for ($i = 2; $i < 4 ; $i++) { |
if ($this->parserFichierIni($tab_fichiers_ini[$i])) { |
$erreur_ini_projet = false; |
} |
491,6 → 490,7 |
* |
* @param string le chemin et le nom du fichier. |
* @param string le contenu à stocker dans le fichier. |
* @param boolean true pour compresser (gz) le fichier. Par défaut vaut false. |
* @return string le message d'erreur formaté. |
*/ |
protected function creerFichier($fichier, $contenu, $compression = false) { |
572,4 → 572,4 |
} |
} |
} |
?> |
?> |
/trunk/bibliotheque/dao/TraitementDao.php |
---|
15,14 → 15,21 |
class TraitementDao extends Dao { |
const SERVICE = 'Traitement'; |
private $url = null; |
public function __construct() { |
parent::__construct(); |
$this->url = $this->url_jrest.self::SERVICE; |
} |
/** |
* Retourne l'ensemble des traitements en instance. |
* |
* @param string le nom de la table. |
* @return array un tableau contenant les informations sur les colonnes de la table. |
* @param string le code du projet de référentiel. |
* @return array un tableau contenant les informations sur les traitements en cours ou en attente. |
*/ |
public function getTraitementEnCours($code_projet) { |
$url = $this->url_jrest.self::SERVICE."/EnCours/$code_projet"; |
public function getTraitementsEnCours($code_projet) { |
$url = $this->url."/EnCours/$code_projet"; |
$json = $this->envoyerRequeteConsultation($url); |
$traitements = json_decode($json, true); |
30,22 → 37,79 |
} |
/** |
* Ajoute une demande de traitment pour une référentiel donné. |
* Retourne les ids de l'ensemble des traitements obsolètes. |
* |
* @param string le code du projet de référentiel. |
* @return array un tableau contenant les ids des traitements obsolètes. |
*/ |
public function getTraitementsObsoletes($code_projet) { |
$url = $this->url."/Obsolete/$code_projet"; |
$json = $this->envoyerRequeteConsultation($url); |
$traitements = json_decode($json, true); |
return $traitements; |
} |
/** |
* Retourne le dernier traitement demandé et non traité pour un projet donné. |
* |
* @param string le code du projet de référentiel. |
* @return array un tableau contenant les informations sur le dernier traitement demandé et non traité. |
*/ |
public function getDernierTraitement($code_projet) { |
$url = $this->url."/DerniereDemande/$code_projet"; |
$json = $this->envoyerRequeteConsultation($url); |
$traitements = json_decode($json, true); |
return $traitements; |
} |
/** |
* Ajoute une demande de traitement pour une référentiel donné. |
* |
* @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) { |
// Pré-paration des données à passer par POST |
// Préparation des données à passer par POST |
$donnees['referentiel_code'] = $code_projet; |
// Création de l'url du service |
$url = $this->url_jrest.self::SERVICE; |
// Envoie des données et récupération du retour |
$json = $this->envoyerRequeteAjout($url, $donnees); |
$json = $this->envoyerRequeteAjout($this->url, $donnees); |
$id = json_decode($json, true); |
return $id; |
} |
/** |
* Modifie un traitement pour indiquer qu'il est débuté. |
* |
* @param integer l'id du traitement |
* @return boolean true en cas de succés sinon false. |
*/ |
public function debuterTraitement($id_traitement) { |
$url = $this->url."/$id_traitement"; |
$donnees['action'] = 'Debuter'; |
// Envoie des données et récupération du retour |
$json = $this->envoyerRequeteModif($url, $donnees); |
$ok = json_decode($json, true); |
return $ok; |
} |
/** |
* Supprime des traitments en fonction de leur id. |
* |
* @param array le tableau des id des traitements à supprimer |
* @return boolean true en cas de succès ou false en cas d'échec. |
*/ |
public function supprimer(Array $ids) { |
// Préparation de l'url |
$url = $this->url.'/'.implode(',', $ids); |
// Envoie des données et récupération du retour |
$json = $this->envoyerRequeteSuppression($url); |
$ok = json_decode($json, true); |
return $ok; |
} |
} |
?> |
/trunk/bibliotheque/dao/Dao.php |
---|
19,7 → 19,7 |
protected $url_jrest = null; |
public function __construct() { |
$this->url_jrest = config::get('url_jrest'); |
$this->url_jrest = Config::get('url_jrest'); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
66,7 → 66,7 |
return $retour; |
} |
protected function envoyerRequeteModif($url, $donnees) { |
protected function envoyerRequeteModif($url, Array $donnees) { |
$retour = $this->envoyerRequete($url, 'POST', $donnees); |
return $retour; |
} |
/trunk/interfaces/framework.defaut.php |
---|
1,6 → 1,6 |
<?php |
// Inclusion du Framework |
// Renomer ce fichier en "framework.php" |
// Indiquyer ci-dessous le chemin vers le fichier autoload.inc.php de la bonne version du Framework |
require_once '/framework/0.2/autoload.inc.php'; |
// Indiquyer ci-dessous le chemin absolu vers le fichier autoload.inc.php de la bonne version du Framework |
require_once '/home/referentiel/www/commun/tbframework/0.2/autoload.inc.php'; |
?> |
/trunk/interfaces/index.php |
---|
33,12 → 33,12 |
<link rel="stylesheet" type="text/css" media="print" href="http://www.tela-botanica.org/sites/commun/fr/styles/impression.css" /> |
<link rel="stylesheet" type="text/css" media="screen" href="squelettes/css/referentiel/referentiel.css" /> |
<link rel="stylesheet" type="text/css" media="screen" href="squelettes/css/humanity/jquery-ui-1.8.custom.css" /> |
<link rel="stylesheet" type="text/css" media="screen" href="squelettes/css/referentiel/debogage.css" /> |
<link rel="stylesheet" type="text/css" media="screen" href="interfaces/squelettes/css/referentiel/referentiel.css" /> |
<link rel="stylesheet" type="text/css" media="screen" href="interfaces/squelettes/css/humanity/jquery-ui-1.8.custom.css" /> |
<link rel="stylesheet" type="text/css" media="screen" href="interfaces/squelettes/css/referentiel/debogage.css" /> |
<script type="text/javascript" src="squelettes/js/jquery-1.4.2.min.js"></script> |
<script type="text/javascript" src="squelettes/js/jquery-ui-1.8.custom.min.js"></script> |
<script type="text/javascript" src="interfaces/squelettes/js/jquery-1.4.2.min.js"></script> |
<script type="text/javascript" src="interfaces/squelettes/js/jquery-ui-1.8.custom.min.js"></script> |
</head> |
<body xml:lang="fr" lang="fr"> |
<div id="reducteur"> |
/trunk/interfaces/controleurs/AppliControleur.php |
---|
17,11 → 17,15 |
const RENDU_CORPS = 'corps'; |
const RENDU_PIED = 'pied'; |
private $sortie = array(); |
private $parametres = array(); |
// FIXME : voir s'il est plus intéressant d'utiliser une méthode dans les classes filles |
protected $url = null; |
private $parametres = array(); |
private $sortie = array(); |
private $messages = null; |
//+----------------------------------------------------------------------------------------------------------------+ |
// Constructeur |
public function __construct() { |
$registre = Registre::getInstance(); |
$this->parametres = $registre->get('parametres'); |
29,7 → 33,17 |
parent::__construct(); |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Accesseurs |
/** |
* Retourne le tableau de sortie à utiliser dans le controleur principal de l'application. |
*/ |
public function getSortie() { |
return $this->sortie; |
} |
/** |
* Attribue à la bonne position de sortie un contenu. |
*/ |
protected function setSortie($position, $contenu, $fusionner = false) { |
43,6 → 57,25 |
} |
/** |
* Retourne le tableau des messages |
*/ |
protected function getMessages() { |
return $this->messages; |
} |
/** |
* Ajoute un message |
*/ |
protected function addMessage($message) { |
if ('' != $message) { |
$this->messages[] = $message; |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// Méthodes |
/** |
* Vérifie l'existence de la position indiquée pour son utilisation dans le tableau de sortie. |
* @param string la position à tester. |
* @return bool true si la position est valide, sinon false. |
59,13 → 92,6 |
} |
/** |
* Retourne le tableau de sortie à utiliser dans le controleur principal de l'application. |
*/ |
public function getSortie() { |
return $this->sortie; |
} |
/** |
* Execute l'action d'un module donnée et fusionne le résultat avec le tableau de sortie. |
*/ |
protected function executerAction($ClasseModule, $action) { |
/trunk/interfaces/controleurs/Test.php |
---|
17,7 → 17,6 |
private $referentiel = null; |
private $traitementDao = null; |
private $messages = null; |
public function __construct() { |
parent::__construct(); |
53,17 → 52,17 |
// Traitement de l'info sur le code du référentiel |
if (isset($this->referentiel)) { |
$donnees['ref'] = $this->referentiel; |
$resultat = $this->traitementDao->getTraitementEnCours($this->referentiel); |
$resultat = $this->traitementDao->getTraitementsEnCours($this->referentiel); |
if ($resultat != false) { |
$donnees['traitements'] = $resultat; |
} else { |
$this->messages[] = "Un problème est survenu lors de la tentative de récupération des traitements en cours."; |
$this->addMessage("Un problème est survenu lors de la tentative de récupération des traitements en cours."); |
} |
} else { |
$this->messages[] = "Aucun code de projet de référentiel n'est indiqué (Ex. bdnff)."; |
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdnff)."); |
} |
$donnees['messages'] = $this->messages; |
$donnees['messages'] = $this->getMessages(); |
$this->setSortie(self::RENDU_CORPS, $this->getVue('form_traitement', $donnees), false); |
} |
72,7 → 71,7 |
*/ |
public function demanderTraitement() { |
$this->ajouterTraitement(); |
//$this->afficherInterface(); |
$this->afficherInterface(); |
} |
/** |
80,17 → 79,55 |
*/ |
private function ajouterTraitement() { |
if (!isset($this->referentiel)) { |
$this->messages[] = "Aucun code de projet de référentiel n'est indiqué (Ex. bdnff)."; |
$this->addMessage("Aucun code de projet de référentiel n'est indiqué (Ex. bdnff)."); |
} else { |
// TODO : vérifier qu'il n'y a pas déjà un traitement en cours pour ce projet. |
$resultat = $this->traitementDao->ajouterTraitement($this->referentiel); |
Debug::printr($resultat); |
if ($resultat != false) { |
$this->messages[] = "Le traitement #'' a été ajouté."; |
$this->addMessage("Le traitement #'$resultat' a été ajouté."); |
$this->lancerScript(); |
} else { |
$this->messages[] = "Un problème est survenu lors de la tentative d'ajout du traitement."; |
$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 -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/framework.php |
---|
1,6 → 1,6 |
<?php |
// Inclusion du Framework |
// Renomer ce fichier en "framework.php" |
// Indiquyer ci-dessous le chemin vers le fichier autoload.inc.php de la bonne version du Framework |
require_once '../../framework/framework/autoload.inc.php'; |
// Indiquyer ci-dessous le chemin absolu vers le fichier autoload.inc.php de la bonne version du Framework |
require_once '/home/jpm/web/framework/framework/autoload.inc.php'; |
?> |
/trunk/services/modules/Ref.php |
---|
89,7 → 89,7 |
$this->messages[$cle] = print_r($val, true); |
} |
} |
header('X-MessageJrest-Data:'.json_encode($this->messages)); |
header('X-MessageJrest-Data: '.json_encode($this->messages)); |
} |
} |
103,7 → 103,7 |
$this->debug[$cle] = print_r($val, true); |
} |
} |
header('X-DebugJrest-Data:'.json_encode($this->debug)); |
header('X-DebugJrest-Data: '.json_encode($this->debug)); |
} |
} |
167,5 → 167,18 |
} |
return $sortie; |
} |
protected function traiterBddClauseIn($chaine) { |
$sortie = ''; |
$chaine = trim($chaine, " '"); |
if ($chaine != '') { |
$valeurs = explode(',', $chaine); |
foreach ($valeurs as $id => $valeur) { |
$valeurs[$id] = $this->bdd->quote($valeur); |
} |
$sortie = implode(',', $valeurs); |
} |
return $sortie; |
} |
} |
?> |
/trunk/services/modules/Traitement.php |
---|
17,12 → 17,12 |
/** |
* Méthode principale appelée avec une requête de type GET. |
*/ |
public function getElement($param = array()) { |
public function getElement($params_url = array()) { |
// Initialisation des variables |
$info = array(); |
// Nour recherchons le type de requête demandé |
$p = $this->traiterParametresUrl(array('type', 'projet'), $param, false); |
$p = $this->traiterParametresUrl(array('type', 'projet'), $params_url, false); |
$type = $p['type']; |
$projet = $p['projet']; |
49,6 → 49,32 |
} |
/** |
* Retourne les infos sur la dernière demande de traitement pour un projet donné. |
*/ |
public function getElementDerniereDemande($projet) { |
$projet = $this->bdd->quote($projet); |
$requete = ($this->distinct ? 'SELECT DISTINCT' : 'SELECT').' * '. |
'FROM ref_traitement '. |
"WHERE referentiel_code = $projet ". |
' AND date_fin IS NULL '. |
'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby : 'meta_date_creation DESC').' '. |
'LIMIT 0,1 '; |
$this->debug[] = $requete; |
// Récupération des résultats |
try { |
$donnees = $this->bdd->query($requete)->fetch(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
return $donnees; |
} |
/** |
* Retourne les infos sur les traitements en cours ou en attentes. |
*/ |
public function getElementEnCours($projet) { |
73,13 → 99,54 |
} |
/** |
* Retourne les id des demandes de traitements obsolètes. |
*/ |
public function getElementObsolete($projet) { |
$projet = $this->bdd->quote($projet); |
try { |
$requete = 'SELECT MAX(date_debut) '. |
'FROM ref_traitement '. |
"WHERE referentiel_code = $projet ". |
' AND date_debut IS NOT NULL '. |
'GROUP BY referentiel_code '; |
$date_max = $this->bdd->query($requete)->fetchColumn(); |
if ($date_max === false) { |
$this->messages[] = "La requête de récupération de la date de début max a échouée."; |
} else { |
$date_max = $this->bdd->quote($date_max); |
$requete = 'SELECT id_traitement '. |
'FROM ref_traitement '. |
"WHERE referentiel_code = $projet ". |
' AND date_debut IS NULL '. |
' AND date_fin IS NULL '. |
" AND meta_date_creation < $date_max "; |
$donnees = $this->bdd->query($requete)->fetchAll(PDO::FETCH_ASSOC); |
if ($donnees === false) { |
$this->messages[] = "La requête a retourné aucun résultat."; |
} |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage()); |
} |
// Pos-traitement |
$sortie = array(); |
if ($donnees != false) { |
foreach ($donnees as $donnee) { |
$sortie[] = $donnee['id_traitement']; |
} |
} |
return $sortie; |
} |
/** |
* Méthode appelée pour ajouter un traitement. |
* Retour l'id du nouvel enregistrement ou false! |
*/ |
public function createElement($params) { |
$params_proteges = $this->traiterParametresPost(array('referentiel_code'), $params); |
public function createElement($params_post) { |
$params_proteges = $this->traiterParametresPost(array('referentiel_code'), $params_post); |
$meta_date_creation = date ("Y-m-d H:i:s"); |
$nom = $this->bdd->quote("Traitement {$params['referentiel_code']} - $meta_date_creation"); |
$nom = $this->bdd->quote("Traitement {$params_post['referentiel_code']} - $meta_date_creation"); |
$meta_date_creation = $this->bdd->quote($meta_date_creation); |
try { |
99,5 → 166,91 |
$this->envoyer($id); |
} |
/** |
* Méthode principale appelée avec une requête de type POST. |
*/ |
public function updateElement($params_url, $params_post) { |
// Initialisation des variables |
$info = array(); |
// Nour recherchons le type de requête demandé |
extract($this->traiterParametresUrl(array('id'), $params_url, true)); |
extract($this->traiterParametresPost(array('action'), $params_post, false)); |
if (!is_null($id)) { |
if (!is_null($action)) { |
$methode = 'updateElement'.$action; |
if (method_exists($this, $methode)) { |
//array_shift($param); |
$info = $this->$methode($id, $params_post); |
} else { |
$this->messages[] = "Le type de mise à jour demandé '$action' n'est pas disponible."; |
} |
} else { |
$this->messages[] = "Veuillez préciser le type de mise à jour à faire."; |
// TODO : coder une mise à jour générique dans une méthode updateElementDefaut($id, $params_post); |
} |
} else { |
$this->messages[] = "Veuillez préciser l'id du traitement comme premier paramêtre dans l'url."; |
} |
// Envoie sur la sortie standard |
$this->envoyer($info); |
} |
/** |
* Méthode pour indiquer le démarage d'un traitement. |
*/ |
public function updateElementDebuter($id, $params_post) { |
$ok = true; |
try { |
$requete = 'UPDATE ref_traitement '. |
'SET date_debut = NOW() '. |
"WHERE id_traitement = $id "; |
$this->debug[] = "$requete"; |
$resultat = $this->bdd->exec($requete); |
if ($resultat === false) { |
$ok = false; |
$this->messages[] = "Traitement NON modifié."; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete); |
} |
return $ok; |
} |
/** |
* Méthode principale appelée avec une requête de type DELETE. |
*/ |
public function deleteElement($params_url) { |
// Initialisation des variables |
$ok = true; |
// Extraction des paramètres de l'url |
extract($this->traiterParametresUrl(array('ids'), $params_url, true)); |
if (!is_null($ids)) { |
try { |
$in_ids = $this->traiterBddClauseIn($ids); |
$requete = 'DELETE FROM ref_traitement '. |
"WHERE id_traitement IN ($in_ids) "; |
$this->debug[] = "$requete"; |
$resultat = $this->bdd->exec($requete); |
if ($resultat === false) { |
$ok = false; |
$this->messages[] = "Traitement(s) NON supprimé(s)."; |
} |
} catch (PDOException $e) { |
$this->messages[] = sprintf($this->getTxt('sql_erreur'), $e->getFile(), $e->getLine(), $e->getMessage(), $requete); |
} |
} else { |
$this->messages[] = "Veuillez préciser un ou plusieurs id de traitement séparés par des virgules comme premier paramètre dans l'url."; |
} |
// Envoie sur la sortie standard |
$this->envoyer($ok); |
} |
} |
?> |