/trunk/applications/saisie/squelettes/css/saisie.css |
---|
469,6 → 469,23 |
padding-right: 50px; |
} |
#form_ajout_espece_admin label.label_checkbox { |
font-weight: normal; |
} |
#saisie_espece_admin .illustration_espece { |
max-height: 180px; |
max-width: 250px; |
border: 1px solid grey; |
} |
.lien_annulation { |
float: left; |
font-size: 1.2em; |
margin-left: 439px; |
padding: 16px; |
} |
/* ============ Styles créés par des effets javascripts automatiques ===== */ |
.chargement { |
/trunk/applications/saisie/squelettes/formulaires/espece_ajout_administration.tpl.html |
---|
New file |
0,0 → 1,51 |
<!-- ODS_SAISIE - DEBUT MODIFICATION ESPECE ADMIN --> |
<div id="saisie_espece_admin"> |
<h2 class="etape"> Ajout d'une espece </h2> |
<br/> |
<form method="post" action="<?= Liens::getUrlValidationFormulaireAjoutEspeceAdmin() ?>" id="form_ajout_espece_admin"> |
<div class="element_formulaire"> |
<label for="nom_scientifique">Type d'espèce</label> |
<select id="ce_type" name="ce_type"> |
<?php foreach($types_especes as $id => $type) : ?> |
<option id="ce_type_<?= $id; ?>" value="<?= $id; ?>" ><?= $type; ?></option> |
<?php endforeach; ?> |
</select> |
</div> |
<div class="element_formulaire"> |
<label for="nom_scientifique">Nom scientifique</label><br /> |
<input type="text" id="nom_scientifique" name="nom_scientifique" value="<?= $espece['nom_scientifique'] ?>" /> |
<?= isset($erreurs['nom_scientifique']) ? '<span class="erreur"> '.$erreurs['nom_scientifique'].' </span>' : '' ?> |
</div> |
<div class="element_formulaire"> |
<label for="nom_vernaculaire">Nom vernaculaire</label><br /> |
<input type="text" id="nom_vernaculaire" name="nom_vernaculaire" value="<?= $espece['nom_vernaculaire'] ?>" /> |
<?= isset($erreurs['nom_vernaculaire']) ? '<span class="erreur"> '.$erreurs['nom_vernaculaire'].' </span>' : '' ?> |
</div> |
<div class="element_formulaire"> |
<label for="description">Description</label><br /> |
<textarea cols="50" rows="6" id="description" name="description"><?= $espece['description'] ?></textarea> |
<?= isset($erreurs['description']) ? '<span class="erreur"> '.$erreurs['description'].' </span>' : '' ?> |
</div> |
<div class="element_formulaire"> |
<label>Evènements</label><br /> |
<php $saut = 0; ?> |
<?php foreach($evenements as $id => $evenement) : ?> |
<label class="label_checkbox" for="ce_evenement_<?= $id; ?>"><?= $evenement; ?></label> |
<input type="checkbox" id="ce_evenement_<?= $id; ?>" name="ce_evenements[]" value="<?= $id; ?>" /> |
<?php if($saut != 0) { echo '<br />'; $saut = 0; } else { $saut = 1; } ?> |
<?php endforeach; ?> |
<?= isset($erreurs['ce_evenements']) ? '<span class="erreur"> '.$erreurs['ce_evenements'].' </span>' : '' ?> |
</div> |
<div class="element_formulaire"> |
<label for="espece_active">Espèce active</label> |
<input type="checkbox" id="espece_active" name="espece_active" <?= $espece['active'] == 1 ? 'checked="checked"' : '' ?> /> |
</div> |
<div class="element_formulaire"> |
<label for="espece_ecole">Espèce école</label> |
<input type="checkbox" id="espece_ecole" name="espece_ecole" <?= $espece['ecole'] == 1 ? 'checked="checked"' : '' ?> /> |
</div> |
<a class="lien_annulation" href="<?= Liens::getUrlAdministrationEspeces() ?>">Annuler</a> |
<input class="droite gros_bouton_validation" type="submit" value="Valider" /> |
</form> |
</div> |
<!-- ODS_SAISIE - FIN MODIFICATION ESPECE ADMIN --> |
/trunk/applications/saisie/squelettes/formulaires/espece_ajout_image_administration.tpl.html |
---|
New file |
0,0 → 1,25 |
<!-- ODS_SAISIE - DEBUT MODIFICATION ESPECE ADMIN --> |
<div id="saisie_espece_admin"> |
<h2 class="etape"> Ajout ou modification d'une image d'espece </h2> |
<img title="<?= Liens::getCreditImageEspece($espece['nom_scientifique']) ?>" class="illustration_espece droite" alt="image de l'espece" class="droite" src="<?= Liens::getUrlImageEspece($espece['nom_scientifique'], 'M') ?>" /> |
<br/> |
<form enctype="multipart/form-data" method="post" action="<?= Liens::getUrlValidationFormulaireAjoutImageEspeceAdmin() ?>" id="form_ajout_image_espece_admin"> |
<div class="element_formulaire"> |
<label for="image_espece">Choisissez une image (format .jpg, max <?= round(Config::get('max_taille_fichiers')/(1024*1024)) ?> mo)</label><br /> |
<input type="file" id="image_espece" name="image_espece" /> |
<?= isset($erreurs['image_espece']) ? '<span class="erreur"> '.$erreurs['image_espece'].' </span>' : '' ?> |
</div> |
<div class="element_formulaire"> |
<label for="credits">Crédits</label><br /> |
<textarea cols="40" rows="6" id="credits" name="credits"><?= $espece['credits'] ?></textarea><br /> |
<?= isset($erreurs['credits']) ? '<span class="erreur"> '.$erreurs['credits'].' </span>' : '' ?> |
</div> |
<input type="hidden" name="MAX_FILE_SIZE" value="<?= Config::get('max_taille_fichiers') ?>"> |
<input type="hidden" name="nom_fichier" value="<?= $espece['nom_sci_normalise'] ?>"> |
<input type="hidden" name="id_espece" value="<?= $espece['id_espece']; ?>"> |
<a class="lien_annulation" href="<?= Liens::getUrlFormulaireModificationEspeceAdmin($espece['id_espece']) ?>">Annuler</a> |
<input class="droite gros_bouton_validation" type="submit" value="Valider" /> |
</form> |
</div> |
<!-- ODS_SAISIE - FIN MODIFICATION ESPECE ADMIN --> |
/trunk/applications/saisie/squelettes/formulaires/espece_modification_administration.tpl.html |
---|
1,9 → 1,11 |
<!-- ODS_SAISIE - DEBUT MODIFICATION ESPECE ADMIN --> |
<div id="saisie_espece_admin"> |
<h2 class="etape"> Modification de l'espece <?= $espece['nom_scientifique'] ?> </h2> |
<img title="<?= Liens::getCreditImageEspece($espece['nom_scientifique']) ?>" class="illustration_espece droite" alt="image de l'espece" class="droite" src="<?= Liens::getUrlImageEspece($espece['nom_scientifique']) ?>" /> |
<a href="<?= Liens::getUrlFormulaireAjoutImageEspeceAdmin($espece['id_espece']);?>" title="Cliquez pour ajouter ou modifier l'image associée à l'espèce" > |
<img title="<?= Liens::getCreditImageEspece($espece['nom_scientifique']); ?>" class="illustration_espece droite" alt="image de l'espece" class="droite" src="<?= Liens::getUrlImageEspece($espece['nom_scientifique'], 'M') ?>" /> |
</a> |
<br/> |
<form method="post" action="<?= Liens::getUrlValidationFormulaireModificationEspeceAdmin($espece['id_espece']) ?>" id="form_modification_espece_admin"> |
<form method="post" action="<?= Liens::getUrlValidationFormulaireModificationEspeceAdmin($espece['id_espece'])."#espece_".$espece['id_espece']; ?>" id="form_modification_espece_admin"> |
<div class="element_formulaire"> |
<label for="nom_scientifique">Nom scientifique</label><br /> |
<input type="text" id="nom_scientifique" name="nom_scientifique" value="<?= $espece['nom_scientifique'] ?>" /> |
16,7 → 18,7 |
</div> |
<div class="element_formulaire"> |
<label for="description">Description</label><br /> |
<textarea cols="60" rows="6" id="description" name="description"><?= $espece['description'] ?></textarea> |
<textarea cols="50" rows="6" id="description" name="description"><?= $espece['description'] ?></textarea> |
<?= isset($erreurs['description']) ? '<span class="erreur"> '.$erreurs['description'].' </span>' : '' ?> |
</div> |
<div class="element_formulaire"> |
24,6 → 26,7 |
<input type="checkbox" id="espece_active" name="espece_active" <?= $espece['active'] == 1 ? 'checked="checked"' : '' ?> /> |
</div> |
<input type="hidden" name="id_espece" id="id_espece" value="<?= $espece['id_espece'] ?>" /> |
<a class="lien_annulation" href="<?= Liens::getUrlAdministrationEspeces() ?>">Annuler</a> |
<input class="droite gros_bouton_validation" type="submit" value="Valider" /> |
</form> |
</div> |
/trunk/applications/saisie/squelettes/listes/espece_liste_administration.tpl.html |
---|
1,5 → 1,8 |
<!-- ODS_SAISIE - DEBUT LISTE ESPECES ADMIN --> |
<div id="saisie_liste_especes_admin"> |
<div id="conteneur_lien_nouvelle_espece"> |
<a href="<?= Liens::getUrlValidationFormulaireAjoutEspeceAdmin(); ?>" >Ajouter une nouvelle espèce</a> |
</div> |
<?php if (isset($especes)) : ?> |
<table class="saisie_liste_especes_admin"> |
<tr> |
13,7 → 16,7 |
<?php foreach ($especes as $type) : ?> |
<tr><td colspan="6"><h2><?= $type['nom'] ?></h2></td> |
<?php foreach ($type['especes'] as $id => $espece) : ?> |
<tr <?=$espece['active'] == 0 ? 'class="espece_inactive"' : '' ?>> |
<tr id="espece_<?= $id; ?>" <?=$espece['active'] == 0 ? 'class="espece_inactive"' : '' ?>> |
<td> |
<a href="<?= Liens::getUrlFormulaireModificationEspeceAdmin($id) ?>"> |
<img title="<?= Liens::getCreditImageEspece($espece['nom_scientifique']) ?>" class="illustration_espece droite" alt="editer" src="<?= Liens::getUrlImageEspece($espece['nom_scientifique']) ?>" /> |
/trunk/applications/saisie/controleurs/Administration.php |
---|
22,6 → 22,10 |
} |
public function executerActionParDefaut() { |
$this->afficherListeEspecesAdministrables(); |
} |
public function afficherListeEspecesAdministrables() { |
$espece_dao = new EspeceDao(); |
$donnees['especes'] = $espece_dao->getListeEspecesAdminParType(); |
29,11 → 33,20 |
$this->setSortie(self::RENDU_CORPS, $liste); |
} |
public function afficherFormulaireAjoutEspeceAdmin($valeurs_precedentes = array()) { |
$triple_dao = new TripleDao(); |
$erreurs = isset($valeurs_precedentes['erreurs']) ? $valeurs_precedentes['erreurs'] : array(); |
$donnees['types_especes'] = $triple_dao->getListeTypesEspeces(); |
$donnees['evenements'] = $triple_dao->getListeEvenements(); |
$donnees['erreurs'] = $erreurs; |
$formulaire = $this->getVue('formulaires/espece_ajout_administration',$donnees); |
$this->setSortie(self::RENDU_CORPS, $formulaire); |
} |
public function afficherFormulaireModificationEspeceAdmin($valeurs_precedentes = array()) { |
$id_espece = $_GET['id_espece']; |
$espece_dao = new EspeceDao(); |
$erreurs = isset($valeurs_precedentes['erreurs']) ? $valeurs_precedentes['erreurs'] : array(); |
$valeurs_precedentes['erreurs']; |
$donnees['espece'] = $espece_dao->getInformationsEspece($id_espece); |
$donnees['espece'] = array_merge($donnees['espece'], $valeurs_precedentes); |
$donnees['erreurs'] = $erreurs; |
41,8 → 54,90 |
$this->setSortie(self::RENDU_CORPS, $formulaire); |
} |
public function afficherFormulaireAjoutImageEspeceAdmin($valeurs_precedentes = array()) { |
$id_espece = $_GET['id_espece']; |
$espece_dao = new EspeceDao(); |
$erreurs = isset($valeurs_precedentes['erreurs']) ? $valeurs_precedentes['erreurs'] : array(); |
$donnees['espece'] = $espece_dao->getInformationsEspece($id_espece); |
$donnees['espece']['nom_sci_normalise'] = str_replace(' ','_',strtolower($donnees['espece']['nom_scientifique'])); |
$donnees['espece'] = array_merge($donnees['espece'], $valeurs_precedentes); |
$donnees['erreurs'] = $erreurs; |
$formulaire = $this->getVue('formulaires/espece_ajout_image_administration',$donnees); |
$this->setSortie(self::RENDU_CORPS, $formulaire); |
} |
// +---------------------------------------------------------------------------------------------------------------+ |
// METHODES DE VALIDATION DE FORMULAIRE |
public function validerFormulaireAjoutImageEspeceAdmin() { |
$donnees = $_POST; |
unset($donnees['MAX_FILE_SIZE']); |
$verification_ou_erreurs = $this->verifierValeursFormulaireImage($donnees); |
if($verification_ou_erreurs !== true) { |
$donnees['erreurs'] = $verification_ou_erreurs; |
$_GET['id_espece'] = $_POST['id_espece']; |
$this->afficherFormulaireAjoutImageEspeceAdmin($donnees); |
} else { |
$chemin_temp = $this->stockerFichierDansDossierEnAttente($_FILES['image_espece']['tmp_name'], $donnees['nom_fichier']); |
if(!$chemin_temp) { |
$donnees['erreurs']['image_espece'] = 'Impossible de stocker le fichier'; |
$this->afficherFormulaireModificationEspeceAdmin($donnees); |
} |
$donnees['chemin'] = $chemin_temp; |
$image_dao = new ImageDao(); |
$retour_ajout = $image_dao->ajoutImageEspece($donnees); |
$_GET['id_espece'] = $_POST['id_espece']; |
if($retour_ajout) { |
$this->afficherFormulaireModificationEspeceAdmin($donnees); |
} else { |
$this->afficherFormulaireAjoutImageEspeceAdmin($donnees); |
} |
} |
} |
private function verifierValeursFormulaireImage($donnees) { |
$erreurs = array(); |
if(empty($_FILES['image_espece']) || $_FILES['image_espece']['size'] == 0) { |
$erreurs['image_espece'] = 'Ce champ est obligatoire'; |
} |
$type = getimagesize($_FILES['image_espece']['tmp_name']); |
if(empty($_FILES['image_espece']) || $type['mime'] != 'image/jpeg') { |
$erreurs['image_espece'] = 'Le format de l\'image n\'est pas supporté'; |
} |
if($_FILES['image_espece']['size'] > Config::get('max_taille_fichiers')) { |
$erreurs['image_espece'] = 'La taille de l\'image dépasse la taille maximale autorisée'; |
} |
if(trim($donnees['credits']) == '') { |
$erreurs['credits'] = 'Ce champ est obligatoire'; |
} |
if(!empty($erreurs)) { |
return $erreurs; |
} |
return true; |
} |
private function stockerFichierDansDossierEnAttente($chemin, $nom) { |
$retour = false; |
if(is_uploaded_file($chemin)) { |
$destination = Config::get('chemin_fichiers_temp').'/'.$nom.'.jpg'; |
$stockage = move_uploaded_file($chemin, $destination); |
chmod($destination, 0777); |
if($stockage) { |
$retour = $destination; |
} |
} |
return $retour; |
} |
public function validerFormulaireModificationEspeceAdmin() { |
$donnees = $_POST; |
$verification_ou_erreurs = $this->verifierValeursEspece($donnees); |
70,11 → 165,65 |
} |
} |
// METHODES DE VALIDATION DE FORMULAIRE |
public function validerFormulaireAjoutEspeceAdmin() { |
$donnees = $_POST; |
$verification_ou_erreurs = $this->verifierValeursEspece($donnees); |
$verifications_supplementaires = $this->verifierPresenceValeurEvenement($donnees); |
$verification_ou_erreurs = $this->mergerErreurs($verification_ou_erreurs, $verifications_supplementaires); |
if($verification_ou_erreurs !== true) { |
$donnees['erreurs'] = $verification_ou_erreurs; |
$this->afficherFormulaireAjoutEspeceAdmin($donnees); |
return; |
} |
$donnees['espece_ecole'] = (isset($donnees['espece_ecole'])) ? $donnees['espece_ecole'] = 1 : $donnees['espece_ecole'] = 0; |
$donnees['espece_active'] = (isset($donnees['espece_active'])) ? $donnees['espece_active'] = 1 : $donnees['espece_active'] = 0; |
$donnees['ce_evenements'] = implode(',', $donnees['ce_evenements']); |
$espece_dao = new EspeceDao(); |
$retour_ajout_espece = $espece_dao->ajoutEspece($donnees); |
if($retour_ajout_espece) { |
$this->afficherListeEspecesAdministrables(); |
} else { |
$this->afficherFormulaireAjoutEspeceAdmin($donnees); |
} |
} |
private function mergerErreurs($verifications_commune, $verifications_specifiques) { |
$retour = true; |
if(is_array($verifications_commune) && is_array($verifications_specifiques)) { |
$retour = array_merge($verifications_commune, $verifications_specifiques); |
} |
if(is_array($verifications_commune) && !is_array($verifications_specifiques)) { |
$retour = $verifications_commune; |
} |
if(!is_array($verifications_commune) && is_array($verifications_specifiques)) { |
$retour = $verifications_specifiques; |
} |
return $retour; |
} |
private function verifierPresenceValeurEvenement($donnees) { |
$erreurs = array(); |
if(!(isset($donnees['ce_evenements']) && is_array($donnees['ce_evenements']) && !empty($donnees['ce_evenements']))) { |
$erreurs['ce_evenements'] = 'Au moins un évènement doit être sélectionné'; |
} |
if(!empty($erreurs)) { |
return $erreurs; |
} |
return true; |
} |
private function verifierValeursEspece($donnees) { |
$erreurs = array(); |
foreach($donnees as $champ => $valeur) { |
if(trim($valeur) == '') { |
if(!is_array($valeur) && trim($valeur) == '') { |
$erreurs[$champ] .= ' Ce champ ne peut pas être vide'; |
} |
} |
/trunk/applications/saisie/controleurs/Liens.php |
---|
167,7 → 167,7 |
return self::construireUrl($params); |
} |
public static function getUrlFormulaireSuppressionStation() { |
public static function getUrlFormulaireSafficherFormulaireModificationEspeceAdminuppressionStation() { |
$params = array( |
'module' => 'Station', |
337,6 → 337,25 |
return self::construireUrl($params); |
} |
public static function getUrlFormulaireAjoutEspeceAdmin() { |
$params = array( |
'module' => 'Administration', |
'action' => 'afficherFormulaireAjoutEspeceAdmin', |
'id_espece' => $id_espece |
); |
return self::construireUrl($params); |
} |
public static function getUrlValidationFormulaireAjoutEspeceAdmin() { |
$params = array( |
'module' => 'Administration', |
'action' => 'validerFormulaireAjoutEspeceAdmin', |
'id_espece' => $id_espece |
); |
return self::construireUrl($params); |
} |
public static function getUrlFormulaireModificationEspeceAdmin($id_espece) { |
$params = array( |
356,6 → 375,24 |
return self::construireUrl($params); |
} |
public static function getUrlFormulaireAjoutImageEspeceAdmin($id_espece) { |
$params = array( |
'module' => 'Administration', |
'action' => 'afficherFormulaireAjoutImageEspeceAdmin', |
'id_espece' => $id_espece |
); |
return self::construireUrl($params); |
} |
public static function getUrlValidationFormulaireAjoutImageEspeceAdmin($id_espece) { |
$params = array( |
'module' => 'Administration', |
'action' => 'validerFormulaireAjoutImageEspeceAdmin', |
'id_espece' => $id_espece |
); |
return self::construireUrl($params); |
} |
public static function renvoyerStylesInclus() { |
$styles = ''; |