19,7 → 19,7 |
// | 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: projet.class.php,v 1.2 2005-09-26 20:18:27 ddelon Exp $ |
// CVS : $Id: projet.class.php,v 1.3 2005-09-27 16:42:00 alexandre_tb Exp $ |
/** |
* Application projet |
* |
31,7 → 31,7 |
//Autres auteurs : |
*@author Aucun |
*@copyright Tela-Botanica 2000-2004 |
*@version $Revision: 1.2 $ |
*@version $Revision: 1.3 $ |
// +------------------------------------------------------------------------------------------------------+ |
*/ |
|
137,16 → 137,20 |
* @access private |
*/ |
var $_resume; |
/** |
* Contient le numéro du type du projet |
* @access private |
*/ |
var $_type; |
|
/** |
* |
* PHP5 |
* |
* @return projet |
* @access public |
*/ |
function __construct( &$dbObject, $id_projet = "") |
function __construct( ) |
{ |
$this->projet($dbObject, $id_projet); |
|
} // end of member function __construct |
|
178,7 → 182,7 |
$this->_date_creation = $ligne->p_date_creation ; |
$this->_nom_wikini = $ligne->p_wikini ; |
$this->_resume = $ligne->p_resume; |
|
$this->_type = $ligne->p_type ; |
// On récupère le nom du répertoire |
$this->_nom_repertoire = $ligne->p_nom_repertoire ; |
|
398,6 → 402,52 |
} // end of member function getTousLesProjets |
|
/** |
* Renvoie un tableau comprenant les objets projet de la base du type $type. |
* |
* @return Array |
* @static |
* @access public |
*/ |
function getProjetDuType($type, &$objetDB) |
{ |
$requete = "select p_id from projet where p_type=$type order by p_titre" ; |
$resultat = $objetDB->query ($requete) ; |
if (DB::isError($resultat)) { |
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ; |
} |
$tableau_resultat = array() ; |
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT)) { |
array_push ($tableau_resultat, new projet ($objetDB, $ligne->p_id)) ; |
} |
return $tableau_resultat ; |
} // end of member function getTousLesProjets |
|
/** |
* Renvoie un le projet racine. |
* |
* @return projet |
* @static |
* @access public |
*/ |
function getProjetRacine(&$objetDB) |
{ |
$requete = "select p_id from projet where p_id not in (select ph_id_projet_fils from projet_hierarchie)" ; |
$resultat = $objetDB->query ($requete) ; |
if (DB::isError($resultat)) { |
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ; |
} |
if ($resultat->numRows() == 1) { |
$ligne = $resultat->fetchRow(DB_FETCHMODE_OBJECT) ; |
return new projet($objetDB, $ligne->p_id) ; |
} |
$tableau_resultat = array() ; |
while ($ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT)) { |
array_push ($tableau_resultat, new projet ($objetDB, $ligne->p_id)) ; |
} |
return $tableau_resultat ; |
} // end of member function getTousLesProjets |
|
/** |
* Desctructeur de la classe. Libère la mémoire, ferme les connexions et fichiers. |
* |
* @return void |
430,20 → 480,21 |
*/ |
function enregistrerSQL( $tableau_de_valeur ) |
{ |
|
$nom_repertoire = projet::genereNomRepertoire($tableau_de_valeur['projet_titre'], $this->_db) ; |
if (!$this->_creationRepertoire ($nom_repertoire)) { |
echo 'Impossible de crée un répertoire' ; |
echo 'Impossible de crée un répertoire'.$nom_repertoire ; |
return false ; |
} |
// Traitement du type |
if (!PROJET_UTILISE_TYPE) { |
$tableau_de_valeur['projet_type'] = 0 ; |
} |
$id = SQL_obtenirNouveauId($this->_db, 'projet', 'p_id') ; |
$requete = 'insert into projet set p_id='.$id ; |
if (!isset($tableau_de_valeur['projet_wikini'])) { |
$tableau_de_valeur['projet_wikini']=''; |
} |
$requete .= ', p_titre="'.$tableau_de_valeur['projet_titre'].'", p_description="'.$tableau_de_valeur['projet_description'].'"'. |
', p_espace_internet="'.$tableau_de_valeur['projet_espace_internet'].'", p_date_creation=NOW()'. |
', p_wikini="'.$tableau_de_valeur['projet_wikini'].'", p_nom_repertoire="'.$nom_repertoire.'", p_resume="'.$tableau_de_valeur['projet_resume'].'"' ; |
', p_wikini="'.$tableau_de_valeur['projet_wikini'].'", p_nom_repertoire="'.$nom_repertoire.'", p_resume="'.$tableau_de_valeur['projet_resume']. |
'", p_type='.$tableau_de_valeur['projet_type'] ; |
$resultat = $this->_db->query ($requete) ; |
if (DB::isError($resultat)) { |
die ("Echec de la requete<br />".$resultat->getMessage()."<br />".$resultat->getDebugInfo()) ; |
467,10 → 518,14 |
*/ |
function majSQL( $tableau_de_valeur ) |
{ |
// Traitement du type |
if (!PROJET_UTILISE_TYPE) { |
$tableau_de_valeur['projet_type'] = 0 ; |
} |
$requete = 'update projet set '; |
$requete .= 'p_titre="'.$tableau_de_valeur['projet_titre'].'", p_description="'.$tableau_de_valeur['projet_description'].'"'. |
', p_espace_internet="'.$tableau_de_valeur['projet_espace_internet'].'"'. |
', p_resume="'.$tableau_de_valeur['projet_resume'].'"'. |
', p_resume="'.$tableau_de_valeur['projet_resume'].'", p_type='.$tableau_de_valeur['projet_type']. |
' where p_id="'.$this->_id_projet.'"' ; |
$resultat = $this->_db->query ($requete) ; |
if (DB::isError($resultat)) { |
590,15 → 645,9 |
if (DB::isError ($resultat)) { |
die ("Echec de la requete : $requete<br />".$resultat->getMessage()) ; |
} |
if ($resultat->numRows() > 0) { |
$ligne = $resultat->fetchRow (DB_FETCHMODE_OBJECT) ; |
$nom = strtoupper(substr($chaine, 0, 1)) ; |
$nom .= $ligne->p_id + 1 ; |
} |
else { |
$nom = strtoupper(substr($chaine, 0, 1)) ; |
$nom .= 1 ; |
} |
return $nom ; |
|
} // end of member function genereNomRepertoire |
732,10 → 781,21 |
return $this->_nom_wikini ; |
} // end of member function getWikini |
|
/** |
* Renvoie le type du projet, ou zéro si le projet n'a pas de type. |
* |
* @return int |
* @access public |
*/ |
function getType( ) |
{ |
return $this->_type ; |
} // end of member function getType |
|
|
|
|
|
/** |
* initAttributes sets all projet attributes to its default value make |
* sure to call this method within your class constructor |