[ Avaa Bypassed ]




Upload:

Command:

hmhc3928@18.118.138.113: ~ $
<?php

namespace MailPoet\Doctrine;

if (!defined('ABSPATH')) exit;


use MailPoet\Doctrine\Annotations\AnnotationReaderProvider;
use MailPoetVendor\Doctrine\Common\Cache\ArrayCache;
use MailPoetVendor\Doctrine\Common\Proxy\AbstractProxyFactory;
use MailPoetVendor\Doctrine\ORM\Configuration;
use MailPoetVendor\Doctrine\ORM\Mapping\Driver\AnnotationDriver;
use MailPoetVendor\Doctrine\Persistence\Mapping\Driver\PHPDriver;
use MailPoetVendor\Doctrine\ORM\Mapping\UnderscoreNamingStrategy;

class ConfigurationFactory {
  const ENTITY_DIR = __DIR__ . '/../Entities';
  const METADATA_DIR = __DIR__ . '/../../generated/doctrine-metadata';
  const PROXY_DIR = __DIR__ . '/../../generated/doctrine-proxies';
  const PROXY_NAMESPACE = 'MailPoetDoctrineProxies';

  /** @var bool */
  private $isDevMode;

  /** @var AnnotationReaderProvider */
  private $annotationReaderProvider;

  public function __construct(AnnotationReaderProvider $annotationReaderProvider, $isDevMode = null) {
    $this->isDevMode = $isDevMode === null ? WP_DEBUG : $isDevMode;
    $this->annotationReaderProvider = $annotationReaderProvider;
  }

  public function createConfiguration() {
    $configuration = new Configuration();
    $configuration->setNamingStrategy(new UnderscoreNamingStrategy(\CASE_LOWER, true));

    $this->configureMetadata($configuration);
    $this->configureProxies($configuration);
    $this->configureCache($configuration);
    return $configuration;
  }

  private function configureMetadata(Configuration $configuration) {
    $configuration->setClassMetadataFactoryName(TablePrefixMetadataFactory::class);

    // annotation reader exists only in dev environment, on production cache is pre-generated
    $annotationReader = $this->annotationReaderProvider->getAnnotationReader();
    if ($annotationReader) {
      $configuration->setMetadataDriverImpl(new AnnotationDriver($annotationReader, [self::ENTITY_DIR]));
    } else {
      // Should never be called but Doctrine requires having driver set
      $configuration->setMetadataDriverImpl(new PHPDriver([]));
    }

    // metadata cache (for production cache is pre-generated at build time)
    $isReadOnly = !$annotationReader;
    $metadataStorage = new PSRMetadataCache(self::METADATA_DIR, $isReadOnly);
    $configuration->setMetadataCache($metadataStorage);
  }

  private function configureProxies(Configuration $configuration) {
    $configuration->setProxyDir(self::PROXY_DIR);
    $configuration->setProxyNamespace(self::PROXY_NAMESPACE);
    $configuration->setAutoGenerateProxyClasses(
      $this->isDevMode
        ? AbstractProxyFactory::AUTOGENERATE_FILE_NOT_EXISTS
        : AbstractProxyFactory::AUTOGENERATE_NEVER
    );
  }

  private function configureCache(Configuration $configuration) {
    $cache = new ArrayCache();
    $configuration->setQueryCacheImpl($cache);
    $configuration->setResultCacheImpl($cache);
  }
}

Filemanager

Name Type Size Permission Actions
Annotations Folder 0755
EntityTraits Folder 0755
EventListeners Folder 0755
Types Folder 0755
Validator Folder 0755
ConfigurationFactory.php File 2.84 KB 0644
ConnectionFactory.php File 3.19 KB 0644
EntityManagerFactory.php File 2.5 KB 0644
MetadataCache.php File 2.8 KB 0644
PSRCacheInvalidArgumentException.php File 225 B 0644
PSRCacheItem.php File 1010 B 0644
PSRMetadataCache.php File 2.23 KB 0644
ProxyClassNameResolver.php File 1.02 KB 0644
Repository.php File 2.62 KB 0644
SerializableConnection.php File 937 B 0644
TablePrefixMetadataFactory.php File 2.46 KB 0644
index.php File 0 B 0644