]> source.dussan.org Git - nextcloud-server.git/commitdiff
send an individual email to each recipient
authorThomas Müller <thomas.mueller@tmit.eu>
Mon, 10 Mar 2014 20:54:23 +0000 (21:54 +0100)
committerThomas Müller <thomas.mueller@tmit.eu>
Mon, 10 Mar 2014 20:54:23 +0000 (21:54 +0100)
core/ajax/share.php
lib/private/share/mailnotifications.php

index 86ee018e38805d9c1a91697c262038f904673a36..ca1951ec9ae9afabb152d2acf04f8f4211cb4694 100644 (file)
@@ -145,10 +145,17 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
                        }
 
                        $result = $mailNotification->sendLinkShareMail($to_address, $file, $link, $expiration);
-                       if($result === true) {
+                       if(empty($result)) {
                                \OCP\JSON::success();
                        } else {
-                               \OCP\JSON::error(array('data' => array('message' => OC_Util::sanitizeHTML($result))));
+                               $l = OC_L10N::get('core');
+                               OCP\JSON::error(array(
+                                       'data' => array(
+                                               'message' => $l->t("Couldn't send mail to following users: %s ",
+                                                               implode(', ', $result)
+                                                       )
+                                       )
+                               ));
                        }
 
                        break;
index 360376294cc5f01345f1cc4c8efe5ee1b9f135c1..457348187315ba85373fef6f96d81a94c2e6c3b4 100644 (file)
@@ -97,7 +97,7 @@ class MailNotifications {
                        try {
                                \OCP\Util::sendMail($to, $recipientDisplayName, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail);
                        } catch (\Exception $e) {
-                               \OCP\Util::writeLog('sharing', "Can't send mail to inform the user abaut an internal share: " . $e->getMessage() , \OCP\Util::ERROR);
+                               \OCP\Util::writeLog('sharing', "Can't send mail to inform the user about an internal share: " . $e->getMessage() , \OCP\Util::ERROR);
                                $noMail[] = $recipientDisplayName;
                        }
                }
@@ -109,23 +109,26 @@ class MailNotifications {
        /**
         * @brief inform recipient about public link share
         *
-        * @param string recipient recipient email address
+        * @param string $recipient recipient email address
         * @param string $filename the shared file
         * @param string $link the public link
         * @param int $expiration expiration date (timestamp)
-        * @return mixed $result true or error message
+        * @return array $result of failed recipients
         */
        public function sendLinkShareMail($recipient, $filename, $link, $expiration) {
                $subject = (string)$this->l->t('%s shared »%s« with you', array($this->senderDisplayName, $filename));
                list($htmlMail, $alttextMail) = $this->createMailBody($filename, $link, $expiration);
-               try {
-                       \OCP\Util::sendMail($recipient, $recipient, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail);
-               } catch (\Exception $e) {
-                       \OCP\Util::writeLog('sharing', "Can't send mail with public link: " . $e->getMessage(), \OCP\Util::ERROR);
-                       return $e->getMessage();
+               $rs = explode(' ', $recipient);
+               $failed = array();
+               foreach ($rs as $r) {
+                       try {
+                               \OCP\Util::sendMail($r, $r, $subject, $htmlMail, $this->from, $this->senderDisplayName, 1, $alttextMail);
+                       } catch (\Exception $e) {
+                               \OCP\Util::writeLog('sharing', "Can't send mail with public link to $r: " . $e->getMessage(), \OCP\Util::ERROR);
+                               $failed[] = $r;
+                       }
                }
-
-               return true;
+               return $failed;
        }
 
        /**