コード例 #1
0
ファイル: Writer.php プロジェクト: sourcefabric/newscoop
 /**
  * Store event
  *
  * @param array $event
  * @return void
  */
 protected function _write($event)
 {
     // search for ip
     foreach (self::$ipKeys as $key) {
         if (!empty($_SERVER[$key])) {
             $ip = $_SERVER[$key];
             break;
         }
     }
     // set user if any
     if (!isset($event['user'])) {
         $event['user'] = null;
         $auth = \Zend_Auth::getInstance();
         if ($auth->hasIdentity()) {
             $event['user'] = $this->em->getReference('Newscoop\\Entity\\User\\Staff', $auth->getIdentity());
         }
     }
     // create log entity
     $log = new Log();
     $log->setTimeCreated(new DateTime($event['timestamp']))->setText($event['message'])->setPriority($event['priority'])->setClientIP(isset($ip) ? $ip : '')->setUser($event['user']);
     // store
     $this->em->persist($log);
     $this->em->flush();
 }