|
@@ -12,38 +12,28 @@ class AnnouncementEmail
|
|
|
protected $course = null;
|
|
|
protected $announcement = null;
|
|
|
public $session_id = null;
|
|
|
+ public $logger;
|
|
|
|
|
|
/**
|
|
|
- *
|
|
|
* @param array $courseInfo
|
|
|
* @param int $sessionId
|
|
|
* @param int $announcementId
|
|
|
- *
|
|
|
- * @return AnnouncementEmail
|
|
|
+ * @param \Monolog\Logger $logger
|
|
|
*/
|
|
|
- public static function create($courseInfo, $sessionId, $announcementId)
|
|
|
- {
|
|
|
- return new self($courseInfo, $sessionId, $announcementId);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @param array $courseInfo
|
|
|
- * @param int $sessionId
|
|
|
- * @param int $announcementId
|
|
|
- */
|
|
|
- public function __construct($courseInfo, $sessionId, $announcementId)
|
|
|
+ public function __construct($courseInfo, $sessionId, $announcementId, $logger = null)
|
|
|
{
|
|
|
if (empty($courseInfo)) {
|
|
|
$courseInfo = api_get_course_info();
|
|
|
}
|
|
|
|
|
|
$this->course = $courseInfo;
|
|
|
- $this->session_id = !empty($sessionId) ? (int) $sessionId : api_get_session_id();
|
|
|
+ $this->session_id = empty($sessionId) ? api_get_session_id() : (int) $sessionId;
|
|
|
|
|
|
if (is_numeric($announcementId)) {
|
|
|
$announcementId = AnnouncementManager::get_by_id($courseInfo['real_id'], $announcementId);
|
|
|
}
|
|
|
$this->announcement = $announcementId;
|
|
|
+ $this->logger = $logger;
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -102,6 +92,9 @@ class AnnouncementEmail
|
|
|
$this->session_id
|
|
|
);
|
|
|
}
|
|
|
+ if (!empty($this->logger)) {
|
|
|
+ $this->logger->addInfo('UserList: '.print_r($userList, 1));
|
|
|
+ }
|
|
|
|
|
|
return $userList;
|
|
|
}
|
|
@@ -181,6 +174,9 @@ class AnnouncementEmail
|
|
|
}
|
|
|
|
|
|
if (empty($users)) {
|
|
|
+ if (!empty($this->logger)) {
|
|
|
+ $this->logger->addInfo('User list is empty. No users found. Trying all_users()');
|
|
|
+ }
|
|
|
$users = self::all_users();
|
|
|
}
|
|
|
|
|
@@ -316,7 +312,14 @@ class AnnouncementEmail
|
|
|
$counter = 1;
|
|
|
$em = Database::getManager();
|
|
|
|
|
|
+ if (empty($users) && !empty($this->logger)) {
|
|
|
+ $this->logger->addInfo('User list is empty. No emails will be sent.');
|
|
|
+ }
|
|
|
+
|
|
|
foreach ($users as $user) {
|
|
|
+ if (!empty($this->logger)) {
|
|
|
+ $this->logger->addInfo('Announcement: #'.$this->announcement.'. Send email to user: #'.$user['user_id']);
|
|
|
+ }
|
|
|
$message = $this->message($user['user_id']);
|
|
|
MessageManager::send_message_simple(
|
|
|
$user['user_id'],
|