Subversion Repositories Applications.projet

Rev

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

Rev 343 Rev 389
Line 153... Line 153...
153
	/**
153
	/**
154
     * Indique si le projet a des documents
154
     * Indique si le projet a des documents
155
     * @access private
155
     * @access private
156
     */
156
     */
157
    var $_avoirDocument;
157
    var $_avoirDocument;
158
    
158
 
159
    /**
159
    /**
160
     * tableau contenant les themes associes au projet
160
     * tableau contenant les themes associes au projet
161
     */
161
     */
162
    var $_themes = array();
162
    var $_themes = array();
163
    /**
163
    /**
Line 216... Line 216...
216
	                $this->_est_racine = true ;
216
	                $this->_est_racine = true ;
217
	            } else {
217
	            } else {
218
	                $this->_est_racine = false ;
218
	                $this->_est_racine = false ;
219
	            }
219
	            }
220
            }
220
            }
221
            
221
 
222
            /** Recuperation des themes */
222
            /** Recuperation des themes */
223
            $requete_theme = 'select pat_id_theme, pt_label_theme from projet_avoir_theme, projet_theme'.
223
            $requete_theme = 'select pat_id_theme, pt_label_theme from projet_avoir_theme, projet_theme'.
224
            			 ' where pat_id_projet='.$this->_id_projet.' and pat_id_theme=pt_id_theme';
224
            			 ' where pat_id_projet='.$this->_id_projet.' and pat_id_theme=pt_id_theme';
225
            $resultat_theme = $GLOBALS['projet_db']->query ($requete_theme);
225
            $resultat_theme = $GLOBALS['projet_db']->query ($requete_theme);
226
            if (DB::isError($resultat_theme)) {
226
            if (DB::isError($resultat_theme)) {
227
            	return ("Echec de la requete : $requete_theme<br />".$resultat_theme->getMessage()) ;
227
            	return ("Echec de la requete : $requete_theme<br />".$resultat_theme->getMessage()) ;
228
            }
228
            }
229
            if ($resultat_theme->numRows() != 0) {
229
            if ($resultat_theme->numRows() != 0) {
230
            	
230
 
231
            	while ($ligne_theme = $resultat_theme->fetchRow(DB_FETCHMODE_OBJECT)) {
231
            	while ($ligne_theme = $resultat_theme->fetchRow(DB_FETCHMODE_OBJECT)) {
232
            		$this->_themes[$ligne_theme->pat_id_theme] = $ligne_theme->pt_label_theme;	
232
            		$this->_themes[$ligne_theme->pat_id_theme] = $ligne_theme->pt_label_theme;
233
            	}
233
            	}
234
            	
234
 
235
            }
235
            }
236
        }
236
        }
237
    } // end of member function projet
237
    } // end of member function projet
Line 238... Line 238...
238
 
238
 
Line 357... Line 357...
357
 
357
 
358
    /**
358
    /**
359
     * Renvoie vrai si le projet a au moins un document, fichier ou repertoire
359
     * Renvoie vrai si le projet a au moins un document, fichier ou repertoire
360
     *
360
     *
361
     * Mis en place pour des raisons de performances avant la methode getListesDocuments etait utilisee
361
     * Mis en place pour des raisons de performances avant la methode getListesDocuments etait utilisee
362
     * 
362
     *
363
     * @return bool
363
     * @return bool
364
     * @access public
364
     * @access public
365
     */
365
     */
366
    function avoirDocument( )
366
    function avoirDocument( )
367
    {
367
    {
368
        return $this->_avoirDocument;
368
        return $this->_avoirDocument;
Line 369... Line 369...
369
    }
369
    }
370
 
370
 
371
    /**
371
    /**
372
     * Permet de fixer la colonne p_avoir_document a 1 
372
     * Permet de fixer la colonne p_avoir_document a 1
373
     *
373
     *
374
     * Mis en place pour des raisons de performances avant la methode getListesDocuments etait utilisee
374
     * Mis en place pour des raisons de performances avant la methode getListesDocuments etait utilisee
375
     * 
375
     *
376
     * @param bool 
376
     * @param bool
377
     * @return mixed true si la requete fonctionne
377
     * @return mixed true si la requete fonctionne
378
     * @access public
378
     * @access public
379
     */
379
     */
Line 448... Line 448...
448
        }
448
        }
449
        */
449
        */
450
        $tableau = array();
450
        $tableau = array();
451
        $tab = array();
451
        $tab = array();
Line 452... Line 452...
452
 
452
 
453
        
453
 
454
        while ($ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT)) {
454
        while ($ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT)) {
455
            array_push ($tableau, array ('id' => $ligne->pd_id, 
455
            array_push ($tableau, array ('id' => $ligne->pd_id,
456
										'id_pere' => $ligne->pd_pere, 
456
										'id_pere' => $ligne->pd_pere,
457
										'fils' => array(),
457
										'fils' => array(),
Line 458... Line 458...
458
										'label' => $ligne->pd_nom));
458
										'label' => $ligne->pd_nom));
459
 
459
 
460
        }
460
        }
461
        
461
 
462
        // la $tableau reste un tableau de valeur a plat
462
        // la $tableau reste un tableau de valeur a plat
463
        
463
 
464
        
464
 
465
		$i = 0;
465
		$i = 0;
466
        foreach ($tableau as $noeud) {
466
        foreach ($tableau as $noeud) {
467
        	// On teste si le noeud est racine si oui on l ajoute a l arbre sinon on ne l ajoute pas
467
        	// On teste si le noeud est racine si oui on l ajoute a l arbre sinon on ne l ajoute pas
Line 475... Line 475...
475
    } // end of member function getListeRepertoireHierarchisee
475
    } // end of member function getListeRepertoireHierarchisee
Line 476... Line 476...
476
 
476
 
477
	function construireArbre(&$noeud, $tableau) {
477
	function construireArbre(&$noeud, $tableau) {
478
    	$j = 0;
478
    	$j = 0;
479
    	foreach ($tableau as $element) {
479
    	foreach ($tableau as $element) {
480
        	// pour chaque element on teste 
480
        	// pour chaque element on teste
481
        	if ($element['id_pere'] == $noeud['id']) {
481
        	if ($element['id_pere'] == $noeud['id']) {
482
        		$noeud['fils'][$j]= $element ;	        		
482
        		$noeud['fils'][$j]= $element ;
483
        		$this->construireArbre($noeud['fils'][$j],$tableau);
483
        		$this->construireArbre($noeud['fils'][$j],$tableau);
484
        	}
484
        	}
485
        	$j++; 
485
        	$j++;
486
        }	
486
        }
Line 487... Line 487...
487
    }
487
    }
488
 
488
 
489
    /**
489
    /**
Line 625... Line 625...
625
		if (PROJET_UTILISE_HIERARCHIE) {
625
		if (PROJET_UTILISE_HIERARCHIE) {
626
	        $requete = 'insert into projet_hierarchie set ph_id_projet_pere='.$tableau_de_valeur['projet_asso'].
626
	        $requete = 'insert into projet_hierarchie set ph_id_projet_pere='.$tableau_de_valeur['projet_asso'].
627
	                    ', ph_id_projet_fils='.$id ;
627
	                    ', ph_id_projet_fils='.$id ;
628
	        $resultat = $this->_db->query ($requete) ;
628
	        $resultat = $this->_db->query ($requete) ;
629
		}
629
		}
630
		
630
 
631
		/** enregistrement dans projet_avoir_theme */
631
		/** enregistrement dans projet_avoir_theme */
632
		$requete_theme = '';
632
		$requete_theme = '';
633
		foreach ($tableau_de_valeur['projet_theme'] as $cle => $valeur) {
633
		foreach ($tableau_de_valeur['projet_theme'] as $cle => $valeur) {
634
			$requete_theme = 'insert into projet_avoir_theme set pat_id_projet='.$id.', pat_id_theme='.$cle;
634
			$requete_theme = 'insert into projet_avoir_theme set pat_id_projet='.$id.', pat_id_theme='.$cle;
635
			$resultat_theme = $GLOBALS['projet_db']->query($requete_theme);
635
			$resultat_theme = $GLOBALS['projet_db']->query($requete_theme);
Line 675... Line 675...
675
 
675
 
676
	        $requete = 'insert into projet_hierarchie set ph_id_projet_pere='.$tableau_de_valeur['projet_asso'].
676
	        $requete = 'insert into projet_hierarchie set ph_id_projet_pere='.$tableau_de_valeur['projet_asso'].
677
	                    ', ph_id_projet_fils='.$this->_id_projet ;
677
	                    ', ph_id_projet_fils='.$this->_id_projet ;
678
	        $resultat = $this->_db->query ($requete) ;
678
	        $resultat = $this->_db->query ($requete) ;
679
        }
679
        }
680
        
680
 
681
        /** enregistrement dans projet_avoir_theme */
681
        /** enregistrement dans projet_avoir_theme */
682
        
682
 
683
        $requete_suppression_theme = 'delete from projet_avoir_theme where pat_id_projet='.$this->_id_projet;
683
        $requete_suppression_theme = 'delete from projet_avoir_theme where pat_id_projet='.$this->_id_projet;
684
        $resultat_suppression_theme  = $GLOBALS['projet_db']->query($requete_suppression_theme);
684
        $resultat_suppression_theme  = $GLOBALS['projet_db']->query($requete_suppression_theme);
685
        
685
 
686
		$requete_theme = '';
686
		$requete_theme = '';
687
		foreach ($tableau_de_valeur['projet_theme'] as $cle => $valeur) {
687
		foreach ($tableau_de_valeur['projet_theme'] as $cle => $valeur) {
688
			$requete_theme = 'insert into projet_avoir_theme set pat_id_projet='.$this->_id_projet.', pat_id_theme='.$cle;
688
			$requete_theme = 'insert into projet_avoir_theme set pat_id_projet='.$this->_id_projet.', pat_id_theme='.$cle;
689
			$resultat_theme = $GLOBALS['projet_db']->query($requete_theme);
689
			$resultat_theme = $GLOBALS['projet_db']->query($requete_theme);
Line 709... Line 709...
709
            return ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
709
            return ('Echec de la requete : '.$requete.'<br />'.$resultat->getMessage()) ;
710
        }
710
        }
711
        return true ;
711
        return true ;
712
    } // end of member function majNomWikini
712
    } // end of member function majNomWikini
Line -... Line 713...
-
 
713
 
-
 
714
	function majSQLVisibilite($id_liste, $visible) {
-
 
715
 
-
 
716
        $requete = 'UPDATE projet_liste set pl_visibilite='.$visible.' '.
-
 
717
        'WHERE pl_id_liste ='.$id_liste;
-
 
718
 
-
 
719
        $resultat = $this->_db->query ($requete) ;
-
 
720
        if (DB::isError($resultat)) {
-
 
721
            die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ;
-
 
722
        }
-
 
723
        return true;
Line 713... Line 724...
713
 
724
    }
714
 
725
 
715
    /**
726
    /**
716
     *
727
     *