Ejemplo n.º 1
0
 /**
  * Send email reports of unresolved transactions
  * (that need to be resolved manually via AdminInterface).
  *
  * @param array $report Transactions to be reported.
  *
  * @return void
  */
 protected function sendReports($report)
 {
     $renderer = $this->viewManager->getRenderer();
     $subject = 'Finna: ilmoitus tietokannan %s epäonnistuneista verkkomaksuista';
     foreach ($report as $driver => $cnt) {
         if ($cnt) {
             $settings = $this->configReader->get("VoyagerRestful_{$driver}");
             if (!$settings || !isset($settings['OnlinePayment']['errorEmail'])) {
                 $this->err("  No error email for expired transactions not defined for " . "driver {$driver} ({$cnt} expired transactions)");
                 continue;
             }
             $email = $settings['OnlinePayment']['errorEmail'];
             $this->msg("  [{$driver}] Inform {$cnt} expired transactions " . "for driver {$driver} to {$email}");
             $params = ['driver' => $driver, 'cnt' => $cnt];
             $messageSubject = sprintf($subject, $driver);
             $message = $renderer->render('Email/online-payment-alert.phtml', $params);
             try {
                 $this->mailer->send($email, $this->fromEmail, $messageSubject, $message);
             } catch (\Exception $e) {
                 $this->err("    Failed to send error email to customer: {$email} " . "(driver: {$driver})");
                 continue;
             }
         }
     }
 }