]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/mail.php
Merge branch 'twitter-oauth' into 0.8.x
[quix0rs-gnu-social.git] / lib / mail.php
index a1faefc806576a3a336efc0341cedd912c52a21a..33d1eb7549bf19815f524b40a41ed2c0324a4de2 100644 (file)
@@ -50,10 +50,9 @@ function mail_backend()
     static $backend = null;
 
     if (!$backend) {
-        global $config;
-        $backend = Mail::factory($config['mail']['backend'],
-                                 ($config['mail']['params']) ?
-                                 $config['mail']['params'] :
+        $backend = Mail::factory(common_config('mail', 'backend'),
+                                 (common_config('mail', 'params')) ?
+                                 common_config('mail', 'params') :
                                  array());
         if (PEAR::isError($backend)) {
             common_server_error($backend->getMessage(), 500);
@@ -122,7 +121,7 @@ function mail_notify_from()
 
         $domain = mail_domain();
 
-        $notifyfrom = common_config('site', 'name') .' <noreply@'.$domain.'>';
+        $notifyfrom = '"'.common_config('site', 'name') .'" <noreply@'.$domain.'>';
     }
 
     return $notifyfrom;
@@ -336,6 +335,7 @@ function mail_broadcast_notice_sms($notice)
                  "FROM $UT JOIN subscription " .
                  "ON $UT.id = subscription.subscriber " .
                  'WHERE subscription.subscribed = ' . $notice->profile_id . ' ' .
+                 'AND subscription.subscribed != subscription.subscriber ' .
                  "AND $UT.smsemail IS NOT null " .
                  "AND $UT.smsnotify = 1 " .
                  'AND subscription.sms = 1 ');
@@ -555,17 +555,19 @@ function mail_notify_fave($other, $user, $notice)
 
     $body = sprintf(_("%1\$s just added your notice from %2\$s".
                       " as one of their favorites.\n\n" .
-                      "In case you forgot, you can see the text".
-                      " of your notice here:\n\n" .
+                      "The URL of your notice is:\n\n" .
                       "%3\$s\n\n" .
-                      "You can see the list of %1\$s's favorites here:\n\n" .
+                      "The text of your notice is:\n\n" .
                       "%4\$s\n\n" .
+                      "You can see the list of %1\$s's favorites here:\n\n" .
+                      "%5\$s\n\n" .
                       "Faithfully yours,\n" .
-                      "%5\$s\n"),
+                      "%6\$s\n"),
                     $bestname,
                     common_exact_date($notice->created),
                     common_local_url('shownotice',
                                      array('notice' => $notice->id)),
+                    $notice->content,
                     common_local_url('showfavorites',
                                      array('nickname' => $user->nickname)),
                     common_config('site', 'name'));
@@ -573,3 +575,138 @@ function mail_notify_fave($other, $user, $notice)
     common_init_locale();
     mail_to_user($other, $subject, $body);
 }
+
+/**
+ * notify a user that they have received an "attn:" message AKA "@-reply"
+ *
+ * @param User   $user   The user who recevied the notice
+ * @param Notice $notice The notice that was sent
+ *
+ * @return void
+ */
+
+function mail_notify_attn($user, $notice)
+{
+    if (!$user->email || !$user->emailnotifyattn) {
+        return;
+    }
+
+    $sender = $notice->getProfile();
+
+    $bestname = $sender->getBestName();
+
+    common_init_locale($user->language);
+       
+       if ($notice->conversation != $notice->id) {
+               $conversationEmailText = "The full conversation can be read here:\n\n".
+                                                                "\t%5\$s\n\n ";
+               $conversationUrl           = common_local_url('conversation',
+                                 array('id' => $notice->conversation)).'#notice-'.$notice->id;
+       } else {
+               $conversationEmailText = "%5\$s";
+               $conversationUrl = null;
+       }
+       
+    $subject = sprintf(_('%s sent a notice to your attention'), $bestname);
+       
+       $body = sprintf(_("%1\$s just sent a notice to your attention (an '@-reply') on %2\$s.\n\n".
+                      "The notice is here:\n\n".
+                      "\t%3\$s\n\n" .
+                      "It reads:\n\n".
+                      "\t%4\$s\n\n" .
+                      $conversationEmailText .
+                      "You can reply back here:\n\n".
+                      "\t%6\$s\n\n" .
+                      "The list of all @-replies for you here:\n\n" .
+                      "%7\$s\n\n" .
+                      "Faithfully yours,\n" .
+                      "%2\$s\n\n" .
+                      "P.S. You can turn off these email notifications here: %8\$s\n"),
+                    $bestname,//%1
+                    common_config('site', 'name'),//%2
+                    common_local_url('shownotice',
+                                     array('notice' => $notice->id)),//%3
+                    $notice->content,//%4
+                                       $conversationUrl,//%5
+                    common_local_url('newnotice',
+                                     array('replyto' => $sender->nickname)),//%6
+                    common_local_url('replies',
+                                     array('nickname' => $user->nickname)),//%7
+                    common_local_url('emailsettings'));//%8
+       
+    common_init_locale();
+    mail_to_user($user, $subject, $body);
+}
+
+/**
+ * Send a mail message to notify a user that her Twitter bridge link
+ * has stopped working, and therefore has been removed.  This can
+ * happen when the user changes her Twitter password, or otherwise
+ * revokes access.
+ *
+ * @param User $user   user whose Twitter bridge link has been removed
+ *
+ * @return boolean success flag
+ */
+
+function mail_twitter_bridge_removed($user)
+{
+    common_init_locale($user->language);
+
+    $profile = $user->getProfile();
+
+    $subject = sprintf(_('Your Twitter bridge has been disabled.'));
+
+    $site_name = common_config('site', 'name');
+
+    $body = sprintf(_('Hi, %1$s. We\'re sorry to inform you that your ' .
+        'link to Twitter has been disabled. We no longer seem to have ' .
+    'permission to update your Twitter status. (Did you revoke ' .
+    '%3$s\'s access?)' . "\n\n" .
+    'You can re-enable your Twitter bridge by visiting your ' .
+    "Twitter settings page:\n\n\t%2\$s\n\n" .
+        "Regards,\n%3\$s\n"),
+        $profile->getBestName(),
+        common_local_url('twittersettings'),
+        common_config('site', 'name'));
+
+    common_init_locale();
+    return mail_to_user($user, $subject, $body);
+}
+
+/**
+ * Send a mail message to notify a user that her Facebook Application
+ * access has been removed.
+ *
+ * @param User $user   user whose Facebook app link has been removed
+ *
+ * @return boolean success flag
+ */
+
+function mail_facebook_app_removed($user)
+{
+    common_init_locale($user->language);
+
+    $profile = $user->getProfile();
+
+    $site_name = common_config('site', 'name');
+
+    $subject = sprintf(
+        _('Your %1$s Facebook application access has been disabled.',
+            $site_name));
+
+    $body = sprintf(_("Hi, %1\$s. We're sorry to inform you that we are " .
+        'unable to update your Facebook status from %2$s, and have disabled ' .
+        'the Facebook application for your account. This may be because ' .
+        'you have removed the Facebook application\'s authorization, or ' .
+        'have deleted your Facebook account.  You can re-enable the ' .
+        'Facebook application and automatic status updating by ' .
+        "re-installing the %2\$s Facebook application.\n\nRegards,\n\n%2\$s"),
+        $user->nickname, $site_name);
+
+    common_init_locale();
+    return mail_to_user($user, $subject, $body);
+
+}
+
+