public function ajouterEvenementNouveauDossier($id = null) { $idAdresse = is_null($id) ? 0 : $id; $retour = array('idEvenementGroupeAdresse' => 0, 'idSousEvenement' => 0, 'errors' => array()); $idEvenementGroupeAdresse = 0; $formulaire = new formGenerator(); $tabForm = $this->getEvenementFields('nouveauDossier'); $errors = $formulaire->getArrayFromPost($tabForm); $authentification = new archiAuthentification(); $idUtilisateur = $authentification->getIdUtilisateur(); $idEvenementGroupeAdresse = 0; /* debug(array( 'isset'=>isset($idAdresse), 'not empty'=>empty($idAdresse), 'test idAdresse'=>($idAdresse!=0), 'is_null' => is_null($idAdresse), 'idAdresse' => $idAdresse )); */ if (isset($idAdresse) && !is_null($idAdresse) && $idAdresse != 0) { $requeteIdEvtGa = "\n\t\t\t\t\tSELECT idEvenement\n\t\t\t\t\tFROM _adresseEvenement\n\t\t\t\t\tWHERE idAdresse =" . $idAdresse; $resultatIdEvtGa = $this->connexionBdd->requete($requeteIdEvtGa); $array_idEvt = mysql_fetch_assoc($resultatIdEvtGa); $idEvenementGroupeAdresse = $array_idEvt['idEvenement']; } if (count($errors) == 0) { //$this->connexionBdd->getLock(array('historiqueEvenement')); /* if( isset($idAdresse) && !is_null($idAdresse ) && $idAdresse==0 ){ */ // ***************************************************** // ajout de l'evenement groupe d'adresses $idEvenementGroupeAdresse = $this->getNewIdEvenement(); // creation de l'evenement parent groupe d'adresse $sql = "INSERT INTO evenements (idEvenement, titre, description, dateDebut, dateFin, idSource, idUtilisateur, idTypeStructure, idTypeEvenement,dateCreationEvenement)\n\t\t\t\t\t\tVALUES (" . $idEvenementGroupeAdresse . ", '', '', '', '', " . $tabForm['source']['value'] . ", " . $idUtilisateur . ", 0, " . $this->getIdTypeEvenementGroupeAdresse() . ",now())"; $this->connexionBdd->requete($sql); $idEvenementGroupeAdresse = $this->connexionBdd->getLastId(); /* } */ // ***************************************************** // on recupere l'id de l'evenement enfant ( construction) //$idSousEvenement = $this->getNewIdEvenement(); // ajout de l'evenement fils $libelle = $tabForm['titre']['value']; $description = $tabForm['description']['value']; $dateDebut = $this->date->toBdd($this->date->convertYears($tabForm['dateDebut']['value'])); $isDateDebutEnviron = $tabForm['isDateDebutEnviron']['value']; $dateFin = $this->date->toBdd($this->date->convertYears($tabForm['dateFin']['value'])); $idSource = $tabForm['source']['value']; $idTypeStructure = $tabForm['typeStructure']['value']; $idTypeEvenement = $tabForm['typeEvenement']['value']; $numeroArchive = $tabForm['numeroArchive']['value']; $groupeFromTypeEvenement = $this->getGroupeFromTypeEvenement($idTypeEvenement); switch ($groupeFromTypeEvenement) { case '1': // culturel $ISMH = $tabForm['ISMH']['value']; $MH = $tabForm['MH']['value']; $nbEtages = ''; break; case '2': // travaux $ISMH = 0; $MH = 0; $nbEtages = $tabForm['nbEtages']['value']; // enregistrement des courants architecturaux liés au sous evenement 'construction' $courants = new archiCourantArchitectural(); $courants->enregistreLiaisonEvenement($idSousEvenement); break; } //Valeurs vides si le contenu n'est pas concerné $ISMH = isset($ISMH) ? $ISMH : ""; $MH = isset($MH) ? $MH : ""; $nbEtages = isset($nbEtages) ? $nbEtages : ""; $idTypeStructure = isset($idTypeStructure) ? $idTypeStructure : 0; $idTypeEvenement = isset($idTypeEvenement) ? $idTypeEvenement : 0; $sqlHistoriqueEvenement = "INSERT INTO evenements ( titre, description, dateDebut, dateFin, idSource, idUtilisateur, idTypeStructure, idTypeEvenement,dateCreationEvenement,ISMH , MH , nbEtages,isDateDebutEnviron,numeroArchive)\n\t\t\t\t\tVALUES ( \"" . mysql_real_escape_string($libelle) . "\", \"" . mysql_real_escape_string($description) . "\", '" . mysql_real_escape_string($dateDebut) . "', '" . mysql_real_escape_string($dateFin) . "', " . mysql_real_escape_string($idSource) . ", " . mysql_real_escape_string($idUtilisateur) . ", '" . mysql_real_escape_string($idTypeStructure) . "', '" . mysql_real_escape_string($idTypeEvenement) . "', now(), '" . mysql_real_escape_string($ISMH) . "', '" . mysql_real_escape_string($MH) . "', '" . mysql_real_escape_string($nbEtages) . "', '" . mysql_real_escape_string($isDateDebutEnviron) . "',\"" . mysql_real_escape_string($numeroArchive) . "\")"; $this->connexionBdd->requete($sqlHistoriqueEvenement); $idEvenement = $this->connexionBdd->getLastId(); $idSousEvenement = $idEvenement; // on met a jour les positions des evenements du groupe d'adresse (meme s'il n'y en a qu'une) $this->majPositionsEvenements(array('idEvenementGroupeAdresse' => $idEvenementGroupeAdresse, 'idNouvelEvenement' => $idSousEvenement)); // enregistrement des personnes liées au sous evenement 'construction' $personnes = new archiPersonne(); $personnes->enregistreLiaisonEvenement($idSousEvenement); //$this->connexionBdd->freeLock(array('historiqueEvenement')); $retour = array('idEvenementGroupeAdresse' => $idEvenementGroupeAdresse, 'idSousEvenement' => $idSousEvenement, 'errors' => array()); } else { // erreur dans la saisie de l'evenement $this->erreurs->ajouter("Erreur dans la saisie de l'événement"); echo "erreur dans la saise de l'evenement"; $retour = array('idEvenementGroupeAdresse' => 0, 'idSousEvenement' => 0, 'errors' => $errors); } return $retour; }