]> git.mxchange.org Git - friendica.git/commitdiff
notifications refactor
authorfriendica <info@friendica.com>
Thu, 8 Dec 2011 09:28:27 +0000 (01:28 -0800)
committerfriendica <info@friendica.com>
Thu, 8 Dec 2011 09:28:27 +0000 (01:28 -0800)
boot.php
include/enotify.php [new file with mode: 0644]
include/items.php
mod/profile.php
view/en/mail_received_html_body_eml.tpl

index bd7dfa8e440c75077bc46822cfaa6d9c9716488d..f9ece444b2846dc2fbc9bf5b13eef9100d29af4e 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -825,7 +825,7 @@ function profile_load(&$a, $nickname, $profile = 0) {
        }
 
        if(($r === false) || (! count($r))) {
-               notice( t('No profile') . EOL );
+               notice( t('Requested profile is not available.') . EOL );
                $a->error = 404;
                return;
        }
diff --git a/include/enotify.php b/include/enotify.php
new file mode 100644 (file)
index 0000000..3ff1596
--- /dev/null
@@ -0,0 +1,85 @@
+<?php
+
+
+
+
+function notify_setup($type,$params) {
+
+       $a = get_app();
+       $banner = t('Friendica Notification');
+       $product = FRIENDICA_PLATFORM;
+       $siteurl = z_path();
+       $thanks = t('Thank You,');
+       $sitename = get_config('config','sitename');
+       $site_admin = sprintf( t('%s Administrator'), $sitename);
+
+       $sender_name = t('Administrator');
+       $sender_email = t('noreply') . '@' . $a->get_hostname(),
+
+       if($type === NOTIFICATION_MAIL) {
+               $new_email = sprintf( t('%s sent you a new private message at %s.'),$params['from'],$sitename);
+               $email_visit = t('Please visit %s to view and/or reply to your private messages.');
+               $email_tlink = sprintf( $email_visit, $siteurl . '/message' );
+               $email_hlink = sprintf( $email_visit, '<a href="' . $siteurl . '/message">' . $sitename . '</a>');
+       }
+
+}
+
+
+require_once('include/email.php');
+
+class enotify {
+       /**
+        * Send a multipart/alternative message with Text and HTML versions
+        *
+        * @param fromName                      name of the sender
+        * @param fromEmail                     email fo the sender
+        * @param replyTo                       replyTo address to direct responses
+        * @param toEmail                       destination email address
+        * @param messageSubject        subject of the message
+        * @param htmlVersion           html version of the message
+        * @param textVersion           text only version of the message
+        */
+       static public function send($params) {
+               $fromName = email_header_encode($params['fromName'],'UTF-8'); 
+               $messageSubject = email_header_encode(params['messageSubject'],'UTF-8');
+               
+               
+               // generate a mime boundary
+               $mimeBoundary   =rand(0,9)."-"
+                               .rand(10000000000,9999999999)."-"
+                               .rand(10000000000,9999999999)."=:"
+                               .rand(10000,99999);
+
+               // generate a multipart/alternative message header
+               $messageHeader =
+                       "From: {$params['fromName']} <{$params['fromEmail']}>\n" . 
+                       "Reply-To: {$params['replyTo']}\n" .
+                       "MIME-Version: 1.0\n" .
+                       "Content-Type: multipart/alternative; boundary=\"{$mimeBoundary}\"";
+
+               // assemble the final multipart message body with the text and html types included
+               $textBody       =       chunk_split(base64_encode($params['textVersion']));
+               $htmlBody       =       chunk_split(base64_encode($params['htmlVersion']));
+               $multipartMessageBody =
+                       "--" . $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" .
+                       "--" . $mimeBoundary . "--\n";                                  // message ending
+
+               // send the message
+               $res = mail(
+                       $toEmail,                                                                               // send to address
+                       $messageSubject,                                                                // subject
+                       $multipartMessageBody,                                                  // message body
+                       $messageHeader                                                                  // message headers
+               );
+               logger("sendTextHtmlEmail: returns " . $res, LOGGER_DEBUG);
+       }
+}
+?>
\ No newline at end of file
index 50c5e56c129e9dcacd366ff97298ceca21905865..278a9242e430e97d5be3e063b31f3cc5e36a22f8 100644 (file)
@@ -1824,6 +1824,21 @@ function local_delivery($importer,$data) {
 
                // send email notification if requested.
 
+               $notif_params = array(
+                       'type' => NOTIFY_MAIL,
+                       'notify_flags' => $importer['notify_flags'],
+                       'language' => $importer['language'],
+                       'to_name' => $importer['username'],
+                       'to_email' => $importer['email'],
+                       'title' => $msg['title'],
+                       'body' => $msg['body'],
+                       'source_name' => $msg['from-name'],
+                       'source_link' => $importer['url'],
+                       'source_photo' => $importer['thumb'],
+               );
+                       
+               //notification($notif_params);
+
                require_once('bbcode.php');
                if($importer['notify-flags'] & NOTIFY_MAIL) {
 
index e7cac7959881bc38944cab835a691f5878015af2..47312fdb646c778c590fd5a37a30263ad0f07b25 100644 (file)
@@ -7,9 +7,15 @@ function profile_init(&$a) {
        if($a->argc > 1)
                $which = $a->argv[1];
        else {
-               notice( t('No profile') . EOL );
-               $a->error = 404;
-               return;
+               $r = q("select nickname from user where blocked = 0 and account_expired = 0 and verified = 1 order by rand() limit 1");
+               if(count($r)) {
+                       $which = $r[0]['nickname'];
+               }
+               else {
+                       notice( t('Requested profile is not available.') . EOL );
+                       $a->error = 404;
+                       return;
+               }
        }
 
        $profile = 0;
index 23d9ac4c28956d4313c59e6d91168e4e9d4ae983..bd105a61bea1d071684a5adfd4709589df9a3966 100644 (file)
@@ -17,7 +17,7 @@
                <td style="padding-top:22px;"><a href="$url">$from</a></td></tr>
        <tr><td style="font-weight:bold;padding-bottom:5px;">$title</td></tr>
        <tr><td style="padding-right:22px;">$htmlversion</td></tr>
-       <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Please login at <a href="$siteurl">$siteurl</a> to read and reply to your private messages.</td></tr>
+       <tr><td style="padding-top:11px;padding-bottom:11px;" colspan="2">Please login at <a href="$siteurl/message">$siteurl/message</a> to read and reply to your private messages.</td></tr>
        <tr><td></td><td>Thank You,</td></tr>
        <tr><td></td><td>$siteName Administrator</td></tr>
        </tbody>