|
|
<?php |
|
|
|
|
|
namespace Kanboard\Notification; |
|
|
|
|
|
use Kanboard\Core\Base; |
|
|
use Kanboard\Core\Notification\NotificationInterface; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MailNotification extends Base implements NotificationInterface |
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const TYPE = 'email'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function notifyUser(array $user, $event_name, array $event_data) |
|
|
{ |
|
|
if (! empty($user['email'])) { |
|
|
$this->emailClient->send( |
|
|
$user['email'], |
|
|
$user['name'] ?: $user['username'], |
|
|
$this->getMailSubject($event_name, $event_data), |
|
|
$this->getMailContent($event_name, $event_data) |
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function notifyProject(array $project, $event_name, array $event_data) |
|
|
{ |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getMailContent($event_name, array $event_data) |
|
|
{ |
|
|
return $this->template->render('notification/'.str_replace('.', '_', $event_name), $event_data); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public function getMailSubject($eventName, array $eventData) |
|
|
{ |
|
|
return sprintf( |
|
|
'[%s] %s', |
|
|
isset($eventData['project_name']) ? $eventData['project_name'] : $eventData['task']['project_name'], |
|
|
$this->notificationModel->getTitleWithoutAuthor($eventName, $eventData) |
|
|
); |
|
|
} |
|
|
} |
|
|
|