summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristophe Coevoet <stof@notk.org>2011-06-07 02:01:21 +0200
committerChristophe Coevoet <stof@notk.org>2011-06-07 02:01:21 +0200
commitdd5f4005639489cc27779778481420520553df9c (patch)
tree10644f03b88c827ebcdcb0440e4fef5047d285b5
parent6633957f20c1fe86021f9c0fa1ed8a8648ca3f05 (diff)
Updated vendorsHEADmaster
-rw-r--r--app/AppKernel.php23
-rw-r--r--app/bootstrap.php.cache159
-rw-r--r--app/bootstrap_cache.php.cache197
-rw-r--r--app/config/config.yml6
m---------src/Sde/BduBundle0
-rw-r--r--src/Sde/WebserviceBundle/Entity/Association.php21
-rw-r--r--src/Sde/WebserviceBundle/Entity/Mandate.php23
-rw-r--r--src/Sde/WebserviceBundle/Entity/Position.php25
-rw-r--r--src/Sde/WebserviceBundle/Entity/StandardPosition.php13
-rw-r--r--src/Sde/WebserviceBundle/Entity/Student.php15
-rw-r--r--src/Sde/WebserviceBundle/Repository/AssociationRepository.php2
-rw-r--r--src/Sde/WebserviceBundle/Repository/MandateRepository.php2
-rw-r--r--src/Sde/WebserviceBundle/Util/Api.php22
m---------vendor/bdu-api0
m---------vendor/doctrine0
m---------vendor/doctrine-common0
m---------vendor/doctrine-dbal0
m---------vendor/monolog0
m---------vendor/symfony0
m---------vendor/twig0
-rw-r--r--web/app.php1
-rw-r--r--web/app_dev.php1
22 files changed, 291 insertions, 219 deletions
diff --git a/app/AppKernel.php b/app/AppKernel.php
index ffcc399..b4bc998 100644
--- a/app/AppKernel.php
+++ b/app/AppKernel.php
@@ -2,6 +2,9 @@
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
+use Symfony\Component\ClassLoader\DebugUniversalClassLoader;
+use Symfony\Component\HttpKernel\Debug\ErrorHandler;
+use Symfony\Component\HttpKernel\Debug\ExceptionHandler;
class AppKernel extends Kernel
{
@@ -11,7 +14,7 @@ class AppKernel extends Kernel
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
// enable third-party bundles
- new Symfony\Bundle\MonologBundle\MonologBundle,
+ new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\DoctrineBundle\DoctrineBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
@@ -21,13 +24,29 @@ class AppKernel extends Kernel
new Sde\WebserviceBundle\SdeWebserviceBundle(),
);
- if ($this->isDebug()) {
+ if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
}
return $bundles;
}
+ public function init()
+ {
+ if ($this->debug) {
+ ini_set('display_errors', 1);
+ error_reporting(-1);
+
+ DebugUniversalClassLoader::enable();
+ ErrorHandler::register();
+ if ('cli' !== php_sapi_name()) {
+ ExceptionHandler::register();
+ }
+ } else {
+ ini_set('display_errors', 0);
+ }
+ }
+
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
diff --git a/app/bootstrap.php.cache b/app/bootstrap.php.cache
index 0b20a88..f0fc7b6 100644
--- a/app/bootstrap.php.cache
+++ b/app/bootstrap.php.cache
@@ -27,8 +27,8 @@ interface ContainerInterface
}
namespace Symfony\Component\DependencyInjection
{
-use Symfony\Component\DependencyInjection\Exception\NonExistentServiceException;
-use Symfony\Component\DependencyInjection\Exception\CircularReferenceException;
+use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException;
+use Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag;
use Symfony\Component\DependencyInjection\ParameterBag\FrozenParameterBag;
@@ -102,7 +102,7 @@ class Container implements ContainerInterface
return $this->services[$id];
}
if (isset($this->loading[$id])) {
- throw new CircularReferenceException($id, array_keys($this->loading));
+ throw new ServiceCircularReferenceException($id, array_keys($this->loading));
}
if (method_exists($this, $method = 'get'.strtr($id, array('_' => '', '.' => '_')).'Service')) {
$this->loading[$id] = true;
@@ -116,7 +116,7 @@ class Container implements ContainerInterface
return $service;
}
if (self::EXCEPTION_ON_INVALID_REFERENCE === $invalidBehavior) {
- throw new NonExistentServiceException($id);
+ throw new ServiceNotFoundException($id);
}
}
public function getServiceIds()
@@ -154,13 +154,6 @@ class Container implements ContainerInterface
}
$this->scopedServices[$name] = array();
}
- public function getCurrentScopedStack($name)
- {
- if (!isset($this->scopeStacks[$name]) || 0 === $this->scopeStacks[$name]->count()) {
- return null;
- }
- return $this->scopeStacks[$name]->top();
- }
public function leaveScope($name)
{
if (!isset($this->scopedServices[$name])) {
@@ -431,7 +424,7 @@ class HttpKernel implements HttpKernelInterface
private function handleRaw(Request $request, $type = self::MASTER_REQUEST)
{
$event = new GetResponseEvent($this, $request, $type);
- $this->dispatcher->dispatch(Events::onCoreRequest, $event);
+ $this->dispatcher->dispatch(CoreEvents::REQUEST, $event);
if ($event->hasResponse()) {
return $this->filterResponse($event->getResponse(), $request, $type);
}
@@ -439,13 +432,13 @@ class HttpKernel implements HttpKernelInterface
throw new NotFoundHttpException(sprintf('Unable to find the controller for path "%s". Maybe you forgot to add the matching route in your routing configuration?', $request->getPathInfo()));
}
$event = new FilterControllerEvent($this, $controller, $request, $type);
- $this->dispatcher->dispatch(Events::onCoreController, $event);
+ $this->dispatcher->dispatch(CoreEvents::CONTROLLER, $event);
$controller = $event->getController();
$arguments = $this->resolver->getArguments($request, $controller);
$response = call_user_func_array($controller, $arguments);
if (!$response instanceof Response) {
$event = new GetResponseForControllerResultEvent($this, $request, $type, $response);
- $this->dispatcher->dispatch(Events::onCoreView, $event);
+ $this->dispatcher->dispatch(CoreEvents::VIEW, $event);
if ($event->hasResponse()) {
$response = $event->getResponse();
}
@@ -462,13 +455,13 @@ class HttpKernel implements HttpKernelInterface
private function filterResponse(Response $response, Request $request, $type)
{
$event = new FilterResponseEvent($this, $request, $type, $response);
- $this->dispatcher->dispatch(Events::onCoreResponse, $event);
+ $this->dispatcher->dispatch(CoreEvents::RESPONSE, $event);
return $event->getResponse();
}
private function handleException(\Exception $e, $request, $type)
{
$event = new GetResponseForExceptionEvent($this, $request, $type, $e);
- $this->dispatcher->dispatch(Events::onCoreException, $event);
+ $this->dispatcher->dispatch(CoreEvents::EXCEPTION, $event);
if (!$event->hasResponse()) {
throw $e;
}
@@ -601,6 +594,9 @@ abstract class Kernel implements KernelInterface
}
public function shutdown()
{
+ if (false === $this->booted) {
+ return;
+ }
$this->booted = false;
foreach ($this->getBundles() as $bundle) {
$bundle->shutdown();
@@ -835,6 +831,15 @@ abstract class Kernel implements KernelInterface
}
protected function buildContainer()
{
+ foreach (array('cache' => $this->getCacheDir(), 'logs' => $this->getLogDir()) as $name => $dir) {
+ if (!is_dir($dir)) {
+ if (false === @mkdir($dir, 0777, true)) {
+ throw new \RuntimeException(sprintf("Unable to create the %s directory (%s)\n", $name, dirname($dir)));
+ }
+ } elseif (!is_writable($dir)) {
+ throw new \RuntimeException(sprintf("Unable to write in the %s directory (%s)\n", $name, $dir));
+ }
+ }
$container = new ContainerBuilder(new ParameterBag($this->getKernelParameters()));
$extensions = array();
foreach ($this->bundles as $bundle) {
@@ -852,16 +857,6 @@ abstract class Kernel implements KernelInterface
if (null !== $cont = $this->registerContainerConfiguration($this->getContainerLoader($container))) {
$container->merge($cont);
}
- foreach (array('cache', 'logs') as $name) {
- $dir = $container->getParameter(sprintf('kernel.%s_dir', $name));
- if (!is_dir($dir)) {
- if (false === @mkdir($dir, 0777, true)) {
- exit(sprintf("Unable to create the %s directory (%s)\n", $name, dirname($dir)));
- }
- } elseif (!is_writable($dir)) {
- exit(sprintf("Unable to write in the %s directory (%s)\n", $name, $dir));
- }
- }
$container->addCompilerPass(new AddClassesToCachePass($this));
$container->compile();
$this->addClassesToCache($container->getParameter('kernel.compiled_classes'));
@@ -940,14 +935,10 @@ class ParameterBag
{
$this->parameters = array_replace($this->parameters, $parameters);
}
- public function get($key, $default = null)
- {
- return array_key_exists($key, $this->parameters) ? $this->parameters[$key] : $default;
- }
- public function getDeep($path, $default = null)
+ public function get($path, $default = null, $deep = false)
{
- if (false === $pos = strpos($path, '[')) {
- return $this->get($path, $default);
+ if (!$deep || false === $pos = strpos($path, '[')) {
+ return array_key_exists($path, $this->parameters) ? $this->parameters[$path] : $default;
}
$root = substr($path, 0, $pos);
if (!array_key_exists($root, $this->parameters)) {
@@ -995,21 +986,21 @@ class ParameterBag
{
unset($this->parameters[$key]);
}
- public function getAlpha($key, $default = '')
+ public function getAlpha($key, $default = '', $deep = false)
{
- return preg_replace('/[^[:alpha:]]/', '', $this->get($key, $default));
+ return preg_replace('/[^[:alpha:]]/', '', $this->get($key, $default, $deep));
}
- public function getAlnum($key, $default = '')
+ public function getAlnum($key, $default = '', $deep = false)
{
- return preg_replace('/[^[:alnum:]]/', '', $this->get($key, $default));
+ return preg_replace('/[^[:alnum:]]/', '', $this->get($key, $default, $deep));
}
- public function getDigits($key, $default = '')
+ public function getDigits($key, $default = '', $deep = false)
{
- return preg_replace('/[^[:digit:]]/', '', $this->get($key, $default));
+ return preg_replace('/[^[:digit:]]/', '', $this->get($key, $default, $deep));
}
- public function getInt($key, $default = 0)
+ public function getInt($key, $default = 0, $deep = false)
{
- return (int) $this->get($key, $default);
+ return (int) $this->get($key, $default, $deep);
}
}
}
@@ -1120,6 +1111,24 @@ class HeaderBag
$this->set($key, $values);
}
}
+ public function __toString()
+ {
+ if (!$this->headers) {
+ return '';
+ }
+ $beautifier = function ($name) {
+ return preg_replace('/\-(.)/e', "'-'.strtoupper('\\1')", ucfirst($name));
+ };
+ $max = max(array_map('strlen', array_keys($this->headers))) + 1;
+ $content = '';
+ ksort($this->headers);
+ foreach ($this->headers as $name => $values) {
+ foreach ($values as $value) {
+ $content .= sprintf("%-{$max}s %s\r\n", $beautifier($name).':', $value);
+ }
+ }
+ return $content;
+ }
public function all()
{
return $this->headers;
@@ -1310,7 +1319,14 @@ class Request
}
static public function createFromGlobals()
{
- return new static($_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER);
+ $request = new static($_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER);
+ if (0 === strpos($request->server->get('CONTENT_TYPE'), 'application/x-www-form-urlencoded')
+ && in_array(strtoupper($request->server->get('REQUEST_METHOD', 'GET')), array('PUT', 'DELETE'))
+ ) {
+ parse_str($request->getContent(), $data);
+ $request->request = new ParameterBag($data);
+ }
+ return $request;
}
static public function create($uri, $method = 'GET', $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null)
{
@@ -1325,6 +1341,7 @@ class Request
'REMOTE_ADDR' => '127.0.0.1',
'SCRIPT_NAME' => '',
'SCRIPT_FILENAME' => '',
+ 'SERVER_PROTOCOL' => 'HTTP/1.1',
);
$components = parse_url($uri);
if (isset($components['host'])) {
@@ -1411,6 +1428,13 @@ class Request
$this->server = clone $this->server;
$this->headers = clone $this->headers;
}
+ public function __toString()
+ {
+ return
+ sprintf('%s %s %s', $this->getMethod(), $this->getRequestUri(), $this->server->get('SERVER_PROTOCOL'))."\r\n".
+ $this->headers."\r\n".
+ $this->getContent();
+ }
public function overrideGlobals()
{
$_GET = $this->query->all();
@@ -1422,18 +1446,22 @@ class Request
}
$_REQUEST = array_merge($_GET, $_POST);
}
- public function get($key, $default = null)
+ public function get($key, $default = null, $deep = false)
{
- return $this->query->get($key, $this->attributes->get($key, $this->request->get($key, $default)));
+ return $this->query->get($key, $this->attributes->get($key, $this->request->get($key, $default, $deep), $deep), $deep);
}
public function getSession()
{
return $this->session;
}
- public function hasSession()
+ public function hasPreviousSession()
{
return $this->cookies->has(session_name()) && null !== $this->session;
}
+ public function hasSession()
+ {
+ return null !== $this->session;
+ }
public function setSession(Session $session)
{
$this->session = $session;
@@ -1484,17 +1512,12 @@ class Request
}
public function getHttpHost()
{
- $host = $this->headers->get('HOST');
- if (!empty($host)) {
- return $host;
- }
$scheme = $this->getScheme();
- $name = $this->server->get('SERVER_NAME');
$port = $this->getPort();
if (('http' == $scheme && $port == 80) || ('https' == $scheme && $port == 443)) {
- return $name;
+ return $this->getHost();
}
- return $name.':'.$port;
+ return $this->getHost().':'.$port;
}
public function getRequestUri()
{
@@ -1570,7 +1593,7 @@ class Request
if (null === $this->method) {
$this->method = strtoupper($this->server->get('REQUEST_METHOD', 'GET'));
if ('POST' === $this->method) {
- $this->method = strtoupper($this->request->get('_method', 'POST'));
+ $this->method = strtoupper($this->server->get('X-HTTP-METHOD-OVERRIDE', $this->request->get('_method', 'POST')));
}
}
return $this->method;
@@ -1801,14 +1824,14 @@ class Request
{
$baseUrl = $this->getBaseUrl();
if (null === ($requestUri = $this->getRequestUri())) {
- return '';
+ return '/';
}
- $pathInfo = '';
+ $pathInfo = '/';
if ($pos = strpos($requestUri, '?')) {
$requestUri = substr($requestUri, 0, $pos);
}
if ((null !== $baseUrl) && (false === ($pathInfo = substr($requestUri, strlen($baseUrl))))) {
- return '';
+ return '/';
} elseif (null === $baseUrl) {
return $requestUri;
}
@@ -1985,8 +2008,8 @@ class UniversalClassLoader
{
private $namespaces = array();
private $prefixes = array();
- private $namespaceFallback = array();
- private $prefixFallback = array();
+ private $namespaceFallbacks = array();
+ private $prefixFallbacks = array();
public function getNamespaces()
{
return $this->namespaces;
@@ -1995,21 +2018,21 @@ class UniversalClassLoader
{
return $this->prefixes;
}
- public function getNamespaceFallback()
+ public function getNamespaceFallbacks()
{
- return $this->namespaceFallback;
+ return $this->namespaceFallbacks;
}
- public function getPrefixFallback()
+ public function getPrefixFallbacks()
{
- return $this->prefixFallback;
+ return $this->prefixFallbacks;
}
- public function registerNamespaceFallback($dirs)
+ public function registerNamespaceFallbacks(array $dirs)
{
- $this->namespaceFallback = (array) $dirs;
+ $this->namespaceFallbacks = $dirs;
}
- public function registerPrefixFallback($dirs)
+ public function registerPrefixFallbacks(array $dirs)
{
- $this->prefixFallback = (array) $dirs;
+ $this->prefixFallbacks = $dirs;
}
public function registerNamespaces(array $namespaces)
{
@@ -2059,7 +2082,7 @@ class UniversalClassLoader
}
}
}
- foreach ($this->namespaceFallback as $dir) {
+ foreach ($this->namespaceFallbacks as $dir) {
$file = $dir.DIRECTORY_SEPARATOR.str_replace('\\', DIRECTORY_SEPARATOR, $class).'.php';
if (file_exists($file)) {
return $file;
@@ -2076,7 +2099,7 @@ class UniversalClassLoader
}
}
}
- foreach ($this->prefixFallback as $dir) {
+ foreach ($this->prefixFallbacks as $dir) {
$file = $dir.DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $class).'.php';
if (file_exists($file)) {
return $file;
diff --git a/app/bootstrap_cache.php.cache b/app/bootstrap_cache.php.cache
index b761d26..19f5ae1 100644
--- a/app/bootstrap_cache.php.cache
+++ b/app/bootstrap_cache.php.cache
@@ -104,6 +104,9 @@ abstract class Kernel implements KernelInterface
}
public function shutdown()
{
+ if (false === $this->booted) {
+ return;
+ }
$this->booted = false;
foreach ($this->getBundles() as $bundle) {
$bundle->shutdown();
@@ -338,6 +341,15 @@ abstract class Kernel implements KernelInterface
}
protected function buildContainer()
{
+ foreach (array('cache' => $this->getCacheDir(), 'logs' => $this->getLogDir()) as $name => $dir) {
+ if (!is_dir($dir)) {
+ if (false === @mkdir($dir, 0777, true)) {
+ throw new \RuntimeException(sprintf("Unable to create the %s directory (%s)\n", $name, dirname($dir)));
+ }
+ } elseif (!is_writable($dir)) {
+ throw new \RuntimeException(sprintf("Unable to write in the %s directory (%s)\n", $name, $dir));
+ }
+ }
$container = new ContainerBuilder(new ParameterBag($this->getKernelParameters()));
$extensions = array();
foreach ($this->bundles as $bundle) {
@@ -355,16 +367,6 @@ abstract class Kernel implements KernelInterface
if (null !== $cont = $this->registerContainerConfiguration($this->getContainerLoader($container))) {
$container->merge($cont);
}
- foreach (array('cache', 'logs') as $name) {
- $dir = $container->getParameter(sprintf('kernel.%s_dir', $name));
- if (!is_dir($dir)) {
- if (false === @mkdir($dir, 0777, true)) {
- exit(sprintf("Unable to create the %s directory (%s)\n", $name, dirname($dir)));
- }
- } elseif (!is_writable($dir)) {
- exit(sprintf("Unable to write in the %s directory (%s)\n", $name, $dir));
- }
- }
$container->addCompilerPass(new AddClassesToCachePass($this));
$container->compile();
$this->addClassesToCache($container->getParameter('kernel.compiled_classes'));
@@ -506,6 +508,7 @@ class HttpCache implements HttpKernelInterface
}
$response->isNotModified($request);
$this->restoreResponseBody($request, $response);
+ $response->setDate(new \DateTime(null, new \DateTimeZone('UTC')));
if (HttpKernelInterface::MASTER_REQUEST === $type && $this->options['debug']) {
$response->headers->set('X-Symfony-Cache', $this->getLog());
}
@@ -559,22 +562,23 @@ class HttpCache implements HttpKernelInterface
}
if (!$this->isFreshEnough($request, $entry)) {
$this->record($request, 'stale');
- return $this->validate($request, $entry);
+ return $this->validate($request, $entry, $catch);
}
$this->record($request, 'fresh');
$entry->headers->set('Age', $entry->getAge());
return $entry;
}
- protected function validate(Request $request, Response $entry)
+ protected function validate(Request $request, Response $entry, $catch = false)
{
$subRequest = clone $request;
$subRequest->setMethod('get');
$subRequest->headers->set('if_modified_since', $entry->headers->get('Last-Modified'));
- $cachedEtags = array($entry->getEtag());
+ $cachedEtags = $entry->getEtag() ? array($entry->getEtag()) : array();
$requestEtags = $request->getEtags();
- $etags = array_unique(array_merge($cachedEtags, $requestEtags));
- $subRequest->headers->set('if_none_match', $etags ? implode(', ', $etags) : '');
- $response = $this->forward($subRequest, false, $entry);
+ if ($etags = array_unique(array_merge($cachedEtags, $requestEtags))) {
+ $subRequest->headers->set('if_none_match', implode(', ', $etags));
+ }
+ $response = $this->forward($subRequest, $catch, $entry);
if (304 == $response->getStatusCode()) {
$this->record($request, 'valid');
$etag = $response->getEtag();
@@ -663,7 +667,9 @@ class HttpCache implements HttpKernelInterface
$entry->setContent($new->getContent());
$entry->setStatusCode($new->getStatusCode());
$entry->setProtocolVersion($new->getProtocolVersion());
- $entry->setCookies($new->getCookies());
+ foreach ($new->headers->getCookies() as $cookie) {
+ $entry->headers->setCookie($cookie);
+ }
} else {
$entry->setStatusCode(503);
$entry->setContent('503 Service Unavailable');
@@ -1115,14 +1121,10 @@ class ParameterBag
{
$this->parameters = array_replace($this->parameters, $parameters);
}
- public function get($key, $default = null)
- {
- return array_key_exists($key, $this->parameters) ? $this->parameters[$key] : $default;
- }
- public function getDeep($path, $default = null)
+ public function get($path, $default = null, $deep = false)
{
- if (false === $pos = strpos($path, '[')) {
- return $this->get($path, $default);
+ if (!$deep || false === $pos = strpos($path, '[')) {
+ return array_key_exists($path, $this->parameters) ? $this->parameters[$path] : $default;
}
$root = substr($path, 0, $pos);
if (!array_key_exists($root, $this->parameters)) {
@@ -1170,21 +1172,21 @@ class ParameterBag
{
unset($this->parameters[$key]);
}
- public function getAlpha($key, $default = '')
+ public function getAlpha($key, $default = '', $deep = false)
{
- return preg_replace('/[^[:alpha:]]/', '', $this->get($key, $default));
+ return preg_replace('/[^[:alpha:]]/', '', $this->get($key, $default, $deep));
}
- public function getAlnum($key, $default = '')
+ public function getAlnum($key, $default = '', $deep = false)
{
- return preg_replace('/[^[:alnum:]]/', '', $this->get($key, $default));
+ return preg_replace('/[^[:alnum:]]/', '', $this->get($key, $default, $deep));
}
- public function getDigits($key, $default = '')
+ public function getDigits($key, $default = '', $deep = false)
{
- return preg_replace('/[^[:digit:]]/', '', $this->get($key, $default));
+ return preg_replace('/[^[:digit:]]/', '', $this->get($key, $default, $deep));
}
- public function getInt($key, $default = 0)
+ public function getInt($key, $default = 0, $deep = false)
{
- return (int) $this->get($key, $default);
+ return (int) $this->get($key, $default, $deep);
}
}
}
@@ -1295,6 +1297,24 @@ class HeaderBag
$this->set($key, $values);
}
}
+ public function __toString()
+ {
+ if (!$this->headers) {
+ return '';
+ }
+ $beautifier = function ($name) {
+ return preg_replace('/\-(.)/e', "'-'.strtoupper('\\1')", ucfirst($name));
+ };
+ $max = max(array_map('strlen', array_keys($this->headers))) + 1;
+ $content = '';
+ ksort($this->headers);
+ foreach ($this->headers as $name => $values) {
+ foreach ($values as $value) {
+ $content .= sprintf("%-{$max}s %s\r\n", $beautifier($name).':', $value);
+ }
+ }
+ return $content;
+ }
public function all()
{
return $this->headers;
@@ -1485,7 +1505,14 @@ class Request
}
static public function createFromGlobals()
{
- return new static($_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER);
+ $request = new static($_GET, $_POST, array(), $_COOKIE, $_FILES, $_SERVER);
+ if (0 === strpos($request->server->get('CONTENT_TYPE'), 'application/x-www-form-urlencoded')
+ && in_array(strtoupper($request->server->get('REQUEST_METHOD', 'GET')), array('PUT', 'DELETE'))
+ ) {
+ parse_str($request->getContent(), $data);
+ $request->request = new ParameterBag($data);
+ }
+ return $request;
}
static public function create($uri, $method = 'GET', $parameters = array(), $cookies = array(), $files = array(), $server = array(), $content = null)
{
@@ -1500,6 +1527,7 @@ class Request
'REMOTE_ADDR' => '127.0.0.1',
'SCRIPT_NAME' => '',
'SCRIPT_FILENAME' => '',
+ 'SERVER_PROTOCOL' => 'HTTP/1.1',
);
$components = parse_url($uri);
if (isset($components['host'])) {
@@ -1586,6 +1614,13 @@ class Request
$this->server = clone $this->server;
$this->headers = clone $this->headers;
}
+ public function __toString()
+ {
+ return
+ sprintf('%s %s %s', $this->getMethod(), $this->getRequestUri(), $this->server->get('SERVER_PROTOCOL'))."\r\n".
+ $this->headers."\r\n".
+ $this->getContent();
+ }
public function overrideGlobals()
{
$_GET = $this->query->all();
@@ -1597,18 +1632,22 @@ class Request
}
$_REQUEST = array_merge($_GET, $_POST);
}
- public function get($key, $default = null)
+ public function get($key, $default = null, $deep = false)
{
- return $this->query->get($key, $this->attributes->get($key, $this->request->get($key, $default)));
+ return $this->query->get($key, $this->attributes->get($key, $this->request->get($key, $default, $deep), $deep), $deep);
}
public function getSession()
{
return $this->session;
}
- public function hasSession()
+ public function hasPreviousSession()
{
return $this->cookies->has(session_name()) && null !== $this->session;
}
+ public function hasSession()
+ {
+ return null !== $this->session;
+ }
public function setSession(Session $session)
{
$this->session = $session;
@@ -1659,17 +1698,12 @@ class Request
}
public function getHttpHost()
{
- $host = $this->headers->get('HOST');
- if (!empty($host)) {
- return $host;
- }
$scheme = $this->getScheme();
- $name = $this->server->get('SERVER_NAME');
$port = $this->getPort();
if (('http' == $scheme && $port == 80) || ('https' == $scheme && $port == 443)) {
- return $name;
+ return $this->getHost();
}
- return $name.':'.$port;
+ return $this->getHost().':'.$port;
}
public function getRequestUri()
{
@@ -1745,7 +1779,7 @@ class Request
if (null === $this->method) {
$this->method = strtoupper($this->server->get('REQUEST_METHOD', 'GET'));
if ('POST' === $this->method) {
- $this->method = strtoupper($this->request->get('_method', 'POST'));
+ $this->method = strtoupper($this->server->get('X-HTTP-METHOD-OVERRIDE', $this->request->get('_method', 'POST')));
}
}
return $this->method;
@@ -1976,14 +2010,14 @@ class Request
{
$baseUrl = $this->getBaseUrl();
if (null === ($requestUri = $this->getRequestUri())) {
- return '';
+ return '/';
}
- $pathInfo = '';
+ $pathInfo = '/';
if ($pos = strpos($requestUri, '?')) {
$requestUri = substr($requestUri, 0, $pos);
}
if ((null !== $baseUrl) && (false === ($pathInfo = substr($requestUri, strlen($baseUrl))))) {
- return '';
+ return '/';
} elseif (null === $baseUrl) {
return $requestUri;
}
@@ -2038,6 +2072,14 @@ class ResponseHeaderBag extends HeaderBag
$this->set('cache-control', '');
}
}
+ public function __toString()
+ {
+ $cookies = '';
+ foreach ($this->cookies as $cookie) {
+ $cookies .= 'Set-Cookie: '.$cookie."\r\n";
+ }
+ return parent::__toString().$cookies;
+ }
public function replace(array $headers = array())
{
parent::replace($headers);
@@ -2146,24 +2188,22 @@ class Response
);
public function __construct($content = '', $status = 200, $headers = array())
{
+ $this->headers = new ResponseHeaderBag($headers);
$this->setContent($content);
$this->setStatusCode($status);
$this->setProtocolVersion('1.0');
- $this->headers = new ResponseHeaderBag($headers);
+ if (!$this->headers->has('Date')) {
+ $this->setDate(new \DateTime(null, new \DateTimeZone('UTC')));
+ }
$this->charset = 'UTF-8';
}
public function __toString()
{
- $content = '';
$this->fixContentType();
- $content .= sprintf('HTTP/%s %s %s', $this->version, $this->statusCode, $this->statusText)."\n";
- foreach ($this->headers->all() as $name => $values) {
- foreach ($values as $value) {
- $content .= "$name: $value\n";
- }
- }
- $content .= "\n".$this->getContent();
- return $content;
+ return
+ sprintf('HTTP/%s %s %s', $this->version, $this->statusCode, $this->statusText)."\r\n".
+ $this->headers."\r\n".
+ $this->getContent();
}
public function __clone()
{
@@ -2261,11 +2301,12 @@ class Response
}
public function getDate()
{
- if (null === $date = $this->headers->getDate('Date')) {
- $date = new \DateTime(null, new \DateTimeZone('UTC'));
- $this->headers->set('Date', $date->format('D, d M Y H:i:s').' GMT');
- }
- return $date;
+ return $this->headers->getDate('Date');
+ }
+ public function setDate(\DateTime $date)
+ {
+ $date->setTimezone(new \DateTimeZone('UTC'));
+ $this->headers->set('Date', $date->format('D, d M Y H:i:s').' GMT');
}
public function getAge()
{
@@ -2465,18 +2506,14 @@ class Response
{
return 404 === $this->statusCode;
}
- public function isRedirect()
+ public function isRedirect($location = null)
{
- return in_array($this->statusCode, array(201, 301, 302, 303, 307));
+ return in_array($this->statusCode, array(201, 301, 302, 303, 307)) && (null === $location ?: $location == $this->headers->get('Location'));
}
public function isEmpty()
{
return in_array($this->statusCode, array(201, 204, 304));
}
- public function isRedirected($location)
- {
- return $this->isRedirect() && $location == $this->headers->get('Location');
- }
protected function fixContentType()
{
if (!$this->headers->has('Content-Type')) {
@@ -2493,8 +2530,8 @@ class UniversalClassLoader
{
private $namespaces = array();
private $prefixes = array();
- private $namespaceFallback = array();
- private $prefixFallback = array();
+ private $namespaceFallbacks = array();
+ private $prefixFallbacks = array();
public function getNamespaces()
{
return $this->namespaces;
@@ -2503,21 +2540,21 @@ class UniversalClassLoader
{
return $this->prefixes;
}
- public function getNamespaceFallback()
+ public function getNamespaceFallbacks()
{
- return $this->namespaceFallback;
+ return $this->namespaceFallbacks;
}
- public function getPrefixFallback()
+ public function getPrefixFallbacks()
{
- return $this->prefixFallback;
+ return $this->prefixFallbacks;
}
- public function registerNamespaceFallback($dirs)
+ public function registerNamespaceFallbacks(array $dirs)
{
- $this->namespaceFallback = (array) $dirs;
+ $this->namespaceFallbacks = $dirs;
}
- public function registerPrefixFallback($dirs)
+ public function registerPrefixFallbacks(array $dirs)
{
- $this->prefixFallback = (array) $dirs;
+ $this->prefixFallbacks = $dirs;
}
public function registerNamespaces(array $namespaces)
{
@@ -2567,7 +2604,7 @@ class UniversalClassLoader
}
}
}
- foreach ($this->namespaceFallback as $dir) {
+ foreach ($this->namespaceFallbacks as $dir) {
$file = $dir.DIRECTORY_SEPARATOR.str_replace('\\', DIRECTORY_SEPARATOR, $class).'.php';
if (file_exists($file)) {
return $file;
@@ -2584,7 +2621,7 @@ class UniversalClassLoader
}
}
}
- foreach ($this->prefixFallback as $dir) {
+ foreach ($this->prefixFallbacks as $dir) {
$file = $dir.DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $class).'.php';
if (file_exists($file)) {
return $file;
diff --git a/app/config/config.yml b/app/config/config.yml
index bfbef74..1e20062 100644
--- a/app/config/config.yml
+++ b/app/config/config.yml
@@ -7,13 +7,7 @@ framework:
router: { resource: "%kernel.root_dir%/config/routing.yml" }
templating:
engines: [twig]
- # TODO: Remove the following configuration once the bugs are fixed
secret: uselessSecret
- validation:
- enabled: true
- session:
- lifetime: 3600
- name: BdU
## Twig Configuration
twig: ~
diff --git a/src/Sde/BduBundle b/src/Sde/BduBundle
-Subproject 16ba7224ee60bf6c26e925a53e9fa0b9a8636a4
+Subproject 95071daa401b082c5fe7876d37826e9c43eb32c
diff --git a/src/Sde/WebserviceBundle/Entity/Association.php b/src/Sde/WebserviceBundle/Entity/Association.php
index 6210008..ac275e0 100644
--- a/src/Sde/WebserviceBundle/Entity/Association.php
+++ b/src/Sde/WebserviceBundle/Entity/Association.php
@@ -18,6 +18,7 @@
namespace Sde\WebserviceBundle\Entity;
+use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
@@ -26,52 +27,52 @@ use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
*
* @author Christophe Coevoet
*
- * @orm:Table(name="bdu.bdu_assoces")
- * @orm:Entity(repositoryClass="Sde\WebserviceBundle\Repository\AssociationRepository", readOnly=true)
+ * @ORM\Table(name="bdu.bdu_assoces")
+ * @ORM\Entity(repositoryClass="Sde\WebserviceBundle\Repository\AssociationRepository", readOnly=true)
*/
class Association implements NormalizableInterface
{
/**
* @var integer
*
- * @orm:Column(name="asso_id", type="integer")
- * @orm:Id
- * @orm:GeneratedValue(strategy="AUTO")
+ * @ORM\Column(name="asso_id", type="integer")
+ * @ORM\Id
+ * @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
- * @orm:Column(name="asso_nom", type="string")
+ * @ORM\Column(name="asso_nom", type="string")
*/
private $name;
/**
* @var string
*
- * @orm:Column(name="asso_descr", type="text")
+ * @ORM\Column(name="asso_descr", type="text")
*/
private $description;
/**
* @var string
*
- * @orm:Column(name="asso_urlogo", type="string")
+ * @ORM\Column(name="asso_urlogo", type="string")
*/
private $logoUrl;
/**
* @var string
*
- * @orm:Column(name="asso_urlsite", type="string")
+ * @ORM\Column(name="asso_urlsite", type="string")
*/
private $siteUrl;
/**
* @var \Doctrine\Common\Collections\ArrayCollection
*
- * @orm:OneToMany(targetEntity="Sde\WebserviceBundle\Entity\Position", mappedBy="association")
+ * @ORM\OneToMany(targetEntity="Sde\WebserviceBundle\Entity\Position", mappedBy="association")
*/
private $positions;
diff --git a/src/Sde/WebserviceBundle/Entity/Mandate.php b/src/Sde/WebserviceBundle/Entity/Mandate.php
index 458c94b..40ced7d 100644
--- a/src/Sde/WebserviceBundle/Entity/Mandate.php
+++ b/src/Sde/WebserviceBundle/Entity/Mandate.php
@@ -18,6 +18,7 @@
namespace Sde\WebserviceBundle\Entity;
+use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
@@ -26,31 +27,31 @@ use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
*
* @author Christophe Coevoet
*
- * @orm:Table(name="bdu.bdu_ele_fonc")
- * @orm:Entity(repositoryClass="Sde\WebserviceBundle\Repository\MandateRepository", readOnly=true)
+ * @ORM\Table(name="bdu.bdu_ele_fonc")
+ * @ORM\Entity(repositoryClass="Sde\WebserviceBundle\Repository\MandateRepository", readOnly=true)
*/
class Mandate implements NormalizableInterface
{
/**
* @var integer
*
- * @orm:Column(name="id", type="integer")
- * @orm:Id
- * @orm:GeneratedValue(strategy="AUTO")
+ * @ORM\Column(name="id", type="integer")
+ * @ORM\Id
+ * @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var \DateTime
*
- * @orm:Column(name="datedeb", type="date")
+ * @ORM\Column(name="datedeb", type="date")
*/
private $start;
/**
* @var \DateTime
*
- * @orm:Column(name="datefin", type="date", nullable="true")
+ * @ORM\Column(name="datefin", type="date", nullable="true")
*/
private $end;
@@ -58,16 +59,16 @@ class Mandate implements NormalizableInterface
/**
* @var Position
*
- * @orm:ManyToOne(targetEntity="Sde\WebserviceBundle\Entity\Position", inversedBy="mandates")
- * @orm:JoinColumns({@orm:JoinColumn(name="fct_id", referencedColumnName="fct_id")})
+ * @ORM\ManyToOne(targetEntity="Sde\WebserviceBundle\Entity\Position", inversedBy="mandates")
+ * @ORM\JoinColumns({@ORM\JoinColumn(name="fct_id", referencedColumnName="fct_id")})
*/
private $position;
/**
* @var Student
*
- * @orm:ManyToOne(targetEntity="Sde\WebserviceBundle\Entity\Student", inversedBy="mandates")
- * @orm:JoinColumns({@orm:JoinColumn(name="ele_id", referencedColumnName="ele_id")})
+ * @ORM\ManyToOne(targetEntity="Sde\WebserviceBundle\Entity\Student", inversedBy="mandates")
+ * @ORM\JoinColumns({@ORM\JoinColumn(name="ele_id", referencedColumnName="ele_id")})
*/
private $student;
diff --git a/src/Sde/WebserviceBundle/Entity/Position.php b/src/Sde/WebserviceBundle/Entity/Position.php
index 7a7e996..e097f4d 100644
--- a/src/Sde/WebserviceBundle/Entity/Position.php
+++ b/src/Sde/WebserviceBundle/Entity/Position.php
@@ -18,6 +18,7 @@
namespace Sde\WebserviceBundle\Entity;
+use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
@@ -26,54 +27,54 @@ use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
*
* @author Christophe Coevoet
*
- * @orm:Table(name="bdu.bdu_fonctions")
- * @orm:Entity(readOnly=true)
+ * @ORM\Table(name="bdu.bdu_fonctions")
+ * @ORM\Entity(readOnly=true)
*/
class Position implements NormalizableInterface
{
/**
* @var integer
*
- * @orm:Column(name="fct_id", type="integer")
- * @orm:Id
- * @orm:GeneratedValue(strategy="AUTO")
+ * @ORM\Column(name="fct_id", type="integer")
+ * @ORM\Id
+ * @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
- * @orm:Column(name="fct_nom", type="string")
+ * @ORM\Column(name="fct_nom", type="string")
*/
private $name;
/**
* @var string
*
- * @orm:Column(name="fct_descr", type="text")
+ * @ORM\Column(name="fct_descr", type="text")
*/
private $description;
/**
* @var Association
*
- * @orm:ManyToOne(targetEntity="Sde\WebserviceBundle\Entity\Association", inversedBy="positions")
- * @orm:JoinColumns({@orm:JoinColumn(name="asso_id", referencedColumnName="asso_id")})
+ * @ORM\ManyToOne(targetEntity="Sde\WebserviceBundle\Entity\Association", inversedBy="positions")
+ * @ORM\JoinColumns({@ORM\JoinColumn(name="asso_id", referencedColumnName="asso_id")})
*/
private $association;
/**
* @var StandardPosition
*
- * @orm:ManyToOne(targetEntity="Sde\WebserviceBundle\Entity\StandardPosition")
- * @orm:JoinColumns({@orm:JoinColumn(name="fct_std_id", referencedColumnName="fct_std_id")})
+ * @ORM\ManyToOne(targetEntity="Sde\WebserviceBundle\Entity\StandardPosition")
+ * @ORM\JoinColumns({@ORM\JoinColumn(name="fct_std_id", referencedColumnName="fct_std_id")})
*/
private $standardPosition;
/**
* @var \Doctrine\Common\Collections\ArrayCollection
*
- * @orm:OneToMany(targetEntity="Sde\WebserviceBundle\Entity\Mandate", mappedBy="position")
+ * @ORM\OneToMany(targetEntity="Sde\WebserviceBundle\Entity\Mandate", mappedBy="position")
*/
private $mandates;
diff --git a/src/Sde/WebserviceBundle/Entity/StandardPosition.php b/src/Sde/WebserviceBundle/Entity/StandardPosition.php
index e5155b1..ba06a1b 100644
--- a/src/Sde/WebserviceBundle/Entity/StandardPosition.php
+++ b/src/Sde/WebserviceBundle/Entity/StandardPosition.php
@@ -18,6 +18,7 @@
namespace Sde\WebserviceBundle\Entity;
+use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
@@ -26,24 +27,24 @@ use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
*
* @author Christophe Coevoet
*
- * @orm:Table(name="bdu.bdu_fonctions_standard")
- * @orm:Entity(readOnly=true)
+ * @ORM\Table(name="bdu.bdu_fonctions_standard")
+ * @ORM\Entity(readOnly=true)
*/
class StandardPosition
{
/**
* @var integer $id
*
- * @orm:Column(name="fct_std_id", type="integer")
- * @orm:Id
- * @orm:GeneratedValue(strategy="AUTO")
+ * @ORM\Column(name="fct_std_id", type="integer")
+ * @ORM\Id
+ * @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string $name
*
- * @orm:Column(name="fct_std_nom", type="string")
+ * @ORM\Column(name="fct_std_nom", type="string")
*/
private $name;
diff --git a/src/Sde/WebserviceBundle/Entity/Student.php b/src/Sde/WebserviceBundle/Entity/Student.php
index 64922b3..dd2a2ad 100644
--- a/src/Sde/WebserviceBundle/Entity/Student.php
+++ b/src/Sde/WebserviceBundle/Entity/Student.php
@@ -18,6 +18,7 @@
namespace Sde\WebserviceBundle\Entity;
+use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\Collection;
use Symfony\Component\Serializer\Normalizer\NormalizableInterface;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
@@ -27,31 +28,31 @@ use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
*
* @author Christophe Coevoet
*
- * @orm:Table(name="bdu.bdu_eleves")
- * @orm:Entity(readOnly=true)
+ * @ORM\Table(name="bdu.bdu_eleves")
+ * @ORM\Entity(readOnly=true)
*/
class Student implements NormalizableInterface
{
/**
* @var integer
*
- * @orm:Column(name="ele_id", type="integer")
- * @orm:Id
- * @orm:GeneratedValue(strategy="AUTO")
+ * @ORM\Column(name="ele_id", type="integer")
+ * @ORM\Id
+ * @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
- * @orm:Column(name="ele_dn", type="string")
+ * @ORM\Column(name="ele_dn", type="string")
*/
private $dn;
/**
* @var Collection
*
- * @orm:OneToMany(targetEntity="Sde\WebserviceBundle\Entity\Mandate", mappedBy="student")
+ * @ORM\OneToMany(targetEntity="Sde\WebserviceBundle\Entity\Mandate", mappedBy="student")
*/
private $mandates;
diff --git a/src/Sde/WebserviceBundle/Repository/AssociationRepository.php b/src/Sde/WebserviceBundle/Repository/AssociationRepository.php
index edd4818..fb51529 100644
--- a/src/Sde/WebserviceBundle/Repository/AssociationRepository.php
+++ b/src/Sde/WebserviceBundle/Repository/AssociationRepository.php
@@ -36,7 +36,7 @@ class AssociationRepository extends EntityRepository
*/
public function searchByName($name)
{
- $qb = new QueryBuilder($this->_em);
+ $qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('a')
->from('Sde\WebserviceBundle\Entity\Association', 'a')
->where('a.name LIKE :name')
diff --git a/src/Sde/WebserviceBundle/Repository/MandateRepository.php b/src/Sde/WebserviceBundle/Repository/MandateRepository.php
index 21a244f..0a10718 100644
--- a/src/Sde/WebserviceBundle/Repository/MandateRepository.php
+++ b/src/Sde/WebserviceBundle/Repository/MandateRepository.php
@@ -115,7 +115,7 @@ class MandateRepository extends EntityRepository
*/
private function getBaseQuery()
{
- $qb = new QueryBuilder($this->_em);
+ $qb = $this->getEntityManager()->createQueryBuilder();
$qb->select('m, p, a, s, sp')
->from('Sde\WebserviceBundle\Entity\Mandate', 'm')
->join('m.position', 'p')
diff --git a/src/Sde/WebserviceBundle/Util/Api.php b/src/Sde/WebserviceBundle/Util/Api.php
index 07e9593..0fa8f11 100644
--- a/src/Sde/WebserviceBundle/Util/Api.php
+++ b/src/Sde/WebserviceBundle/Util/Api.php
@@ -24,20 +24,6 @@ namespace Sde\WebserviceBundle\Util;
class Api extends \Bdu_Api
{
/**
- * Renvoie l'instance de l'API
- *
- * @return Bdu_Api
- */
- public static function getInstance()
- {
- if (null === self::$instance) {
- return new self();
- }
-
- return self::$instance;
- }
-
- /**
* Get the dn from the uid of the student
*
* @param string $uid
@@ -48,11 +34,17 @@ class Api extends \Bdu_Api
return 'uid='.$uid.',ou=people,dc=campus,dc=ecp,dc=fr';
}
+ /**
+ * Get the base64-encoded photo of a student
+ *
+ * @param string $uid
+ * @return string
+ */
public function getStudentPhotoAsString($uid)
{
$photo = '';
try {
- $results = $this->getUnitOfWork()->rawSearch(sprintf('uid=%s', $uid), array ("jpegphoto"));
+ $results = $this->unitOfWork->rawSearch(sprintf('uid=%s', $uid), array ("jpegphoto"));
if ($results['count']) {
$photo = $results[0]['jpegphoto'][0];
}
diff --git a/vendor/bdu-api b/vendor/bdu-api
-Subproject e37ddce417a5ce934ed5c3afa53f2ea8ace67fa
+Subproject ab6b635365a8a49009a9c6d6e00df6c1936e809
diff --git a/vendor/doctrine b/vendor/doctrine
-Subproject 0d0d61935fa75b5bf82af98676029b3bbf11175
+Subproject a4cbb23fc8612587d1886e4c3e7d62d72457a29
diff --git a/vendor/doctrine-common b/vendor/doctrine-common
-Subproject 84eb985aca5490164f766765f5fa868bbe66faf
+Subproject 40ab808b37dcd3e9fd92800061a9b71f64469e5
diff --git a/vendor/doctrine-dbal b/vendor/doctrine-dbal
-Subproject ae833d153f77a44c3737e7760bebfc992b579cd
+Subproject 7f9f5451542b37f09b674785542e99baf732edd
diff --git a/vendor/monolog b/vendor/monolog
-Subproject 0ebdf69daad51c0034efcaeffbab2d573f1a0ed
+Subproject 53c9b2050f3da67a1eb2e1f920bc934b60c742f
diff --git a/vendor/symfony b/vendor/symfony
-Subproject f3b077a0dda43b2275debbda85a018b94ff89ae
+Subproject a98436fd6a7dfd34dbc3d83eb5b7fac7845fcb9
diff --git a/vendor/twig b/vendor/twig
-Subproject 17f814223be3823879700e902fb475b7890ad53
+Subproject 7e457209f8c69865ac2bc8b86c24518cded0dd0
diff --git a/web/app.php b/web/app.php
index e2620f8..4290008 100644
--- a/web/app.php
+++ b/web/app.php
@@ -6,4 +6,5 @@ require_once __DIR__.'/../app/AppKernel.php';
use Symfony\Component\HttpFoundation\Request;
$kernel = new AppKernel('prod', false);
+$kernel->loadClassCache();
$kernel->handle(Request::createFromGlobals())->send();
diff --git a/web/app_dev.php b/web/app_dev.php
index 5c97553..74a0d11 100644
--- a/web/app_dev.php
+++ b/web/app_dev.php
@@ -6,4 +6,5 @@ require_once __DIR__.'/../app/AppKernel.php';
use Symfony\Component\HttpFoundation\Request;
$kernel = new AppKernel('dev', true);
+$kernel->loadClassCache();
$kernel->handle(Request::createFromGlobals())->send();