/** * Send a notification to one user * * @param string $user Username of the recipient * @param string $email Email address of the recipient * @param string $lang Selected language of the recipient * @param array $mailData Notification data we send to the user */ public function sendEmailToUser($user, $email, $lang, $mailData) { $l = $this->getLanguage($lang); $dataHelper = new DataHelper(\OC::$server->getActivityManager(), new ParameterHelper(new \OC\Files\View(''), $l), $l); $activityList = array(); foreach ($mailData as $activity) { $activityList[] = $dataHelper->translation($activity['amq_appid'], $activity['amq_subject'], unserialize($activity['amq_subjectparams'])); } $alttext = new \OCP\Template('activity', 'email.notification', ''); $alttext->assign('username', $user); $alttext->assign('timeframe', $this->getLangForApproximatedTimeFrame($mailData[0]['amq_timestamp'])); $alttext->assign('activities', $activityList); $alttext->assign('owncloud_installation', \OC_Helper::makeURLAbsolute('/')); $emailText = $alttext->fetchPage(); try { \OC_Mail::send($email, $user, $l->t('Activity notification'), $emailText, $this->getSenderData('email'), $this->getSenderData('name')); } catch (\Exception $e) { \OCP\Util::writeLog('Activity', 'A problem occurred while sending the e-mail. Please revisit your settings.', \OCP\Util::ERROR); } }