Subversion Repositories eFlore/Archives.herbiers

Compare Revisions

Ignore whitespace Rev 1 → Rev 2

/trunk/bibliotheque/hb_herbier.class.php
New file
0,0 → 1,554
<?php
/*vim: set expandtab tabstop=4 shiftwidth=4: */
// +------------------------------------------------------------------------------------------------------+
// | PHP version 4.1 |
// +------------------------------------------------------------------------------------------------------+
// | Copyright (C) 2005 Tela Botanica (accueil@tela-botanica.org) |
// +------------------------------------------------------------------------------------------------------+
// | This file is part of Herbier. |
// | |
// | Foobar 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. |
// | |
// | Foobar 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: hb_herbier.class.php,v 1.1 2005-11-23 10:32:32 jp_milcent Exp $
/**
* Classe H_Herbier
*
* Classe permettant de récupérer les données concernant les organisations de la base de données.
*
*@package Herbier
*@subpackage Classes
//Auteur original :
*@author Jean-Pascal MILCENT <jpm@clapas.org>
//Autres auteurs :
*@author Alexandre GRANIER <alexandre@tela-botanica.org>
*@copyright Tela-Botanica 2000-2005
*@version $Revision: 1.1 $ $Date: 2005-11-23 10:32:32 $
// +------------------------------------------------------------------------------------------------------+
*/
 
// +------------------------------------------------------------------------------------------------------+
// | ENTETE du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
// +------------------------------------------------------------------------------------------------------+
// | CORPS du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
/**
* class H_Herbier()
*
* class H_Herbier contient les méthodes communes aux différentes classes de l'application Herbier.
* @package herbiers
*/
class H_Herbier {
// +--------------------------------------------------------------------------------------------------+
// ATTRIBUTS
/** @var integer le nombre représentant l'action courante de l'application.*/
var $action;
/** @var string url de base de l'application d'administration d'Herbier.*/
var $url_base;
/** @var string url avec l'action configurable via sprintf.*/
var $url_action;
/** @var string url avec l'action et l'id organisation configurable via sprintf.*/
var $url_action_org;
/** @var string url avec l'action, l'id organisation et l'id equipe configurable via sprintf.*/
var $url_action_org_equipe;
/** @var string url avec l'action, l'id organisation et l'id collection configurable via sprintf.*/
var $url_action_org_coll;
/** @var string url avec l'action, l'id organisation et l'id note configurable via sprintf.*/
var $url_action_org_note;
/** @var string url avec l'action, l'id organisation, l'id collection et l'id note configurable via sprintf.*/
var $url_action_org_coll_note;
/** @var string url avec l'action et l'id correspondant configurable via sprintf.*/
var $url_action_cor;
/** @var string url avec l'action et l'id rédacteur configurable via sprintf.*/
var $url_action_red;
/** @var string url avec l'action et l'id utilisateur configurable via sprintf.*/
var $url_action_utilisateur;
/** @var array le tableau contenant une liste d'objet utilisateur ayant des droits dans l'administration de Herbier.*/
var $utilisateur_liste;
/** @var H_Utilisateur l'objet H_Utilisateur correspondant à l'utilisateur actuel de Herbier.*/
var $utilisateur;
/** @var H_Utilisateur un objet H_Utilisateur de type correspondant actuel de Herbier.*/
var $correspondant;
/** @var H_Utilisateur un objet H_Utilisateur de type rédacteur actuel de Herbier.*/
var $redacteur;
/** @var H_Organisation un objet H_Organisation correspondant à l'organisation courante de l'utilisateur actuel.*/
var $organisation;
/** @var H_equipe l'objet de type H_equipe courant appartenant à l'organisation courante.*/
var $equipe;
/** @var H_collection l'objet de type H_collection courant appartenant à l'organisation courante.*/
var $collection;
/** @var H_indic l'objet de type H_indic courant appartenant à la collection courante.*/
var $note;
// +--------------------------------------------------------------------------------------------------+
// CONSTRUCTEUR
/**
* Constructeur de H_Herbier
*
* @param integer l'identifiant de l'utilisateur courant des herbiers.
* @return void
* @access public
*/
function H_Herbier($id_utilisateur = null)
{
// Ajout de l'action courante
if (isset($_REQUEST['action'])) {
$this->setAction($_REQUEST['action']);
}
$this->utilisateur_liste = array();
// Ajout des urls courantes
if (defined('HB_URL_COURANTE_ADMIN')) {
$this->setUrlBase(HB_URL_COURANTE_ADMIN);
}
if (defined('HB_URL_COURANTE_ADMIN_ACTION')) {
$this->setUrlAction(HB_URL_COURANTE_ADMIN_ACTION);
}
if (defined('HB_URL_COURANTE_ADMIN_ACTION_UTILISATEUR')) {
$this->setUrlActionUtilisateur(HB_URL_COURANTE_ADMIN_ACTION_UTILISATEUR);
}
if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORGANISATION')) {
$this->setUrlActionOrg(HB_URL_COURANTE_ADMIN_ACTION_ORGANISATION);
}
if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORG_EQUIPE')) {
$this->setUrlActionOrgEquipe(HB_URL_COURANTE_ADMIN_ACTION_ORG_EQUIPE);
}
if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORG_COLL')) {
$this->setUrlActionOrgColl(HB_URL_COURANTE_ADMIN_ACTION_ORG_COLL);
}
if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORG_NOTE')) {
$this->setUrlActionOrgNote(HB_URL_COURANTE_ADMIN_ACTION_ORG_NOTE);
}
if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORG_COLL_NOTE')) {
$this->setUrlActionOrgCollNote(HB_URL_COURANTE_ADMIN_ACTION_ORG_COLL_NOTE);
}
if (defined('HB_URL_COURANTE_ADMIN_ACTION_COR')) {
$this->setUrlActionCor(HB_URL_COURANTE_ADMIN_ACTION_COR);
}
if (defined('HB_URL_COURANTE_ADMIN_ACTION_RED')) {
$this->setUrlActionRed(HB_URL_COURANTE_ADMIN_ACTION_RED);
}
// Ajout de l'utilisateur courant
if (!is_null($id_utilisateur)) {
$un_utilisateur = new H_Utilisateur($id_utilisateur);
$this->setUtilisateur($un_utilisateur);
}
// Ajout de l'organisation courante
if (isset($_REQUEST['id_org'])) {
$une_organisation = new H_organisation($_REQUEST['id_org']);
$this->setOrganisation($une_organisation);
}
// Ajout du membre de l'équipe courant
if (isset($_REQUEST['id_equipe'])) {
$une_equipe = new H_equipe($_REQUEST['id_equipe']);
$this->setEquipe($une_equipe);
}
// Ajout de la collection courante
if (isset($_REQUEST['id_coll'])) {
$une_collection = new H_collection($_REQUEST['id_coll']);
$this->setCollection($une_collection);
}
// Ajout de la collection courante
if (isset($_REQUEST['id_note'])) {
$une_note = new H_indic($_REQUEST['id_note']);
$this->setNote($une_note);
}
// Ajout du correspondant
if (isset($_REQUEST['id_cor'])) {
$un_correspondant = new H_Utilisateur($_REQUEST['id_cor']);
$this->setCorrespondant($un_correspondant);
}
// Ajout du rédacteur
if (isset($_REQUEST['id_red'])) {
$un_redacteur = new H_Utilisateur($_REQUEST['id_red']);
$this->setRedacteur($un_redacteur);
}
}
// +--------------------------------------------------------------------------------------------------+
// ACCESSEURS
/** Accesseur setAction() - Ajoute l'action courante.
*
* @param integer le nombre représentant l'action courante de l'application.
* @return void
* @access public
*/
function setAction($id_action)
{
$this->action = $id_action;
}
/** Accesseur getAction() - Retourne l'action courante.
*
* @return integer le numéro de l'action courante de l'application.
* @access public
*/
function getAction()
{
return $this->action;
}
/** Accesseur setUrlBase() - Ajoute l'url de base courante.
*
* @param string l'url de base courante de l'application.
* @return void
* @access public
*/
function setUrlBase($url)
{
$this->url_base = $url;
}
/** Accesseur getUrlBase() - Retourne l'url de base courante.
*
* @return string l'url de base courante de l'application.
* @access public
*/
function getUrlBase()
{
return $this->url_base;
}
/** Accesseur setUrlAction() - Ajoute l'url avec l'action configurable.
*
* @param string l'url avec l'action configurable via sprintf.
* @return void
* @access public
*/
function setUrlAction($url)
{
$this->url_action = $url;
}
/** Accesseur getUrlAction() - Retourne l'url avec l'action configurable.
*
* @return string l'url avec l'action configurable via sprintf.
* @access public
*/
function getUrlAction()
{
return $this->url_action;
}
/** Accesseur setUrlActionCor() - Ajoute l'url avec l'action et l'id correspondant configurable.
*
* @param string l'url avec l'action et l'id correspondant configurable via sprintf.
* @return void
* @access public
*/
function setUrlActionCor($url)
{
$this->url_action_cor = $url;
}
/** Accesseur getUrlActionCor() - Retourne l'url avec l'action et l'id correspondant configurable.
*
* @return string l'url avec l'action et l'id correspondant configurable via sprintf.
* @access public
*/
function getUrlActionCor()
{
return $this->url_action_cor;
}
/** Accesseur setUrlActionRed() - Ajoute l'url avec l'action et l'id rédacteur configurable.
*
* @param string l'url avec l'action et l'id rédacteur configurable via sprintf.
* @return void
* @access public
*/
function setUrlActionRed($url)
{
$this->url_action_red = $url;
}
/** Accesseur getUrlActionRed() - Retourne l'url avec l'action et l'id rédacteur configurable.
*
* @return string l'url avec l'action et l'id rédacteur configurable via sprintf.
* @access public
*/
function getUrlActionRed()
{
return $this->url_action_red;
}
/** Accesseur setUrlActionOrg() - Ajoute l'url avec l'action et l'id organisation configurable.
*
* @param string l'url avec l'action et l'id organisation configurable via sprintf.
* @return void
* @access public
*/
function setUrlActionOrg($url)
{
$this->url_action_org = $url;
}
/** Accesseur getUrlActionOrg() - Retourne l'url avec l'action et l'id organisation configurable.
*
* @return string l'url avec l'action et l'id organisation configurable via sprintf.
* @access public
*/
function getUrlActionOrg()
{
return $this->url_action_org;
}
/** Accesseur setUrlActionOrgEquipe() - Ajoute l'url avec l'action, l'id organisation et l'id equipe configurable.
*
* @param string l'url avec l'action, l'id organisation et l'id equipe configurable via sprintf.
* @return void
* @access public
*/
function setUrlActionOrgEquipe($url)
{
$this->url_action_org_equipe = $url;
}
/** Accesseur getUrlActionOrgEquipe() - Retourne l'url avec l'action, l'id organisation et l'id equipe configurable.
*
* @return string l'url avec l'action, l'id organisation et l'id equipe configurable via sprintf.
* @access public
*/
function getUrlActionOrgEquipe()
{
return $this->url_action_org_equipe;
}
/** Accesseur setUrlActionOrgColl() - Ajoute l'url avec l'action, l'id organisation et l'id collection configurable.
*
* @param string l'url avec l'action, l'id organisation et l'id collection configurable via sprintf.
* @return void
* @access public
*/
function setUrlActionOrgColl($url)
{
$this->url_action_org_coll = $url;
}
/** Accesseur getUrlActionOrgColl() - Retourne l'url avec l'action, l'id organisation et l'id collection configurable.
*
* @return string l'url avec l'action, l'id organisation et l'id collection configurable via sprintf.
* @access public
*/
function getUrlActionOrgColl()
{
return $this->url_action_org_coll;
}
/** Accesseur setUrlActionOrgNote() - Ajoute l'url avec action, id organisation et id note configurable.
*
* @param string l'url avec l'action, l'id organisation et id note configurable via sprintf.
* @return void
* @access public
*/
function setUrlActionOrgNote($url)
{
$this->url_action_org_note = $url;
}
/** Accesseur getUrlActionOrgNote() - Retourne l'url avec l'action, l'id organisation et id note configurable.
*
* @return string l'url avec l'action, l'id organisation et l'id note configurable via sprintf.
* @access public
*/
function getUrlActionOrgNote()
{
return $this->url_action_org_note;
}
/** Accesseur setUrlActionOrgCollNote() - Ajoute l'url avec action, id organisation, id collection et id note configurable.
*
* @param string l'url avec l'action, l'id organisation, l'id collection et id note configurable via sprintf.
* @return void
* @access public
*/
function setUrlActionOrgCollNote($url)
{
$this->url_action_org_coll_note = $url;
}
/** Accesseur getUrlActionOrgCollNote() - Retourne l'url avec l'action, l'id organisation, l'id collection et id note configurable.
*
* @return string l'url avec l'action, l'id organisation, l'id collection et l'id note configurable via sprintf.
* @access public
*/
function getUrlActionOrgCollNote()
{
return $this->url_action_org_coll_note;
}
/** Accesseur setUrlActionUtilisateur() - Ajoute l'url avec l'action et l'id utilisateur configurable.
*
* @param string l'url avec l'action et l'id utilisateur configurable via sprintf.
* @return void
* @access public
*/
function setUrlActionUtilisateur($url)
{
$this->url_action_utilisateur = $url;
}
/** Accesseur getUrlActionUtilisateur() - Retourne l'url avec l'action et l'id utilisateur configurable.
*
* @return string l'url avec l'action et l'id utilisateur configurable via sprintf.
* @access public
*/
function getUrlActionUtilisateur()
{
return $this->url_action_utilisateur;
}
/** Accesseur setUtilisateur() - Ajoute l'utilisateur courant.
*
* @param H_Utilisateur l'objet l'utilisateur courant.
* @return void
* @access public
*/
function setUtilisateur(&$un_utilisateur)
{
$this->utilisateur =& $un_utilisateur;
}
/** Accesseur getUtilisateur() - Retourne l'utilisateur courant.
*
* @return H_Utilisateur l'objet l'utilisateur courant.
* @access public
*/
function getUtilisateur()
{
return $this->utilisateur;
}
/** Accesseur setCorrespondant() - Ajoute le correspondant courant.
*
* @param H_Utilisateur l'objet correspondant courant.
* @return void
* @access public
*/
function setCorrespondant(&$un_correspondant)
{
$this->correspondant =& $un_correspondant;
}
/** Accesseur getCorrespondant() - Retourne le correspondant courant.
*
* @return H_Utilisateur l'objet correspondant courant.
* @access public
*/
function getCorrespondant()
{
return $this->correspondant;
}
/** Accesseur setRedacteur() - Ajoute le rédacteur courant.
*
* @param H_Utilisateur l'objet rédacteur courant.
* @return void
* @access public
*/
function setRedacteur(&$un_redacteur)
{
$this->redacteur =& $un_redacteur;
}
/** Accesseur getRedacteur() - Retourne le rédacteur courant.
*
* @return H_Utilisateur l'objet rédacteur courant.
* @access public
*/
function getRedacteur()
{
return $this->redacteur;
}
/** Accesseur setOrganisation() - Ajoute l'organisation de l'utilisateur.
*
* @param H_Organisation l'objet organisation correspondant à l'utilisateur.
* @return void
* @access public
*/
function setOrganisation(&$une_organisation)
{
$this->organisation =& $une_organisation;
}
/** Accesseur getOrganisation() - Retourne l'organisation courante.
*
* @return H_Organisation l'objet organisation courant de l'utilisateur.
* @access public
*/
function getOrganisation()
{
return $this->organisation;
}
/** Accesseur setEquipe() - Ajoute l'équipe courante.
*
* @param H_equipe l'objet équipe correspondant à l'organisation courante.
* @return void
* @access public
*/
function setEquipe(&$une_equipe)
{
$this->equipe =& $une_equipe;
}
/** Accesseur setCollection() - Ajoute une collection.
*
* @param H_collection l'objet collection courant.
* @return void
* @access public
*/
function setCollection(&$une_collection)
{
$this->collection =& $une_collection;
}
/** Accesseur getCollection() - Retourne une collection.
*
* @return H_collection l'objet collection courant.
* @access public
*/
function getCollection()
{
return $this->collection;
}
/** Accesseur setNote() - Ajoute une note.
*
* @param H_indic l'objet note (H_indic) courant.
* @return void
* @access public
*/
function setNote(&$une_note)
{
$this->note =& $une_note;
}
// +--------------------------------------------------------------------------------------------------+
// MÉTHODES
/**
* Méthode remplacerEsperluette() - Remplace les & en &amp;
*
* Permet de remplacer les & en &amp; dans les données extraites de la
* base de données.
*
* @param object l'objet dans lequel il faut ramplacer les & des attributs.
* @return mixed l'objet avec les & remplacés en &amp; ou si erreur FALSE.
* @access public
*/
function remplacerEsperluette(&$objet)
{
// Remplacement des & en &amp; avant renvoi des données
if (is_object($objet)) {
foreach (get_object_vars($objet) as $cle => $valeur) {
$objet->$cle = str_replace(' & ', ' &amp; ', $valeur);
}
return $objet;
}
return FALSE;
}
}
 
// +------------------------------------------------------------------------------------------------------+
// | PIED du PROGRAMME |
// +------------------------------------------------------------------------------------------------------+
 
 
/* +--Fin du code ----------------------------------------------------------------------------------------+
*
* $Log: not supported by cvs2svn $
* Revision 1.2 2005/04/06 13:29:17 jpm
* Ajout et modifications des objets représentant la base de données Herbier.
*
* Revision 1.1 2005/03/08 14:13:21 jpm
* Ajout des classes d'accès à la base de données.
*
*
* +-- Fin du code ----------------------------------------------------------------------------------------+
*/
?>