FIX vars for substitution must be null if not applicable (and not '')
This commit is contained in:
parent
791b2f485a
commit
6a708666b2
@ -5895,14 +5895,16 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
|||||||
{
|
{
|
||||||
$substitutionarray['__ID__'] = $object->id;
|
$substitutionarray['__ID__'] = $object->id;
|
||||||
$substitutionarray['__REF__'] = $object->ref;
|
$substitutionarray['__REF__'] = $object->ref;
|
||||||
$substitutionarray['__REFCLIENT__'] = (isset($object->ref_client) ? $object->ref_client : (isset($object->ref_customer) ? $object->ref_customer : ''));
|
$substitutionarray['__REFCLIENT__'] = (isset($object->ref_client) ? $object->ref_client : (isset($object->ref_customer) ? $object->ref_customer : null));
|
||||||
$substitutionarray['__REFSUPPLIER__'] = (isset($object->ref_supplier) ? $object->ref_supplier : '');
|
$substitutionarray['__REFSUPPLIER__'] = (isset($object->ref_supplier) ? $object->ref_supplier : null);
|
||||||
|
|
||||||
// TODO Remove this
|
// TODO Remove this
|
||||||
$msgishtml = 0;
|
$msgishtml = 0;
|
||||||
|
|
||||||
$birthday = dol_print_date($object->birth,'day');
|
$birthday = dol_print_date($object->birth,'day');
|
||||||
|
|
||||||
|
if ($object->id > 0)
|
||||||
|
{
|
||||||
$substitutionarray['__MEMBER_ID__']=$object->id;
|
$substitutionarray['__MEMBER_ID__']=$object->id;
|
||||||
if (method_exists($object, 'getCivilityLabel')) $substitutionarray['__MEMBER_CIVILITY__'] = $object->getCivilityLabel();
|
if (method_exists($object, 'getCivilityLabel')) $substitutionarray['__MEMBER_CIVILITY__'] = $object->getCivilityLabel();
|
||||||
$substitutionarray['__MEMBER_FIRSTNAME__']=$msgishtml?dol_htmlentitiesbr($object->firstname):$object->firstname;
|
$substitutionarray['__MEMBER_FIRSTNAME__']=$msgishtml?dol_htmlentitiesbr($object->firstname):$object->firstname;
|
||||||
@ -5927,6 +5929,7 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
|||||||
$substitutionarray['__MEMBER_LAST_SUBSCRIPTION_DATE__'] = dol_print_date($object->last_subscription_date, 'dayrfc');
|
$substitutionarray['__MEMBER_LAST_SUBSCRIPTION_DATE__'] = dol_print_date($object->last_subscription_date, 'dayrfc');
|
||||||
$substitutionarray['__MEMBER_LAST_SUBSCRIPTION_DATE_START__'] = dol_print_date($object->last_subscription_date_start, 'dayrfc');
|
$substitutionarray['__MEMBER_LAST_SUBSCRIPTION_DATE_START__'] = dol_print_date($object->last_subscription_date_start, 'dayrfc');
|
||||||
$substitutionarray['__MEMBER_LAST_SUBSCRIPTION_DATE_END__'] = dol_print_date($object->last_subscription_date_end, 'dayrfc');
|
$substitutionarray['__MEMBER_LAST_SUBSCRIPTION_DATE_END__'] = dol_print_date($object->last_subscription_date_end, 'dayrfc');
|
||||||
|
}
|
||||||
|
|
||||||
if (is_object($object) && $object->element == 'societe')
|
if (is_object($object) && $object->element == 'societe')
|
||||||
{
|
{
|
||||||
@ -5957,6 +5960,8 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (is_object($object) && $object->element == 'contrat' && is_array($object->lines))
|
if (is_object($object) && $object->element == 'contrat' && is_array($object->lines))
|
||||||
|
{
|
||||||
|
if ($object->id > 0)
|
||||||
{
|
{
|
||||||
$dateplannedstart='';
|
$dateplannedstart='';
|
||||||
$datenextexpiration='';
|
$datenextexpiration='';
|
||||||
@ -5970,6 +5975,7 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
|||||||
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATE__'] = dol_print_date($datenextexpiration, 'dayrfc');
|
||||||
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
$substitutionarray['__CONTRACT_LOWEST_EXPIRATION_DATETIME__'] = dol_print_date($datenextexpiration, 'standard');
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Create dynamic tags for __EXTRAFIELD_FIELD__
|
// Create dynamic tags for __EXTRAFIELD_FIELD__
|
||||||
if ($object->table_element && $object->id > 0)
|
if ($object->table_element && $object->id > 0)
|
||||||
@ -6007,6 +6013,8 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
|||||||
$paymenturl=$url;
|
$paymenturl=$url;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($object->id > 0)
|
||||||
|
{
|
||||||
$substitutionarray['__ONLINE_PAYMENT_TEXT_AND_URL__']=($paymenturl?str_replace('\n', "\n", $outputlangs->trans("PredefinedMailContentLink", $paymenturl)):'');
|
$substitutionarray['__ONLINE_PAYMENT_TEXT_AND_URL__']=($paymenturl?str_replace('\n', "\n", $outputlangs->trans("PredefinedMailContentLink", $paymenturl)):'');
|
||||||
$substitutionarray['__ONLINE_PAYMENT_URL__']=$paymenturl;
|
$substitutionarray['__ONLINE_PAYMENT_URL__']=$paymenturl;
|
||||||
|
|
||||||
@ -6027,10 +6035,11 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
|||||||
else $substitutionarray['__DIRECTDOWNLOAD_URL_INVOICE__'] = '';
|
else $substitutionarray['__DIRECTDOWNLOAD_URL_INVOICE__'] = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (empty($exclude) || ! in_array('objectamount', $exclude))
|
if (empty($exclude) || ! in_array('objectamount', $exclude))
|
||||||
{
|
{
|
||||||
$substitutionarray['__DATE_YMD__'] = is_object($object)?(isset($object->date) ? dol_print_date($object->date, 'day', 0, $outputlangs) : '') : '';
|
$substitutionarray['__DATE_YMD__'] = is_object($object)?(isset($object->date) ? dol_print_date($object->date, 'day', 0, $outputlangs) : null) : '';
|
||||||
$substitutionarray['__DATE_DUE_YMD__'] = is_object($object)?(isset($object->date_lim_reglement)? dol_print_date($object->date_lim_reglement, 'day', 0, $outputlangs) : '') : '';
|
$substitutionarray['__DATE_DUE_YMD__'] = is_object($object)?(isset($object->date_lim_reglement) ? dol_print_date($object->date_lim_reglement, 'day', 0, $outputlangs) : null) : '';
|
||||||
|
|
||||||
$substitutionarray['__AMOUNT__'] = is_object($object)?$object->total_ttc:'';
|
$substitutionarray['__AMOUNT__'] = is_object($object)?$object->total_ttc:'';
|
||||||
$substitutionarray['__AMOUNT_EXCL_TAX__'] = is_object($object)?$object->total_ht:'';
|
$substitutionarray['__AMOUNT_EXCL_TAX__'] = is_object($object)?$object->total_ht:'';
|
||||||
@ -6038,11 +6047,11 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
|
|||||||
if ($onlykey != 2 || $mysoc->useLocalTax(1)) $substitutionarray['__AMOUNT_TAX2__'] = is_object($object)?$object->total_localtax1:'';
|
if ($onlykey != 2 || $mysoc->useLocalTax(1)) $substitutionarray['__AMOUNT_TAX2__'] = is_object($object)?$object->total_localtax1:'';
|
||||||
if ($onlykey != 2 || $mysoc->useLocalTax(2)) $substitutionarray['__AMOUNT_TAX3__'] = is_object($object)?$object->total_localtax2:'';
|
if ($onlykey != 2 || $mysoc->useLocalTax(2)) $substitutionarray['__AMOUNT_TAX3__'] = is_object($object)?$object->total_localtax2:'';
|
||||||
|
|
||||||
$substitutionarray['__AMOUNT_FORMATED__'] = is_object($object)?price($object->total_ttc, 0, $outputlangs, 0, 0, -1, $conf->currency):'';
|
$substitutionarray['__AMOUNT_FORMATED__'] = is_object($object)?($object->total_ttc ? price($object->total_ttc, 0, $outputlangs, 0, 0, -1, $conf->currency) : null):'';
|
||||||
$substitutionarray['__AMOUNT_EXCL_TAX_FORMATED__'] = is_object($object)?price($object->total_ht, 0, $outputlangs, 0, 0, -1, $conf->currency):'';
|
$substitutionarray['__AMOUNT_EXCL_TAX_FORMATED__'] = is_object($object)?($object->total_ht ? price($object->total_ht, 0, $outputlangs, 0, 0, -1, $conf->currency) : null):'';
|
||||||
$substitutionarray['__AMOUNT_VAT_FORMATED__'] = is_object($object)?($object->total_vat?price($object->total_vat, 0, $outputlangs, 0, 0, -1, $conf->currency):price($object->total_tva, 0, $outputlangs, 0, 0, -1, $conf->currency)):'';
|
$substitutionarray['__AMOUNT_VAT_FORMATED__'] = is_object($object)?($object->total_vat ? price($object->total_vat, 0, $outputlangs, 0, 0, -1, $conf->currency): ($object->total_tva ? price($object->total_tva, 0, $outputlangs, 0, 0, -1, $conf->currency) : null)):'';
|
||||||
if ($onlykey != 2 || $mysoc->useLocalTax(1)) $substitutionarray['__AMOUNT_TAX2_FORMATED__'] = is_object($object)?price($object->total_localtax1, 0, $outputlangs, 0, 0, -1, $conf->currency):'';
|
if ($onlykey != 2 || $mysoc->useLocalTax(1)) $substitutionarray['__AMOUNT_TAX2_FORMATED__'] = is_object($object)? ($object->total_localtax1 ? price($object->total_localtax1, 0, $outputlangs, 0, 0, -1, $conf->currency) : null):'';
|
||||||
if ($onlykey != 2 || $mysoc->useLocalTax(2)) $substitutionarray['__AMOUNT_TAX3_FORMATED__'] = is_object($object)?price($object->total_localtax2, 0, $outputlangs, 0, 0, -1, $conf->currency):'';
|
if ($onlykey != 2 || $mysoc->useLocalTax(2)) $substitutionarray['__AMOUNT_TAX3_FORMATED__'] = is_object($object)? ($object->total_localtax2 ? price($object->total_localtax2, 0, $outputlangs, 0, 0, -1, $conf->currency) : null):'';
|
||||||
|
|
||||||
// TODO Add keys for foreign multicurrency
|
// TODO Add keys for foreign multicurrency
|
||||||
|
|
||||||
@ -6153,10 +6162,12 @@ function make_substitutions($text, $substitutionarray, $outputlangs=null)
|
|||||||
// Make substitition for array $substitutionarray
|
// Make substitition for array $substitutionarray
|
||||||
foreach ($substitutionarray as $key => $value)
|
foreach ($substitutionarray as $key => $value)
|
||||||
{
|
{
|
||||||
|
if (! isset($value)) continue; // If value is null, it same than not having substitution key at all into array, we do not replace.
|
||||||
|
|
||||||
if ($key == '__SIGNATURE__' && (! empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN))) $value=''; // Protection
|
if ($key == '__SIGNATURE__' && (! empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN))) $value=''; // Protection
|
||||||
if ($key == '__USER_SIGNATURE__' && (! empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN))) $value=''; // Protection
|
if ($key == '__USER_SIGNATURE__' && (! empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN))) $value=''; // Protection
|
||||||
|
|
||||||
$text=str_replace("$key","$value",$text); // We must keep the " to work when value is 123.5 for example
|
$text=str_replace("$key", "$value", $text); // We must keep the " to work when value is 123.5 for example
|
||||||
}
|
}
|
||||||
|
|
||||||
return $text;
|
return $text;
|
||||||
|
|||||||
@ -131,6 +131,7 @@ if ($massaction == 'presend')
|
|||||||
|
|
||||||
// Make substitution in email content
|
// Make substitution in email content
|
||||||
$substitutionarray = getCommonSubstitutionArray($langs, 0, null, $object);
|
$substitutionarray = getCommonSubstitutionArray($langs, 0, null, $object);
|
||||||
|
|
||||||
$substitutionarray['__EMAIL__'] = $sendto;
|
$substitutionarray['__EMAIL__'] = $sendto;
|
||||||
$substitutionarray['__CHECK_READ__'] = (is_object($object) && is_object($object->thirdparty)) ? '<img src="' . DOL_MAIN_URL_ROOT . '/public/emailing/mailing-read.php?tag=' . $object->thirdparty->tag . '&securitykey=' . urlencode($conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY) . '" width="1" height="1" style="width:1px;height:1px" border="0"/>' : '';
|
$substitutionarray['__CHECK_READ__'] = (is_object($object) && is_object($object->thirdparty)) ? '<img src="' . DOL_MAIN_URL_ROOT . '/public/emailing/mailing-read.php?tag=' . $object->thirdparty->tag . '&securitykey=' . urlencode($conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY) . '" width="1" height="1" style="width:1px;height:1px" border="0"/>' : '';
|
||||||
$substitutionarray['__PERSONALIZED__'] = ''; // deprecated
|
$substitutionarray['__PERSONALIZED__'] = ''; // deprecated
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user