parent
6d39d497ee
commit
466bf225a3
5 changed files with 82 additions and 12 deletions
|
@ -458,7 +458,7 @@ module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => {
|
||||||
value: Number(valueList[field.column]) || 0,
|
value: Number(valueList[field.column]) || 0,
|
||||||
visible: !!field.visible,
|
visible: !!field.visible,
|
||||||
mergeTag: field.key,
|
mergeTag: field.key,
|
||||||
mergeValue: Number(valueList[field.column]) || Number(field.defaultValue) || 0,
|
mergeValue: (Number(valueList[field.column]) || Number(field.defaultValue) || 0).toString(),
|
||||||
['type' + (field.type || '').toString().trim().replace(/(?:^|\-)([a-z])/g, (m, c) => c.toUpperCase())]: true
|
['type' + (field.type || '').toString().trim().replace(/(?:^|\-)([a-z])/g, (m, c) => c.toUpperCase())]: true
|
||||||
};
|
};
|
||||||
row.push(item);
|
row.push(item);
|
||||||
|
|
|
@ -355,7 +355,7 @@ module.exports.getWithMergeTags = (listId, cid, callback) => {
|
||||||
TIMEZONE: subscription.tz || ''
|
TIMEZONE: subscription.tz || ''
|
||||||
};
|
};
|
||||||
|
|
||||||
fields.getRow(fieldList, subscription, true, true).forEach(field => {
|
fields.getRow(fieldList, subscription, false, true).forEach(field => {
|
||||||
if (field.mergeTag) {
|
if (field.mergeTag) {
|
||||||
subscription.mergeTags[field.mergeTag] = field.mergeValue || '';
|
subscription.mergeTags[field.mergeTag] = field.mergeValue || '';
|
||||||
}
|
}
|
||||||
|
|
15
lib/tools.js
15
lib/tools.js
|
@ -200,17 +200,23 @@ function formatMessage(serviceUrl, campaign, list, subscription, message, filter
|
||||||
return links[key];
|
return links[key];
|
||||||
}
|
}
|
||||||
if (subscription.mergeTags.hasOwnProperty(key)) {
|
if (subscription.mergeTags.hasOwnProperty(key)) {
|
||||||
return isHTML ? he.encode((subscription.mergeTags[key] || ''), {
|
let value = (subscription.mergeTags[key] || '').toString();
|
||||||
|
// FIXME https://github.com/Mailtrain-org/mailtrain/issues/192
|
||||||
|
return isHTML ? he.encode(value, {
|
||||||
useNamedReferences: true
|
useNamedReferences: true
|
||||||
}) : subscription.mergeTags[key];
|
}) : value;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
return message.replace(/\[([a-z0-9_]+)(?:\/([^\]]+))?\]/ig, (match, identifier, fallback) => {
|
return message.replace(/\[([a-z0-9_]+)(?:\/([^\]]+))?\]/ig, (match, identifier, fallback) => {
|
||||||
identifier = identifier.toUpperCase();
|
identifier = identifier.toUpperCase();
|
||||||
let value = (getValue(identifier) || fallback || '').trim();
|
let value = getValue(identifier);
|
||||||
return value ? filter(value) : match;
|
if (value === false) {
|
||||||
|
return match;
|
||||||
|
}
|
||||||
|
value = (value || fallback || '').trim();
|
||||||
|
return filter(value);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -310,4 +316,3 @@ function mergeTemplateIntoLayout(template, layout, callback) {
|
||||||
return done(template, layout);
|
return done(template, layout);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -332,7 +332,7 @@ function formatMessage(message, callback) {
|
||||||
};
|
};
|
||||||
|
|
||||||
let encryptionKeys = [];
|
let encryptionKeys = [];
|
||||||
fields.getRow(fieldList, message.subscription, true, true).forEach(field => {
|
fields.getRow(fieldList, message.subscription, false, true).forEach(field => {
|
||||||
if (field.mergeTag) {
|
if (field.mergeTag) {
|
||||||
message.subscription.mergeTags[field.mergeTag] = field.mergeValue || '';
|
message.subscription.mergeTags[field.mergeTag] = field.mergeValue || '';
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue