]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/mail.php
let avatars be served over SSL
[quix0rs-gnu-social.git] / lib / mail.php
index 781a7541b8061544426015b886623ef3a111a46f..c724764cc8fc5f28cc35ca78bc6ebbc0e5a2e711 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * Laconica, the distributed open-source microblogging tool
+ * StatusNet, the distributed open-source microblogging tool
  *
  * utilities for sending email
  *
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @category  Mail
- * @package   Laconica
- * @author    Evan Prodromou <evan@controlyourself.ca>
- * @author    Zach Copley <zach@controlyourself.ca>
- * @author    Robin Millette <millette@controlyourself.ca>
- * @author    Sarven Capadisli <csarven@controlyourself.ca>
- * @copyright 2008 Control Yourself, Inc.
+ * @package   StatusNet
+ * @author    Evan Prodromou <evan@status.net>
+ * @author    Zach Copley <zach@status.net>
+ * @author    Robin Millette <millette@status.net>
+ * @author    Sarven Capadisli <csarven@status.net>
+ * @copyright 2008 StatusNet, Inc.
  * @license   http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
- * @link      http://laconi.ca/
+ * @link      http://status.net/
  */
 
-if (!defined('LACONICA')) {
+if (!defined('STATUSNET') && !defined('LACONICA')) {
     exit(1);
 }
 
@@ -121,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;
@@ -216,7 +216,8 @@ function mail_subscribe_notify($listenee, $listener)
 
 function mail_subscribe_notify_profile($listenee, $other)
 {
-    if ($listenee->email && $listenee->emailnotifysub) {
+    if ($other->hasRight(Right::EMAILONSUBSCRIBE) &&
+        $listenee->email && $listenee->emailnotifysub) {
 
         // use the recipient's localization
         common_init_locale($listenee->language);
@@ -250,11 +251,11 @@ function mail_subscribe_notify_profile($listenee, $other)
                         common_config('site', 'name'),
                         $other->profileurl,
                         ($other->location) ?
-                        sprintf(_("Location: %s\n"), $other->location) : '',
+                        sprintf(_("Location: %s"), $other->location) . "\n" : '',
                         ($other->homepage) ?
-                        sprintf(_("Homepage: %s\n"), $other->homepage) : '',
+                        sprintf(_("Homepage: %s"), $other->homepage) . "\n" : '',
                         ($other->bio) ?
-                        sprintf(_("Bio: %s\n\n"), $other->bio) : '',
+                        sprintf(_("Bio: %s"), $other->bio) . "\n\n" : '',
                         common_config('site', 'name'),
                         common_local_url('emailsettings'));
 
@@ -545,15 +546,19 @@ function mail_notify_message($message, $from=null, $to=null)
 
 function mail_notify_fave($other, $user, $notice)
 {
+    if (!$user->hasRight(Right::EMAILONFAVE)) {
+        return;
+    }
+
     $profile = $user->getProfile();
 
     $bestname = $profile->getBestName();
 
     common_init_locale($other->language);
 
-    $subject = sprintf(_('%s added your notice as a favorite'), $bestname);
+    $subject = sprintf(_('%s (@%s) added your notice as a favorite'), $bestname, $user->nickname);
 
-    $body = sprintf(_("%1\$s just added your notice from %2\$s".
+    $body = sprintf(_("%1\$s (@%7\$s) just added your notice from %2\$s".
                       " as one of their favorites.\n\n" .
                       "The URL of your notice is:\n\n" .
                       "%3\$s\n\n" .
@@ -570,7 +575,8 @@ function mail_notify_fave($other, $user, $notice)
                     $notice->content,
                     common_local_url('showfavorites',
                                      array('nickname' => $user->nickname)),
-                    common_config('site', 'name'));
+                    common_config('site', 'name'),
+                    $user->nickname);
 
     common_init_locale();
     mail_to_user($other, $subject, $body);
@@ -593,107 +599,56 @@ function mail_notify_attn($user, $notice)
 
     $sender = $notice->getProfile();
 
+    if ($sender->id == $user->id) {
+        return;
+    }
+
+    if (!$sender->hasRight(Right::EMAILONREPLY)) {
+        return;
+    }
+
     $bestname = $sender->getBestName();
 
     common_init_locale($user->language);
 
-    $subject = sprintf(_('%s sent a notice to your attention'), $bestname);
+       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;
+       }
 
-    $body = sprintf(_("%1\$s just sent a notice to your attention (an '@-reply') on %2\$s.\n\n".
+    $subject = sprintf(_('%s (@%s) sent a notice to your attention'), $bestname, $sender->nickname);
+
+       $body = sprintf(_("%1\$s (@%9\$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%5\$s\n\n" .
+                      "\t%6\$s\n\n" .
                       "The list of all @-replies for you here:\n\n" .
-                      "%6\$s\n\n" .
+                      "%7\$s\n\n" .
                       "Faithfully yours,\n" .
                       "%2\$s\n\n" .
-                      "P.S. You can turn off these email notifications here: %7\$s\n"),
-                    $bestname,
-                    common_config('site', 'name'),
+                      "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)),
-                    $notice->content,
+                                     array('notice' => $notice->id)),//%3
+                    $notice->content,//%4
+                                       $conversationUrl,//%5
                     common_local_url('newnotice',
-                                     array('replyto' => $sender->nickname)),
+                                     array('replyto' => $sender->nickname, 'inreplyto' => $notice->id)),//%6
                     common_local_url('replies',
-                                     array('nickname' => $user->nickname)),
-                    common_local_url('emailsettings'));
+                                     array('nickname' => $user->nickname)),//%7
+                    common_local_url('emailsettings'), //%8
+                    $sender->nickname); //%9
 
     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.'));
-
-    $body = sprintf(_("Hi, %1\$s. We're sorry to inform you that your " .
-        'link to Twitter has been disabled. Your Twitter credentials ' .
-        'have either changed (did you recently change your Twitter ' .
-        'password?) or you have otherwise revoked our access to your ' .
-        "Twitter account.\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);
-
-}
-
-