33if (!defined(
'NOLOGIN')) {
36if (!defined(
'NOCSRFCHECK')) {
37 define(
"NOCSRFCHECK", 1);
39if (!defined(
'NOBROWSERNOTIF')) {
40 define(
'NOBROWSERNOTIF',
'1');
46$entity = (!empty($_GET[
'entity']) ? (int) $_GET[
'entity'] : (!empty($_POST[
'entity']) ? (int) $_POST[
'entity'] : 1));
47if (is_numeric($entity)) {
48 define(
"DOLENTITY", $entity);
53require
'../../main.inc.php';
54require_once DOL_DOCUMENT_ROOT .
'/core/lib/company.lib.php';
55require_once DOL_DOCUMENT_ROOT .
'/core/lib/payments.lib.php';
56require_once DOL_DOCUMENT_ROOT .
'/adherents/class/adherent.class.php';
57require_once DOL_DOCUMENT_ROOT .
'/adherents/class/adherent_type.class.php';
58require_once DOL_DOCUMENT_ROOT .
'/core/class/extrafields.class.php';
59require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formcompany.class.php';
60require_once DOL_DOCUMENT_ROOT .
'/core/class/cunits.class.php';
61require_once DOL_DOCUMENT_ROOT .
'/core/lib/date.lib.php';
62require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formadmin.class.php';
64$backtopage =
GETPOST(
'backtopage',
'alpha');
65$action =
GETPOST(
'action',
'aZ09');
72$langs->loadLangs(array(
"main",
"members",
"companies",
"install",
"other",
"errors"));
75if (!isModEnabled(
'societe')) {
86$permissiontoadd = $user->hasRight(
'societe',
'creer');
89$hookmanager->initHooks(array(
'publicnewmembercard',
'globalcard'));
95$user->loadDefaultValues();
109function llxHeaderVierge($title, $head =
"", $disablejs = 0, $disablehead = 0, $arrayofjs = [], $arrayofcss = [])
111 global $conf, $langs, $mysoc;
113 top_htmlhead($head, $title, $disablejs, $disablehead, $arrayofjs, $arrayofcss);
115 print
'<body id="mainbody" class="publicnewmemberform">';
118 $urllogo = DOL_URL_ROOT .
'/theme/common/login_logo.png';
120 if (!empty($mysoc->logo_small) && is_readable($conf->mycompany->dir_output .
'/logos/thumbs/' . $mysoc->logo_small)) {
121 $urllogo = DOL_URL_ROOT .
'/viewimage.php?cache=1&modulepart=mycompany&file=' . urlencode(
'logos/thumbs/' . $mysoc->logo_small);
122 } elseif (!empty($mysoc->logo) && is_readable($conf->mycompany->dir_output .
'/logos/' . $mysoc->logo)) {
123 $urllogo = DOL_URL_ROOT .
'/viewimage.php?cache=1&modulepart=mycompany&file=' . urlencode(
'logos/' . $mysoc->logo);
124 } elseif (is_readable(DOL_DOCUMENT_ROOT .
'/theme/dolibarr_logo.svg')) {
125 $urllogo = DOL_URL_ROOT .
'/theme/dolibarr_logo.svg';
128 print
'<header class="center">';
132 print
'<div class="backgreypublicpayment">';
133 print
'<div class="logopublicpayment">';
134 print
'<img id="dolpaymentlogo" src="' . $urllogo .
'">';
137 print
'<div class="poweredbypublicpayment opacitymedium right"><a class="poweredbyhref" href="https://www.dolibarr.org?utm_medium=website&utm_source=poweredby" target="dolibarr" rel="noopener">' . $langs->trans(
"PoweredBy") .
'<br><img class="poweredbyimg" src="' . DOL_URL_ROOT .
'/theme/dolibarr_logo.svg" width="80px"></a></div>';
143 print
'<div class="backimagepublicregistration">';
144 print
'<img id="idEVENTORGANIZATION_IMAGE_PUBLIC_INTERFACE" src="' .
getDolGlobalString(
'MEMBER_IMAGE_PUBLIC_REGISTRATION') .
'">';
150 print
'<div class="divmainbodylarge">';
160 global $conf, $langs;
168 if (!empty($conf->use_javascript_ajax)) {
169 print
"\n" .
'<!-- Includes JS Footer of Dolibarr -->' .
"\n";
170 print
'<script src="' . DOL_URL_ROOT .
'/core/js/lib_foot.js.php?lang=' . $langs->defaultlang . (!empty($ext) ?
'&' . $ext :
'') .
'"></script>' .
"\n";
183$parameters = array();
185$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
191if (empty($reshook) && $action ==
'add') {
198 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Company")),
null,
'errors');
204 $sessionkey =
'dol_antispam_value';
205 $ok = (array_key_exists($sessionkey, $_SESSION) ===
true && (strtolower($_SESSION[$sessionkey]) == strtolower($_POST[
'code'])));
208 $errmsg .= $langs->trans(
"ErrorBadValueForCode") .
"<br>\n";
216 $societe->name =
GETPOST(
'name',
'alphanohtml');
218 $societe->client =
GETPOST(
'client',
'int') ?
GETPOST(
'client',
'int') : $societe->client;
220 $societe->address =
GETPOST(
'address',
'alphanohtml');
222 $societe->country_id =
GETPOST(
'country_id',
'int');
224 $societe->phone =
GETPOST(
'phone',
'alpha');
226 $societe->fax =
GETPOST(
'fax',
'alpha');
228 $societe->email = trim(
GETPOST(
'email',
'custom', 0, FILTER_SANITIZE_EMAIL));
230 $societe->client = 2 ;
232 $societe->code_client = -1;
234 $societe->name_alias =
GETPOST(
'name_alias',
'alphanohtml');
236 $societe->note_private =
GETPOST(
'note_private');
238 $result = $societe->create($user);
240 require_once DOL_DOCUMENT_ROOT .
'/core/class/CMailFile.class.php';
241 $objectsoc = $societe;
243 if (!empty($backtopage)) {
244 $urlback = $backtopage;
246 $urlback = $conf->global->MEMBER_URL_REDIRECT_SUBSCRIPTION;
249 $urlback = $_SERVER[
"PHP_SELF"] .
"?action=added&token=" . newToken();
253 $errmsg .= join(
'<br>', $societe->errors);
261 Header(
"Location: " . $urlback);
273if (empty($reshook) && $action ==
'added') {
278 print
'<div class="center">';
279 print $langs->trans(
"newSocieteAdded");
292$form =
new Form($db);
296$extrafields->fetch_name_optionals_label($objectsoc->table_element);
302print
load_fiche_titre(
img_picto(
'',
'member_nocolor',
'class="pictofixedwidth"') .
' ' . $langs->trans(
"ContactUs"),
'',
'', 0, 0,
'center');
305print
'<div align="center">';
306print
'<div id="divsubscribe">';
308print
'<div class="center subscriptionformhelptext opacitymedium justify">';
310 print $langs->trans($conf->global->COMPANY_NEWFORM_TEXT) .
"<br>\n";
312 print $langs->trans(
"ContactUsDesc",
getDolGlobalString(
"MAIN_INFO_SOCIETE_MAIL")) .
"<br>\n";
320print
'<form action="' . $_SERVER[
"PHP_SELF"] .
'" method="POST" name="newprospect">' .
"\n";
321print
'<input type="hidden" name="token" value="' . newToken() .
'" / >';
322print
'<input type="hidden" name="entity" value="' . $entity .
'" />';
323print
'<input type="hidden" name="action" value="add" />';
326$messagemandatory =
'<span class="">' . $langs->trans(
"FieldsWithAreMandatory",
'*') .
'</span>';
332print
'<script type="text/javascript">
333jQuery(document).ready(function () {
334 jQuery(document).ready(function () {
335 function initmorphy()
337 console.log("Call initmorphy");
338 if (jQuery("#morphy").val() == \'phy\') {
339 jQuery("#trcompany").hide();
341 if (jQuery("#morphy").val() == \'mor\') {
342 jQuery("#trcompany").show();
346 jQuery("#morphy").change(function() {
349 jQuery("#selectcountry_id").change(function() {
350 document.newprospect.action.value="create";
351 document.newprospect.submit();
353 jQuery("#typeid").change(function() {
354 document.newprospect.action.value="create";
355 document.newprospect.submit();
362print
'<table class="border" summary="form to subscribe" id="tablesubscribe">' .
"\n";
371print
'<tr class="tr-field-thirdparty-name"><td class="titlefieldcreate">';
372print
'<input type="hidden" name="ThirdPartyName" value="' . $langs->trans(
'ThirdPartyName') .
'">';
373print
'<span id="TypeName" class="fieldrequired" title="' .dol_escape_htmltag($langs->trans(
"FieldsWithAreMandatory",
'*')) .
'" >' . $form->editfieldkey(
'Company',
'name',
'', $objectsoc, 0) .
'<span class="star"> *</span></span>';
375print
'<input type="text" class="minwidth300" maxlength="128" name="name" id="name" value="' .
dol_escape_htmltag($objectsoc->name) .
'" autofocus="autofocus">';
379print
'<tr><td class="classfortooltip" title="' .
dol_escape_htmltag($messagemandatory) .
'">' . $langs->trans(
"Firstname") .
' <span class="star">*</span></td><td><input type="text" name="firstname" class="minwidth150" value="' .
dol_escape_htmltag(
GETPOST(
'firstname')) .
'"></td></tr>' .
"\n";
381print
'<tr><td class="classfortooltip" title="' .
dol_escape_htmltag($messagemandatory) .
'">' . $langs->trans(
"Lastname") .
' <span class="star">*</span></td><td><input type="text" name="lastname" class="minwidth150" value="' .
dol_escape_htmltag(
GETPOST(
'lastname')) .
'"></td></tr>' .
"\n";
384print
'<tr><td class="tdtop">';
385print $form->editfieldkey(
'Address',
'address',
'', $objectsoc, 0);
388print
'<textarea name="address" id="address" class="quatrevingtpercent" rows="' . ROWS_2 .
'" wrap="soft">';
391print $form->widgetForTranslation(
"address", $objectsoc, $permissiontoadd,
'textarea',
'alphanohtml',
'quatrevingtpercent');
395print
'<tr><td>' . $form->editfieldkey(
'Country',
'selectcountry_id',
'', $objectsoc, 0) .
'</td><td class="maxwidthonsmartphone">';
396print
img_picto(
'',
'country',
'class="pictofixedwidth"');
397print $form->select_country((GETPOSTISSET(
'country_id') ?
GETPOST(
'country_id') : $objectsoc->country_id),
'country_id',
'', 0,
'minwidth300 maxwidth500 widthcentpercentminusx');
399 print
info_admin($langs->trans(
"YouCanChangeValuesForThisListFromDictionarySetup"), 1);
404print
'<tr><td>' . $form->editfieldkey(
'Phone',
'phone',
'', $objectsoc, 0) .
'</td>';
405print
'<td>' .
img_picto(
'',
'object_phoning',
'class="pictofixedwidth"') .
' <input type="text" name="phone" id="phone" class="maxwidth200 widthcentpercentminusx" value="' . (GETPOSTISSET(
'phone') ?
GETPOST(
'phone',
'alpha') : $objectsoc->phone) .
'"></td>';
409print
'<td>' . $form->editfieldkey(
'Fax',
'fax',
'', $objectsoc, 0) .
'</td>';
410print
'<td>' .
img_picto(
'',
'object_phoning_fax',
'class="pictofixedwidth"') .
' <input type="text" name="fax" id="fax" class="maxwidth200 widthcentpercentminusx" value="' . (GETPOSTISSET(
'fax') ?
GETPOST(
'fax',
'alpha') : $objectsoc->fax) .
'"></td>';
414print
'<tr><td>' . $form->editfieldkey(
'EMail',
'email',
'', $objectsoc, 0,
'string',
'', !
getDolGlobalString(
'SOCIETE_EMAIL_MANDATORY') ?
'' : $conf->global->SOCIETE_EMAIL_MANDATORY) .
'</td>';
415print
'<td>' .
img_picto(
'',
'object_email',
'class="pictofixedwidth"') .
' <input type="text" class="maxwidth200 widthcentpercentminusx" name="email" id="email" value="' . $objectsoc->email .
'"></td>';
416if (isModEnabled(
'mailing') &&
getDolGlobalString(
'THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION')) {
417 if ($conf->browser->layout ==
'phone') {
420 print
'<td class="individualline noemail">' . $form->editfieldkey($langs->trans(
'No_Email') .
' (' . $langs->trans(
'Contact') .
')',
'contact_no_email',
'', $objectsoc, 0) .
'</td>';
421 print
'<td class="individualline" ' . (($conf->browser->layout ==
'phone') || !isModEnabled(
'mailing') ?
' colspan="3"' :
'') .
'>' . $form->selectyesno(
'contact_no_email', (GETPOSTISSET(
"contact_no_email") ?
GETPOST(
"contact_no_email",
'alpha') : (empty($objectsoc->no_email) ? 0 : 1)), 1, false, 1) .
'</td>';
425print
'<tr><td>' . $form->editfieldkey(
'Web',
'url',
'', $objectsoc, 0) .
'</td>';
426print
'<td>' .
img_picto(
'',
'globe',
'class="pictofixedwidth"') .
' <input type="text" class="maxwidth500 widthcentpercentminusx" name="url" id="url" value="' . $objectsoc->url .
'"></td></tr>';
431print
'<td class="tdtop">' . $langs->trans(
"Comments") .
'</td>';
432print
'<td class="tdtop"><textarea name="note_private" id="note_private" wrap="soft" class="quatrevingtpercent" rows="' . ROWS_3 .
'">' .
dol_escape_htmltag(
GETPOST(
'note_private',
'restricthtml'), 0, 1) .
'</textarea></td>';
440 require_once DOL_DOCUMENT_ROOT .
'/core/lib/security2.lib.php';
441 print
'<tr><td class="titlefield"><label for="email"><span class="fieldrequired">' . $langs->trans(
"SecurityCode") .
'</span></label></td><td>';
442 print
'<span class="span-icon-security inline-block">';
443 print
'<input id="securitycode" placeholder="' . $langs->trans(
"SecurityCode") .
'" class="flat input-icon-security width150" type="text" maxlength="5" name="code" tabindex="3" />';
445 print
'<span class="nowrap inline-block">';
446 print
'<img class="inline-block valignmiddle" src="' . DOL_URL_ROOT .
'/core/antispamimage.php" border="0" width="80" height="32" id="img_securitycode" />';
447 print
'<a class="inline-block valignmiddle" href="' . $php_self .
'" tabindex="4" data-role="button">' .
img_picto($langs->trans(
"Refresh"),
'refresh',
'id="captcha_refresh_img"') .
'</a>';
457print
'<div class="center">';
458print
'<input type="submit" value="' . $langs->trans(
"Send") .
'" id="submitsave" class="button">';
459if (!empty($backtopage)) {
460 print
' <input type="submit" value="' . $langs->trans(
"Cancel") .
'" id="submitcancel" class="button button-cancel">';
if(!defined( 'NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined( 'NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) if(!defined( 'NOLOGIN')) if(!defined('NOCSRFCHECK')) if(!defined( 'NOIPCHECK')) llxHeaderVierge()
Header function.
Class to manage members type.
Class to manage third parties objects (customers, suppliers, prospects...)
llxFooterVierge()
Show footer for new societe.
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
printCommonFooter($zone='private')
Print common footer : conf->global->MAIN_HTML_FOOTER js for switch of menu hider js for conf->global-...
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
dol_htmloutput_events($disabledoutputofmessages=0)
Print formated messages to output (Used to show messages on html output).
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
info_admin($text, $infoonimgalt=0, $nodiv=0, $admin='1', $morecss='hideonsmartphone', $textfordropdown='')
Show information for admin users or standard users.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
dol_htmloutput_errors($mesgstring='', $mesgarray=array(), $keepembedded=0)
Print formated error messages to output (Used to show messages on html output).
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...
top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs=array(), $arrayofcss=array(), $disableforlogin=0, $disablenofollow=0, $disablenoindex=0)
Ouput html header of a page.
httponly_accessforbidden($message=1, $http_response_code=403, $stringalreadysanitized=0)
Show a message to say access is forbidden and stop program.