示例#1
0
 public function prePersist(LifecycleEventArgs $eventArguments)
 {
     $entity = $eventArguments->getEntity();
     $mappings = $this->getMappings($eventArguments);
     if (isset($mappings[self::MAPPING])) {
         foreach ($mappings[self::MAPPING] as $name => $annotation) {
             $entityReflection = $eventArguments->getEntityManager()->getClassMetadata(get_class($entity))->getReflectionClass();
             $property = $entityReflection->getProperty($name);
             $property->setAccessible(true);
             if ($property->getValue($entity) == null) {
                 $property->setValue($entity, Ip::getClientIp());
             }
         }
     }
 }
示例#2
0
 public function getErrorReportMetaData()
 {
     $errors = [];
     /** @var $errorException \Exception */
     foreach ($this->errors as $errorException) {
         $errors[] = new ErrorInfo(get_class($errorException), $errorException->getMessage(), trim(ucfirst(nl2br($errorException->getTraceAsString()))), method_exists($errorException, 'getSeverity') ? $errorException->getSeverity() : null);
     }
     $meta = new ErrorMeta();
     $meta->setIp(Ip::getClientIp());
     $meta->setUserAgent(isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null);
     $meta->setUrl((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on' ? 'https://' : 'http://') . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']);
     $meta->setPostData($_POST);
     $meta->setGetData($_GET);
     $meta->setSessionData(isset($_SESSION) ? $_SESSION : null);
     $meta->setServerData($_SERVER);
     $meta->setReferrer(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null);
     $meta->setRequestTime(new \DateTime());
     $meta->setRequestDuration(microtime(true) - $this->startTime);
     return new Error($errors, $meta);
 }