Browse Source

Minor - Add logs see BT#13672

jmontoyaa 7 years ago
parent
commit
ba93a0ccb8
3 changed files with 25 additions and 18 deletions
  1. 3 1
      main/cron/import_csv.php
  2. 18 15
      main/inc/lib/AnnouncementEmail.php
  3. 4 2
      main/inc/lib/AnnouncementManager.php

+ 3 - 1
main/cron/import_csv.php

@@ -1218,7 +1218,9 @@ class ImportCsv
                                 $courseInfo,
                                 $event['session_id'],
                                 $announcementId,
-                                false
+                                false,
+                                false,
+                                $this->logger
                             );
                         }
                     } else {

+ 18 - 15
main/inc/lib/AnnouncementEmail.php

@@ -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'],

+ 4 - 2
main/inc/lib/AnnouncementManager.php

@@ -1374,15 +1374,17 @@ class AnnouncementManager
      * @param int $id
      * @param bool $sendToUsersInSession
      * @param bool $sendToDrhUsers
+     * @param Monolog\Handler\HandlerInterface logger
      */
     public static function sendEmail(
         $courseInfo,
         $sessionId,
         $id,
         $sendToUsersInSession = false,
-        $sendToDrhUsers = false
+        $sendToDrhUsers = false,
+        $logger = null
     ) {
-        $email = AnnouncementEmail::create($courseInfo, $sessionId, $id);
+        $email = new AnnouncementEmail($courseInfo, $sessionId, $id, $logger);
         $email->send($sendToUsersInSession, $sendToDrhUsers);
     }