* Copyright (C) 2001-2002 Jean-Louis Bergamo * Copyright (C) 2006-2009 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** * \file htdocs/public/members/new.php * \ingroup adherent * \brief Form example to add a new member * \version $Id$ */ require("../../master.inc.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/adherent_options.class.php"); require_once(DOL_DOCUMENT_ROOT."/html.form.class.php"); // Define lang object automatically using browser language $langs->setDefaultLang('auto'); // Load translation files $langs->load("main"); $langs->load("members"); $langs->load("companies"); // Function for page HTML header function llxHeaderVierge($title, $head = "") { global $user, $conf, $langs; print "\n"; print "\n"; print "".$title."\n"; if ($head) print $head."\n"; print "\n"; print "\n"; } // Function for page HTML footer function llxFooter() { print "\n"; print "\n"; } $errmsg=''; $num=0; $error=0; /* * Actions */ // Action called when submited page if ($_POST["action"] == 'add') { // test si le login existe deja $login=$_POST["login"]; if(!isset($_POST["login"]) || $_POST["login"]='') { $error+=1; $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Login"))."
\n"; } $sql = "SELECT login FROM ".MAIN_DB_PREFIX."adherent WHERE login='".$login."';"; $result = $db->query($sql); if ($result) { $num = $db->num_rows(); } if (!isset($_POST["nom"]) || !isset($_POST["prenom"]) || $_POST["prenom"]=='' || $_POST["nom"]=='') { $error+=1; $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Name"))."
\n"; } if (!isset($_POST["email"]) || $_POST["email"] == '' || !ereg('@',$_POST["email"])) { $error+=1; $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("EMail"))."
\n"; } if ($num !=0) { $error+=1; $errmsg .= $langs->trans("ErrorLoginAlreadyUsed")."
\n"; } if (!isset($_POST["pass1"]) || !isset($_POST["pass2"]) || $_POST["pass1"] == '' || $_POST["pass2"] == '' || $_POST["pass1"]!=$_POST["pass2"]) { $error+=1; $errmsg .= $langs->trans("ErrorPasswordsMustMatch")."
\n"; } if (isset($_POST["naiss"]) && $_POST["naiss"] !='') { if (!preg_match("/^\d\d\d\d-\d\d-\d\d$/",$_POST["naiss"])) { $error+=1; $errmsg .= $langs->trans("ErrorBadDateFormat")."
\n"; } } if (isset($public)) { $public=1; }else{ $public=0; } if (! $error) { // email a peu pres correct et le login n'existe pas $adh = new Adherent($db); $adh->statut = -1; $adh->public = $_POST["public"]; $adh->prenom = $_POST["prenom"]; $adh->nom = $_POST["nom"]; $adh->societe = $_POST["societe"]; $adh->adresse = $_POST["adresse"]; $adh->cp = $_POST["cp"]; $adh->ville = $_POST["ville"]; $adh->email = $_POST["email"]; $adh->login = $login; $adh->pass = $_POST["pass1"]; $adh->naiss = $_POST["naiss"]; $adh->photo = $_POST["photo"]; $adh->note = $_POST["note"]; $adh->pays = $_POST["pays"]; $adh->typeid = $_POST["type"]; $adh->note = $_POST["comment"]; $adh->morphy = $_POST["morphy"]; foreach($_POST as $key => $value){ if (ereg("^options_",$key)){ $adh->array_options[$key]=$_POST[$key]; } } $result=$adh->create($user->id); if ($result > 0) { if ($cotisation > 0) { $adh->cotisation(dol_mktime(12, 0 , 0, $remonth, $reday, $reyear), $cotisation); } // Send email to say it has been created and will be validated soon... if ($conf->global->ADHERENT_AUTOREGISTER_MAIL && $conf->global->ADHERENT_AUTOREGISTER_MAIL_SUBJECT) { $result=$adh->send_an_email($conf->global->ADHERENT_AUTOREGISTER_MAIL,$conf->global->ADHERENT_AUTOREGISTER_MAIL_SUBJECT,array(),array(),array(),"","",0,-1); } Header("Location: new.php?action=added"); exit; } else { $errmsg .= join('
',$adh->errors); } } } // Action called after a submited was send and member created succesfully if (isset($_GET["action"]) && $_GET["action"] == 'added') { if ($conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION) { // Si conf->global->MEMBER_URL_REDIRECT_SBUSCRIPTION defini, faire redirect sur page. Header("Location: ".$conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION); exit; } else { llxHeaderVierge("New member form"); // Si on a pas ete redirige print '
'; print ''; print "\n"; print '
Nouvel Adherent ajoute. En attente de validation
'; llxFooter('$Date$ - $Revision$'); exit; } } /* * View */ llxHeaderVierge("New member form"); $html = new Form($db); print_titre($langs->trans("NewMember")); $adht = new AdherentType($db); $adho = new AdherentOptions($db); // fetch optionals attributes and labels $adho->fetch_name_optionals_label(); if ($errmsg != '') { print '
'; print ''; print ''; print ''."\n"; // print "$errmsg\n"; print '
Erreur dans le formulaire
'.$errmsg.'
'; } if (defined("ADH_TEXT_NEW_ADH") && ADH_TEXT_NEW_ADH !='') { print ADH_TEXT_NEW_ADH; print "
\n"; } print '
\n"; print "
\n"; print ''; print ''."\n"; print '\n"; print ''."\n"; $morphys["phy"] = "Physique"; $morphys["mor"] = "Morale"; print '\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; print ''."\n"; foreach($adho->attribute_label as $key=>$value){ print ""."\n"; } print ''."\n"; print "
'.$langs->trans("Type").''; $html->select_array("type", $adht->liste_array()); print "'.$langs->trans("Comments").' :
'.$langs->trans("MorPhy")."\n"; $html->select_array("morphy", $morphys); print "
* * '.$langs->trans("Surname").'
* * '.$langs->trans("Name").'
'.$langs->trans("ThirdParty").'
'.$langs->trans("Address").''."\n"; print '
'.$langs->trans("Zip").'/'.$langs->trans("Town").'
'.$langs->trans("Country").'
* * Email
* '.$langs->trans("Login").'
* '.$langs->trans("Password").'
Date de naissance
Format AAAA-MM-JJ
* URL Photo
'.$langs->trans("Public").' ?
$value
\n"; print "
\n"; $db->close(); llxFooter('$Date$ - $Revision$'); ?>