Esempio n. 1
0
 /**
  * 
  * constructs the helper
  */
 protected function __construct()
 {
     if (APPLICATION_ENV != 'production') {
         $writer = new Zend_Log_Writer_Firebug();
         $writer->setDefaultPriorityStyle('EXCEPTION');
     } else {
         $mailConfig = Zend_Registry::get('emailSettings');
         if ($mtconf->sendmail) {
             $mtconf = array('auth' => 'login', 'username' => $mailConfig->smtp->user, 'password' => $mailConfig->smtp->password, 'port' => $mailConfig->smtp->port);
             if ($mailConfig->smtp->ssl) {
                 $mtconf['ssl'] = 'tls';
             }
             $transport = new Zend_Mail_Transport_Smtp($mailConfig->smtp->host, $mtconf);
         } else {
             $transport = new Zend_Mail_Transport_Sendmail();
         }
         Zend_Mail::setDefaultTransport($transport);
         $mail = new Zend_Mail('UTF-8');
         $mail->setFrom($mailConfig->email->noreply, 'FansubCMS Error Report');
         $mail->addTo($mailConfig->email->admin, 'FansubCMS Technical Administrator at' . $_SERVER['HTTP_HOST']);
         $mail->addHeader('X-MailGenerator', 'Log handler on FansubCMS');
         $mail->addHeader('X-Mailer', 'FansubCMS');
         $mail->addHeader('X-Priority', '3');
         $writer = new Zend_Log_Writer_Mail($mail);
         $writer->setSubjectPrependText('FansubCMS Error: ');
     }
     switch (APPLICATION_ENV) {
         case 'debug':
             // is handled by dev bar through
             $writer->addFilter(Zend_Log::DEBUG);
             break;
         case 'testing':
             $writer->addFilter(Zend_Log::NOTICE);
             break;
         default:
             $writer->addFilter(Zend_Log::ERR);
             break;
     }
     $logger = new Zend_Log($writer);
     self::$_logger = $logger;
 }