Subversion Repositories Applications.papyrus

Rev

Rev 465 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 465 Rev 474
Line 17... Line 17...
17
// |                                                                                                      |
17
// |                                                                                                      |
18
// | You should have received a copy of the GNU General Public                                            |
18
// | You should have received a copy of the GNU General Public                                            |
19
// | License along with this library; if not, write to the Free Software                                  |
19
// | License along with this library; if not, write to the Free Software                                  |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
20
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                            |
21
// +------------------------------------------------------------------------------------------------------+
21
// +------------------------------------------------------------------------------------------------------+
22
// CVS : $Id: projet.class.php,v 1.2 2005-09-26 20:18:27 ddelon Exp $
22
// CVS : $Id: projet.class.php,v 1.3 2005-09-27 16:42:00 alexandre_tb Exp $
23
/**
23
/**
24
* Application projet
24
* Application projet
25
*
25
*
26
* La classe projet
26
* La classe projet
27
*
27
*
Line 29... Line 29...
29
//Auteur original :
29
//Auteur original :
30
*@author        Alexandre Granier <alexandre@tela-botanica.org>
30
*@author        Alexandre Granier <alexandre@tela-botanica.org>
31
//Autres auteurs :
31
//Autres auteurs :
32
*@author        Aucun
32
*@author        Aucun
33
*@copyright     Tela-Botanica 2000-2004
33
*@copyright     Tela-Botanica 2000-2004
34
*@version       $Revision: 1.2 $
34
*@version       $Revision: 1.3 $
35
// +------------------------------------------------------------------------------------------------------+
35
// +------------------------------------------------------------------------------------------------------+
36
*/
36
*/
Line 37... Line 37...
37
 
37
 
Line 135... Line 135...
135
    /**
135
    /**
136
     * Le résumé du projet
136
     * Le résumé du projet
137
     * @access private
137
     * @access private
138
     */
138
     */
139
    var $_resume;
139
    var $_resume;
-
 
140
    /**
-
 
141
     * Contient le numéro du type du projet
-
 
142
     * @access private
-
 
143
     */
-
 
144
    var $_type;
Line 140... Line 145...
140
 
145
 
141
    /**
146
    /**
142
     * 
147
     * 
143
     * PHP5 
148
     *
144
     * @return projet
149
     * @return projet
145
     * @access public
150
     * @access public
146
     */
151
     */
147
    function __construct( &$dbObject,  $id_projet = "")
152
    function __construct( )
148
    {
-
 
149
      $this->projet($dbObject,  $id_projet);
153
    {
150
      
154
        
Line 151... Line 155...
151
    } // end of member function __construct
155
    } // end of member function __construct
152
 
156
 
153
    /**
157
    /**
Line 176... Line 180...
176
            $this->_description = $ligne->p_description ;
180
            $this->_description = $ligne->p_description ;
177
            $this->_espace_internet = $ligne->p_espace_internet ;
181
            $this->_espace_internet = $ligne->p_espace_internet ;
178
            $this->_date_creation = $ligne->p_date_creation ;
182
            $this->_date_creation = $ligne->p_date_creation ;
179
            $this->_nom_wikini = $ligne->p_wikini ;
183
            $this->_nom_wikini = $ligne->p_wikini ;
180
            $this->_resume = $ligne->p_resume;
184
            $this->_resume = $ligne->p_resume;
181
            
-
 
-
 
185
            $this->_type = $ligne->p_type ;
182
            // On récupère le nom du répertoire
186
            // On récupère le nom du répertoire
183
            $this->_nom_repertoire = $ligne->p_nom_repertoire ;
187
            $this->_nom_repertoire = $ligne->p_nom_repertoire ;
Line 184... Line 188...
184
            
188
            
185
            // on regarde si on a à faire au projet racine
189
            // on regarde si on a à faire au projet racine
Line 396... Line 400...
396
        }
400
        }
397
        return $tableau_resultat ;
401
        return $tableau_resultat ;
398
    } // end of member function getTousLesProjets
402
    } // end of member function getTousLesProjets
Line 399... Line 403...
399
 
403
 
-
 
404
    /**
-
 
405
     * Renvoie un tableau comprenant les objets projet de la base du type $type.
-
 
406
     *
-
 
407
     * @return Array
-
 
408
     * @static
-
 
409
     * @access public
-
 
410
     */
-
 
411
    function getProjetDuType($type, &$objetDB)
-
 
412
    {
-
 
413
        $requete = "select p_id from projet where p_type=$type order by p_titre" ;
-
 
414
        $resultat = $objetDB->query ($requete) ;
-
 
415
        if (DB::isError($resultat)) {
-
 
416
            die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
-
 
417
        }
-
 
418
        $tableau_resultat = array() ;
-
 
419
        while ($ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT)) {
-
 
420
            array_push ($tableau_resultat, new projet ($objetDB, $ligne->p_id)) ;
-
 
421
        }
-
 
422
        return $tableau_resultat ;
-
 
423
    } // end of member function getTousLesProjets
-
 
424
 
-
 
425
    /**
-
 
426
     * Renvoie un le projet racine.
-
 
427
     *
-
 
428
     * @return projet
-
 
429
     * @static
-
 
430
     * @access public
-
 
431
     */
-
 
432
    function getProjetRacine(&$objetDB)
-
 
433
    {
-
 
434
        $requete = "select p_id from projet where p_id not in (select ph_id_projet_fils from projet_hierarchie)" ;
-
 
435
        $resultat = $objetDB->query ($requete) ;
-
 
436
        if (DB::isError($resultat)) {
-
 
437
            die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
-
 
438
        }
-
 
439
        if ($resultat->numRows() == 1) {
-
 
440
            $ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ;
-
 
441
            return new projet($objetDB, $ligne->p_id) ;
-
 
442
        }
-
 
443
        $tableau_resultat = array() ;
-
 
444
        while ($ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT)) {
-
 
445
            array_push ($tableau_resultat, new projet ($objetDB, $ligne->p_id)) ;
-
 
446
        }
-
 
447
        return $tableau_resultat ;
-
 
448
    } // end of member function getTousLesProjets
-
 
449
 
400
    /**
450
    /**
401
     * Desctructeur de la classe. Libère la mémoire, ferme les connexions et fichiers.
451
     * Desctructeur de la classe. Libère la mémoire, ferme les connexions et fichiers.
402
     *
452
     *
403
     * @return void
453
     * @return void
404
     * @access public
454
     * @access public
Line 428... Line 478...
428
     * @return int
478
     * @return int
429
     * @access public
479
     * @access public
430
     */
480
     */
431
    function enregistrerSQL( $tableau_de_valeur )
481
    function enregistrerSQL( $tableau_de_valeur )
432
    {
482
    {
433
    	
-
 
434
        $nom_repertoire = projet::genereNomRepertoire($tableau_de_valeur['projet_titre'], $this->_db) ;
483
        $nom_repertoire = projet::genereNomRepertoire($tableau_de_valeur['projet_titre'], $this->_db) ;
435
        if (!$this->_creationRepertoire ($nom_repertoire)) {
484
        if (!$this->_creationRepertoire ($nom_repertoire)) {
436
            echo 'Impossible de crée un répertoire' ;
485
            echo 'Impossible de crée un répertoire'.$nom_repertoire ;
437
            return false ;
486
            return false ;
438
        }
487
        }
-
 
488
        // Traitement du type
-
 
489
        if (!PROJET_UTILISE_TYPE) {
-
 
490
            $tableau_de_valeur['projet_type'] = 0 ;
-
 
491
        }
439
        $id = SQL_obtenirNouveauId($this->_db, 'projet', 'p_id') ;
492
        $id = SQL_obtenirNouveauId($this->_db, 'projet', 'p_id') ;
440
        $requete = 'insert into projet set p_id='.$id ;
493
        $requete = 'insert into projet set p_id='.$id ;
441
        if (!isset($tableau_de_valeur['projet_wikini'])) {
-
 
442
        	$tableau_de_valeur['projet_wikini']='';
-
 
443
        }
-
 
444
        $requete .= ', p_titre="'.$tableau_de_valeur['projet_titre'].'", p_description="'.$tableau_de_valeur['projet_description'].'"'.
494
        $requete .= ', p_titre="'.$tableau_de_valeur['projet_titre'].'", p_description="'.$tableau_de_valeur['projet_description'].'"'.
445
                    ', p_espace_internet="'.$tableau_de_valeur['projet_espace_internet'].'", p_date_creation=NOW()'.
495
                    ', p_espace_internet="'.$tableau_de_valeur['projet_espace_internet'].'", p_date_creation=NOW()'.
446
                    ', p_wikini="'.$tableau_de_valeur['projet_wikini'].'", p_nom_repertoire="'.$nom_repertoire.'", p_resume="'.$tableau_de_valeur['projet_resume'].'"' ;
496
                    ', p_wikini="'.$tableau_de_valeur['projet_wikini'].'", p_nom_repertoire="'.$nom_repertoire.'", p_resume="'.$tableau_de_valeur['projet_resume'].
-
 
497
                    '", p_type='.$tableau_de_valeur['projet_type'] ;
447
        $resultat = $this->_db->query ($requete) ;
498
        $resultat = $this->_db->query ($requete) ;
448
        if (DB::isError($resultat)) {
499
        if (DB::isError($resultat)) {
449
            die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
500
            die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
450
        }
501
        }
451
        //insertion dans projet_hiérarchie
502
        //insertion dans projet_hiérarchie
Line 465... Line 516...
465
     * @return int
516
     * @return int
466
     * @access public
517
     * @access public
467
     */
518
     */
468
    function majSQL( $tableau_de_valeur )
519
    function majSQL( $tableau_de_valeur )
469
    {
520
    {
-
 
521
        // Traitement du type
-
 
522
        if (!PROJET_UTILISE_TYPE) {
-
 
523
            $tableau_de_valeur['projet_type'] = 0 ;
-
 
524
        }
470
        $requete = 'update projet set ';
525
        $requete = 'update projet set ';
471
        $requete .= 'p_titre="'.$tableau_de_valeur['projet_titre'].'", p_description="'.$tableau_de_valeur['projet_description'].'"'.
526
        $requete .= 'p_titre="'.$tableau_de_valeur['projet_titre'].'", p_description="'.$tableau_de_valeur['projet_description'].'"'.
472
                    ', p_espace_internet="'.$tableau_de_valeur['projet_espace_internet'].'"'.
527
                    ', p_espace_internet="'.$tableau_de_valeur['projet_espace_internet'].'"'.
473
                    ', p_resume="'.$tableau_de_valeur['projet_resume'].'"'.
528
                    ', p_resume="'.$tableau_de_valeur['projet_resume'].'", p_type='.$tableau_de_valeur['projet_type'].
474
                    ' where p_id="'.$this->_id_projet.'"' ;
529
                    ' where p_id="'.$this->_id_projet.'"' ;
475
        $resultat = $this->_db->query ($requete) ;
530
        $resultat = $this->_db->query ($requete) ;
476
        if (DB::isError($resultat)) {
531
        if (DB::isError($resultat)) {
477
            die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
532
            die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
478
        }
533
        }
Line 588... Line 643...
588
        $requete = "select p_id from projet order by p_id desc limit 0,1" ;
643
        $requete = "select p_id from projet order by p_id desc limit 0,1" ;
589
        $resultat = $objetDB->query ($requete) ;
644
        $resultat = $objetDB->query ($requete) ;
590
        if (DB::isError ($resultat)) {
645
        if (DB::isError ($resultat)) {
591
            die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
646
            die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ;
592
        }
647
        }
593
        if ($resultat->numRows() > 0) {
-
 
594
	        $ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
648
        $ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ;
595
	        $nom = strtoupper(substr($chaine, 0, 1)) ;
649
        $nom = strtoupper(substr($chaine, 0, 1)) ;
596
	        $nom .= $ligne->p_id + 1 ;
650
        $nom .= $ligne->p_id + 1 ;
597
        }
-
 
598
	    else {
-
 
599
	    	$nom = strtoupper(substr($chaine, 0, 1)) ;
-
 
600
	        $nom .=  1 ;
-
 
601
	    }
-
 
602
        return $nom ;
651
        return $nom ;
Line 603... Line 652...
603
        
652
        
Line 604... Line 653...
604
    } // end of member function genereNomRepertoire
653
    } // end of member function genereNomRepertoire
Line 730... Line 779...
730
    function getWikini( )
779
    function getWikini( )
731
    {
780
    {
732
        return $this->_nom_wikini ;
781
        return $this->_nom_wikini ;
733
    } // end of member function getWikini
782
    } // end of member function getWikini
Line -... Line 783...
-
 
783
 
-
 
784
    /**
-
 
785
     * Renvoie le type du projet, ou zéro si le projet n'a pas de type.
-
 
786
     *
-
 
787
     * @return int
-
 
788
     * @access public
-
 
789
     */
-
 
790
    function getType( )
-
 
791
    {
-
 
792
        return $this->_type ;
-
 
793
    } // end of member function getType
Line 734... Line 794...
734
 
794