New file |
0,0 → 1,624 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 5.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 1999-2006 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This file is part of eflore_bp. | |
// | | |
// | eflore_bp is free software; you can redistribute it and/or modify | |
// | it under the terms of the GNU General Public License as published by | |
// | the Free Software Foundation; either version 2 of the License, or | |
// | (at your option) any later version. | |
// | | |
// | eflore_bp is distributed in the hope that it will be useful, | |
// | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
// | GNU General Public License for more details. | |
// | | |
// | You should have received a copy of the GNU General Public License | |
// | along with Foobar; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: RecueilDeDonnees.class.php,v 1.5 2007-07-25 17:45:19 jp_milcent Exp $ |
/** |
* eflore_bp - ReccueilDeDonnee.php |
* |
* Description : |
* |
*@package eflore_bp |
//Auteur original : |
*@author Jean-Pascal MILCENT <jpm@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 1999-2007 |
*@version $Revision: 1.5 $ $Date: 2007-07-25 17:45:19 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
// +------------------------------------------------------------------------------------------------------+ |
// | ENTÊTE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
|
|
// +------------------------------------------------------------------------------------------------------+ |
// | CORPS du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
class Wikini extends aModule { |
|
private $bdd_principale = SC_BDD_NOM_PRINCIPALE; |
private $bdd_options = array('debug' => 3); |
private $bdd_dsn = SC_DSN_PRINCIPAL; |
private $connexion = null; |
private $sites = array('http://www.tela-botanica.org', 'http://www.outils-reseaux.org'); |
|
public function __construct() |
{ |
$this->connexion = DB::connect($this->bdd_dsn, $this->bdd_options); |
if (PEAR::isError($this->connexion)) { |
$e = $this->connexion->getMessage(); |
trigger_error($e, E_USER_ERROR); |
} |
parent::__construct(); |
} |
|
// La méthode executer est appellé par défaut |
public function executer() |
{ |
$this->poursuivreVers('config_fichier'); |
} |
|
private function rechercherWikini($chemin = null, $methode) |
{ |
if (isset($chemin)) { |
if (preg_match('/wakka\.config\.php$/', $chemin)) { |
$this->$methode($chemin); |
} else if (is_dir($chemin)) { |
// Nettoyage et ajout d'un slash final |
$chemin = rtrim(trim($chemin), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR; |
// Nous vérifions que le dossier indiqué est un dossier de wikini |
$fichier = $chemin.'wakka.config.php'; |
$this->$methode($fichier); |
// Nous regardons si le dossier indiqué contient d'autres dossiers wikini |
foreach (scandir($chemin) as $dossier) { |
if (is_dir($chemin.$dossier.DIRECTORY_SEPARATOR) && $dossier != '..' && $dossier != '.') { |
$fichier = $chemin.$dossier.DIRECTORY_SEPARATOR.'wakka.config.php'; |
$this->$methode($fichier); |
} |
} |
} else { |
trigger_error('Le chemin suivant n\'est ni un dossier, ni un fichier wakka.config.php :'.$chemin, E_USER_WARNING); |
} |
} |
} |
|
public function executerConfigFichier() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
|
// Gestion de l'url de l'envoie de mail |
$url = clone $GLOBALS['_SCRIPT_']['url']; |
$url->addQueryString('module', 'wikini'); |
$url->addQueryString('action', 'config_fichier_maj'); |
$aso_donnees['url'] = $url->getUrl(); |
|
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
$this->setChrono('fin'); |
} |
|
public function executerConfigFichierMaj() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
|
// Récupération des infos pour conpléter le squelette du courriel |
$this->rechercherWikini($_POST['sc_chemin'], 'modifierConfigFichier'); |
|
// Nous ajoutons une action à éxecuter avant de rendre la main |
$this->poursuivreVers('config_fichier'); |
|
// Fin de l'action |
$this->setChrono('fin'); |
} |
|
private function modifierConfigFichier($fichier) |
{ |
if (file_exists($fichier)) { |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
$arrFile = file($fichier); |
$handle = fopen($fichier, 'w'); |
if($handle != false){ |
// Définition des compteurs |
$currentLine = 0; |
$cntFile = count($arrFile);// Nombre de ligne |
// Write contents, inserting $item as first item |
while ($currentLine <= $cntFile){ |
if (isset($arrFile[$currentLine])) { |
foreach ($_POST as $cle => $val) { |
if ($val != '') { |
if(preg_match('/"'.preg_replace('/^sc_/', '', $cle).'" =>/', $arrFile[$currentLine])) { |
$arrFile[$currentLine] = preg_replace('/=> ".*"/', '=> "'.$val.'"', $arrFile[$currentLine]); |
} |
} |
} |
fwrite($handle, $arrFile[$currentLine]); |
if (preg_match('/^\?>$/', $arrFile[$currentLine])) { |
fclose($handle); |
$currentLine = $cntFile; |
} |
} |
$currentLine++; |
} |
} else { |
trigger_error('Fichier '.$fichier.' impossible à ouvrir', E_USER_WARNING); |
} |
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
} |
} |
|
public function executerSupprimerUtilisateur() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
|
// Gestion de l'url de l'envoie de mail |
$url = clone $GLOBALS['_SCRIPT_']['url']; |
$url->addQueryString('module', 'wikini'); |
$url->addQueryString('action', 'supprimer_utilisateur_maj'); |
$aso_donnees['url'] = $url->getUrl(); |
|
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
$this->setChrono('fin'); |
} |
|
public function executerSupprimerUtilisateurMaj() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
|
// Récupération des infos pour conpléter le squelette du courriel |
$this->rechercherWikini($_POST['sc_chemin'], 'modifierSupprimerUtilisateur'); |
|
// Nous ajoutons une action à éxecuter avant de rendre la main |
$this->poursuivreVers('supprimer_utilisateur'); |
|
// Fin de l'action |
$this->setChrono('fin'); |
} |
|
private function modifierSupprimerUtilisateur($fichier) |
{ |
if (file_exists($fichier)) { |
// Initialisation de variables |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
$wakka_config = array(); |
$requetes = array(); |
|
// Récupération de la config du wikini |
$tab_fichier = file($fichier); |
foreach ($tab_fichier as $ligne_num => $ligne) { |
if(preg_match('/"(.*)"\s*=>\s*"(.*)"\s*,/', $ligne, $match)) { |
//trigger_error(print_r($match, true), E_USER_NOTICE); |
$wakka_config[$match[1]] = $match[2]; |
} |
} |
//trigger_error(print_r($wakka_config, true), E_USER_NOTICE); |
if (isset($wakka_config['mysql_user']) && isset($wakka_config['mysql_password']) && isset($wakka_config['mysql_host']) && isset($wakka_config['mysql_database'])) { |
// Connexion à la base de données |
$dsn = 'mysql://'.$wakka_config['mysql_user'].':'.$wakka_config['mysql_password'].'@'.$wakka_config['mysql_host'].'/'.$wakka_config['mysql_database']; |
$this->connexion = DB::connect($dsn, $this->bdd_options); |
if (PEAR::isError($this->connexion)) { |
$e = $this->connexion->getMessage(); |
trigger_error($e, E_USER_ERROR); |
} |
|
// Traitement de la chaine utilisateur |
$tab_utilisateurs = explode(',', trim($_POST['sc_utilisateur'])); |
$chaine_utilisateur = ''; |
foreach ($tab_utilisateurs as $utilisateur) { |
$chaine_utilisateur .= '"'.trim($utilisateur).'", '; |
} |
$chaine_utilisateur = trim($chaine_utilisateur, ', '); |
|
// Suppression de l'utilisateur |
|
$requete = 'DELETE FROM '.$wakka_config['table_prefix'].'users '. |
'WHERE name IN ('.$chaine_utilisateur.')'; |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
$requetes[] = $res->getMessage().$res->getDebugInfo(); |
trigger_error($res->getMessage().$res->getDebugInfo(), E_USER_WARNING); |
} |
|
// Stockage des requetes |
if (count($requetes) > 0 ) { |
$aso_donnees['wikinis'][] = array( 'dossier' => $fichier, |
'nom' => $wakka_config['wakka_name'], |
'version' => $wakka_config['wikini_version'], |
'requetes' => $requetes); |
} |
} else { |
trigger_error(print_r($wakka_config, true), E_USER_NOTICE); |
} |
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
} |
} |
|
public function executerConfigBdd() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
|
// Gestion de l'url de l'envoie de mail |
$url = clone $GLOBALS['_SCRIPT_']['url']; |
$url->addQueryString('module', 'wikini'); |
$url->addQueryString('action', 'config_bdd_maj'); |
$aso_donnees['url'] = $url->getUrl(); |
|
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
|
// Fin de l'action |
$this->setChrono('fin'); |
} |
|
public function executerConfigBddMaj() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
|
// Récupération des infos pour conpléter le squelette du courriel |
$this->rechercherWikini($_POST['sc_chemin'], 'modifierConfigBdd'); |
|
// Nous ajoutons une action à éxecuter avant de rendre la main |
$this->poursuivreVers('config_bdd'); |
|
// Fin de l'action |
$this->setChrono('fin'); |
} |
|
private function modifierConfigBdd($fichier) |
{ |
if (file_exists($fichier)) { |
// Initialisation de variables |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
$wakka_config = array(); |
$requetes = array(); |
|
// Récupération de la config du wikini |
$tab_fichier = file($fichier); |
foreach ($tab_fichier as $ligne_num => $ligne) { |
if(preg_match('/"(.*)"\s*=>\s*"(.*)"\s*,/', $ligne, $match)) { |
//trigger_error(print_r($match, true), E_USER_NOTICE); |
$wakka_config[$match[1]] = $match[2]; |
} |
} |
//trigger_error(print_r($wakka_config, true), E_USER_NOTICE); |
if (isset($wakka_config['mysql_user']) && isset($wakka_config['mysql_password']) && isset($wakka_config['mysql_host']) && isset($wakka_config['mysql_database'])) { |
// Connexion à la base de données |
$dsn = 'mysql://'.$wakka_config['mysql_user'].':'.$wakka_config['mysql_password'].'@'.$wakka_config['mysql_host'].'/'.$wakka_config['mysql_database']; |
$this->connexion = DB::connect($dsn, $this->bdd_options); |
if (PEAR::isError($this->connexion)) { |
$e = $this->connexion->getMessage(); |
trigger_error($e, E_USER_ERROR); |
} |
|
// Mise à jour des droits |
$requete = 'UPDATE '.$wakka_config['table_prefix'].'acls '. |
'SET list = "'.$wakka_config['default_write_acl'].'" '. |
'WHERE privilege = "write" '; |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
$requetes[] = $res->getMessage().$res->getDebugInfo(); |
trigger_error($res->getMessage().$res->getDebugInfo(), E_USER_WARNING); |
} |
|
$requete = 'UPDATE '.$wakka_config['table_prefix'].'acls '. |
'SET list = "'.$wakka_config['default_read_acl'].'" '. |
'WHERE privilege = "read" '; |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
$requetes[] = $res->getMessage().$res->getDebugInfo(); |
trigger_error($res->getMessage().$res->getDebugInfo(), E_USER_WARNING); |
} |
|
$requete = 'UPDATE '.$wakka_config['table_prefix'].'acls '. |
'SET list = "'.$wakka_config['default_comment_acl'].'" '. |
'WHERE privilege = "comment" '; |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
$requetes[] = $res->getMessage().$res->getDebugInfo(); |
trigger_error($res->getMessage().$res->getDebugInfo(), E_USER_WARNING); |
} |
|
$requete = 'DELETE FROM '.$wakka_config['table_prefix'].'acls '. |
'WHERE page_tag = "ParametresUtilisateur"'; |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
$requetes[] = $res->getMessage().$res->getDebugInfo(); |
trigger_error($res->getMessage().$res->getDebugInfo(), E_USER_WARNING); |
} |
|
$requete = 'INSERT INTO '.$wakka_config['table_prefix'].'acls '. |
'VALUES ("ParametresUtilisateur", "write", "*") '; |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
$requetes[] = $res->getMessage().$res->getDebugInfo(); |
trigger_error($res->getMessage().$res->getDebugInfo(), E_USER_WARNING); |
} |
|
|
// Stockage des requetes |
if (count($requetes) > 0 ) { |
$aso_donnees['wikinis'][] = array( 'dossier' => $fichier, |
'nom' => $wakka_config['wakka_name'], |
'version' => $wakka_config['wikini_version'], |
'requetes' => $requetes); |
} |
} else { |
trigger_error(print_r($wakka_config, true), E_USER_NOTICE); |
} |
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
} |
} |
|
public function executerNettoyage() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
|
// Gestion de l'url de l'envoie de mail |
$url = clone $GLOBALS['_SCRIPT_']['url']; |
$url->addQueryString('module', 'wikini'); |
$url->addQueryString('action', 'nettoyage_maj'); |
$aso_donnees['url'] = $url->getUrl(); |
|
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
$this->setChrono('fin'); |
} |
|
public function executerNettoyageMaj() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
|
// Récupération des infos pour conpléter le squelette du courriel |
$this->rechercherWikini($_POST['sc_chemin'], 'lancerNettoyage'); |
|
// Nous ajoutons une action à éxecuter avant de rendre la main |
$this->poursuivreVers('nettoyage'); |
|
// Fin de l'action |
$this->setChrono('fin'); |
} |
|
public function lancerNettoyage($fichier) |
{ |
if (file_exists($fichier)) { |
// Initialisation de variables |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
$wakka_config = array(); |
$requetes = array(); |
|
// Récupération de la config du wikini |
$tab_fichier = file($fichier); |
foreach ($tab_fichier as $ligne_num => $ligne) { |
if(preg_match('/"(.*)"\s*=>\s*"(.*)"\s*,/', $ligne, $match)) { |
//trigger_error(print_r($match, true), E_USER_NOTICE); |
$wakka_config[$match[1]] = $match[2]; |
} |
} |
|
if (isset($wakka_config['mysql_user']) && isset($wakka_config['mysql_password']) && isset($wakka_config['mysql_host']) && isset($wakka_config['mysql_database'])) { |
// Connexion à la base de données |
$dsn = 'mysql://'.$wakka_config['mysql_user'].':'.$wakka_config['mysql_password'].'@'.$wakka_config['mysql_host'].'/'.$wakka_config['mysql_database']; |
$this->connexion = DB::connect($dsn, $this->bdd_options); |
if (PEAR::isError($this->connexion)) { |
$e = $this->connexion->getMessage(); |
trigger_error($e, E_USER_ERROR); |
} |
|
// Ajout des nouveaux referrers à ceux par défaut |
if (!empty($_POST['sc_referrers'])) { |
$this->sites = array_merge(preg_split("~,~", $_POST['sc_referrers'], -1, PREG_SPLIT_NO_EMPTY), $this->sites); |
} |
|
// +---------------------------------------------------------------------------------------------------+ |
// Referrers |
$site_nbre = count($this->sites); |
$site_0 = $this->sites[0]; |
$requete = 'DELETE FROM '.$wakka_config['table_prefix'].'referrers '. |
'WHERE referrer NOT LIKE "'.$site_0.'%" '; |
for ($i = 1; $i < $site_nbre; $i++) { |
$requete .= 'AND referrer NOT LIKE "'.$this->sites[$i].'%" '; |
} |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
die($res->getMessage()); |
} |
|
// +---------------------------------------------------------------------------------------------------+ |
// Pages : commentaires |
$requete = 'SELECT tag FROM '.$wakka_config['table_prefix'].'pages '. |
'WHERE tag LIKE "Comment%" '; |
$requetes[] = $requete."\n"; |
$aso_pages = $this->connexion->getAll($requete, null, DB_FETCHMODE_ASSOC); |
if (PEAR::isError($aso_pages)) { |
die($aso_pages->getMessage()); |
} |
if (count($aso_pages) > 0) { |
$tab_pages = array(); |
foreach ($aso_pages as $page) { |
if (preg_match('/^Comment\d+$/', $page['tag'])){ |
$tab_pages[] = $page['tag']; |
} |
} |
if (count($tab_pages) > 0) { |
$requete = 'DELETE FROM '.$wakka_config['table_prefix'].'pages '. |
'WHERE tag IN ("'.implode('","', $tab_pages).'") '; |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
die($res->getMessage()); |
} |
// +---------------------------------------------------------------------------------------------------+ |
// ACLs : commentaires |
$requete = 'DELETE FROM '.$wakka_config['table_prefix'].'acls '. |
'WHERE page_tag LIKE "Comment%" '; |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
die($res->getMessage()); |
} |
|
$requete = 'UPDATE '.$wakka_config['table_prefix'].'acls '. |
'SET list = "+" '. |
'WHERE privilege = "comment" '; |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
die($res->getMessage()); |
} |
} |
} |
|
// +---------------------------------------------------------------------------------------------------+ |
// Stockage des requetes |
if (count($requetes) > 0 ) { |
$aso_donnees['wikinis'][] = array( 'dossier' => $fichier, |
'nom' => $wakka_config['wakka_name'], |
'version' => $wakka_config['wikini_version'], |
'requetes' => $requetes); |
} |
} |
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
} |
} |
|
public function executerProprietaire() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
|
// Gestion de l'url de l'envoie de mail |
$url = clone $GLOBALS['_SCRIPT_']['url']; |
$url->addQueryString('module', 'wikini'); |
$url->addQueryString('action', 'proprietaire_maj'); |
$aso_donnees['url'] = $url->getUrl(); |
|
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
$this->setChrono('fin'); |
} |
|
public function executerProprietaireMaj() |
{ |
// Initialisation des variables |
$this->setChrono('debut'); |
|
// Récupération des infos pour conpléter le squelette du courriel |
$this->rechercherWikini($_POST['sc_chemin'], 'modifierProprietaire'); |
|
// Nous ajoutons une action à éxecuter avant de rendre la main |
$this->poursuivreVers('proprietaire'); |
|
// Fin de l'action |
$this->setChrono('fin'); |
} |
|
public function modifierProprietaire($fichier) |
{ |
if (file_exists($fichier)) { |
// Initialisation de variables |
$aso_donnees = $this->getRegistre()->get('squelette_donnees'); |
$wakka_config = array(); |
$requetes = array(); |
|
// Récupération de la config du wikini |
$tab_fichier = file($fichier); |
foreach ($tab_fichier as $ligne_num => $ligne) { |
if(preg_match('/"(.*)"\s*=>\s*"(.*)"\s*,/', $ligne, $match)) { |
//trigger_error(print_r($match, true), E_USER_NOTICE); |
$wakka_config[$match[1]] = $match[2]; |
} |
} |
//trigger_error(print_r($wakka_config, true), E_USER_NOTICE); |
if (isset($wakka_config['mysql_user']) && isset($wakka_config['mysql_password']) && isset($wakka_config['mysql_host']) && isset($wakka_config['mysql_database'])) { |
// Connexion à la base de données |
$dsn = 'mysql://'.$wakka_config['mysql_user'].':'.$wakka_config['mysql_password'].'@'.$wakka_config['mysql_host'].'/'.$wakka_config['mysql_database']; |
$this->connexion = DB::connect($dsn, $this->bdd_options); |
if (PEAR::isError($this->connexion)) { |
$e = $this->connexion->getMessage(); |
trigger_error($e, E_USER_ERROR); |
} |
// Mise à jour des droits |
$requete = 'UPDATE '.$wakka_config['table_prefix'].'pages '. |
'SET owner = "'.$_POST['sc_owner'].'" '. |
((!empty($_POST['sc_page'])) ? 'WHERE tag IN ("'.implode('","', preg_split("~,~", $_POST['sc_page'], -1, PREG_SPLIT_NO_EMPTY)).'") ' : ''); |
$requetes[] = $requete."\n"; |
$res = $this->connexion->query($requete); |
if (PEAR::isError($res)) { |
$requetes[] = $res->getMessage().$res->getDebugInfo(); |
trigger_error($res->getMessage().$res->getDebugInfo(), E_USER_WARNING); |
} |
|
// Stockage des requetes |
if (count($requetes) > 0 ) { |
$aso_donnees['wikinis'][] = array( 'dossier' => $fichier, |
'nom' => $wakka_config['wakka_name'], |
'version' => $wakka_config['wikini_version'], |
'requetes' => $requetes); |
} |
} |
// Attribution des données pour remplir le squelette |
$this->getRegistre()->set('squelette_donnees', $aso_donnees); |
} |
} |
} |
|
/* +--Fin du code ----------------------------------------------------------------------------------------+ |
* |
* $Log: RecueilDeDonnees.class.php,v $ |
* Revision 1.5 2007-07-25 17:45:19 jp_milcent |
* Corrections des champs obligatoires. |
* |
* Revision 1.4 2007-07-24 14:31:57 jp_milcent |
* Ajout dans les fichiers de configuration de l'hôte smtp. |
* |
* Revision 1.3 2007-07-11 13:11:06 jp_milcent |
* Ajout de la vérification des donnés du formulaire côté serveur. |
* |
* Revision 1.2 2007-07-10 16:47:30 jp_milcent |
* Ajout de l'identification et améliorations diverses. |
* |
* Revision 1.1 2007-07-09 19:29:26 jp_milcent |
* Ajout du module Recueil de données |
* |
* Revision 1.1 2007-07-09 15:45:59 jp_milcent |
* Début ajout du module de Reccueil de Données. |
* |
* |
* +-- Fin du code ----------------------------------------------------------------------------------------+ |
*/ |
?> |