Subversion Repositories Sites.tela-botanica.org

Rev

Rev 383 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?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 ----------------------------------------------------------------------------------------+
*/
?>