]> git.mxchange.org Git - friendica.git/commitdiff
add text-only email option
authorfabrixxm <fabrix.xm@gmail.com>
Tue, 20 Jan 2015 18:19:58 +0000 (19:19 +0100)
committerfabrixxm <fabrix.xm@gmail.com>
Tue, 20 Jan 2015 18:19:58 +0000 (19:19 +0100)
add a checkbok to notification settings. if checked, html body is not added to email.

include/Emailer.php
mod/settings.php
view/templates/settings.tpl
view/theme/decaf-mobile/templates/settings.tpl
view/theme/frost-mobile/templates/settings.tpl

index 9679dc952cd1d293e9dd55abb8d2b69a44063779..e11954200c5aa47807ab6c51255177a6fdc886c6 100644 (file)
@@ -20,6 +20,11 @@ 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');
 
@@ -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
index 8fa0d86a90871b44c331abb2a4cc889db8b1bccb..799a5faa17cbec1e5a72f3f26711392b8ebafa0f 100644 (file)
@@ -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 only text notification emails body, without the html part')),
 
                '$h_advn' => t('Advanced Account/Page Type Settings'),
                '$h_descadvn' => t('Change the behaviour of this account for special situations'),
index 8f913aac618bc8b1e323836284cd724e50549063..a3d4bf72db7f50f58a8a37fc386a2c3f410fbe83 100644 (file)
@@ -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}}
 {{include file="field_intcheckbox.tpl" field=$notify8}}
 </div>
 
+{{include file="field_checkbox.tpl" field=$email_textonly}}
+
 </div>
 
 <div class="settings-submit-wrapper" >
index 91d1252e3024b160631caff38382c74d6d0daf2e..6196f80a3cb4cb953b6cb86db51dab4d9c53fc2b 100644 (file)
@@ -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}}-->*}}
 {{include file="field_intcheckbox.tpl" field=$notify8}}
 </div>
 
+{{include file="field_checkbox.tpl" field=$email_textonly}}
+
 </div>
 
 <div class="settings-submit-wrapper" >
index 1a7cb8c8fafe7bad7619b5b5dbe543acb0e68bb1..cd9e1d316147154af3c0200f435fd8d8c08399b1 100644 (file)
@@ -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}}
 {{include file="field_intcheckbox.tpl" field=$notify8}}
 </div>
 
+{{include file="field_checkbox.tpl" field=$email_textonly}}
+
 </div>
 
 <div class="settings-submit-wrapper" >