Notice: CMSB v2.16 Beta!
34 posts by 6 authors in: Forums > CMS Builder
Last Post: August 28, 2012 (RSS)
By Djulia - August 24, 2012
It would be perfect! :)
>PS: Try emailTemplate_loadFromDB()
Yes, I think that it is advantageous to use this function.
The only thing which would oppose the use of emailTemplate_loadFromDB(), it is the use of an additional table.
Thanks!
Djulia
Re: [Djulia] Notice: CMSB v2.16 Beta!
By Dave - August 24, 2012
function emailTemplate_load($options) {
...
$emailHeaders = array(
'from' => $FROM,
'to' => $TO,
'subject' => $SUBJECT,
'html' => $HTML,
);
if (array_key_exists('logging', $options)) { $emailHeaders['logging'] = $options['logging']; }
return $emailHeaders;
}
Also, note that logging is off by default and nothing will be logged at all unless you turn it on.
Let me know if that works for you.
interactivetools.com
Re: [Djulia] Notice: CMSB v2.16 Beta!
By Toledoh - August 24, 2012
Tim (toledoh.com.au)
Re: [Toledoh] Notice: CMSB v2.16 Beta!
By Djulia - August 25, 2012 - edited: August 25, 2012
Here an example which can help you to understand with my alertAdminLogin plugin.
If you activate option Send & Log, the email will be recorded in the cms__outgoing_mail table.
You must comment the lines for headers array with 'logging' = TRUE, otherwise the email is not sent.
If, you do not wish that the emails be recorded in the cms__outgoing_mail table, you must put 'logging' = FALSE.
In this example, I use the function sendMessage(). But, it would be possible to use the function emailTemplate_load(). I use this function in my AlertRecordSaved plugin. You can perhaps use this example for your try.
Dave modified the function so that it is possible also to use 'logging' = FALSE/TRUE.
Dave recommends to try the function emailTemplate_loadFromDB() which is more comfortable.
I think that Website Membership can help you to understand his use.
Djulia :)
By Djulia - August 25, 2012 - edited: August 25, 2012
I tried to use the function. But, I have error messages.
Undefined variable: placeholderListAsText in ../lib/common.php on line 1347
Undefined variable: placeholderList in ../lib/common.php on line 1348
Undefined variable: defaultPlaceholders in ../lib/common.php on line 1352
Fatal error: Unsupported operand types in ../lib/common.php on line 1352
For use (#settings.adminEmail#):
$emailHeaders = emailTemplate_loadFromDB(array(
'template_id' => 'ADMIN-ALERT-LOGIN',
'template_table' => 'email_templates',
'placeholders' => array(
'settings.adminEmail' => $SETTINGS['adminEmail'],
),
));
$errors = sendMessage($emailHeaders);
if ($errors) { alert("Mail Error: $errors"); }
Moreover, it also seems that after the first use, the function remove the Placeholders (#settings.adminEmail#) on Placeholders field in email_templates table.
An idea?
Thanks!
Djulia
By Djulia - August 25, 2012 - edited: August 25, 2012
In common.php, it is necessary to remove the redundancy of code:
//replaces placeholders
…
These lines are normally replaced by the emailTemplate_replacePlaceholders() function ?
I also replaced placeholderListAsText and placeholderList with textPlaceholderList.
also : $defaultPlaceholders['settings.adminUrl'] = @$GLOBALS['SETTINGS']['adminUrl'];
That functions correctly for me.
Djulia
By Djulia - August 25, 2012
Excuse my curiosity, but is it possible to give a value to backgroundSend since the function ?
Thanks again!
Djulia
Re: [Djulia] Notice: CMSB v2.16 Beta!
By Dave - August 27, 2012
>>No, only if you had set backgroundSend = 1.
>Excuse my curiosity, but is it possible to give a value to backgroundSend since the function ?
Can you explain more, I'm not sure what you mean. If you don't specify a value then backgroundSend defaults to 0.
I added an option to emailTemplate_loadFromDB() in /lib/common.php to pass logging through as well (new code in red):
$passThruFields = array('attachments','headers','logging');
interactivetools.com
Re: [Djulia] Notice: CMSB v2.16 Beta!
By Dave - August 27, 2012
Thanks Djulia, those fixes you mentioned are exactly what was missing. I'll update the code, do some more testing, and release that for the next beta/release.
Thanks!
interactivetools.com