From 085923dc646ba3faad8761374fb3c2a2a1688159 Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Tue, 2 Oct 2012 18:27:41 +0200 Subject: [PATCH 1/2] try to fix canvas within members module --- htdocs/adherents/fiche.php | 1756 ++++++++++++++++++------------------ 1 file changed, 895 insertions(+), 861 deletions(-) diff --git a/htdocs/adherents/fiche.php b/htdocs/adherents/fiche.php index 7ca413a0c4a..df281e9bf09 100644 --- a/htdocs/adherents/fiche.php +++ b/htdocs/adherents/fiche.php @@ -52,7 +52,7 @@ $userid=GETPOST('userid','int'); $socid=GETPOST('socid','int'); // Security check -$result=restrictedArea($user,'adherent',$rowid); +$result=restrictedArea($user,'adherent',$rowid,'','','fk_soc', 'rowid', $objcanvas); if (! empty($conf->mailmanspip->enabled)) { @@ -66,6 +66,17 @@ if (! empty($conf->mailmanspip->enabled)) $object = new Adherent($db); $extrafields = new ExtraFields($db); +// Get object canvas (By default, this is not defined, so standard usage of dolibarr) +$object->getCanvas($socid); +$canvas = $object->canvas?$object->canvas:GETPOST("canvas"); +$objcanvas=''; +if (! empty($canvas)) +{ + require_once DOL_DOCUMENT_ROOT.'/core/class/canvas.class.php'; + $objcanvas = new Canvas($db, $action); + $objcanvas->getCanvas('adherent', 'card', $canvas); +} + $errmsg=''; $errmsgs=array(); if ($rowid > 0) @@ -104,7 +115,7 @@ $hookmanager->initHooks(array('membercard')); * Actions */ -$parameters=array('socid'=>$socid); +$parameters=array('socid'=>$socid, 'objcanvas'=>$objcanvas); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks if ($action == 'setuserid' && ($user->rights->user->self->creer || $user->rights->user->user->creer)) @@ -129,6 +140,8 @@ if ($action == 'setuserid' && ($user->rights->user->self->creer || $user->rights } } } +else $object->canvas=$canvas; + if ($action == 'setsocid') { $error=0; @@ -184,6 +197,7 @@ if ($action == 'confirm_create_user' && $confirm == 'yes' && $user->rights->user $errmsg=$object->error; } } +else $object->canvas=$canvas; // Create third party from a member if ($action == 'confirm_create_thirdparty' && $confirm == 'yes' && $user->rights->societe->creer) @@ -206,6 +220,7 @@ if ($action == 'confirm_create_thirdparty' && $confirm == 'yes' && $user->rights $errmsg=$object->error; } } +else $object->canvas=$canvas; if ($action == 'confirm_sendinfo' && $confirm == 'yes') { @@ -677,925 +692,944 @@ llxHeader('',$langs->trans("Member"),$help_url); $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; -if ($action == 'create') +if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { - /* ************************************************************************** */ - /* */ - /* Fiche creation */ - /* */ - /* ************************************************************************** */ - $object->fk_departement = $_POST["departement_id"]; - - // We set country_id, country_code and country for the selected country - $object->country_id=GETPOST('country_id','int')?GETPOST('country_id','int'):$mysoc->country_id; - if ($object->country_id) - { - $tmparray=getCountry($object->country_id,'all'); - $object->pays_code=$tmparray['code']; - $object->pays=$tmparray['code']; - $object->country_code=$tmparray['code']; - $object->country=$tmparray['label']; - } - - $adht = new AdherentType($db); - - print_fiche_titre($langs->trans("NewMember")); - - dol_htmloutput_mesg($errmsg,$errmsgs,'error'); - dol_htmloutput_mesg($mesg,$mesgs); - - if ($conf->use_javascript_ajax) - { - print "\n".''."\n"; - } - - print '
'; - print ''; - print ''; - - print ''; - - // Login - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) - { - print ''; - } - - // Moral-Physique - $morphys["phy"] = $langs->trans("Physical"); - $morphys["mor"] = $langs->trans("Moral"); - print '\n"; - - // Type - print '\n"; - - // Company - print ''; - - // Civility - print ''; - print ''; - - // Lastname - print ''; - print ''; - - // Firstname - print ''; - print ''; - - // Password - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) - { - require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php'; - $generated_password=getRandomPassword(''); - print ''; - } - - // Address - print ''; - - // Zip / Town - print ''; - - // Country - $object->country_id=$object->country_id?$object->country_id:$mysoc->country_id; - print ''; - - // State - if (empty($conf->global->MEMBER_DISABLE_STATE)) - { - print ''; - } - - // Tel pro - print ''; - - // Tel perso - print ''; - - // Tel mobile - print ''; - - // EMail - print ''; - - // Birthday - print "\n"; - - // Profil public - print "\n"; - - // Other attributes - $parameters=array(); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook - if (empty($reshook) && ! empty($extrafields->attribute_label)) - { - foreach($extrafields->attribute_label as $key=>$label) - { - $value=(isset($_POST["options_".$key])?GETPOST('options_'.$key,'alpha'):$object->array_options["options_".$key]); - print ''."\n"; - } - } - - /* - // Third party Dolibarr - if (! empty($conf->societe->enabled)) - { - print ''; - } - - // Login Dolibarr - print ''; - */ - - print "
'.$langs->trans("Login").' / '.$langs->trans("Id").'login).'">
'.$langs->trans("Nature")."\n"; - print $form->selectarray("morphy", $morphys, GETPOST('morphy','alpha')?GETPOST('morphy','alpha'):$object->morphy, 1); - print "
'.$langs->trans("MemberType").''; - $listetype=$adht->liste_array(); - if (count($listetype)) - { - print $form->selectarray("typeid", $listetype, GETPOST('typeid','int')?GETPOST('typeid','int'):$typeid, count($listetype)>1?1:0); - } else { - print ''.$langs->trans("NoTypeDefinedGoToSetup").''; - } - print "
'.$langs->trans("Company").'
'.$langs->trans("UserTitle").''; - print $formcompany->select_civility(GETPOST('civilite_id','int')?GETPOST('civilite_id','int'):$object->civilite_id,'civilite_id').'
'.$langs->trans("Lastname").'
'.$langs->trans("Firstname").'
'.$langs->trans("Password").''; - print ''; - print '
'.$langs->trans("Address").''; - print ''; - print '
'.$langs->trans("Zip").' / '.$langs->trans("Town").''; - print $formcompany->select_ziptown((GETPOST('zipcode','alpha')?GETPOST('zipcode','alpha'):$object->zip),'zipcode',array('town','selectcountry_id','departement_id'),6); - print ' '; - print $formcompany->select_ziptown((GETPOST('town','alpha')?GETPOST('town','alpha'):$object->town),'town',array('zipcode','selectcountry_id','departement_id')); - print '
'.$langs->trans('Country').''; - print $form->select_country(GETPOST('country_id','alpha')?GETPOST('country_id','alpha'):$object->country_id,'country_id'); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - print '
'.$langs->trans('State').''; - if ($object->country_id) - { - print $formcompany->select_state(GETPOST('departement_id','int')?GETPOST('departement_id','int'):$object->fk_departement,$object->country_code); - } - else - { - print $countrynotdefined; - } - print '
'.$langs->trans("PhonePro").'
'.$langs->trans("PhonePerso").'
'.$langs->trans("PhoneMobile").'
'.($conf->global->ADHERENT_MAIL_REQUIRED?'':'').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED?'':'').'
".$langs->trans("Birthday")."\n"; - $form->select_date(($object->naiss ? $object->naiss : -1),'naiss','','',1,'formsoc'); - print "
".$langs->trans("Public")."\n"; - print $form->selectyesno("public",$object->public,1); - print "
'.$label.''; - print $extrafields->showInputField($key,$value); - print '
'.$langs->trans("LinkedToDolibarrThirdParty").''; - print $form->select_company($object->fk_soc,'socid','',1); - print '
'.$langs->trans("LinkedToDolibarrUser").''; - print $form->select_users($object->user_id,'userid',1); - print '
\n"; - print '
'; - - print '
'; - - print "
\n"; - + // ----------------------------------------- + // When used with CANVAS + // ----------------------------------------- + if (empty($object->error) && $socid) + { + $object = new Adherent($db); + $object->fetch($socid); + } + $objcanvas->assign_values($action, $socid); // Set value for templates + $objcanvas->display_canvas($action); // Show template } - -if ($action == 'edit') +else { - /******************************************** - * - * Fiche en mode edition - * - ********************************************/ + // ----------------------------------------- + // When used in standard mode + // ----------------------------------------- - $res=$object->fetch($rowid); - if ($res < 0) { dol_print_error($db,$object->error); exit; } - $res=$object->fetch_optionals($object->id,$extralabels); - if ($res < 0) { dol_print_error($db); exit; } - - $adht = new AdherentType($db); - $adht->fetch($object->typeid); - - // We set country_id, and country_code, country of the chosen country - if (isset($_POST["pays"]) || $object->country_id) + if ($action == 'create') { - $sql = "SELECT rowid, code, libelle as label from ".MAIN_DB_PREFIX."c_pays where rowid = ".(isset($_POST["pays"])?$_POST["pays"]:$object->country_id); - $resql=$db->query($sql); - if ($resql) + /* ************************************************************************** */ + /* */ + /* Fiche creation */ + /* */ + /* ************************************************************************** */ + $object->fk_departement = $_POST["departement_id"]; + + // We set country_id, country_code and country for the selected country + $object->country_id=GETPOST('country_id','int')?GETPOST('country_id','int'):$mysoc->country_id; + if ($object->country_id) { - $obj = $db->fetch_object($resql); - } - else - { - dol_print_error($db); - } - $object->pays_id=$obj->rowid; - $object->pays_code=$obj->code; - $object->pays=$langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->label; - $object->country_id=$obj->rowid; - $object->country_code=$obj->code; - $object->country=$langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->label; - } - - $head = member_prepare_head($object); - - dol_fiche_head($head, 'general', $langs->trans("Member"), 0, 'user'); - - dol_htmloutput_errors($errmsg,$errmsgs); - dol_htmloutput_mesg($mesg); - - if ($conf->use_javascript_ajax) - { - print "\n".''."\n"; - } - - $rowspan=15; - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $rowspan++; - if (! empty($conf->societe->enabled)) $rowspan++; - - print '
'; - print ''; - print ''; - print ''; - print ''; - if ($backtopage) print ''; - - print ''; - - // Ref - print ''; - - // Login - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) - { - print ''; - } - - // Physique-Moral - $morphys["phy"] = $langs->trans("Physical"); - $morphys["mor"] = $langs->trans("Morale"); - print '"; - // Photo - print ''; - - // Type - print '"; - - // Company - print ''; - - // Civilite - print ''; - print ''; - - // Name - print ''; - print ''; - - // Firstname - print ''; - print ''; - - // Password - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) - { - print ''; - } - - // Address - print ''; - - // Zip / Town - print ''; - - // Country - //$object->country_id=$object->country_id?$object->country_id:$mysoc->country_id; // In edit mode we don't force to company country if not defined - print ''; - - // State - if (empty($conf->global->MEMBER_DISABLE_STATE)) - { - print ''; - } - - // Tel - print ''; - - // Tel perso - print ''; - - // Tel mobile - print ''; - - // EMail - print ''; - - // Date naissance - print "\n"; - - // Profil public - print "\n"; - - // Other attributes - $parameters=array(); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook - if (empty($reshook) && ! empty($extrafields->attribute_label)) - { - foreach($extrafields->attribute_label as $key=>$label) - { - $value=(isset($_POST["options_".$key])?$_POST["options_".$key]:$object->array_options["options_".$key]); - print ''."\n"; - } - } - - // Third party Dolibarr - if (! empty($conf->societe->enabled)) - { - print ''; - } - - // Login Dolibarr - print ''; - - print '
'.$langs->trans("Ref").''.$object->id.'
'.$langs->trans("Login").' / '.$langs->trans("Id").'login).'">
'.$langs->trans("Nature").''; - print $form->selectarray("morphy", $morphys, isset($_POST["morphy"])?$_POST["morphy"]:$object->morphy); - print "'; - print $form->showphoto('memberphoto',$object)."\n"; - if ($caneditfieldmember) - { - if ($object->photo) print "
\n"; - print ''; - if ($object->photo) print ''; - print ''; - print ''; - print '
'.$langs->trans("Delete").'

'.$langs->trans("PhotoFile").'
'; - } - print '
'.$langs->trans("Type").''; - if ($user->rights->adherent->creer) - { - print $form->selectarray("typeid", $adht->liste_array(), (isset($_POST["typeid"])?$_POST["typeid"]:$object->typeid)); - } - else - { - print $adht->getNomUrl(1); - print ''; - } - print "
'.$langs->trans("Company").'societe).'">
'.$langs->trans("UserTitle").''; - print $formcompany->select_civility(isset($_POST["civilite_id"])?$_POST["civilite_id"]:$object->civilite_id)."\n"; - print '
'.$langs->trans("Lastname").'lastname).'">
'.$langs->trans("Firstname").'firstname).'">
'.$langs->trans("Password").'pass).'">
'.$langs->trans("Address").''; - print ''; - print '
'.$langs->trans("Zip").' / '.$langs->trans("Town").''; - print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','departement_id'),6); - print ' '; - print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','departement_id')); - print '
'.$langs->trans('Country').''; - print $form->select_country(isset($_POST["country_id"])?$_POST["country_id"]:$object->country_id,'country_id'); - if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); - print '
'.$langs->trans('State').''; - print $formcompany->select_state($object->fk_departement,isset($_POST["country_id"])?$_POST["country_id"]:$object->country_id); - print '
'.$langs->trans("PhonePro").'phone).'">
'.$langs->trans("PhonePerso").'phone_perso).'">
'.$langs->trans("PhoneMobile").'phone_mobile).'">
'.($conf->global->ADHERENT_MAIL_REQUIRED?'':'').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED?'':'').'email).'">
".$langs->trans("Birthday")."\n"; - $form->select_date(($object->naiss ? $object->naiss : -1),'naiss','','',1,'formsoc'); - print "
".$langs->trans("Public")."\n"; - print $form->selectyesno("public",(isset($_POST["public"])?$_POST["public"]:$object->public),1); - print "
'.$label.''; - print $extrafields->showInputField($key,$value); - print '
'.$langs->trans("LinkedToDolibarrThirdParty").''; - if ($object->fk_soc) - { - $company=new Societe($db); - $result=$company->fetch($object->fk_soc); - print $company->getNomUrl(1); - } - else - { - print $langs->trans("NoThirdPartyAssociatedToMember"); - } - print '
'.$langs->trans("LinkedToDolibarrUser").''; - if ($object->user_id) - { - print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'none'); - } - else print $langs->trans("NoDolibarrAccess"); - print '
'; - - print '
'; - print ''; - print '       '; - print ''; - print ''; - - print ''; -} - -if ($rowid && $action != 'edit') -{ - dol_htmloutput_mesg($mesg); - - /* ************************************************************************** */ - /* */ - /* Mode affichage */ - /* */ - /* ************************************************************************** */ - - $res=$object->fetch($rowid); - if ($res < 0) { dol_print_error($db,$object->error); exit; } - $res=$object->fetch_optionals($object->id,$extralabels); - if ($res < 0) { dol_print_error($db); exit; } - - $adht = new AdherentType($db); - $res=$adht->fetch($object->typeid); - if ($res < 0) { dol_print_error($db); exit; } - - - /* - * Affichage onglets - */ - $head = member_prepare_head($object); - - dol_fiche_head($head, 'general', $langs->trans("Member"), 0, 'user'); - - dol_htmloutput_errors($errmsg,$errmsgs); - - // Confirm create user - if ($_GET["action"] == 'create_user') - { - $login=$object->login; - if (empty($login)) - { - // Full firstname and name separated with a dot : firstname.name - include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; - $login=dol_buildlogin($object->lastname,$object->firstname); - } - if (empty($login)) $login=strtolower(substr($object->firstname, 0, 4)) . strtolower(substr($object->lastname, 0, 4)); - - // Create a form array - $formquestion=array( - array('label' => $langs->trans("LoginToCreate"), 'type' => 'text', 'name' => 'login', 'value' => $login) - ); - $text=$langs->trans("ConfirmCreateLogin").'
'; - if (! empty($conf->societe->enabled)) - { - if ($object->fk_soc > 0) $text.=$langs->trans("UserWillBeExternalUser"); - else $text.=$langs->trans("UserWillBeInternalUser"); - } - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?rowid=".$object->id,$langs->trans("CreateDolibarrLogin"),$text,"confirm_create_user",$formquestion,'yes'); - if ($ret == 'html') print '
'; - } - - // Confirm create third party - if ($_GET["action"] == 'create_thirdparty') - { - $name = $object->getFullName($langs); - if (! empty($name)) - { - if ($object->societe) $name.=' ('.$object->societe.')'; - } - else - { - $name=$object->societe; + $tmparray=getCountry($object->country_id,'all'); + $object->pays_code=$tmparray['code']; + $object->pays=$tmparray['code']; + $object->country_code=$tmparray['code']; + $object->country=$tmparray['label']; } - // Create a form array - $formquestion=array( array('label' => $langs->trans("NameToCreate"), 'type' => 'text', 'name' => 'companyname', 'value' => $name)); + $adht = new AdherentType($db); - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?rowid=".$object->id,$langs->trans("CreateDolibarrThirdParty"),$langs->trans("ConfirmCreateThirdParty"),"confirm_create_thirdparty",$formquestion,1); - if ($ret == 'html') print '
'; - } + print_fiche_titre($langs->trans("NewMember")); - // Confirm validate member - if ($action == 'valid') - { - $langs->load("mails"); + dol_htmloutput_mesg($errmsg,$errmsgs,'error'); + dol_htmloutput_mesg($mesg,$mesgs); - $adht = new AdherentType($db); - $adht->fetch($object->typeid); - - $subjecttosend=$object->makeSubstitution($conf->global->ADHERENT_MAIL_VALID_SUBJECT); - $texttosend=$object->makeSubstitution($adht->getMailOnValid()); - - $tmp=$langs->trans("SendAnEMailToMember"); - $tmp.=' ('.$langs->trans("MailFrom").': '.$conf->global->ADHERENT_MAIL_FROM.', '; - $tmp.=$langs->trans("MailRecipient").': '.$object->email.')'; - $helpcontent=''; - $helpcontent.=''.$langs->trans("MailFrom").': '.$conf->global->ADHERENT_MAIL_FROM.'
'."\n"; - $helpcontent.=''.$langs->trans("MailRecipient").': '.$object->email.'
'."\n"; - $helpcontent.=''.$langs->trans("Subject").':
'."\n"; - $helpcontent.=$subjecttosend."\n"; - $helpcontent.="
"; - $helpcontent.=''.$langs->trans("Content").':
'; - $helpcontent.=dol_htmlentitiesbr($texttosend)."\n"; - $label=$form->textwithpicto($tmp,$helpcontent,1,'help'); - - // Cree un tableau formulaire - $formquestion=array(); - if ($object->email) $formquestion[]=array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => ($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL?true:false)); - if (! empty($conf->global->ADHERENT_USE_MAILMAN)) { $formquestion[]=array('type'=>'other','label'=>$langs->transnoentitiesnoconv("SynchroMailManEnabled"),'value'=>''); } - if (! empty($conf->global->ADHERENT_USE_SPIP)) { $formquestion[]=array('type'=>'other','label'=>$langs->transnoentitiesnoconv("SynchroSpipEnabled"),'value'=>''); } - print $form->formconfirm("fiche.php?rowid=".$rowid,$langs->trans("ValidateMember"),$langs->trans("ConfirmValidateMember"),"confirm_valid",$formquestion,1); - } - - // Confirm send card by mail - if ($action == 'sendinfo') - { - print $form->formconfirm("fiche.php?rowid=".$rowid,$langs->trans("SendCardByMail"),$langs->trans("ConfirmSendCardByMail",$object->email),"confirm_sendinfo",'',0,1); - } - - // Confirm resiliate - if ($action == 'resign') - { - $langs->load("mails"); - - $adht = new AdherentType($db); - $adht->fetch($object->typeid); - - $subjecttosend=$object->makeSubstitution($conf->global->ADHERENT_MAIL_RESIL_SUBJECT); - $texttosend=$object->makeSubstitution($adht->getMailOnResiliate()); - - $tmp=$langs->trans("SendAnEMailToMember"); - $tmp.=' ('.$langs->trans("MailFrom").': '.$conf->global->ADHERENT_MAIL_FROM.', '; - $tmp.=$langs->trans("MailRecipient").': '.$object->email.')'; - $helpcontent=''; - $helpcontent.=''.$langs->trans("MailFrom").': '.$conf->global->ADHERENT_MAIL_FROM.'
'."\n"; - $helpcontent.=''.$langs->trans("MailRecipient").': '.$object->email.'
'."\n"; - $helpcontent.=''.$langs->trans("Subject").':
'."\n"; - $helpcontent.=$subjecttosend."\n"; - $helpcontent.="
"; - $helpcontent.=''.$langs->trans("Content").':
'; - $helpcontent.=dol_htmlentitiesbr($texttosend)."\n"; - $label=$form->textwithpicto($tmp,$helpcontent,1,'help'); - - // Cree un tableau formulaire - $formquestion=array(); - if ($object->email) $formquestion[]=array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => ($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL?'true':'false')); - if ($backtopage) $formquestion[]=array('type' => 'hidden', 'name' => 'backtopage', 'value' => ($backtopage != '1' ? $backtopage : $_SERVER["HTTP_REFERER"])); - $ret=$form->form_confirm("fiche.php?rowid=".$rowid,$langs->trans("ResiliateMember"),$langs->trans("ConfirmResiliateMember"),"confirm_resign",$formquestion); - if ($ret == 'html') print '
'; - } - - // Confirm remove member - if ($action == 'delete') - { - $formquestion=array(); - if ($backtopage) $formquestion[]=array('type' => 'hidden', 'name' => 'backtopage', 'value' => ($backtopage != '1' ? $backtopage : $_SERVER["HTTP_REFERER"])); - $ret=$form->form_confirm("fiche.php?rowid=".$rowid,$langs->trans("DeleteMember"),$langs->trans("ConfirmDeleteMember"),"confirm_delete",$formquestion,0,1); - if ($ret == 'html') print '
'; - } - - /* - * Confirm add in spip - */ - if ($action == 'add_spip') - { - $ret=$form->form_confirm("fiche.php?rowid=".$rowid, $langs->trans('AddIntoSpip'), $langs->trans('AddIntoSpipConfirmation'), 'confirm_add_spip'); - if ($ret == 'html') print '
'; - } - - /* - * Confirm removed from spip - */ - if ($action == 'del_spip') - { - $ret=$form->form_confirm("fiche.php?rowid=$rowid", $langs->trans('DeleteIntoSpip'), $langs->trans('DeleteIntoSpipConfirmation'), 'confirm_del_spip'); - if ($ret == 'html') print '
'; - } - - $rowspan=17; - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $rowspan++; - if (! empty($conf->societe->enabled)) $rowspan++; - - print ''; - - $linkback = ''.$langs->trans("BackToList").''; - - // Ref - print ''; - print ''; - - $showphoto=''; - - // Login - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) - { - print ''; - print $showphoto; $showphoto=''; - print ''; - } - - // Morphy - print ''; - print $showphoto; $showphoto=''; - print ''; - - // Type - print '\n"; - - // Company - print ''; - - // Civility - print ''; - print ''; - - // Name - print ''; - print ''; - - // Firstname - print ''; - - // Password - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) - { - print ''; - } - - // Address - print ''; - - // Zip / Town - print ''; - - // Country - print ''; - - // State - print ''; - - // Tel pro. - print ''; - - // Tel perso - print ''; - - // Tel mobile - print ''; - - // EMail - print ''; - - // Date naissance - print ''; - - // Public - print ''; - - // Status - print ''; - - // Other attributes - $parameters=array(); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook - if (empty($reshook) && ! empty($extrafields->attribute_label)) - { - foreach($extrafields->attribute_label as $key=>$label) - { - $value=$object->array_options["options_$key"]; - print "\n"; - } - } - - // Third party Dolibarr - if (! empty($conf->societe->enabled)) - { - print ''; - print "
'.$langs->trans("Ref").''; - print $form->showrefnav($object, 'rowid', $linkback); - print '
'; - $showphoto.=$form->showphoto('memberphoto',$object); - $showphoto.='
'.$langs->trans("Login").' / '.$langs->trans("Id").''.$object->login.' 
'.$langs->trans("Nature").''.$object->getmorphylib().'
'.$langs->trans("Type").''.$adht->getNomUrl(1)."
'.$langs->trans("Company").''.$object->societe.'
'.$langs->trans("UserTitle").''.$object->getCivilityLabel().' 
'.$langs->trans("Lastname").''.$object->lastname.' 
'.$langs->trans("Firstname").''.$object->firstname.' 
'.$langs->trans("Password").''.preg_replace('/./i','*',$object->pass).'
'.$langs->trans("Address").''; - dol_print_address($object->address,'gmap','member',$object->id); - print '
'.$langs->trans("Zip").' / '.$langs->trans("Town").''.$object->zip.(($object->zip && $object->town)?' / ':'').$object->town.'
'.$langs->trans("Country").''; - $img=picto_from_langcode($object->country_code); - if ($img) print $img.' '; - print getCountry($object->country_code); - print '
'.$langs->trans('State').''.$object->departement.'
'.$langs->trans("PhonePro").''.dol_print_phone($object->phone,$object->country_code,0,$object->fk_soc,1).'
'.$langs->trans("PhonePerso").''.dol_print_phone($object->phone_perso,$object->country_code,0,$object->fk_soc,1).'
'.$langs->trans("PhoneMobile").''.dol_print_phone($object->phone_mobile,$object->country_code,0,$object->fk_soc,1).'
'.$langs->trans("EMail").''.dol_print_email($object->email,0,$object->fk_soc,1).'
'.$langs->trans("Birthday").''.dol_print_date($object->naiss,'day').'
'.$langs->trans("Public").''.yn($object->public).'
'.$langs->trans("Status").''.$object->getLibStatut(4).'
".$label.""; - print $extrafields->showOutputField($key,$value); - print "
'; - print ''; - if ($_GET['action'] != 'editthirdparty' && $user->rights->adherent->creer) print ''; - print '
'; - print $langs->trans("LinkedToDolibarrThirdParty"); - print 'id.'">'.img_edit($langs->trans('SetLinkToThirdParty'),1).'
'; - print '
'; - if ($_GET['action'] == 'editthirdparty') + if ($conf->use_javascript_ajax) { - $htmlname='socid'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + } + + // Login Dolibarr + print ''; + */ + + print "
'; + print "\n".''."\n"; + } + + print ''; + print ''; + print ''; + + print ''; + + // Login + if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) + { + print ''; + } + + // Moral-Physique + $morphys["phy"] = $langs->trans("Physical"); + $morphys["mor"] = $langs->trans("Moral"); + print '\n"; + + // Type + print '\n"; + + // Company + print ''; + + // Civility + print ''; + print ''; + + // Lastname + print ''; + print ''; + + // Firstname + print ''; + print ''; + + // Password + if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php'; + $generated_password=getRandomPassword(''); + print ''; + } + + // Address + print ''; + + // Zip / Town + print ''; + + // Country + $object->country_id=$object->country_id?$object->country_id:$mysoc->country_id; + print ''; + + // State + if (empty($conf->global->MEMBER_DISABLE_STATE)) + { + print ''; + } + + // Tel pro + print ''; + + // Tel perso + print ''; + + // Tel mobile + print ''; + + // EMail + print ''; + + // Birthday + print "\n"; + + // Profil public + print "\n"; + + // Other attributes + $parameters=array(); + $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook + if (empty($reshook) && ! empty($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key=>$label) + { + $value=(isset($_POST["options_".$key])?GETPOST('options_'.$key,'alpha'):$object->array_options["options_".$key]); + print ''."\n"; + } + } + + /* + // Third party Dolibarr + if (! empty($conf->societe->enabled)) + { + print ''; - print ''; - print '
'.$langs->trans("Login").' / '.$langs->trans("Id").'login).'">
'.$langs->trans("Nature")."\n"; + print $form->selectarray("morphy", $morphys, GETPOST('morphy','alpha')?GETPOST('morphy','alpha'):$object->morphy, 1); + print "
'.$langs->trans("MemberType").''; + $listetype=$adht->liste_array(); + if (count($listetype)) + { + print $form->selectarray("typeid", $listetype, GETPOST('typeid','int')?GETPOST('typeid','int'):$typeid, count($listetype)>1?1:0); + } else { + print ''.$langs->trans("NoTypeDefinedGoToSetup").''; + } + print "
'.$langs->trans("Company").'
'.$langs->trans("UserTitle").''; + print $formcompany->select_civility(GETPOST('civilite_id','int')?GETPOST('civilite_id','int'):$object->civilite_id,'civilite_id').'
'.$langs->trans("Lastname").'
'.$langs->trans("Firstname").'
'.$langs->trans("Password").''; + print ''; + print '
'.$langs->trans("Address").''; + print ''; + print '
'.$langs->trans("Zip").' / '.$langs->trans("Town").''; + print $formcompany->select_ziptown((GETPOST('zipcode','alpha')?GETPOST('zipcode','alpha'):$object->zip),'zipcode',array('town','selectcountry_id','departement_id'),6); + print ' '; + print $formcompany->select_ziptown((GETPOST('town','alpha')?GETPOST('town','alpha'):$object->town),'town',array('zipcode','selectcountry_id','departement_id')); + print '
'.$langs->trans('Country').''; + print $form->select_country(GETPOST('country_id','alpha')?GETPOST('country_id','alpha'):$object->country_id,'country_id'); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + print '
'.$langs->trans('State').''; + if ($object->country_id) + { + print $formcompany->select_state(GETPOST('departement_id','int')?GETPOST('departement_id','int'):$object->fk_departement,$object->country_code); + } + else + { + print $countrynotdefined; + } + print '
'.$langs->trans("PhonePro").'
'.$langs->trans("PhonePerso").'
'.$langs->trans("PhoneMobile").'
'.($conf->global->ADHERENT_MAIL_REQUIRED?'':'').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED?'':'').'
".$langs->trans("Birthday")."\n"; + $form->select_date(($object->naiss ? $object->naiss : -1),'naiss','','',1,'formsoc'); + print "
".$langs->trans("Public")."\n"; + print $form->selectyesno("public",$object->public,1); + print "
'.$label.''; + print $extrafields->showInputField($key,$value); + print '
'.$langs->trans("LinkedToDolibarrThirdParty").''; print $form->select_company($object->fk_soc,'socid','',1); - print '
'; + print '
'.$langs->trans("LinkedToDolibarrUser").''; + print $form->select_users($object->user_id,'userid',1); + print '
\n"; + print '
'; + + print '
'; + + print "\n"; + + } + + if ($action == 'edit') + { + /******************************************** + * + * Fiche en mode edition + * + ********************************************/ + + $res=$object->fetch($rowid); + if ($res < 0) { dol_print_error($db,$object->error); exit; } + $res=$object->fetch_optionals($object->id,$extralabels); + if ($res < 0) { dol_print_error($db); exit; } + + $adht = new AdherentType($db); + $adht->fetch($object->typeid); + + // We set country_id, and country_code, country of the chosen country + if (isset($_POST["pays"]) || $object->country_id) + { + $sql = "SELECT rowid, code, libelle as label from ".MAIN_DB_PREFIX."c_pays where rowid = ".(isset($_POST["pays"])?$_POST["pays"]:$object->country_id); + $resql=$db->query($sql); + if ($resql) + { + $obj = $db->fetch_object($resql); + } + else + { + dol_print_error($db); + } + $object->pays_id=$obj->rowid; + $object->pays_code=$obj->code; + $object->pays=$langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->label; + $object->country_id=$obj->rowid; + $object->country_code=$obj->code; + $object->country=$langs->trans("Country".$obj->code)?$langs->trans("Country".$obj->code):$obj->label; + } + + $head = member_prepare_head($object); + + dol_fiche_head($head, 'general', $langs->trans("Member"), 0, 'user'); + + dol_htmloutput_errors($errmsg,$errmsgs); + dol_htmloutput_mesg($mesg); + + if ($conf->use_javascript_ajax) + { + print "\n".''."\n"; + } + + $rowspan=15; + if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $rowspan++; + if (! empty($conf->societe->enabled)) $rowspan++; + + print '
'; + print ''; + print ''; + print ''; + print ''; + if ($backtopage) print ''; + + print ''; + + // Ref + print ''; + + // Login + if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) + { + print ''; + } + + // Physique-Moral + $morphys["phy"] = $langs->trans("Physical"); + $morphys["mor"] = $langs->trans("Morale"); + print '"; + // Photo + print ''; + + // Type + print ''; - } + print ""; - // Login Dolibarr - print ''; + + // Civilite + print ''; + print ''; + + // Name + print ''; + print ''; + + // Firstname + print ''; + print ''; + + // Password + if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) + { + print ''; + } + + // Address + print ''; + + // Zip / Town + print ''; + + // Country + //$object->country_id=$object->country_id?$object->country_id:$mysoc->country_id; // In edit mode we don't force to company country if not defined + print ''; + + // State + if (empty($conf->global->MEMBER_DISABLE_STATE)) + { + print ''; + } + + // Tel + print ''; + + // Tel perso + print ''; + + // Tel mobile + print ''; + + // EMail + print ''; + + // Date naissance + print "\n"; + + // Profil public + print "\n"; + + // Other attributes + $parameters=array(); + $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook + if (empty($reshook) && ! empty($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key=>$label) + { + $value=(isset($_POST["options_".$key])?$_POST["options_".$key]:$object->array_options["options_".$key]); + print ''."\n"; + } + } + + // Third party Dolibarr + if (! empty($conf->societe->enabled)) + { + print ''; + } + + // Login Dolibarr + print ''; + + print '
'.$langs->trans("Ref").''.$object->id.'
'.$langs->trans("Login").' / '.$langs->trans("Id").'login).'">
'.$langs->trans("Nature").''; + print $form->selectarray("morphy", $morphys, isset($_POST["morphy"])?$_POST["morphy"]:$object->morphy); + print "'; + print $form->showphoto('memberphoto',$object)."\n"; + if ($caneditfieldmember) + { + if ($object->photo) print "
\n"; + print ''; + if ($object->photo) print ''; + print ''; + print ''; + print '
'.$langs->trans("Delete").'

'.$langs->trans("PhotoFile").'
'; + } + print '
'.$langs->trans("Type").''; + if ($user->rights->adherent->creer) + { + print $form->selectarray("typeid", $adht->liste_array(), (isset($_POST["typeid"])?$_POST["typeid"]:$object->typeid)); } else { - if ($object->fk_soc) - { - $company=new Societe($db); - $result=$company->fetch($object->fk_soc); - print $company->getNomUrl(1); - } - else - { - print $langs->trans("NoThirdPartyAssociatedToMember"); - } + print $adht->getNomUrl(1); + print ''; } - print '
'; - print ''; - if ($_GET['action'] != 'editlogin' && $user->rights->adherent->creer) - { - print ''; - } - print '
'; - print $langs->trans("LinkedToDolibarrUser"); - print ''; - if ($user->rights->user->user->creer) - { - print 'id.'">'.img_edit($langs->trans('SetLinkToUser'),1).''; - } - print '
'; - print '
'; - if ($_GET['action'] == 'editlogin') - { - print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'userid',''); - } - else - { + // Company + print '
'.$langs->trans("Company").'societe).'">
'.$langs->trans("UserTitle").''; + print $formcompany->select_civility(isset($_POST["civilite_id"])?$_POST["civilite_id"]:$object->civilite_id)."\n"; + print '
'.$langs->trans("Lastname").'lastname).'">
'.$langs->trans("Firstname").'firstname).'">
'.$langs->trans("Password").'pass).'">
'.$langs->trans("Address").''; + print ''; + print '
'.$langs->trans("Zip").' / '.$langs->trans("Town").''; + print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','departement_id'),6); + print ' '; + print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','departement_id')); + print '
'.$langs->trans('Country').''; + print $form->select_country(isset($_POST["country_id"])?$_POST["country_id"]:$object->country_id,'country_id'); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionnarySetup"),1); + print '
'.$langs->trans('State').''; + print $formcompany->select_state($object->fk_departement,isset($_POST["country_id"])?$_POST["country_id"]:$object->country_id); + print '
'.$langs->trans("PhonePro").'phone).'">
'.$langs->trans("PhonePerso").'phone_perso).'">
'.$langs->trans("PhoneMobile").'phone_mobile).'">
'.($conf->global->ADHERENT_MAIL_REQUIRED?'':'').$langs->trans("EMail").($conf->global->ADHERENT_MAIL_REQUIRED?'':'').'email).'">
".$langs->trans("Birthday")."\n"; + $form->select_date(($object->naiss ? $object->naiss : -1),'naiss','','',1,'formsoc'); + print "
".$langs->trans("Public")."\n"; + print $form->selectyesno("public",(isset($_POST["public"])?$_POST["public"]:$object->public),1); + print "
'.$label.''; + print $extrafields->showInputField($key,$value); + print '
'.$langs->trans("LinkedToDolibarrThirdParty").''; + if ($object->fk_soc) + { + $company=new Societe($db); + $result=$company->fetch($object->fk_soc); + print $company->getNomUrl(1); + } + else + { + print $langs->trans("NoThirdPartyAssociatedToMember"); + } + print '
'.$langs->trans("LinkedToDolibarrUser").''; if ($object->user_id) { print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'none'); } else print $langs->trans("NoDolibarrAccess"); + print '
'; + + print '
'; + print ''; + print '       '; + print ''; + print ''; + + print ''; } - print '
\n"; + if ($rowid && $action != 'edit') + { + dol_htmloutput_mesg($mesg); - print "\n"; + /* ************************************************************************** */ + /* */ + /* Mode affichage */ + /* */ + /* ************************************************************************** */ + + $res=$object->fetch($rowid); + if ($res < 0) { dol_print_error($db,$object->error); exit; } + $res=$object->fetch_optionals($object->id,$extralabels); + if ($res < 0) { dol_print_error($db); exit; } + + $adht = new AdherentType($db); + $res=$adht->fetch($object->typeid); + if ($res < 0) { dol_print_error($db); exit; } - /* - * Barre d'actions - * - */ - print '
'; + /* + * Affichage onglets + */ + $head = member_prepare_head($object); - if ($action != 'valid' && $action != 'editlogin' && $action != 'editthirdparty') - { - // Modify - if ($user->rights->adherent->creer) + dol_fiche_head($head, 'general', $langs->trans("Member"), 0, 'user'); + + dol_htmloutput_errors($errmsg,$errmsgs); + + // Confirm create user + if ($_GET["action"] == 'create_user') { - print "".$langs->trans("Modify").""; - } - else - { - print "trans("NotEnoughPermissions"))."\">".$langs->trans("Modify").""; + $login=$object->login; + if (empty($login)) + { + // Full firstname and name separated with a dot : firstname.name + include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + $login=dol_buildlogin($object->lastname,$object->firstname); + } + if (empty($login)) $login=strtolower(substr($object->firstname, 0, 4)) . strtolower(substr($object->lastname, 0, 4)); + + // Create a form array + $formquestion=array( + array('label' => $langs->trans("LoginToCreate"), 'type' => 'text', 'name' => 'login', 'value' => $login) + ); + $text=$langs->trans("ConfirmCreateLogin").'
'; + if (! empty($conf->societe->enabled)) + { + if ($object->fk_soc > 0) $text.=$langs->trans("UserWillBeExternalUser"); + else $text.=$langs->trans("UserWillBeInternalUser"); + } + $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?rowid=".$object->id,$langs->trans("CreateDolibarrLogin"),$text,"confirm_create_user",$formquestion,'yes'); + if ($ret == 'html') print '
'; } - // Valider - if ($object->statut == -1) + // Confirm create third party + if ($_GET["action"] == 'create_thirdparty') { - if ($user->rights->adherent->creer) + $name = $object->getFullName($langs); + if (! empty($name)) { - print "".$langs->trans("Validate")."\n"; + if ($object->societe) $name.=' ('.$object->societe.')'; } else { - print "trans("NotEnoughPermissions"))."\">".$langs->trans("Validate").""; + $name=$object->societe; + } + + // Create a form array + $formquestion=array( array('label' => $langs->trans("NameToCreate"), 'type' => 'text', 'name' => 'companyname', 'value' => $name)); + + $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?rowid=".$object->id,$langs->trans("CreateDolibarrThirdParty"),$langs->trans("ConfirmCreateThirdParty"),"confirm_create_thirdparty",$formquestion,1); + if ($ret == 'html') print '
'; + } + + // Confirm validate member + if ($action == 'valid') + { + $langs->load("mails"); + + $adht = new AdherentType($db); + $adht->fetch($object->typeid); + + $subjecttosend=$object->makeSubstitution($conf->global->ADHERENT_MAIL_VALID_SUBJECT); + $texttosend=$object->makeSubstitution($adht->getMailOnValid()); + + $tmp=$langs->trans("SendAnEMailToMember"); + $tmp.=' ('.$langs->trans("MailFrom").': '.$conf->global->ADHERENT_MAIL_FROM.', '; + $tmp.=$langs->trans("MailRecipient").': '.$object->email.')'; + $helpcontent=''; + $helpcontent.=''.$langs->trans("MailFrom").': '.$conf->global->ADHERENT_MAIL_FROM.'
'."\n"; + $helpcontent.=''.$langs->trans("MailRecipient").': '.$object->email.'
'."\n"; + $helpcontent.=''.$langs->trans("Subject").':
'."\n"; + $helpcontent.=$subjecttosend."\n"; + $helpcontent.="
"; + $helpcontent.=''.$langs->trans("Content").':
'; + $helpcontent.=dol_htmlentitiesbr($texttosend)."\n"; + $label=$form->textwithpicto($tmp,$helpcontent,1,'help'); + + // Cree un tableau formulaire + $formquestion=array(); + if ($object->email) $formquestion[]=array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => ($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL?true:false)); + if (! empty($conf->global->ADHERENT_USE_MAILMAN)) { $formquestion[]=array('type'=>'other','label'=>$langs->transnoentitiesnoconv("SynchroMailManEnabled"),'value'=>''); } + if (! empty($conf->global->ADHERENT_USE_SPIP)) { $formquestion[]=array('type'=>'other','label'=>$langs->transnoentitiesnoconv("SynchroSpipEnabled"),'value'=>''); } + print $form->formconfirm("fiche.php?rowid=".$rowid,$langs->trans("ValidateMember"),$langs->trans("ConfirmValidateMember"),"confirm_valid",$formquestion,1); + } + + // Confirm send card by mail + if ($action == 'sendinfo') + { + print $form->formconfirm("fiche.php?rowid=".$rowid,$langs->trans("SendCardByMail"),$langs->trans("ConfirmSendCardByMail",$object->email),"confirm_sendinfo",'',0,1); + } + + // Confirm resiliate + if ($action == 'resign') + { + $langs->load("mails"); + + $adht = new AdherentType($db); + $adht->fetch($object->typeid); + + $subjecttosend=$object->makeSubstitution($conf->global->ADHERENT_MAIL_RESIL_SUBJECT); + $texttosend=$object->makeSubstitution($adht->getMailOnResiliate()); + + $tmp=$langs->trans("SendAnEMailToMember"); + $tmp.=' ('.$langs->trans("MailFrom").': '.$conf->global->ADHERENT_MAIL_FROM.', '; + $tmp.=$langs->trans("MailRecipient").': '.$object->email.')'; + $helpcontent=''; + $helpcontent.=''.$langs->trans("MailFrom").': '.$conf->global->ADHERENT_MAIL_FROM.'
'."\n"; + $helpcontent.=''.$langs->trans("MailRecipient").': '.$object->email.'
'."\n"; + $helpcontent.=''.$langs->trans("Subject").':
'."\n"; + $helpcontent.=$subjecttosend."\n"; + $helpcontent.="
"; + $helpcontent.=''.$langs->trans("Content").':
'; + $helpcontent.=dol_htmlentitiesbr($texttosend)."\n"; + $label=$form->textwithpicto($tmp,$helpcontent,1,'help'); + + // Cree un tableau formulaire + $formquestion=array(); + if ($object->email) $formquestion[]=array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => ($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL?'true':'false')); + if ($backtopage) $formquestion[]=array('type' => 'hidden', 'name' => 'backtopage', 'value' => ($backtopage != '1' ? $backtopage : $_SERVER["HTTP_REFERER"])); + $ret=$form->form_confirm("fiche.php?rowid=".$rowid,$langs->trans("ResiliateMember"),$langs->trans("ConfirmResiliateMember"),"confirm_resign",$formquestion); + if ($ret == 'html') print '
'; + } + + // Confirm remove member + if ($action == 'delete') + { + $formquestion=array(); + if ($backtopage) $formquestion[]=array('type' => 'hidden', 'name' => 'backtopage', 'value' => ($backtopage != '1' ? $backtopage : $_SERVER["HTTP_REFERER"])); + $ret=$form->form_confirm("fiche.php?rowid=".$rowid,$langs->trans("DeleteMember"),$langs->trans("ConfirmDeleteMember"),"confirm_delete",$formquestion,0,1); + if ($ret == 'html') print '
'; + } + + /* + * Confirm add in spip + */ + if ($action == 'add_spip') + { + $ret=$form->form_confirm("fiche.php?rowid=".$rowid, $langs->trans('AddIntoSpip'), $langs->trans('AddIntoSpipConfirmation'), 'confirm_add_spip'); + if ($ret == 'html') print '
'; + } + + /* + * Confirm removed from spip + */ + if ($action == 'del_spip') + { + $ret=$form->form_confirm("fiche.php?rowid=$rowid", $langs->trans('DeleteIntoSpip'), $langs->trans('DeleteIntoSpipConfirmation'), 'confirm_del_spip'); + if ($ret == 'html') print '
'; + } + + $rowspan=17; + if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) $rowspan++; + if (! empty($conf->societe->enabled)) $rowspan++; + + print ''; + + $linkback = ''.$langs->trans("BackToList").''; + + // Ref + print ''; + print ''; + + $showphoto=''; + + // Login + if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) + { + print ''; + print $showphoto; $showphoto=''; + print ''; + } + + // Morphy + print ''; + print $showphoto; $showphoto=''; + print ''; + + // Type + print '\n"; + + // Company + print ''; + + // Civility + print ''; + print ''; + + // Name + print ''; + print ''; + + // Firstname + print ''; + + // Password + if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) + { + print ''; + } + + // Address + print ''; + + // Zip / Town + print ''; + + // Country + print ''; + + // State + print ''; + + // Tel pro. + print ''; + + // Tel perso + print ''; + + // Tel mobile + print ''; + + // EMail + print ''; + + // Date naissance + print ''; + + // Public + print ''; + + // Status + print ''; + + // Other attributes + $parameters=array(); + $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook + if (empty($reshook) && ! empty($extrafields->attribute_label)) + { + foreach($extrafields->attribute_label as $key=>$label) + { + $value=$object->array_options["options_$key"]; + print "\n"; } } - // Reactiver - if ($object->statut == 0) + // Third party Dolibarr + if (! empty($conf->societe->enabled)) { - if ($user->rights->adherent->creer) + print ''; } - // Create user - if (! $user->societe_id && ! $object->user_id) + // Login Dolibarr + print ''; + + print "
'.$langs->trans("Ref").''; + print $form->showrefnav($object, 'rowid', $linkback); + print '
'; + $showphoto.=$form->showphoto('memberphoto',$object); + $showphoto.='
'.$langs->trans("Login").' / '.$langs->trans("Id").''.$object->login.' 
'.$langs->trans("Nature").''.$object->getmorphylib().'
'.$langs->trans("Type").''.$adht->getNomUrl(1)."
'.$langs->trans("Company").''.$object->societe.'
'.$langs->trans("UserTitle").''.$object->getCivilityLabel().' 
'.$langs->trans("Lastname").''.$object->lastname.' 
'.$langs->trans("Firstname").''.$object->firstname.' 
'.$langs->trans("Password").''.preg_replace('/./i','*',$object->pass).'
'.$langs->trans("Address").''; + dol_print_address($object->address,'gmap','member',$object->id); + print '
'.$langs->trans("Zip").' / '.$langs->trans("Town").''.$object->zip.(($object->zip && $object->town)?' / ':'').$object->town.'
'.$langs->trans("Country").''; + $img=picto_from_langcode($object->country_code); + if ($img) print $img.' '; + print getCountry($object->country_code); + print '
'.$langs->trans('State').''.$object->departement.'
'.$langs->trans("PhonePro").''.dol_print_phone($object->phone,$object->country_code,0,$object->fk_soc,1).'
'.$langs->trans("PhonePerso").''.dol_print_phone($object->phone_perso,$object->country_code,0,$object->fk_soc,1).'
'.$langs->trans("PhoneMobile").''.dol_print_phone($object->phone_mobile,$object->country_code,0,$object->fk_soc,1).'
'.$langs->trans("EMail").''.dol_print_email($object->email,0,$object->fk_soc,1).'
'.$langs->trans("Birthday").''.dol_print_date($object->naiss,'day').'
'.$langs->trans("Public").''.yn($object->public).'
'.$langs->trans("Status").''.$object->getLibStatut(4).'
".$label.""; + print $extrafields->showOutputField($key,$value); + print "
'; + print ''; + if ($_GET['action'] != 'editthirdparty' && $user->rights->adherent->creer) print ''; + print '
'; + print $langs->trans("LinkedToDolibarrThirdParty"); + print 'id.'">'.img_edit($langs->trans('SetLinkToThirdParty'),1).'
'; + print '
'; + if ($_GET['action'] == 'editthirdparty') { - print "".$langs->trans("Reenable")."\n"; - } - else - { - print "trans("NotEnoughPermissions"))."\">".$langs->trans("Reenable").""; - } - } - - // Send card by email - if ($user->rights->adherent->creer) - { - if ($object->statut >= 1) - { - if ($object->email) print "id&action=sendinfo\">".$langs->trans("SendCardByMail")."\n"; - else print "trans("NoEMail"))."\">".$langs->trans("SendCardByMail")."\n"; - } - else - { - print "trans("ValidateBefore"))."\">".$langs->trans("SendCardByMail").""; - } - } - else - { - print "trans("NotEnoughPermissions"))."\">".$langs->trans("SendCardByMail").""; - } - - // Resilier - if ($object->statut >= 1) - { - if ($user->rights->adherent->supprimer) - { - print "".$langs->trans("Resiliate")."\n"; - } - else - { - print "trans("NotEnoughPermissions"))."\">".$langs->trans("Resiliate").""; - } - } - - // Create third party - if (! empty($conf->societe->enabled) && ! $object->fk_soc) - { - if ($user->rights->societe->creer) - { - if ($object->statut != -1) print ''.$langs->trans("CreateDolibarrThirdParty").''; - else print ''.$langs->trans("CreateDolibarrThirdParty").''; + $htmlname='socid'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
'; + print $form->select_company($object->fk_soc,'socid','',1); + print '
'; } else { - print "trans("NotEnoughPermissions"))."\">".$langs->trans("CreateDolibarrThirdParty").""; + if ($object->fk_soc) + { + $company=new Societe($db); + $result=$company->fetch($object->fk_soc); + print $company->getNomUrl(1); + } + else + { + print $langs->trans("NoThirdPartyAssociatedToMember"); + } } + print '
'; + print ''; + if ($_GET['action'] != 'editlogin' && $user->rights->adherent->creer) { + print ''; + } + print '
'; + print $langs->trans("LinkedToDolibarrUser"); + print ''; if ($user->rights->user->user->creer) { - if ($object->statut != -1) print ''.$langs->trans("CreateDolibarrLogin").''; - else print ''.$langs->trans("CreateDolibarrLogin").''; + print 'id.'">'.img_edit($langs->trans('SetLinkToUser'),1).''; + } + print '
'; + print '
'; + if ($_GET['action'] == 'editlogin') + { + print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'userid',''); + } + else + { + if ($object->user_id) + { + print $form->form_users($_SERVER['PHP_SELF'].'?rowid='.$object->id,$object->user_id,'none'); + } + else print $langs->trans("NoDolibarrAccess"); + } + print '
\n"; + + print "
\n"; + + + /* + * Barre d'actions + * + */ + print '
'; + + if ($action != 'valid' && $action != 'editlogin' && $action != 'editthirdparty') + { + // Modify + if ($user->rights->adherent->creer) + { + print "".$langs->trans("Modify").""; } else { - print "trans("NotEnoughPermissions"))."\">".$langs->trans("CreateDolibarrLogin").""; + print "trans("NotEnoughPermissions"))."\">".$langs->trans("Modify").""; } + + // Valider + if ($object->statut == -1) + { + if ($user->rights->adherent->creer) + { + print "".$langs->trans("Validate")."\n"; + } + else + { + print "trans("NotEnoughPermissions"))."\">".$langs->trans("Validate").""; + } + } + + // Reactiver + if ($object->statut == 0) + { + if ($user->rights->adherent->creer) + { + print "".$langs->trans("Reenable")."\n"; + } + else + { + print "trans("NotEnoughPermissions"))."\">".$langs->trans("Reenable").""; + } + } + + // Send card by email + if ($user->rights->adherent->creer) + { + if ($object->statut >= 1) + { + if ($object->email) print "id&action=sendinfo\">".$langs->trans("SendCardByMail")."\n"; + else print "trans("NoEMail"))."\">".$langs->trans("SendCardByMail")."\n"; + } + else + { + print "trans("ValidateBefore"))."\">".$langs->trans("SendCardByMail").""; + } + } + else + { + print "trans("NotEnoughPermissions"))."\">".$langs->trans("SendCardByMail").""; + } + + // Resilier + if ($object->statut >= 1) + { + if ($user->rights->adherent->supprimer) + { + print "".$langs->trans("Resiliate")."\n"; + } + else + { + print "trans("NotEnoughPermissions"))."\">".$langs->trans("Resiliate").""; + } + } + + // Create third party + if (! empty($conf->societe->enabled) && ! $object->fk_soc) + { + if ($user->rights->societe->creer) + { + if ($object->statut != -1) print ''.$langs->trans("CreateDolibarrThirdParty").''; + else print ''.$langs->trans("CreateDolibarrThirdParty").''; + } + else + { + print "trans("NotEnoughPermissions"))."\">".$langs->trans("CreateDolibarrThirdParty").""; + } + } + + // Create user + if (! $user->societe_id && ! $object->user_id) + { + if ($user->rights->user->user->creer) + { + if ($object->statut != -1) print ''.$langs->trans("CreateDolibarrLogin").''; + else print ''.$langs->trans("CreateDolibarrLogin").''; + } + else + { + print "trans("NotEnoughPermissions"))."\">".$langs->trans("CreateDolibarrLogin").""; + } + } + + // Delete + if ($user->rights->adherent->supprimer) + { + print "id&action=delete\">".$langs->trans("Delete")."\n"; + } + else + { + print "trans("NotEnoughPermissions"))."\">".$langs->trans("Delete").""; + } + + // Action SPIP + if (! empty($conf->mailmanspip->enabled) && ! empty($conf->global->ADHERENT_USE_SPIP)) + { + $isinspip = $mailmanspip->is_in_spip($object); + + if ($isinspip == 1) + { + print "id&action=del_spip\">".$langs->trans("DeleteIntoSpip")."\n"; + } + if ($isinspip == 0) + { + print "id&action=add_spip\">".$langs->trans("AddIntoSpip")."\n"; + } + if ($isinspip == -1) + { + print '

'.$langs->trans('SPIPConnectionFailed').': '.$mailmanspip->error.''; + } + } + } - // Delete - if ($user->rights->adherent->supprimer) - { - print "id&action=delete\">".$langs->trans("Delete")."\n"; - } - else - { - print "trans("NotEnoughPermissions"))."\">".$langs->trans("Delete").""; - } - - // Action SPIP - if (! empty($conf->mailmanspip->enabled) && ! empty($conf->global->ADHERENT_USE_SPIP)) - { - $isinspip = $mailmanspip->is_in_spip($object); - - if ($isinspip == 1) - { - print "id&action=del_spip\">".$langs->trans("DeleteIntoSpip")."\n"; - } - if ($isinspip == 0) - { - print "id&action=add_spip\">".$langs->trans("AddIntoSpip")."\n"; - } - if ($isinspip == -1) - { - print '

'.$langs->trans('SPIPConnectionFailed').': '.$mailmanspip->error.''; - } - } - - } - - print '
'; - print "
\n"; + print ''; + print "
\n"; + } } - llxFooter(); $db->close(); From ec9946222db03c6d05666c75500f842ab9994cbb Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Tue, 2 Oct 2012 22:58:49 +0200 Subject: [PATCH 2/2] new try to fix canvas within members module --- htdocs/adherents/fiche.php | 684 +++++++++++++++++++------------------ 1 file changed, 349 insertions(+), 335 deletions(-) diff --git a/htdocs/adherents/fiche.php b/htdocs/adherents/fiche.php index df281e9bf09..ddb4632181d 100644 --- a/htdocs/adherents/fiche.php +++ b/htdocs/adherents/fiche.php @@ -1,29 +1,29 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo - * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2012 Marcos García - * - * 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, see . - */ +* Copyright (C) 2004-2011 Laurent Destailleur +* Copyright (C) 2005-2012 Regis Houssin +* Copyright (C) 2012 Marcos García +* +* 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, see . +*/ /** * \file htdocs/adherents/fiche.php - * \ingroup member - * \brief Page of member - */ +* \ingroup member +* \brief Page of member +*/ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/member.lib.php'; @@ -72,9 +72,9 @@ $canvas = $object->canvas?$object->canvas:GETPOST("canvas"); $objcanvas=''; if (! empty($canvas)) { - require_once DOL_DOCUMENT_ROOT.'/core/class/canvas.class.php'; - $objcanvas = new Canvas($db, $action); - $objcanvas->getCanvas('adherent', 'card', $canvas); + require_once DOL_DOCUMENT_ROOT.'/core/class/canvas.class.php'; + $objcanvas = new Canvas($db, $action); + $objcanvas->getCanvas('adherent', 'card', $canvas); } $errmsg=''; $errmsgs=array(); @@ -91,9 +91,9 @@ if ($rowid > 0) { // $user est le user qui edite, $object->user_id est l'id de l'utilisateur lies au membre edite $caneditfielduser=((($user->id == $object->user_id) && $user->rights->user->self->creer) - || (($user->id != $object->user_id) && $user->rights->user->user->creer)); + || (($user->id != $object->user_id) && $user->rights->user->user->creer)); $caneditpassworduser=((($user->id == $object->user_id) && $user->rights->user->self->password) - || (($user->id != $object->user_id) && $user->rights->user->user->password)); + || (($user->id != $object->user_id) && $user->rights->user->user->password)); } } @@ -113,7 +113,7 @@ $hookmanager->initHooks(array('membercard')); /* * Actions - */ +*/ $parameters=array('socid'=>$socid, 'objcanvas'=>$objcanvas); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks @@ -226,13 +226,13 @@ if ($action == 'confirm_sendinfo' && $confirm == 'yes') { if ($object->email) { - $from=$conf->email_from; - if (! empty($conf->global->ADHERENT_MAIL_FROM)) $from=$conf->global->ADHERENT_MAIL_FROM; + $from=$conf->email_from; + if (! empty($conf->global->ADHERENT_MAIL_FROM)) $from=$conf->global->ADHERENT_MAIL_FROM; - $result=$object->send_an_email($langs->transnoentitiesnoconv("ThisIsContentOfYourCard")."\n\n%INFOS%\n\n",$langs->transnoentitiesnoconv("CardContent")); + $result=$object->send_an_email($langs->transnoentitiesnoconv("ThisIsContentOfYourCard")."\n\n%INFOS%\n\n",$langs->transnoentitiesnoconv("CardContent")); - $langs->load("mails"); - $mesg=$langs->trans("MailSuccessfulySent", $from, $object->email); + $langs->load("mails"); + $mesg=$langs->trans("MailSuccessfulySent", $from, $object->email); } } @@ -242,8 +242,8 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer) $datenaiss=''; if (isset($_POST["naissday"]) && $_POST["naissday"] - && isset($_POST["naissmonth"]) && $_POST["naissmonth"] - && isset($_POST["naissyear"]) && $_POST["naissyear"]) + && isset($_POST["naissmonth"]) && $_POST["naissmonth"] + && isset($_POST["naissyear"]) && $_POST["naissyear"]) { $datenaiss=dol_mktime(12, 0, 0, $_POST["naissmonth"], $_POST["naissday"], $_POST["naissyear"]); } @@ -263,12 +263,12 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer) $object->pass = trim($_POST["pass"]); $object->societe = trim($_POST["societe"]); - $object->adresse = trim($_POST["address"]); // deprecated + $object->adresse = trim($_POST["address"]); // deprecated $object->address = trim($_POST["address"]); - $object->cp = trim($_POST["zipcode"]); // deprecated + $object->cp = trim($_POST["zipcode"]); // deprecated $object->zip = trim($_POST["zipcode"]); - $object->ville = trim($_POST["town"]); // deprecated - $object->town = trim($_POST["town"]); + $object->ville = trim($_POST["town"]); // deprecated + $object->town = trim($_POST["town"]); $object->state_id = $_POST["departement_id"]; $object->country_id = $_POST["country_id"]; $object->fk_departement = $_POST["departement_id"]; // deprecated @@ -286,7 +286,7 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer) $object->amount = $_POST["amount"]; - if (GETPOST('deletephoto')) $object->photo=''; + if (GETPOST('deletephoto')) $object->photo=''; elseif (! empty($_FILES['photo']['name'])) $object->photo = dol_sanitizeFileName($_FILES['photo']['name']); // Get status and public property @@ -319,78 +319,78 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->adherent->creer) $result=$object->update($user,0,$nosyncuser,$nosyncuserpass); if ($result >= 0 && ! count($object->errors)) { - $dir= $conf->adherent->dir_output . '/' . get_exdir($object->id,2,0,1).'/photos'; - $file_OK = is_uploaded_file($_FILES['photo']['tmp_name']); - if ($file_OK) - { - if (GETPOST('deletephoto')) - { - $fileimg=$conf->adherent->dir_output.'/'.get_exdir($object->id,2,0,1).'/photos/'.$object->photo; - $dirthumbs=$conf->adherent->dir_output.'/'.get_exdir($object->id,2,0,1).'/photos/thumbs'; - dol_delete_file($fileimg); - dol_delete_dir_recursive($dirthumbs); - } + $dir= $conf->adherent->dir_output . '/' . get_exdir($object->id,2,0,1).'/photos'; + $file_OK = is_uploaded_file($_FILES['photo']['tmp_name']); + if ($file_OK) + { + if (GETPOST('deletephoto')) + { + $fileimg=$conf->adherent->dir_output.'/'.get_exdir($object->id,2,0,1).'/photos/'.$object->photo; + $dirthumbs=$conf->adherent->dir_output.'/'.get_exdir($object->id,2,0,1).'/photos/thumbs'; + dol_delete_file($fileimg); + dol_delete_dir_recursive($dirthumbs); + } - if (image_format_supported($_FILES['photo']['name']) > 0) - { - dol_mkdir($dir); + if (image_format_supported($_FILES['photo']['name']) > 0) + { + dol_mkdir($dir); - if (@is_dir($dir)) - { - $newfile=$dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']); - if (! dol_move_uploaded_file($_FILES['photo']['tmp_name'],$newfile,1,0,$_FILES['photo']['error']) > 0) - { - $message .= '
'.$langs->trans("ErrorFailedToSaveFile").'
'; - } - else - { - // Create small thumbs for company (Ratio is near 16/9) - // Used on logon for example - $imgThumbSmall = vignette($newfile, $maxwidthsmall, $maxheightsmall, '_small', $quality); + if (@is_dir($dir)) + { + $newfile=$dir.'/'.dol_sanitizeFileName($_FILES['photo']['name']); + if (! dol_move_uploaded_file($_FILES['photo']['tmp_name'],$newfile,1,0,$_FILES['photo']['error']) > 0) + { + $message .= '
'.$langs->trans("ErrorFailedToSaveFile").'
'; + } + else + { + // Create small thumbs for company (Ratio is near 16/9) + // Used on logon for example + $imgThumbSmall = vignette($newfile, $maxwidthsmall, $maxheightsmall, '_small', $quality); - // Create mini thumbs for company (Ratio is near 16/9) - // Used on menu or for setup page for example - $imgThumbMini = vignette($newfile, $maxwidthmini, $maxheightmini, '_mini', $quality); - } - } - } - else - { - $errmsgs[] = "ErrorBadImageFormat"; - } - } + // Create mini thumbs for company (Ratio is near 16/9) + // Used on menu or for setup page for example + $imgThumbMini = vignette($newfile, $maxwidthmini, $maxheightmini, '_mini', $quality); + } + } + } + else + { + $errmsgs[] = "ErrorBadImageFormat"; + } + } - // Rajoute l'utilisateur dans les divers abonnements (mailman, spip, etc...) - if (($object->oldcopy->email != $object->email) || ($object->oldcopy->typeid != $object->typeid)) - { - if ($object->oldcopy->email != $object->email) // If email has changed we delete mailman subscription for old email - { - if ($object->oldcopy->del_to_abo() < 0) - { - // error - $errmsgs[]= $langs->trans("FailedToCleanMailmanList").': '.$object->error."
\n"; - } - } - if ($object->add_to_abo() < 0) // We add subscription if new email or new type (new type may means more mailing-list to subscribe) - { - // error - $errmsgs[]= $langs->trans("FailedToAddToMailmanList").': '.$object->error."
\n"; - } - } + // Rajoute l'utilisateur dans les divers abonnements (mailman, spip, etc...) + if (($object->oldcopy->email != $object->email) || ($object->oldcopy->typeid != $object->typeid)) + { + if ($object->oldcopy->email != $object->email) // If email has changed we delete mailman subscription for old email + { + if ($object->oldcopy->del_to_abo() < 0) + { + // error + $errmsgs[]= $langs->trans("FailedToCleanMailmanList").': '.$object->error."
\n"; + } + } + if ($object->add_to_abo() < 0) // We add subscription if new email or new type (new type may means more mailing-list to subscribe) + { + // error + $errmsgs[]= $langs->trans("FailedToAddToMailmanList").': '.$object->error."
\n"; + } + } $rowid=$object->id; $action=''; - if (! empty($backtopage)) - { - header("Location: ".$backtopage); - exit; - } + if (! empty($backtopage)) + { + header("Location: ".$backtopage); + exit; + } } else { - if ($object->error) $errmsg=$object->error; - else $errmsgs=$object->errors; + if ($object->error) $errmsg=$object->error; + else $errmsgs=$object->errors; $action=''; } } @@ -400,147 +400,147 @@ if ($action == 'add' && $user->rights->adherent->creer) { $datenaiss=''; if (isset($_POST["naissday"]) && $_POST["naissday"] - && isset($_POST["naissmonth"]) && $_POST["naissmonth"] - && isset($_POST["naissyear"]) && $_POST["naissyear"]) + && isset($_POST["naissmonth"]) && $_POST["naissmonth"] + && isset($_POST["naissyear"]) && $_POST["naissyear"]) { $datenaiss=dol_mktime(12, 0, 0, $_POST["naissmonth"], $_POST["naissday"], $_POST["naissyear"]); } $datecotisation=''; if (isset($_POST["reday"]) && isset($_POST["remonth"]) && isset($_POST["reyear"])) - { + { $datecotisation=dol_mktime(12, 0, 0, $_POST["remonth"], $_POST["reday"], $_POST["reyear"]); } - $typeid=$_POST["typeid"]; + $typeid=$_POST["typeid"]; $civilite_id=$_POST["civilite_id"]; - $nom=$_POST["nom"]; - $prenom=$_POST["prenom"]; - $societe=$_POST["societe"]; - $address=$_POST["address"]; - $zip=$_POST["zipcode"]; - $town=$_POST["town"]; + $nom=$_POST["nom"]; + $prenom=$_POST["prenom"]; + $societe=$_POST["societe"]; + $address=$_POST["address"]; + $zip=$_POST["zipcode"]; + $town=$_POST["town"]; $state_id=$_POST["departement_id"]; - $country_id=$_POST["country_id"]; + $country_id=$_POST["country_id"]; - $phone=$_POST["phone"]; - $phone_perso=$_POST["phone_perso"]; - $phone_mobile=$_POST["phone_mobile"]; - $email=$_POST["member_email"]; - $login=$_POST["member_login"]; - $pass=$_POST["password"]; - $photo=$_POST["photo"]; - //$comment=$_POST["comment"]; - $morphy=$_POST["morphy"]; - $cotisation=$_POST["cotisation"]; - $public=$_POST["public"]; + $phone=$_POST["phone"]; + $phone_perso=$_POST["phone_perso"]; + $phone_mobile=$_POST["phone_mobile"]; + $email=$_POST["member_email"]; + $login=$_POST["member_login"]; + $pass=$_POST["password"]; + $photo=$_POST["photo"]; + //$comment=$_POST["comment"]; + $morphy=$_POST["morphy"]; + $cotisation=$_POST["cotisation"]; + $public=$_POST["public"]; - $userid=$_POST["userid"]; - $socid=$_POST["socid"]; + $userid=$_POST["userid"]; + $socid=$_POST["socid"]; - $object->civilite_id = $civilite_id; - $object->prenom = $prenom; // deprecated - $object->nom = $nom; // deprecated - $object->firstname = $prenom; - $object->lastname = $nom; - $object->societe = $societe; - $object->adresse = $address; // deprecated - $object->address = $address; - $object->cp = $zip; // deprecated - $object->zip = $zip; - $object->ville = $town; // deprecated - $object->town = $town; - $object->fk_departement = $state_id; - $object->state_id = $state_id; - $object->pays_id = $country_id; - $object->country_id = $country_id; - $object->phone = $phone; - $object->phone_perso = $phone_perso; - $object->phone_mobile= $phone_mobile; - $object->email = $email; - $object->login = $login; - $object->pass = $pass; - $object->naiss = $datenaiss; - $object->photo = $photo; - $object->typeid = $typeid; - //$object->note = $comment; - $object->morphy = $morphy; - $object->user_id = $userid; - $object->fk_soc = $socid; - $object->public = $public; + $object->civilite_id = $civilite_id; + $object->prenom = $prenom; // deprecated + $object->nom = $nom; // deprecated + $object->firstname = $prenom; + $object->lastname = $nom; + $object->societe = $societe; + $object->adresse = $address; // deprecated + $object->address = $address; + $object->cp = $zip; // deprecated + $object->zip = $zip; + $object->ville = $town; // deprecated + $object->town = $town; + $object->fk_departement = $state_id; + $object->state_id = $state_id; + $object->pays_id = $country_id; + $object->country_id = $country_id; + $object->phone = $phone; + $object->phone_perso = $phone_perso; + $object->phone_mobile= $phone_mobile; + $object->email = $email; + $object->login = $login; + $object->pass = $pass; + $object->naiss = $datenaiss; + $object->photo = $photo; + $object->typeid = $typeid; + //$object->note = $comment; + $object->morphy = $morphy; + $object->user_id = $userid; + $object->fk_soc = $socid; + $object->public = $public; - // Get extra fields - foreach($_POST as $key => $value) - { - if (preg_match("/^options_/",$key)) - { - $object->array_options[$key]=$_POST[$key]; - } - } + // Get extra fields + foreach($_POST as $key => $value) + { + if (preg_match("/^options_/",$key)) + { + $object->array_options[$key]=$_POST[$key]; + } + } - // Check parameters - if (empty($morphy) || $morphy == "-1") { - $error++; - $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Nature"))."
\n"; - } - // Test si le login existe deja - if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) - { - if (empty($login)) { - $error++; - $errmsg .= $langs->trans("ErrorFieldRequired",$langs->trans("Login"))."
\n"; - } - else { - $sql = "SELECT login FROM ".MAIN_DB_PREFIX."adherent WHERE login='".$db->escape($login)."'"; - $result = $db->query($sql); - if ($result) { - $num = $db->num_rows($result); - } - if ($num) { - $error++; - $langs->load("errors"); - $errmsg .= $langs->trans("ErrorLoginAlreadyExists",$login)."
\n"; - } - } - if (empty($pass)) { - $error++; - $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Password"))."
\n"; - } - } - if (empty($nom)) { - $error++; - $langs->load("errors"); - $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Lastname"))."
\n"; - } + // Check parameters + if (empty($morphy) || $morphy == "-1") { + $error++; + $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Nature"))."
\n"; + } + // Test si le login existe deja + if (empty($conf->global->ADHERENT_LOGIN_NOT_REQUIRED)) + { + if (empty($login)) { + $error++; + $errmsg .= $langs->trans("ErrorFieldRequired",$langs->trans("Login"))."
\n"; + } + else { + $sql = "SELECT login FROM ".MAIN_DB_PREFIX."adherent WHERE login='".$db->escape($login)."'"; + $result = $db->query($sql); + if ($result) { + $num = $db->num_rows($result); + } + if ($num) { + $error++; + $langs->load("errors"); + $errmsg .= $langs->trans("ErrorLoginAlreadyExists",$login)."
\n"; + } + } + if (empty($pass)) { + $error++; + $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Password"))."
\n"; + } + } + if (empty($nom)) { + $error++; + $langs->load("errors"); + $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Lastname"))."
\n"; + } if ($morphy != 'mor' && (!isset($prenom) || $prenom=='')) { $error++; - $langs->load("errors"); + $langs->load("errors"); $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentities("Firstname"))."
\n"; - } - if (! ($typeid > 0)) { // Keep () before ! - $error++; - $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type"))."
\n"; - } - if ($conf->global->ADHERENT_MAIL_REQUIRED && ! isValidEMail($email)) { - $error++; - $langs->load("errors"); - $errmsg .= $langs->trans("ErrorBadEMail",$email)."
\n"; - } - $public=0; - if (isset($public)) $public=1; + } + if (! ($typeid > 0)) { // Keep () before ! + $error++; + $errmsg .= $langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Type"))."
\n"; + } + if ($conf->global->ADHERENT_MAIL_REQUIRED && ! isValidEMail($email)) { + $error++; + $langs->load("errors"); + $errmsg .= $langs->trans("ErrorBadEMail",$email)."
\n"; + } + $public=0; + if (isset($public)) $public=1; - if (! $error) - { + if (! $error) + { $db->begin(); // Email a peu pres correct et le login n'existe pas - $result=$object->create($user); + $result=$object->create($user); if ($result > 0) - { + { $db->commit(); $rowid=$object->id; $action=''; - } - else + } + else { $db->rollback(); @@ -548,45 +548,45 @@ if ($action == 'add' && $user->rights->adherent->creer) else $errmsgs=$object->errors; $action = 'create'; - } - } - else { - $action = 'create'; - } + } + } + else { + $action = 'create'; + } } if ($user->rights->adherent->supprimer && $action == 'confirm_delete' && $confirm == 'yes') { - $result=$object->delete($rowid); - if ($result > 0) - { - if (! empty($backtopage)) - { - header("Location: ".$backtopage); - exit; - } - else - { - header("Location: liste.php"); - exit; - } - } - else - { - $errmesg=$object->error; - } + $result=$object->delete($rowid); + if ($result > 0) + { + if (! empty($backtopage)) + { + header("Location: ".$backtopage); + exit; + } + else + { + header("Location: liste.php"); + exit; + } + } + else + { + $errmesg=$object->error; + } } if ($user->rights->adherent->creer && $action == 'confirm_valid' && $confirm == 'yes') { - $result=$object->validate($user); + $result=$object->validate($user); - $adht = new AdherentType($db); - $adht->fetch($object->typeid); + $adht = new AdherentType($db); + $adht->fetch($object->typeid); if ($result >= 0 && ! count($object->errors)) { - // Send confirmation Email (selon param du type adherent sinon generique) + // Send confirmation Email (selon param du type adherent sinon generique) if ($object->email && $_POST["send_mail"]) { $result=$object->send_an_email($adht->getMailOnValid(),$conf->global->ADHERENT_MAIL_VALID_SUBJECT,array(),array(),array(),"","",0,2); @@ -596,60 +596,60 @@ if ($user->rights->adherent->creer && $action == 'confirm_valid' && $confirm == } } - // Rajoute l'utilisateur dans les divers abonnements (mailman, spip, etc...) - if ($object->add_to_abo() < 0) - { - // error - $errmsg.= $langs->trans("ErrorFailedToAddToMailmanList").': '.$object->error."
\n"; - } + // Rajoute l'utilisateur dans les divers abonnements (mailman, spip, etc...) + if ($object->add_to_abo() < 0) + { + // error + $errmsg.= $langs->trans("ErrorFailedToAddToMailmanList").': '.$object->error."
\n"; + } } else { - if ($object->error) $errmsg=$object->error; - else $errmsgs=$object->errors; + if ($object->error) $errmsg=$object->error; + else $errmsgs=$object->errors; $action=''; } } if ($user->rights->adherent->supprimer && $action == 'confirm_resign') { - if ($confirm == 'yes') - { - $adht = new AdherentType($db); - $adht->fetch($object->typeid); + if ($confirm == 'yes') + { + $adht = new AdherentType($db); + $adht->fetch($object->typeid); - $result=$object->resiliate($user); + $result=$object->resiliate($user); - if ($result >= 0 && ! count($object->errors)) - { - if ($object->email && $_POST["send_mail"]) - { - $result=$object->send_an_email($adht->getMailOnResiliate(),$conf->global->ADHERENT_MAIL_RESIL_SUBJECT,array(),array(),array(),"","",0,-1); - } - if ($result < 0) - { - $errmsg.=$object->error; - } + if ($result >= 0 && ! count($object->errors)) + { + if ($object->email && $_POST["send_mail"]) + { + $result=$object->send_an_email($adht->getMailOnResiliate(),$conf->global->ADHERENT_MAIL_RESIL_SUBJECT,array(),array(),array(),"","",0,-1); + } + if ($result < 0) + { + $errmsg.=$object->error; + } - // supprime l'utilisateur des divers abonnements .. - if ($object->del_to_abo() < 0) - { - // error - $errmsg.=$langs->trans("FaildToRemoveFromMailmanList").': '.$object->error."
\n"; - } - } - else - { - if ($object->error) $errmsg=$object->error; - else $errmsgs=$object->errors; - $action=''; - } - } - if (! empty($backtopage) && ! $errmsg) - { - header("Location: ".$backtopage); - exit; - } + // supprime l'utilisateur des divers abonnements .. + if ($object->del_to_abo() < 0) + { + // error + $errmsg.=$langs->trans("FaildToRemoveFromMailmanList").': '.$object->error."
\n"; + } + } + else + { + if ($object->error) $errmsg=$object->error; + else $errmsgs=$object->errors; + $action=''; + } + } + if (! empty($backtopage) && ! $errmsg) + { + header("Location: ".$backtopage); + exit; + } } // SPIP Management @@ -657,10 +657,10 @@ if ($user->rights->adherent->supprimer && $action == 'confirm_del_spip' && $conf { if (! count($object->errors)) { - if (!$mailmanspip->del_to_spip($object)) - { - $errmsg.= $langs->trans('DeleteIntoSpipError').': '.$mailmanspip->error."
\n"; - } + if (!$mailmanspip->del_to_spip($object)) + { + $errmsg.= $langs->trans('DeleteIntoSpipError').': '.$mailmanspip->error."
\n"; + } } } @@ -668,10 +668,10 @@ if ($user->rights->adherent->creer && $action == 'confirm_add_spip' && $confirm { if (! count($object->errors)) { - if (!$mailmanspip->add_to_spip($object)) - { - $errmsg.= $langs->trans('AddIntoSpipError').': '.$mailmanspip->error."
\n"; - } + if (!$mailmanspip->add_to_spip($object)) + { + $errmsg.= $langs->trans('AddIntoSpipError').': '.$mailmanspip->error."
\n"; + } } } @@ -679,7 +679,7 @@ if ($user->rights->adherent->creer && $action == 'confirm_add_spip' && $confirm /* * View - */ +*/ $form = new Form($db); $formcompany = new FormCompany($db); @@ -694,22 +694,22 @@ $countrynotdefined=$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("Se if (is_object($objcanvas) && $objcanvas->displayCanvasExists($action)) { - // ----------------------------------------- - // When used with CANVAS - // ----------------------------------------- - if (empty($object->error) && $socid) - { - $object = new Adherent($db); - $object->fetch($socid); - } - $objcanvas->assign_values($action, $socid); // Set value for templates - $objcanvas->display_canvas($action); // Show template + // ----------------------------------------- + // When used with CANVAS + // ----------------------------------------- + if (empty($object->error) && $socid) + { + $object = new Adherent($db); + $object->fetch($socid); + } + $objcanvas->assign_values($action, $socid); // Set value for templates + $objcanvas->display_canvas($action); // Show template } else { - // ----------------------------------------- - // When used in standard mode - // ----------------------------------------- + // ----------------------------------------- + // When used in standard mode + // ----------------------------------------- if ($action == 'create') { @@ -742,11 +742,11 @@ else { print "\n".''."\n"; } @@ -877,12 +877,12 @@ else } /* - // Third party Dolibarr + // Third party Dolibarr if (! empty($conf->societe->enabled)) { - print ''.$langs->trans("LinkedToDolibarrThirdParty").''; - print $form->select_company($object->fk_soc,'socid','',1); - print ''; + print ''.$langs->trans("LinkedToDolibarrThirdParty").''; + print $form->select_company($object->fk_soc,'socid','',1); + print ''; } // Login Dolibarr @@ -904,14 +904,18 @@ else { /******************************************** * - * Fiche en mode edition - * - ********************************************/ + * Fiche en mode edition + * + ********************************************/ $res=$object->fetch($rowid); - if ($res < 0) { dol_print_error($db,$object->error); exit; } + if ($res < 0) { + dol_print_error($db,$object->error); exit; + } $res=$object->fetch_optionals($object->id,$extralabels); - if ($res < 0) { dol_print_error($db); exit; } + if ($res < 0) { + dol_print_error($db); exit; + } $adht = new AdherentType($db); $adht->fetch($object->typeid); @@ -948,11 +952,11 @@ else { print "\n".''."\n"; } @@ -1147,18 +1151,24 @@ else /* ************************************************************************** */ $res=$object->fetch($rowid); - if ($res < 0) { dol_print_error($db,$object->error); exit; } + if ($res < 0) { + dol_print_error($db,$object->error); exit; + } $res=$object->fetch_optionals($object->id,$extralabels); - if ($res < 0) { dol_print_error($db); exit; } + if ($res < 0) { + dol_print_error($db); exit; + } $adht = new AdherentType($db); $res=$adht->fetch($object->typeid); - if ($res < 0) { dol_print_error($db); exit; } + if ($res < 0) { + dol_print_error($db); exit; + } /* * Affichage onglets - */ + */ $head = member_prepare_head($object); dol_fiche_head($head, 'general', $langs->trans("Member"), 0, 'user'); @@ -1179,7 +1189,7 @@ else // Create a form array $formquestion=array( - array('label' => $langs->trans("LoginToCreate"), 'type' => 'text', 'name' => 'login', 'value' => $login) + array('label' => $langs->trans("LoginToCreate"), 'type' => 'text', 'name' => 'login', 'value' => $login) ); $text=$langs->trans("ConfirmCreateLogin").'
'; if (! empty($conf->societe->enabled)) @@ -1238,8 +1248,12 @@ else // Cree un tableau formulaire $formquestion=array(); if ($object->email) $formquestion[]=array('type' => 'checkbox', 'name' => 'send_mail', 'label' => $label, 'value' => ($conf->global->ADHERENT_DEFAULT_SENDINFOBYMAIL?true:false)); - if (! empty($conf->global->ADHERENT_USE_MAILMAN)) { $formquestion[]=array('type'=>'other','label'=>$langs->transnoentitiesnoconv("SynchroMailManEnabled"),'value'=>''); } - if (! empty($conf->global->ADHERENT_USE_SPIP)) { $formquestion[]=array('type'=>'other','label'=>$langs->transnoentitiesnoconv("SynchroSpipEnabled"),'value'=>''); } + if (! empty($conf->global->ADHERENT_USE_MAILMAN)) { + $formquestion[]=array('type'=>'other','label'=>$langs->transnoentitiesnoconv("SynchroMailManEnabled"),'value'=>''); + } + if (! empty($conf->global->ADHERENT_USE_SPIP)) { + $formquestion[]=array('type'=>'other','label'=>$langs->transnoentitiesnoconv("SynchroSpipEnabled"),'value'=>''); + } print $form->formconfirm("fiche.php?rowid=".$rowid,$langs->trans("ValidateMember"),$langs->trans("ConfirmValidateMember"),"confirm_valid",$formquestion,1); } @@ -1291,7 +1305,7 @@ else } /* - * Confirm add in spip + * Confirm add in spip */ if ($action == 'add_spip') { @@ -1300,7 +1314,7 @@ else } /* - * Confirm removed from spip + * Confirm removed from spip */ if ($action == 'del_spip') { @@ -1492,8 +1506,8 @@ else /* * Barre d'actions - * - */ + * + */ print '
'; if ($action != 'valid' && $action != 'editlogin' && $action != 'editthirdparty')