Merge pull request #1299 from fabrixxm/optional-text-only-email
Optional text only email
This commit is contained in:
commit
ed037124b3
5 changed files with 41 additions and 18 deletions
|
@ -20,13 +20,18 @@ class Emailer {
|
||||||
|
|
||||||
call_hooks('emailer_send_prepare', $params);
|
call_hooks('emailer_send_prepare', $params);
|
||||||
|
|
||||||
|
$email_textonly = False;
|
||||||
|
if (x($params,"uid")) {
|
||||||
|
$email_textonly = get_pconfig($params['uid'], "system", "email_textonly");
|
||||||
|
}
|
||||||
|
|
||||||
$fromName = email_header_encode(html_entity_decode($params['fromName'],ENT_QUOTES,'UTF-8'),'UTF-8');
|
$fromName = email_header_encode(html_entity_decode($params['fromName'],ENT_QUOTES,'UTF-8'),'UTF-8');
|
||||||
$messageSubject = email_header_encode(html_entity_decode($params['messageSubject'],ENT_QUOTES,'UTF-8'),'UTF-8');
|
$messageSubject = email_header_encode(html_entity_decode($params['messageSubject'],ENT_QUOTES,'UTF-8'),'UTF-8');
|
||||||
|
|
||||||
// generate a mime boundary
|
// generate a mime boundary
|
||||||
$mimeBoundary =rand(0,9)."-"
|
$mimeBoundary =rand(0,9)."-"
|
||||||
.rand(10000000000,9999999999)."-"
|
.rand(10000000000,99999999999)."-"
|
||||||
.rand(10000000000,9999999999)."=:"
|
.rand(10000000000,99999999999)."=:"
|
||||||
.rand(10000,99999);
|
.rand(10000,99999);
|
||||||
|
|
||||||
// generate a multipart/alternative message header
|
// generate a multipart/alternative message header
|
||||||
|
@ -44,11 +49,16 @@ class Emailer {
|
||||||
"--" . $mimeBoundary . "\n" . // plain text section
|
"--" . $mimeBoundary . "\n" . // plain text section
|
||||||
"Content-Type: text/plain; charset=UTF-8\n" .
|
"Content-Type: text/plain; charset=UTF-8\n" .
|
||||||
"Content-Transfer-Encoding: base64\n\n" .
|
"Content-Transfer-Encoding: base64\n\n" .
|
||||||
$textBody . "\n" .
|
$textBody . "\n";
|
||||||
"--" . $mimeBoundary . "\n" . // text/html section
|
|
||||||
"Content-Type: text/html; charset=UTF-8\n" .
|
if (!$email_textonly && !is_null($htmlBody)){
|
||||||
"Content-Transfer-Encoding: base64\n\n" .
|
$multipartMessageBody .=
|
||||||
$htmlBody . "\n" .
|
"--" . $mimeBoundary . "\n" . // text/html section
|
||||||
|
"Content-Type: text/html; charset=UTF-8\n" .
|
||||||
|
"Content-Transfer-Encoding: base64\n\n" .
|
||||||
|
$htmlBody . "\n";
|
||||||
|
}
|
||||||
|
$multipartMessageBody .=
|
||||||
"--" . $mimeBoundary . "--\n"; // message ending
|
"--" . $mimeBoundary . "--\n"; // message ending
|
||||||
|
|
||||||
// send the message
|
// send the message
|
||||||
|
@ -58,6 +68,7 @@ class Emailer {
|
||||||
'body' => $multipartMessageBody,
|
'body' => $multipartMessageBody,
|
||||||
'headers' => $messageHeader
|
'headers' => $messageHeader
|
||||||
);
|
);
|
||||||
|
echo "<pre>"; var_dump($hookdata); killme();
|
||||||
call_hooks("emailer_send", $hookdata);
|
call_hooks("emailer_send", $hookdata);
|
||||||
$res = mail(
|
$res = mail(
|
||||||
$hookdata['to'], // send to address
|
$hookdata['to'], // send to address
|
||||||
|
|
|
@ -395,6 +395,8 @@ function settings_post(&$a) {
|
||||||
$post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0);
|
$post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0);
|
||||||
$post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
|
$post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
|
||||||
|
|
||||||
|
$email_textonly = (($_POST['email_textonly'] == 1) ? 1 : 0);
|
||||||
|
|
||||||
$notify = 0;
|
$notify = 0;
|
||||||
|
|
||||||
if(x($_POST,'notify1'))
|
if(x($_POST,'notify1'))
|
||||||
|
@ -495,6 +497,7 @@ function settings_post(&$a) {
|
||||||
set_pconfig(local_user(),'system','post_joingroup', $post_joingroup);
|
set_pconfig(local_user(),'system','post_joingroup', $post_joingroup);
|
||||||
set_pconfig(local_user(),'system','post_profilechange', $post_profilechange);
|
set_pconfig(local_user(),'system','post_profilechange', $post_profilechange);
|
||||||
|
|
||||||
|
set_pconfig(local_user(),'system','email_textonly', $email_textonly);
|
||||||
|
|
||||||
if($page_flags == PAGE_PRVGROUP) {
|
if($page_flags == PAGE_PRVGROUP) {
|
||||||
$hidewall = 1;
|
$hidewall = 1;
|
||||||
|
@ -505,7 +508,7 @@ function settings_post(&$a) {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
notice( t('Private forum has no privacy permissions and no default privacy group.') . EOL);
|
notice( t('Private forum has no privacy permissions and no default privacy group.') . EOL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -656,7 +659,7 @@ function settings_content(&$a) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$r = q("SELECT clients.*, tokens.id as oauth_token, (clients.uid=%d) AS my
|
$r = q("SELECT clients.*, tokens.id as oauth_token, (clients.uid=%d) AS my
|
||||||
FROM clients
|
FROM clients
|
||||||
LEFT JOIN tokens ON clients.client_id=tokens.client_id
|
LEFT JOIN tokens ON clients.client_id=tokens.client_id
|
||||||
WHERE clients.uid IN (%d,0)",
|
WHERE clients.uid IN (%d,0)",
|
||||||
|
@ -830,7 +833,7 @@ function settings_content(&$a) {
|
||||||
$is_experimental = file_exists('view/theme/' . $th . '/experimental');
|
$is_experimental = file_exists('view/theme/' . $th . '/experimental');
|
||||||
$unsupported = file_exists('view/theme/' . $th . '/unsupported');
|
$unsupported = file_exists('view/theme/' . $th . '/unsupported');
|
||||||
$is_mobile = file_exists('view/theme/' . $th . '/mobile');
|
$is_mobile = file_exists('view/theme/' . $th . '/mobile');
|
||||||
if (!$is_experimental or ($is_experimental && (get_config('experimentals','exp_themes')==1 or get_config('experimentals','exp_themes')===false))){
|
if (!$is_experimental or ($is_experimental && (get_config('experimentals','exp_themes')==1 or get_config('experimentals','exp_themes')===false))){
|
||||||
$theme_name = (($is_experimental) ? sprintf("%s - \x28Experimental\x29", $f) : $f);
|
$theme_name = (($is_experimental) ? sprintf("%s - \x28Experimental\x29", $f) : $f);
|
||||||
if($is_mobile) {
|
if($is_mobile) {
|
||||||
$mobile_themes[$f]=$theme_name;
|
$mobile_themes[$f]=$theme_name;
|
||||||
|
@ -1078,8 +1081,8 @@ function settings_content(&$a) {
|
||||||
'items' => array('expire_items', t("Expire posts:"), $expire_items, '', array(t('No'),t('Yes'))),
|
'items' => array('expire_items', t("Expire posts:"), $expire_items, '', array(t('No'),t('Yes'))),
|
||||||
'notes' => array('expire_notes', t("Expire personal notes:"), $expire_notes, '', array(t('No'),t('Yes'))),
|
'notes' => array('expire_notes', t("Expire personal notes:"), $expire_notes, '', array(t('No'),t('Yes'))),
|
||||||
'starred' => array('expire_starred', t("Expire starred posts:"), $expire_starred, '', array(t('No'),t('Yes'))),
|
'starred' => array('expire_starred', t("Expire starred posts:"), $expire_starred, '', array(t('No'),t('Yes'))),
|
||||||
'photos' => array('expire_photos', t("Expire photos:"), $expire_photos, '', array(t('No'),t('Yes'))),
|
'photos' => array('expire_photos', t("Expire photos:"), $expire_photos, '', array(t('No'),t('Yes'))),
|
||||||
'network_only' => array('expire_network_only', t("Only expire posts by others:"), $expire_network_only, '', array(t('No'),t('Yes'))),
|
'network_only' => array('expire_network_only', t("Only expire posts by others:"), $expire_network_only, '', array(t('No'),t('Yes'))),
|
||||||
);
|
);
|
||||||
|
|
||||||
require_once('include/group.php');
|
require_once('include/group.php');
|
||||||
|
@ -1175,10 +1178,13 @@ function settings_content(&$a) {
|
||||||
'$notify3' => array('notify3', t('Someone writes on your profile wall'), ($notify & NOTIFY_WALL), NOTIFY_WALL, ''),
|
'$notify3' => array('notify3', t('Someone writes on your profile wall'), ($notify & NOTIFY_WALL), NOTIFY_WALL, ''),
|
||||||
'$notify4' => array('notify4', t('Someone writes a followup comment'), ($notify & NOTIFY_COMMENT), NOTIFY_COMMENT, ''),
|
'$notify4' => array('notify4', t('Someone writes a followup comment'), ($notify & NOTIFY_COMMENT), NOTIFY_COMMENT, ''),
|
||||||
'$notify5' => array('notify5', t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, ''),
|
'$notify5' => array('notify5', t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, ''),
|
||||||
'$notify6' => array('notify6', t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''),
|
'$notify6' => array('notify6', t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, ''),
|
||||||
'$notify7' => array('notify7', t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''),
|
'$notify7' => array('notify7', t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''),
|
||||||
'$notify8' => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''),
|
'$notify8' => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''),
|
||||||
|
|
||||||
|
'$email_textonly' => array('email_textonly', t('Text-only notification emails'),
|
||||||
|
get_pconfig(local_user(),'system','email_textonly'),
|
||||||
|
t('Send text only notification emails, without the html part')),
|
||||||
|
|
||||||
'$h_advn' => t('Advanced Account/Page Type Settings'),
|
'$h_advn' => t('Advanced Account/Page Type Settings'),
|
||||||
'$h_descadvn' => t('Change the behaviour of this account for special situations'),
|
'$h_descadvn' => t('Change the behaviour of this account for special situations'),
|
||||||
|
|
|
@ -86,7 +86,7 @@
|
||||||
<div id="settings-default-perms-menu-end"></div>
|
<div id="settings-default-perms-menu-end"></div>
|
||||||
|
|
||||||
<div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >
|
<div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >
|
||||||
|
|
||||||
<div style="display: none;">
|
<div style="display: none;">
|
||||||
<div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
|
<div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
|
||||||
{{$aclselect}}
|
{{$aclselect}}
|
||||||
|
@ -133,6 +133,8 @@
|
||||||
{{include file="field_intcheckbox.tpl" field=$notify8}}
|
{{include file="field_intcheckbox.tpl" field=$notify8}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{include file="field_checkbox.tpl" field=$email_textonly}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="settings-submit-wrapper" >
|
<div class="settings-submit-wrapper" >
|
||||||
|
|
|
@ -87,7 +87,7 @@
|
||||||
<div id="settings-default-perms-menu-end"></div>
|
<div id="settings-default-perms-menu-end"></div>
|
||||||
|
|
||||||
<div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >
|
<div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >
|
||||||
|
|
||||||
<div style="display: none;">-->*}}
|
<div style="display: none;">-->*}}
|
||||||
<div id="settings-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;margin-bottom: 20px">
|
<div id="settings-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;margin-bottom: 20px">
|
||||||
{{*<!--{{$aclselect}}-->*}}
|
{{*<!--{{$aclselect}}-->*}}
|
||||||
|
@ -133,6 +133,8 @@
|
||||||
{{include file="field_intcheckbox.tpl" field=$notify8}}
|
{{include file="field_intcheckbox.tpl" field=$notify8}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{include file="field_checkbox.tpl" field=$email_textonly}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="settings-submit-wrapper" >
|
<div class="settings-submit-wrapper" >
|
||||||
|
|
|
@ -85,7 +85,7 @@
|
||||||
<div id="settings-default-perms-menu-end"></div>
|
<div id="settings-default-perms-menu-end"></div>
|
||||||
|
|
||||||
{{*<!-- <div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >-->*}}
|
{{*<!-- <div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >-->*}}
|
||||||
|
|
||||||
<div style="display: none;">
|
<div style="display: none;">
|
||||||
<div id="settings-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;margin-bottom: 20px">
|
<div id="settings-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;margin-bottom: 20px">
|
||||||
{{$aclselect}}
|
{{$aclselect}}
|
||||||
|
@ -129,6 +129,8 @@
|
||||||
{{include file="field_intcheckbox.tpl" field=$notify8}}
|
{{include file="field_intcheckbox.tpl" field=$notify8}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{include file="field_checkbox.tpl" field=$email_textonly}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="settings-submit-wrapper" >
|
<div class="settings-submit-wrapper" >
|
||||||
|
|
Loading…
Reference in a new issue