|
@@ -72,6 +72,22 @@ class Notification extends Model
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @return string
|
|
|
+ */
|
|
|
+ public function getDefaultPlatformSenderEmail()
|
|
|
+ {
|
|
|
+ return $this->admin_email;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @return string
|
|
|
+ */
|
|
|
+ public function getDefaultPlatformSenderName()
|
|
|
+ {
|
|
|
+ return $this->admin_name;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Send the notifications
|
|
|
* @param int notification frequency
|
|
@@ -110,7 +126,7 @@ class Notification extends Model
|
|
|
|
|
|
/**
|
|
|
* Save message notification
|
|
|
- * @param array $type message type
|
|
|
+ * @param int $type message type
|
|
|
* NOTIFICATION_TYPE_MESSAGE,
|
|
|
* NOTIFICATION_TYPE_INVITATION,
|
|
|
* NOTIFICATION_TYPE_GROUP
|
|
@@ -168,46 +184,26 @@ class Notification extends Model
|
|
|
$user_setting = $extra_data[$setting_to_check];
|
|
|
}
|
|
|
|
|
|
- $params = array();
|
|
|
+ $sendDate = null;
|
|
|
switch ($user_setting) {
|
|
|
- //No notifications
|
|
|
+ // No notifications
|
|
|
case self::NOTIFY_MESSAGE_NO:
|
|
|
case self::NOTIFY_INVITATION_NO:
|
|
|
case self::NOTIFY_GROUP_NO:
|
|
|
break;
|
|
|
- //Send notification right now!
|
|
|
+ // Send notification right now!
|
|
|
case self::NOTIFY_MESSAGE_AT_ONCE:
|
|
|
case self::NOTIFY_INVITATION_AT_ONCE:
|
|
|
case self::NOTIFY_GROUP_AT_ONCE:
|
|
|
- $mail = api_get_setting('noreply_email_address');
|
|
|
- if ($user_setting == self::NOTIFY_INVITATION_AT_ONCE) {
|
|
|
- $sender_info['complete_name'] = $this->admin_name;
|
|
|
- $extra_headers = array();
|
|
|
- $extra_headers['reply_to']['name'] = $this->admin_name;
|
|
|
- if (!empty($mail)) {
|
|
|
- $sender_info['email'] = $mail;
|
|
|
- $extra_headers['reply_to']['mail'] = $mail;
|
|
|
+ $extra_headers = array();
|
|
|
+ $sender_info['complete_name'] = $this->admin_name;
|
|
|
+ $sender_info['email'] = $this->admin_email;
|
|
|
+ $extra_headers['reply_to']['name'] = $user_info['complete_name'];
|
|
|
+ $extra_headers['reply_to']['mail'] = $user_info['email'];
|
|
|
|
|
|
- } else {
|
|
|
- $sender_info['email'] = $this->admin_email;
|
|
|
- $extra_headers['reply_to']['mail'] = $this->admin_email;
|
|
|
- }
|
|
|
- }
|
|
|
- if (!empty($user_info['mail']) || !empty($mail)) {
|
|
|
- $name = api_get_person_name($user_info['firstname'], $user_info['lastname']);
|
|
|
- if (!empty($sender_info['complete_name']) && !empty($sender_info['email'])) {
|
|
|
- if ($user_setting != self::NOTIFY_INVITATION_AT_ONCE) {
|
|
|
- $extra_headers = array();
|
|
|
- $extra_headers['reply_to']['mail'] = $sender_info['email'];
|
|
|
- $extra_headers['reply_to']['name'] = $sender_info['complete_name'];
|
|
|
- }
|
|
|
- } else {
|
|
|
- $extra_headers = array();
|
|
|
- $sender_info['complete_name'] = $this->admin_name;
|
|
|
- $sender_info['email'] = $this->admin_email;
|
|
|
- }
|
|
|
+ if (!empty($user_info['email'])) {
|
|
|
api_mail_html(
|
|
|
- $name,
|
|
|
+ $user_info['complete_name'],
|
|
|
$user_info['mail'],
|
|
|
Security::filter_terms($title),
|
|
|
Security::filter_terms($content),
|
|
@@ -215,27 +211,29 @@ class Notification extends Model
|
|
|
$sender_info['email'],
|
|
|
$extra_headers
|
|
|
);
|
|
|
-
|
|
|
}
|
|
|
- $params['sent_at'] = api_get_utc_datetime();
|
|
|
- // Saving the notification to be sent some day.
|
|
|
- default:
|
|
|
- $params['dest_user_id'] = $user_id;
|
|
|
- $params['dest_mail'] = $user_info['mail'];
|
|
|
- $params['title'] = $title;
|
|
|
- $params['content'] = cut($content, $this->max_content_length);
|
|
|
- $params['send_freq'] = $user_setting;
|
|
|
- $this->save($params);
|
|
|
- break;
|
|
|
+ $sendDate = api_get_utc_datetime();
|
|
|
}
|
|
|
+
|
|
|
+ // Saving the notification to be sent some day.
|
|
|
+ $params = array();
|
|
|
+ $params['sent_at'] = $sendDate;
|
|
|
+ $params['dest_user_id'] = $user_id;
|
|
|
+ $params['dest_mail'] = $user_info['email'];
|
|
|
+ $params['title'] = $title;
|
|
|
+ $params['content'] = cut($content, $this->max_content_length);
|
|
|
+ $params['send_freq'] = $user_setting;
|
|
|
+ $this->save($params);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Formats the content in order to add the welcome message, the notification preference, etc
|
|
|
- * @param string the content
|
|
|
- * @param array result of api_get_user_info() or GroupPortalManager:get_group_data()
|
|
|
+ * Formats the content in order to add the welcome message,
|
|
|
+ * the notification preference, etc
|
|
|
+ * @param string $content
|
|
|
+ * @param array $sender_info result of api_get_user_info() or
|
|
|
+ * GroupPortalManager:get_group_data()
|
|
|
* @return string
|
|
|
* */
|
|
|
public function format_content($content, $sender_info)
|
|
@@ -312,6 +310,7 @@ class Notification extends Model
|
|
|
get_lang('YouHaveReceivedThisNotificationBecauseYouAreSubscribedOrInvolvedInItToChangeYourNotificationPreferencesPleaseClickHereX'),
|
|
|
Display::url($preference_url, $preference_url)
|
|
|
).'</i>';
|
|
|
+
|
|
|
return $content;
|
|
|
}
|
|
|
}
|