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()); } } } }
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); }