New file |
0,0 → 1,289 |
<?php |
/*vim: set expandtab tabstop=4 shiftwidth=4: */ |
// +------------------------------------------------------------------------------------------------------+ |
// | PHP version 4.1 | |
// +------------------------------------------------------------------------------------------------------+ |
// | Copyright (C) 2004 Tela Botanica (accueil@tela-botanica.org) | |
// +------------------------------------------------------------------------------------------------------+ |
// | This library 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.1 of the License, or (at your option) any later version. | |
// | | |
// | This library 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 this library; if not, write to the Free Software | |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
// +------------------------------------------------------------------------------------------------------+ |
// CVS : $Id: liste_discussion.class.php,v 1.2 2005-09-27 16:42:00 alexandre_tb Exp $ |
/** |
* Application projet |
* |
* La classe liste_discussion |
* |
*@package projet |
//Auteur original : |
*@author Alexandre Granier <alexandre@tela-botanica.org> |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
|
// +------------------------------------------------------------------------------------------------------+ |
// | ENTETE du PROGRAMME | |
// +------------------------------------------------------------------------------------------------------+ |
/** |
* class liste_discussion |
* |
*/ |
class liste_discussion |
{ |
|
/*** Attributes: ***/ |
|
|
/** |
* Le nom de la liste, sans le domaine. |
* @access private |
*/ |
var $_nom; |
/** |
* |
* @access private |
*/ |
var $_adresse; |
/** |
* Le domaine de la liste |
* @access private |
*/ |
var $_domaine; |
/** |
* |
* @access private |
*/ |
var $_adresse_inscription; |
/** |
* |
* @access private |
*/ |
var $_adresse_desinscription; |
/** |
* |
* @access private |
*/ |
var $_adresse_aide; |
/** |
* Une connexion PEAR::DB |
* @access private |
*/ |
var $_db; |
/** |
* L'identifiant de la liste. |
* @access private |
*/ |
var $_id; |
/** |
* |
* @access private |
*/ |
var $_adresse_inscription_resume; |
/** |
* Indique la portée, publique ou privé de la liste |
* @access private |
*/ |
var $_portee; |
|
/** |
* Le constructeur |
* |
* @param int id_liste L'identifiant de la liste souhaité |
* @param DB objetDB Un objet PEAR:DB |
* @return void |
* @access public |
*/ |
function liste_discussion( $id_liste, & $objetDB ) |
{ |
$this->_db = $objetDB ; |
if ($id_liste != '') { |
$this->_id = $id_liste ; |
|
$requete_liste = 'select * from projet_liste where pl_id_liste='.$this->_id ; |
$resultat_liste = $this->_db->query ($requete_liste) ; |
if (DB::isError ($resultat_liste)) { |
die ("Echec de la requete : $requete_liste<br />".$resultat_liste->getMessage()) ; |
} |
$ligne_liste = $resultat_liste->fetchRow(DB_FETCHMODE_OBJECT) ; |
$this->_adresse = $ligne_liste->pl_adresse_liste ; |
$this->_domaine = $ligne_liste->pl_domaine ; |
$this->_nom = $ligne_liste->pl_nom_liste ; |
$this->_adresse_inscription = $ligne_liste->pl_adresse_inscription ; |
$this->_adresse_inscription_resume = $ligne_liste->pl_nom_liste.'-digest-subscribe@'.$this->_domaine ; |
$this->_portee = $ligne_liste->pl_visibilite ; |
} |
} // end of member function liste_discussion |
|
|
/** |
* Renvoie le domaine de la liste |
* |
* @return string |
* @access public |
*/ |
function getDomaine( ) |
{ |
return $this->_domaine ; |
} // end of member function getDomaine |
|
/** |
* Renvoie le nom de la liste |
* |
* @return string |
* @access public |
*/ |
function getNom( ) |
{ |
return $this->_nom ; |
} // end of member function getNom |
|
/** |
* Renvoie l'identifiant de la liste |
* |
* @return integer |
* @access public |
*/ |
function getId( ) |
{ |
return $this->_id ; |
} // end of member function getNom |
|
|
|
/** |
* Enregistre une ligne dans la table projet_liste |
* Le tableau de valeur doit contenir les éléments suivants 'nom_liste','','domaine_liste' |
* |
* @param Array tableau_de_valeur Le tableau de valeur a insérer dans la base avec pour clé les noms des éléments |
* @access public |
* @return void |
*/ |
|
function enregistrerSQL ($valeur) { |
|
$id = SQL_obtenirNouveauId($this->_db, 'projet_liste', 'pl_id_liste') ; |
|
$requete = "insert into projet_liste set pl_id_liste=".$id ; |
$requete .= ", pl_nom_liste=\"".$valeur['nom_liste']."\", pl_domaine=\"".$valeur['domaine_liste']."\"". |
", pl_adresse_liste=\"".$valeur['nom_liste'].'@'.$valeur['domaine_liste'].'", pl_adresse_inscription="'. |
$valeur['nom_liste']."-subscribe@".$valeur['domaine_liste'].'",pl_adresse_desinscription="'. |
$valeur['nom_liste']."-unsubscribe@".$valeur['domaine_liste'].'", pl_adresse_aide="'. |
$valeur['nom_liste']."-help@".$valeur['domaine_liste'].'", pl_visibilite="'.$valeur['liste_visibilite'].'"' ; |
|
$resultat = $this->_db->query ($requete) ; |
if (DB::isError($resultat)) { |
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ; |
} |
$this->_id = $id ; |
$this->_domaine = $valeur['domaine_liste'] ; |
$this->_nom = $valeur['nom_liste'] ; |
return $id; |
} |
|
/** |
* |
* |
* @param string code_sql |
* @return bool |
* @access public |
*/ |
function suppressionSQL() |
{ |
|
$requete = "delete from projet_liste where pl_id_liste=".$this->_id ; |
$resultat = $this->_db->query ($requete) ; |
|
return true ; |
} // end of member function suppressionSQL |
|
/** |
* Vérifie si une liste existe déjà dans la table projet_liste. |
* |
* @param string adresse_liste L'adresse de la liste à tester |
* @param DB objetDB Un objet PEAR::DB |
* @return bool |
* @static |
* @access public |
*/ |
function verifieDoubleListe( $adresse_liste, &$objetDB ) |
{ |
$requete = 'select pl_id_liste from projet_liste where pl_adresse_liste="'.$adresse_liste.'"' ; |
$resultat = $objetDB->query ($requete) ; |
if (DB::isError ($resultat)) { |
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ; |
} |
if ($resultat->numRows()) { |
return false; |
} |
return true ; |
} // end of member function verifieDoubleListe |
|
|
/** |
* Renvoie l'adresse de la liste |
* |
* @return string |
* @access public |
*/ |
function getAdresseEnvoi( ) |
{ |
return $this->_adresse ; |
} // end of member function getAdresseEnvoi |
|
/** |
* Renvoie l'adresse de la liste |
* |
* @return string |
* @access public |
*/ |
function getAdresseInscription( ) |
{ |
return $this->_adresse_inscription ; |
} // end of member function getAdresseEnvoi |
|
/** |
* |
* |
* @return string |
* @access public |
*/ |
function getAdresseResume( ) |
{ |
return $this->_adresse_inscription_resume ; |
} // end of member function getAdresseResume |
|
|
/** |
* |
* |
* @return string |
* @access public |
*/ |
function isPublic( ) |
{ |
return $this->_portee ; |
} // end of member function getAdresseResume |
|
|
|
|
|
|
|
} // end of liste_discussion |
?> |