Subversion Repositories Sites.obs-saisons.fr

Compare Revisions

Ignore whitespace Rev 287 → Rev 292

/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,15 → 165,69
}
}
// 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';
}
}
 
if(!empty($erreurs)) {
return $erreurs;
}
/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 = '';