Subversion Repositories eFlore/Archives.herbiers

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 jp_milcent 1
<?php
2
/*vim: set expandtab tabstop=4 shiftwidth=4: */
3
// +------------------------------------------------------------------------------------------------------+
4
// | PHP version 4.1                                                                                      |
5
// +------------------------------------------------------------------------------------------------------+
6
// | Copyright (C) 2005 Tela Botanica (accueil@tela-botanica.org)                                         |
7
// +------------------------------------------------------------------------------------------------------+
8
// | This file is part of Herbier.                                                                        |
9
// |                                                                                                      |
10
// | Foobar is free software; you can redistribute it and/or modify                                       |
11
// | it under the terms of the GNU General Public License as published by                                 |
12
// | the Free Software Foundation; either version 2 of the License, or                                    |
13
// | (at your option) any later version.                                                                  |
14
// |                                                                                                      |
15
// | Foobar is distributed in the hope that it will be useful,                                            |
16
// | but WITHOUT ANY WARRANTY; without even the implied warranty of                                       |
17
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                        |
18
// | GNU General Public License for more details.                                                         |
19
// |                                                                                                      |
20
// | You should have received a copy of the GNU General Public License                                    |
21
// | along with Foobar; if not, write to the Free Software                                                |
22
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
23
// +------------------------------------------------------------------------------------------------------+
24
// CVS : $Id: hb_herbier.class.php,v 1.1 2005-11-23 10:32:32 jp_milcent Exp $
25
/**
26
* Classe H_Herbier
27
*
28
* Classe permettant de récupérer les données concernant les organisations de la base de données.
29
*
30
*@package Herbier
31
*@subpackage Classes
32
//Auteur original :
33
*@author        Jean-Pascal MILCENT <jpm@clapas.org>
34
//Autres auteurs :
35
*@author        Alexandre GRANIER <alexandre@tela-botanica.org>
36
*@copyright     Tela-Botanica 2000-2005
37
*@version       $Revision: 1.1 $ $Date: 2005-11-23 10:32:32 $
38
// +------------------------------------------------------------------------------------------------------+
39
*/
40
 
41
// +------------------------------------------------------------------------------------------------------+
42
// |                                            ENTETE du PROGRAMME                                       |
43
// +------------------------------------------------------------------------------------------------------+
44
 
45
// +------------------------------------------------------------------------------------------------------+
46
// |                                            CORPS du PROGRAMME                                        |
47
// +------------------------------------------------------------------------------------------------------+
48
/**
49
* class H_Herbier()
50
*
51
* class H_Herbier contient les méthodes communes aux différentes classes de l'application Herbier.
52
* @package herbiers
53
*/
54
class H_Herbier {
55
    // +--------------------------------------------------------------------------------------------------+
56
    // ATTRIBUTS
57
    /** @var integer le nombre représentant l'action courante de l'application.*/
58
    var $action;
59
    /** @var string url de base de l'application d'administration d'Herbier.*/
60
    var $url_base;
61
    /** @var string url avec l'action configurable via sprintf.*/
62
    var $url_action;
63
    /** @var string url avec l'action et l'id organisation configurable via sprintf.*/
64
    var $url_action_org;
65
    /** @var string url avec l'action, l'id organisation et l'id equipe configurable via sprintf.*/
66
    var $url_action_org_equipe;
67
    /** @var string url avec l'action, l'id organisation et l'id collection configurable via sprintf.*/
68
    var $url_action_org_coll;
69
    /** @var string url avec l'action, l'id organisation et l'id note configurable via sprintf.*/
70
    var $url_action_org_note;
71
    /** @var string url avec l'action, l'id organisation, l'id collection et l'id note configurable via sprintf.*/
72
    var $url_action_org_coll_note;
73
    /** @var string url avec l'action et l'id correspondant configurable via sprintf.*/
74
    var $url_action_cor;
75
    /** @var string url avec l'action et l'id rédacteur configurable via sprintf.*/
76
    var $url_action_red;
77
    /** @var string url avec l'action et l'id utilisateur configurable via sprintf.*/
78
    var $url_action_utilisateur;
79
    /** @var array le tableau contenant une liste d'objet utilisateur ayant des droits dans l'administration de Herbier.*/
80
    var $utilisateur_liste;
81
    /** @var H_Utilisateur l'objet H_Utilisateur correspondant à l'utilisateur actuel de Herbier.*/
82
    var $utilisateur;
83
    /** @var H_Utilisateur un objet H_Utilisateur de type correspondant actuel de Herbier.*/
84
    var $correspondant;
85
    /** @var H_Utilisateur un objet H_Utilisateur de type rédacteur actuel de Herbier.*/
86
    var $redacteur;
87
    /** @var H_Organisation un objet H_Organisation correspondant à l'organisation courante de l'utilisateur actuel.*/
88
    var $organisation;
89
    /** @var H_equipe l'objet de type H_equipe courant appartenant à l'organisation courante.*/
90
    var $equipe;
91
    /** @var H_collection l'objet de type H_collection courant appartenant à l'organisation courante.*/
92
    var $collection;
93
    /** @var H_indic l'objet de type H_indic courant appartenant à la collection courante.*/
94
    var $note;
95
    // +--------------------------------------------------------------------------------------------------+
96
    // CONSTRUCTEUR
97
    /**
98
    *  Constructeur de H_Herbier
99
    *
100
    * @param integer l'identifiant de l'utilisateur courant des herbiers.
101
    * @return void
102
    * @access public
103
    */
104
    function H_Herbier($id_utilisateur = null)
105
    {
106
        // Ajout de l'action courante
107
        if (isset($_REQUEST['action'])) {
108
            $this->setAction($_REQUEST['action']);
109
        }
110
 
111
        $this->utilisateur_liste = array();
112
        // Ajout des urls courantes
113
        if (defined('HB_URL_COURANTE_ADMIN')) {
114
            $this->setUrlBase(HB_URL_COURANTE_ADMIN);
115
        }
116
        if (defined('HB_URL_COURANTE_ADMIN_ACTION')) {
117
            $this->setUrlAction(HB_URL_COURANTE_ADMIN_ACTION);
118
        }
119
        if (defined('HB_URL_COURANTE_ADMIN_ACTION_UTILISATEUR')) {
120
            $this->setUrlActionUtilisateur(HB_URL_COURANTE_ADMIN_ACTION_UTILISATEUR);
121
        }
122
        if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORGANISATION')) {
123
            $this->setUrlActionOrg(HB_URL_COURANTE_ADMIN_ACTION_ORGANISATION);
124
        }
125
        if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORG_EQUIPE')) {
126
            $this->setUrlActionOrgEquipe(HB_URL_COURANTE_ADMIN_ACTION_ORG_EQUIPE);
127
        }
128
        if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORG_COLL')) {
129
            $this->setUrlActionOrgColl(HB_URL_COURANTE_ADMIN_ACTION_ORG_COLL);
130
        }
131
        if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORG_NOTE')) {
132
            $this->setUrlActionOrgNote(HB_URL_COURANTE_ADMIN_ACTION_ORG_NOTE);
133
        }
134
        if (defined('HB_URL_COURANTE_ADMIN_ACTION_ORG_COLL_NOTE')) {
135
            $this->setUrlActionOrgCollNote(HB_URL_COURANTE_ADMIN_ACTION_ORG_COLL_NOTE);
136
        }
137
        if (defined('HB_URL_COURANTE_ADMIN_ACTION_COR')) {
138
            $this->setUrlActionCor(HB_URL_COURANTE_ADMIN_ACTION_COR);
139
        }
140
        if (defined('HB_URL_COURANTE_ADMIN_ACTION_RED')) {
141
            $this->setUrlActionRed(HB_URL_COURANTE_ADMIN_ACTION_RED);
142
        }
143
        // Ajout de l'utilisateur courant
144
        if (!is_null($id_utilisateur)) {
145
            $un_utilisateur = new H_Utilisateur($id_utilisateur);
146
            $this->setUtilisateur($un_utilisateur);
147
        }
148
 
149
        // Ajout de l'organisation courante
150
        if (isset($_REQUEST['id_org'])) {
151
            $une_organisation = new H_organisation($_REQUEST['id_org']);
152
            $this->setOrganisation($une_organisation);
153
        }
154
 
155
        // Ajout du membre de l'équipe courant
156
        if (isset($_REQUEST['id_equipe'])) {
157
            $une_equipe = new H_equipe($_REQUEST['id_equipe']);
158
            $this->setEquipe($une_equipe);
159
        }
160
 
161
        // Ajout de la collection courante
162
        if (isset($_REQUEST['id_coll'])) {
163
            $une_collection = new H_collection($_REQUEST['id_coll']);
164
            $this->setCollection($une_collection);
165
        }
166
 
167
        // Ajout de la collection courante
168
        if (isset($_REQUEST['id_note'])) {
169
            $une_note = new H_indic($_REQUEST['id_note']);
170
            $this->setNote($une_note);
171
        }
172
 
173
        // Ajout du correspondant
174
        if (isset($_REQUEST['id_cor'])) {
175
            $un_correspondant = new H_Utilisateur($_REQUEST['id_cor']);
176
            $this->setCorrespondant($un_correspondant);
177
        }
178
 
179
        // Ajout du rédacteur
180
        if (isset($_REQUEST['id_red'])) {
181
            $un_redacteur = new H_Utilisateur($_REQUEST['id_red']);
182
            $this->setRedacteur($un_redacteur);
183
        }
184
    }
185
    // +--------------------------------------------------------------------------------------------------+
186
    // ACCESSEURS
187
    /** Accesseur setAction() - Ajoute l'action courante.
188
    *
189
    * @param integer le nombre représentant l'action courante de l'application.
190
    * @return void
191
    * @access public
192
    */
193
    function setAction($id_action)
194
    {
195
        $this->action = $id_action;
196
    }
197
    /** Accesseur getAction() - Retourne l'action courante.
198
    *
199
    * @return integer le numéro de l'action courante de l'application.
200
    * @access public
201
    */
202
    function getAction()
203
    {
204
        return $this->action;
205
    }
206
    /** Accesseur setUrlBase() - Ajoute l'url de base courante.
207
    *
208
    * @param string l'url de base courante de l'application.
209
    * @return void
210
    * @access public
211
    */
212
    function setUrlBase($url)
213
    {
214
        $this->url_base = $url;
215
    }
216
    /** Accesseur getUrlBase() - Retourne l'url de base courante.
217
    *
218
    * @return string l'url de base courante de l'application.
219
    * @access public
220
    */
221
    function getUrlBase()
222
    {
223
        return $this->url_base;
224
    }
225
    /** Accesseur setUrlAction() - Ajoute l'url avec l'action configurable.
226
    *
227
    * @param string l'url avec l'action configurable via sprintf.
228
    * @return void
229
    * @access public
230
    */
231
    function setUrlAction($url)
232
    {
233
        $this->url_action = $url;
234
    }
235
    /** Accesseur getUrlAction() - Retourne l'url avec l'action configurable.
236
    *
237
    * @return string l'url avec l'action configurable via sprintf.
238
    * @access public
239
    */
240
    function getUrlAction()
241
    {
242
        return $this->url_action;
243
    }
244
    /** Accesseur setUrlActionCor() - Ajoute l'url avec l'action et l'id correspondant configurable.
245
    *
246
    * @param string l'url avec l'action et l'id correspondant configurable via sprintf.
247
    * @return void
248
    * @access public
249
    */
250
    function setUrlActionCor($url)
251
    {
252
        $this->url_action_cor = $url;
253
    }
254
    /** Accesseur getUrlActionCor() - Retourne l'url avec l'action et l'id correspondant configurable.
255
    *
256
    * @return string l'url avec l'action et l'id correspondant configurable via sprintf.
257
    * @access public
258
    */
259
    function getUrlActionCor()
260
    {
261
        return $this->url_action_cor;
262
    }
263
    /** Accesseur setUrlActionRed() - Ajoute l'url avec l'action et l'id rédacteur configurable.
264
    *
265
    * @param string l'url avec l'action et l'id rédacteur configurable via sprintf.
266
    * @return void
267
    * @access public
268
    */
269
    function setUrlActionRed($url)
270
    {
271
        $this->url_action_red = $url;
272
    }
273
    /** Accesseur getUrlActionRed() - Retourne l'url avec l'action et l'id rédacteur configurable.
274
    *
275
    * @return string l'url avec l'action et l'id rédacteur configurable via sprintf.
276
    * @access public
277
    */
278
    function getUrlActionRed()
279
    {
280
        return $this->url_action_red;
281
    }
282
    /** Accesseur setUrlActionOrg() - Ajoute l'url avec l'action et l'id organisation configurable.
283
    *
284
    * @param string l'url avec l'action et l'id organisation configurable via sprintf.
285
    * @return void
286
    * @access public
287
    */
288
    function setUrlActionOrg($url)
289
    {
290
        $this->url_action_org = $url;
291
    }
292
    /** Accesseur getUrlActionOrg() - Retourne l'url avec l'action et l'id organisation configurable.
293
    *
294
    * @return string l'url avec l'action et l'id organisation configurable via sprintf.
295
    * @access public
296
    */
297
    function getUrlActionOrg()
298
    {
299
        return $this->url_action_org;
300
    }
301
    /** Accesseur setUrlActionOrgEquipe() - Ajoute l'url avec l'action, l'id organisation et l'id equipe configurable.
302
    *
303
    * @param string l'url avec l'action, l'id organisation et l'id equipe configurable via sprintf.
304
    * @return void
305
    * @access public
306
    */
307
    function setUrlActionOrgEquipe($url)
308
    {
309
        $this->url_action_org_equipe = $url;
310
    }
311
    /** Accesseur getUrlActionOrgEquipe() - Retourne l'url avec l'action, l'id organisation et l'id equipe configurable.
312
    *
313
    * @return string l'url avec l'action, l'id organisation et l'id equipe configurable via sprintf.
314
    * @access public
315
    */
316
    function getUrlActionOrgEquipe()
317
    {
318
        return $this->url_action_org_equipe;
319
    }
320
    /** Accesseur setUrlActionOrgColl() - Ajoute l'url avec l'action, l'id organisation et l'id collection configurable.
321
    *
322
    * @param string l'url avec l'action, l'id organisation et l'id collection configurable via sprintf.
323
    * @return void
324
    * @access public
325
    */
326
    function setUrlActionOrgColl($url)
327
    {
328
        $this->url_action_org_coll = $url;
329
    }
330
    /** Accesseur getUrlActionOrgColl() - Retourne l'url avec l'action, l'id organisation et l'id collection configurable.
331
    *
332
    * @return string l'url avec l'action, l'id organisation et l'id collection configurable via sprintf.
333
    * @access public
334
    */
335
    function getUrlActionOrgColl()
336
    {
337
        return $this->url_action_org_coll;
338
    }
339
    /** Accesseur setUrlActionOrgNote() - Ajoute l'url avec action, id organisation et id note configurable.
340
    *
341
    * @param string l'url avec l'action, l'id organisation et id note configurable via sprintf.
342
    * @return void
343
    * @access public
344
    */
345
    function setUrlActionOrgNote($url)
346
    {
347
        $this->url_action_org_note = $url;
348
    }
349
    /** Accesseur getUrlActionOrgNote() - Retourne l'url avec l'action, l'id organisation et id note configurable.
350
    *
351
    * @return string l'url avec l'action, l'id organisation et l'id note configurable via sprintf.
352
    * @access public
353
    */
354
    function getUrlActionOrgNote()
355
    {
356
        return $this->url_action_org_note;
357
    }
358
    /** Accesseur setUrlActionOrgCollNote() - Ajoute l'url avec action, id organisation, id collection et id note configurable.
359
    *
360
    * @param string l'url avec l'action, l'id organisation, l'id collection et id note configurable via sprintf.
361
    * @return void
362
    * @access public
363
    */
364
    function setUrlActionOrgCollNote($url)
365
    {
366
        $this->url_action_org_coll_note = $url;
367
    }
368
    /** Accesseur getUrlActionOrgCollNote() - Retourne l'url avec l'action, l'id organisation, l'id collection et id note configurable.
369
    *
370
    * @return string l'url avec l'action, l'id organisation, l'id collection et l'id note configurable via sprintf.
371
    * @access public
372
    */
373
    function getUrlActionOrgCollNote()
374
    {
375
        return $this->url_action_org_coll_note;
376
    }
377
    /** Accesseur setUrlActionUtilisateur() - Ajoute l'url avec l'action et l'id utilisateur configurable.
378
    *
379
    * @param string l'url avec l'action et l'id utilisateur configurable via sprintf.
380
    * @return void
381
    * @access public
382
    */
383
    function setUrlActionUtilisateur($url)
384
    {
385
        $this->url_action_utilisateur = $url;
386
    }
387
    /** Accesseur getUrlActionUtilisateur() - Retourne l'url avec l'action et l'id utilisateur configurable.
388
    *
389
    * @return string l'url avec l'action et l'id utilisateur configurable via sprintf.
390
    * @access public
391
    */
392
    function getUrlActionUtilisateur()
393
    {
394
        return $this->url_action_utilisateur;
395
    }
396
    /** Accesseur setUtilisateur() - Ajoute l'utilisateur courant.
397
    *
398
    * @param H_Utilisateur l'objet l'utilisateur courant.
399
    * @return void
400
    * @access public
401
    */
402
    function setUtilisateur(&$un_utilisateur)
403
    {
404
        $this->utilisateur =& $un_utilisateur;
405
    }
406
    /** Accesseur getUtilisateur() - Retourne l'utilisateur courant.
407
    *
408
    * @return H_Utilisateur l'objet l'utilisateur courant.
409
    * @access public
410
    */
411
    function getUtilisateur()
412
    {
413
        return $this->utilisateur;
414
    }
415
    /** Accesseur setCorrespondant() - Ajoute le correspondant courant.
416
    *
417
    * @param H_Utilisateur l'objet correspondant courant.
418
    * @return void
419
    * @access public
420
    */
421
    function setCorrespondant(&$un_correspondant)
422
    {
423
        $this->correspondant =& $un_correspondant;
424
    }
425
    /** Accesseur getCorrespondant() - Retourne le correspondant courant.
426
    *
427
    * @return H_Utilisateur l'objet correspondant courant.
428
    * @access public
429
    */
430
    function getCorrespondant()
431
    {
432
        return $this->correspondant;
433
    }
434
    /** Accesseur setRedacteur() - Ajoute le rédacteur courant.
435
    *
436
    * @param H_Utilisateur l'objet rédacteur courant.
437
    * @return void
438
    * @access public
439
    */
440
    function setRedacteur(&$un_redacteur)
441
    {
442
        $this->redacteur =& $un_redacteur;
443
    }
444
    /** Accesseur getRedacteur() - Retourne le rédacteur courant.
445
    *
446
    * @return H_Utilisateur l'objet rédacteur courant.
447
    * @access public
448
    */
449
    function getRedacteur()
450
    {
451
        return $this->redacteur;
452
    }
453
    /** Accesseur setOrganisation() - Ajoute l'organisation de l'utilisateur.
454
    *
455
    * @param H_Organisation l'objet organisation correspondant à l'utilisateur.
456
    * @return void
457
    * @access public
458
    */
459
    function setOrganisation(&$une_organisation)
460
    {
461
        $this->organisation =& $une_organisation;
462
    }
463
    /** Accesseur getOrganisation() - Retourne l'organisation courante.
464
    *
465
    * @return H_Organisation l'objet organisation courant de l'utilisateur.
466
    * @access public
467
    */
468
    function getOrganisation()
469
    {
470
        return $this->organisation;
471
    }
472
    /** Accesseur setEquipe() - Ajoute l'équipe courante.
473
    *
474
    * @param H_equipe l'objet équipe correspondant à l'organisation courante.
475
    * @return void
476
    * @access public
477
    */
478
    function setEquipe(&$une_equipe)
479
    {
480
        $this->equipe =& $une_equipe;
481
    }
482
    /** Accesseur setCollection() - Ajoute une collection.
483
    *
484
    * @param H_collection l'objet collection courant.
485
    * @return void
486
    * @access public
487
    */
488
    function setCollection(&$une_collection)
489
    {
490
        $this->collection =& $une_collection;
491
    }
492
    /** Accesseur getCollection() - Retourne une collection.
493
    *
494
    * @return H_collection l'objet collection courant.
495
    * @access public
496
    */
497
    function getCollection()
498
    {
499
        return $this->collection;
500
    }
501
    /** Accesseur setNote() - Ajoute une note.
502
    *
503
    * @param H_indic l'objet note (H_indic) courant.
504
    * @return void
505
    * @access public
506
    */
507
    function setNote(&$une_note)
508
    {
509
        $this->note =& $une_note;
510
    }
511
 
512
    // +--------------------------------------------------------------------------------------------------+
513
    // MÉTHODES
514
    /**
515
    *  Méthode remplacerEsperluette() - Remplace les & en &amp;
516
    *
517
    * Permet de remplacer les & en &amp; dans les données extraites de la
518
    * base de données.
519
    *
520
    * @param object l'objet dans lequel il faut ramplacer les & des attributs.
521
    * @return mixed l'objet avec les & remplacés en &amp; ou si erreur FALSE.
522
    * @access public
523
    */
524
    function remplacerEsperluette(&$objet)
525
    {
526
        // Remplacement des & en &amp; avant renvoi des données
527
        if (is_object($objet)) {
528
            foreach (get_object_vars($objet) as $cle => $valeur) {
529
                $objet->$cle = str_replace(' & ', ' &amp; ', $valeur);
530
            }
531
            return $objet;
532
        }
533
        return FALSE;
534
    }
535
}
536
 
537
// +------------------------------------------------------------------------------------------------------+
538
// |                                            PIED du PROGRAMME                                         |
539
// +------------------------------------------------------------------------------------------------------+
540
 
541
 
542
/* +--Fin du code ----------------------------------------------------------------------------------------+
543
*
544
* $Log: not supported by cvs2svn $
545
* Revision 1.2  2005/04/06 13:29:17  jpm
546
* Ajout et modifications des objets représentant la base de données Herbier.
547
*
548
* Revision 1.1  2005/03/08 14:13:21  jpm
549
* Ajout des classes d'accès à la base de données.
550
*
551
*
552
* +-- Fin du code ----------------------------------------------------------------------------------------+
553
*/
554
?>