Пример #1
0
 /**
  * @param Event                 $event
  * @param array|CommandResult[] $results
  */
 private function sendEmails(Event $event, array $results)
 {
     $mailParts = array();
     foreach ($results as $commandResult) {
         $options = $commandResult->getOptions();
         if (!$options['sendEmails']) {
             continue;
         }
         $mailRecipients = $options['mailRecipients'];
         if ($options['sendEmailAuthor']) {
             $mailRecipients[] = $event->getAuthor();
         }
         $mailRecipients = array_unique($mailRecipients);
         if (empty($mailRecipients) || !is_array($commandResult->getOutput()) || count($commandResult->getOutput()) == 0) {
             continue;
         }
         foreach ($mailRecipients as $recipient) {
             if (!array_key_exists($recipient, $mailParts)) {
                 $mailParts[$recipient] = array();
             }
             $mailParts[$recipient][] = $commandResult;
         }
     }
     foreach ($mailParts as $mail => $parts) {
         $this->sendEmail($event, $mail, $this->options['sendEmailFrom'], $parts);
     }
 }