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);
|
||||
|
||||
$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');
|
||||
$messageSubject = email_header_encode(html_entity_decode($params['messageSubject'],ENT_QUOTES,'UTF-8'),'UTF-8');
|
||||
|
||||
// generate a mime boundary
|
||||
$mimeBoundary =rand(0,9)."-"
|
||||
.rand(10000000000,9999999999)."-"
|
||||
.rand(10000000000,9999999999)."=:"
|
||||
.rand(10000000000,99999999999)."-"
|
||||
.rand(10000000000,99999999999)."=:"
|
||||
.rand(10000,99999);
|
||||
|
||||
// generate a multipart/alternative message header
|
||||
|
@ -44,11 +49,16 @@ class Emailer {
|
|||
"--" . $mimeBoundary . "\n" . // plain text section
|
||||
"Content-Type: text/plain; charset=UTF-8\n" .
|
||||
"Content-Transfer-Encoding: base64\n\n" .
|
||||
$textBody . "\n" .
|
||||
"--" . $mimeBoundary . "\n" . // text/html section
|
||||
"Content-Type: text/html; charset=UTF-8\n" .
|
||||
"Content-Transfer-Encoding: base64\n\n" .
|
||||
$htmlBody . "\n" .
|
||||
$textBody . "\n";
|
||||
|
||||
if (!$email_textonly && !is_null($htmlBody)){
|
||||
$multipartMessageBody .=
|
||||
"--" . $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
|
||||
|
||||
// send the message
|
||||
|
@ -58,6 +68,7 @@ class Emailer {
|
|||
'body' => $multipartMessageBody,
|
||||
'headers' => $messageHeader
|
||||
);
|
||||
echo "<pre>"; var_dump($hookdata); killme();
|
||||
call_hooks("emailer_send", $hookdata);
|
||||
$res = mail(
|
||||
$hookdata['to'], // send to address
|
||||
|
|
|
@ -395,6 +395,8 @@ function settings_post(&$a) {
|
|||
$post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0);
|
||||
$post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
|
||||
|
||||
$email_textonly = (($_POST['email_textonly'] == 1) ? 1 : 0);
|
||||
|
||||
$notify = 0;
|
||||
|
||||
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_profilechange', $post_profilechange);
|
||||
|
||||
set_pconfig(local_user(),'system','email_textonly', $email_textonly);
|
||||
|
||||
if($page_flags == PAGE_PRVGROUP) {
|
||||
$hidewall = 1;
|
||||
|
@ -505,7 +508,7 @@ function settings_post(&$a) {
|
|||
}
|
||||
else {
|
||||
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
|
||||
LEFT JOIN tokens ON clients.client_id=tokens.client_id
|
||||
WHERE clients.uid IN (%d,0)",
|
||||
|
@ -830,7 +833,7 @@ function settings_content(&$a) {
|
|||
$is_experimental = file_exists('view/theme/' . $th . '/experimental');
|
||||
$unsupported = file_exists('view/theme/' . $th . '/unsupported');
|
||||
$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);
|
||||
if($is_mobile) {
|
||||
$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'))),
|
||||
'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'))),
|
||||
'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'))),
|
||||
'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'))),
|
||||
);
|
||||
|
||||
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, ''),
|
||||
'$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, ''),
|
||||
'$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, ''),
|
||||
'$notify8' => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''),
|
||||
'$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, ''),
|
||||
'$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_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-select" style="display: none; margin-bottom: 20px" >
|
||||
|
||||
|
||||
<div style="display: none;">
|
||||
<div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
|
||||
{{$aclselect}}
|
||||
|
@ -133,6 +133,8 @@
|
|||
{{include file="field_intcheckbox.tpl" field=$notify8}}
|
||||
</div>
|
||||
|
||||
{{include file="field_checkbox.tpl" field=$email_textonly}}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="settings-submit-wrapper" >
|
||||
|
|
|
@ -87,7 +87,7 @@
|
|||
<div id="settings-default-perms-menu-end"></div>
|
||||
|
||||
<div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >
|
||||
|
||||
|
||||
<div style="display: none;">-->*}}
|
||||
<div id="settings-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;margin-bottom: 20px">
|
||||
{{*<!--{{$aclselect}}-->*}}
|
||||
|
@ -133,6 +133,8 @@
|
|||
{{include file="field_intcheckbox.tpl" field=$notify8}}
|
||||
</div>
|
||||
|
||||
{{include file="field_checkbox.tpl" field=$email_textonly}}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="settings-submit-wrapper" >
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
<div id="settings-default-perms-menu-end"></div>
|
||||
|
||||
{{*<!-- <div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >-->*}}
|
||||
|
||||
|
||||
<div style="display: none;">
|
||||
<div id="settings-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;margin-bottom: 20px">
|
||||
{{$aclselect}}
|
||||
|
@ -129,6 +129,8 @@
|
|||
{{include file="field_intcheckbox.tpl" field=$notify8}}
|
||||
</div>
|
||||
|
||||
{{include file="field_checkbox.tpl" field=$email_textonly}}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="settings-submit-wrapper" >
|
||||
|
|
Loading…
Reference in a new issue