Exemple #1
0
 public function write($file = null)
 {
     $message = $this->message();
     $status = null;
     if ($message != '') {
         $destination = $this->config('email') ? $this->config('email') : $this->config('file');
         $type = $destination ? $this->config('storage') : self::SYSTEM;
         switch ($type) {
             case self::FILE:
                 if (class_exists('FileSystem')) {
                     $file_config = array('mode' => 'a');
                     $messenger = new FileSystem($file_config);
                     $messenger->file($this->config('file'));
                     $messenger->contents($message);
                     $messenger->write();
                     $status = $messenger->status();
                 } else {
                     $status = error_log($message, $type, $destination) ? "Errors saved by system" : "Unable to save errors. Ironic.";
                 }
                 break;
             case self::EMAIL:
                 if (class_exists('Email')) {
                     $messenger = new Email($destination, $from, $subject, $message);
                     $messenger->send();
                     $status = $messenger->status();
                 } else {
                     $status = mail($destination, $from, $subject, $message) ? "Log emailed to recipient" : error_log($message, $type, $destination) ? "Errors emailed by system" : "Unable to send email report";
                 }
                 break;
             default:
             case self::SYSTEM:
                 $status = error_log($message, $type, $destination) ? "Errors reported to system" : "Unable to record error";
                 break;
         }
     }
     $this->status($status);
 }