function Adherents_Adherent_ADD($data_in = array()) { Lib_myLog("action: " . $data_in['action']); foreach ($GLOBALS['tab_globals'] as $global) { global ${$global}; } Lib_myLog("IN: ", $data_in); Lib_myLog("FILE: ", __FILE__); $F5 = Lib_checkF5($session, $data_in['timestamp']); $continue = $F5 ? false : true; // On intialise une pseudo-transaction qui nous permettre de stocker tous les objets rajoutés à la base // pour pouvoir les supprimer si nécessaire $transaction = new Collection(); if ($continue) { $logo = ''; if ($_FILES["logo"]["name"] != '') { /*=============*/ Lib_myLog("Telechargement du logo"); $logo = Lib_nettoie($_FILES["logo"]["name"]); $logo = $data_in['id_adherent'] . '_' . $logo; /*=============*/ Lib_myLog("Nouveau nom pour le logo : {$logo}"); $url_logo = '../../img_ftp/' . $logo; if ($_FILES['logo']['error']) { switch ($_FILES['logo']['error']) { case 1: // UPLOAD_ERR_INI_SIZE echo "Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !"; break; case 2: // UPLOAD_ERR_FORM_SIZE echo "Le fichier dépasse la limite autorisée dans le formulaire HTML !"; break; case 3: // UPLOAD_ERR_PARTIAL echo "L'envoi du fichier a été interrompu pendant le transfert !"; break; case 4: // UPLOAD_ERR_NO_FILE echo "Le fichier que vous avez envoyé a une taille nulle !"; break; } } else { // Si le logo existait déjà, on le remplace... if (file_exists($url_logo)) { unlink($url_logo); } if (is_uploaded_file($_FILES["logo"]["tmp_name"])) { $tmp_logo = $_FILES["logo"]["tmp_name"]; rename($tmp_logo, $url_logo); /*=============*/ Lib_myLog("Redimensionnement, w max=200, h max=220, priorite=h"); Lib_redimImage($url_logo, 200, 220, 'h'); chmod("{$url_logo}", 0644); } } } // $categorie1 = ''; // foreach($GLOBALS['CONF']['CATEGORIE1'] as $id => $libelle) // if ($data_in['chk_categorie1_'.$id]) // $categorie1 .= "|{$id}|"; // /*=============*/ Lib_myLog("Parametrage categorie1 : {$categorie1}"); // // $categorie2 = ''; // foreach($GLOBALS['CONF']['CATEGORIE2'] as $id => $libelle) // if ($data_in['chk_categorie2_'.$id]) // $categorie2 .= "|{$id}|"; // /*=============*/ Lib_myLog("Parametrage categorie2 : {$categorie2}"); // // $categorie3 = ''; // foreach($GLOBALS['CONF']['CATEGORIE3'] as $id => $libelle) // if ($data_in['chk_categorie3_'.$id]) // $categorie3 .= "|{$id}|"; // /*=============*/ Lib_myLog("Parametrage categorie1 : {$categorie3}"); /*=============*/ Lib_myLog("Ajout d'un adherent"); $adh = new Adherent(); $adh->nom = $data_in['nom']; $adh->prenom = $data_in['prenom']; $adh->enseigne = $data_in['enseigne']; $adh->raison_sociale = $data_in['raison_sociale']; $adh->adresse1 = $data_in['adresse1']; $adh->adresse2 = $data_in['adresse2']; $adh->ville = $data_in['ville']; $adh->cp = $data_in['cp']; $adh->pays = $data_in['pays']; $adh->telephone = $data_in['telephone']; $adh->fax = $data_in['fax']; $adh->email = $data_in['email']; $adh->site_internet = $data_in['site_internet']; $adh->logo = $logo; $adh->categorie = $data_in['categorie']; $adh->nature_lien = $data_in['nature_lien']; $adh->info_publique = $data_in['info_publique']; $adh->categorie1 = $categorie1; $adh->categorie2 = $categorie2; $adh->categorie3 = $categorie3; $adh->latitude = $data_in['latitude']; $adh->longitude = $data_in['longitude']; if ($data_in['nom_utilisateur'] == '') { // On prend la 1ère et la dernière lette de la raison sociale, la première lettre de la ville et le code postal $nom_utilisateur = substr($data_in['raison_sociale'], 0, 1); $nom_utilisateur .= substr($data_in['raison_sociale'], -1); $nom_utilisateur .= substr($data_in['ville'], -1); $nom_utilisateur .= $data_in['cp']; $data_in['nom_utilisateur'] = strtoupper($nom_utilisateur); } $adh->nom_utilisateur = $data_in['nom_utilisateur']; if ($data_in['password'] == '') { // Génération d'un nombre aléatoire sur 3 chiffres n'existant pas déjà en base $data_in['password'] = mt_rand(100, 899); } $adh->password = $data_in['password']; $id_adherent = $adh->ADD(); if (!$adh->isError()) { $transaction->addElement($adh); } else { $continue = false; } } if ($continue) { $data_out['message_ok'] = $MSG['fr']['%%fiche_ADD%%']; // On force le filtre pour que le système aille chercher à nouveau toutes les données en base $data_in['filtrer'] = 1; $data_in['action'] = 'Adherents_Recherche'; call_user_func('Adherents_Recherche', $data_in); } else { if ($F5) { /*=============*/ Lib_myLog("Tentative de F5!"); $data_out['message'] = $MSG[$lang]['%%Erreur_Revalidation%%']; $data_in['action'] = 'Adherents_Recherche'; call_user_func('Adherents_Recherche', $data_in); } else { /*=============*/ Lib_myLog("Annulation de l'ajout suite a une erreur"); if (!isset($data_out['message_ko'])) { $data_out['message_ko'] = $MSG[$lang]['%%Erreur_Mysql%%']; } // On ré-affiche les données dans la page de saisie... $data_out = array_merge($data_out, $data_in); $data_in['action'] = 'Adherents_Recherche'; call_user_func('Adherents_Recherche', $data_in); } } }