diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a2f75d6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,32 @@ +# Bootstrap +app/bootstrap* +app/SymfonyRequirements.php + +# Symfony directories +vendor/ +app/logs/ +app/cache/ +web/uploads/ +web/bundles/ + +# Configuration files +app/config/parameters.ini + +# Composer related files +vendor/composer/installed.json + +# Assetic-generated .js and .css files +web/js/ +web/css/ + +# Project's upload directory +web/upload/ + +# Spool directory +spool/ + +# Backup files +*~ + +#NetBeans private files +/nbproject/private/ diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 8af9e2a..0000000 --- a/.gitmodules +++ /dev/null @@ -1,45 +0,0 @@ -[submodule "vendor/symfony"] - path = vendor/symfony - url = http://github.com/symfony/symfony.git -[submodule "vendor/twig"] - path = vendor/twig - url = http://github.com/fabpot/Twig.git -[submodule "vendor/monolog"] - path = vendor/monolog - url = http://github.com/Seldaek/monolog.git -[submodule "vendor/doctrine-common"] - path = vendor/doctrine-common - url = http://github.com/doctrine/common.git -[submodule "vendor/doctrine-dbal"] - path = vendor/doctrine-dbal - url = http://github.com/doctrine/dbal.git -[submodule "vendor/doctrine"] - path = vendor/doctrine - url = http://github.com/doctrine/doctrine2.git -[submodule "vendor/swiftmailer"] - path = vendor/swiftmailer - url = http://github.com/swiftmailer/swiftmailer.git -[submodule "vendor/assetic"] - path = vendor/assetic - url = http://github.com/kriswallsmith/assetic.git -[submodule "vendor/twig-extensions"] - path = vendor/twig-extensions - url = http://github.com/fabpot/Twig-extensions.git -[submodule "vendor/metadata"] - path = vendor/metadata - url = http://github.com/schmittjoh/metadata.git -[submodule "vendor/bundles/Sensio/Bundle/FrameworkExtraBundle"] - path = vendor/bundles/Sensio/Bundle/FrameworkExtraBundle - url = http://github.com/sensio/SensioFrameworkExtraBundle.git -[submodule "vendor/bundles/JMS/SecurityExtraBundle"] - path = vendor/bundles/JMS/SecurityExtraBundle - url = http://github.com/schmittjoh/JMSSecurityExtraBundle.git -[submodule "vendor/bundles/Sensio/Bundle/DistributionBundle"] - path = vendor/bundles/Sensio/Bundle/DistributionBundle - url = http://github.com/sensio/SensioDistributionBundle.git -[submodule "vendor/bundles/Sensio/Bundle/GeneratorBundle"] - path = vendor/bundles/Sensio/Bundle/GeneratorBundle - url = http://github.com/sensio/SensioGeneratorBundle.git -[submodule "vendor/bundles/Symfony/Bundle/AsseticBundle"] - path = vendor/bundles/Symfony/Bundle/AsseticBundle - url = http://github.com/symfony/AsseticBundle.git diff --git a/app/AppKernel.php b/app/AppKernel.php index 01bd8ab..3276cff 100644 --- a/app/AppKernel.php +++ b/app/AppKernel.php @@ -13,12 +13,15 @@ class AppKernel extends Kernel new Symfony\Bundle\TwigBundle\TwigBundle(), new Symfony\Bundle\MonologBundle\MonologBundle(), new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), - new Symfony\Bundle\DoctrineBundle\DoctrineBundle(), new Symfony\Bundle\AsseticBundle\AsseticBundle(), + new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), + new JMS\AopBundle\JMSAopBundle(), + new JMS\DiExtraBundle\JMSDiExtraBundle($this), new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(), - new OpenScrum\InfoBundle\OpenScrumInfoBundle(), + // Project bundles new OpenScrum\UserBundle\OpenScrumUserBundle(), + new OpenScrum\InfoBundle\OpenScrumInfoBundle(), ); if (in_array($this->getEnvironment(), array('dev', 'test'))) { diff --git a/app/autoload.php b/app/autoload.php index 64ba187..a68e37f 100644 --- a/app/autoload.php +++ b/app/autoload.php @@ -1,45 +1,16 @@ registerNamespaces(array( - 'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'), - 'Sensio' => __DIR__.'/../vendor/bundles', - 'JMS' => __DIR__.'/../vendor/bundles', - 'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib', - 'Doctrine\\DBAL' => __DIR__.'/../vendor/doctrine-dbal/lib', - 'Doctrine' => __DIR__.'/../vendor/doctrine/lib', - 'Monolog' => __DIR__.'/../vendor/monolog/src', - 'Assetic' => __DIR__.'/../vendor/assetic/src', - 'Metadata' => __DIR__.'/../vendor/metadata/src', -)); -$loader->registerPrefixes(array( - 'Twig_Extensions_' => __DIR__.'/../vendor/twig-extensions/lib', - 'Twig_' => __DIR__.'/../vendor/twig/lib', -)); +$loader = require __DIR__.'/../vendor/autoload.php'; // intl if (!function_exists('intl_get_error_code')) { - require_once __DIR__.'/../vendor/symfony/src/Symfony/Component/Locale/Resources/stubs/functions.php'; + require_once __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs/functions.php'; - $loader->registerPrefixFallbacks(array(__DIR__.'/../vendor/symfony/src/Symfony/Component/Locale/Resources/stubs')); + $loader->add('', __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs'); } -$loader->registerNamespaceFallbacks(array( - __DIR__.'/../src', -)); -$loader->register(); - -AnnotationRegistry::registerLoader(function($class) use ($loader) { - $loader->loadClass($class); - return class_exists($class, false); -}); -AnnotationRegistry::registerFile(__DIR__.'/../vendor/doctrine/lib/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php'); - -// Swiftmailer needs a special autoloader to allow -// the lazy loading of the init file (which is expensive) -require_once __DIR__.'/../vendor/swiftmailer/lib/classes/Swift.php'; -Swift::registerAutoload(__DIR__.'/../vendor/swiftmailer/lib/swift_init.php'); +AnnotationRegistry::registerLoader(array($loader, 'loadClass')); +return $loader; diff --git a/app/bootstrap.php.cache b/app/bootstrap.php.cache deleted file mode 100644 index 0a056b1..0000000 --- a/app/bootstrap.php.cache +++ /dev/null @@ -1,1497 +0,0 @@ -parameterBag = null === $parameterBag ? new ParameterBag() : $parameterBag; - - $this->services = array(); - $this->scopes = array(); - $this->scopeChildren = array(); - $this->scopedServices = array(); - $this->scopeStacks = array(); - - $this->set('service_container', $this); - } - - - public function compile() - { - $this->parameterBag->resolve(); - - $this->parameterBag = new FrozenParameterBag($this->parameterBag->all()); - } - - - public function isFrozen() - { - return $this->parameterBag instanceof FrozenParameterBag; - } - - - public function getParameterBag() - { - return $this->parameterBag; - } - - - public function getParameter($name) - { - return $this->parameterBag->get($name); - } - - - public function hasParameter($name) - { - return $this->parameterBag->has($name); - } - - - public function setParameter($name, $value) - { - $this->parameterBag->set($name, $value); - } - - - public function set($id, $service, $scope = self::SCOPE_CONTAINER) - { - if (self::SCOPE_PROTOTYPE === $scope) { - throw new \InvalidArgumentException('You cannot set services of scope "prototype".'); - } - - $id = strtolower($id); - - if (self::SCOPE_CONTAINER !== $scope) { - if (!isset($this->scopedServices[$scope])) { - throw new \RuntimeException('You cannot set services of inactive scopes.'); - } - - $this->scopedServices[$scope][$id] = $service; - } - - $this->services[$id] = $service; - } - - - public function has($id) - { - $id = strtolower($id); - - return isset($this->services[$id]) || method_exists($this, 'get'.strtr($id, array('_' => '', '.' => '_')).'Service'); - } - - - public function get($id, $invalidBehavior = self::EXCEPTION_ON_INVALID_REFERENCE) - { - $id = strtolower($id); - - if (isset($this->services[$id])) { - return $this->services[$id]; - } - - if (isset($this->loading[$id])) { - throw new ServiceCircularReferenceException($id, array_keys($this->loading)); - } - - if (method_exists($this, $method = 'get'.strtr($id, array('_' => '', '.' => '_')).'Service')) { - $this->loading[$id] = true; - - try { - $service = $this->$method(); - } catch (\Exception $e) { - unset($this->loading[$id]); - throw $e; - } - - unset($this->loading[$id]); - - return $service; - } - - if (self::EXCEPTION_ON_INVALID_REFERENCE === $invalidBehavior) { - throw new ServiceNotFoundException($id); - } - } - - - public function getServiceIds() - { - $ids = array(); - $r = new \ReflectionClass($this); - foreach ($r->getMethods() as $method) { - if (preg_match('/^get(.+)Service$/', $method->getName(), $match)) { - $ids[] = self::underscore($match[1]); - } - } - - return array_unique(array_merge($ids, array_keys($this->services))); - } - - - public function enterScope($name) - { - if (!isset($this->scopes[$name])) { - throw new \InvalidArgumentException(sprintf('The scope "%s" does not exist.', $name)); - } - - if (self::SCOPE_CONTAINER !== $this->scopes[$name] && !isset($this->scopedServices[$this->scopes[$name]])) { - throw new \RuntimeException(sprintf('The parent scope "%s" must be active when entering this scope.', $this->scopes[$name])); - } - - if (isset($this->scopedServices[$name])) { - $services = array($this->services, $name => $this->scopedServices[$name]); - unset($this->scopedServices[$name]); - - foreach ($this->scopeChildren[$name] as $child) { - $services[$child] = $this->scopedServices[$child]; - unset($this->scopedServices[$child]); - } - - $this->services = call_user_func_array('array_diff_key', $services); - array_shift($services); - - if (!isset($this->scopeStacks[$name])) { - $this->scopeStacks[$name] = new \SplStack(); - } - $this->scopeStacks[$name]->push($services); - } - - $this->scopedServices[$name] = array(); - } - - - public function leaveScope($name) - { - if (!isset($this->scopedServices[$name])) { - throw new \InvalidArgumentException(sprintf('The scope "%s" is not active.', $name)); - } - - $services = array($this->services, $this->scopedServices[$name]); - unset($this->scopedServices[$name]); - foreach ($this->scopeChildren[$name] as $child) { - if (!isset($this->scopedServices[$child])) { - continue; - } - - $services[] = $this->scopedServices[$child]; - unset($this->scopedServices[$child]); - } - $this->services = call_user_func_array('array_diff_key', $services); - - if (isset($this->scopeStacks[$name]) && count($this->scopeStacks[$name]) > 0) { - $services = $this->scopeStacks[$name]->pop(); - $this->scopedServices += $services; - - array_unshift($services, $this->services); - $this->services = call_user_func_array('array_merge', $services); - } - } - - - public function addScope(ScopeInterface $scope) - { - $name = $scope->getName(); - $parentScope = $scope->getParentName(); - - if (self::SCOPE_CONTAINER === $name || self::SCOPE_PROTOTYPE === $name) { - throw new \InvalidArgumentException(sprintf('The scope "%s" is reserved.', $name)); - } - if (isset($this->scopes[$name])) { - throw new \InvalidArgumentException(sprintf('A scope with name "%s" already exists.', $name)); - } - if (self::SCOPE_CONTAINER !== $parentScope && !isset($this->scopes[$parentScope])) { - throw new \InvalidArgumentException(sprintf('The parent scope "%s" does not exist, or is invalid.', $parentScope)); - } - - $this->scopes[$name] = $parentScope; - $this->scopeChildren[$name] = array(); - - while ($parentScope !== self::SCOPE_CONTAINER) { - $this->scopeChildren[$parentScope][] = $name; - $parentScope = $this->scopes[$parentScope]; - } - } - - - public function hasScope($name) - { - return isset($this->scopes[$name]); - } - - - public function isScopeActive($name) - { - return isset($this->scopedServices[$name]); - } - - - static public function camelize($id) - { - return preg_replace_callback('/(^|_|\.)+(.)/', function ($match) { return ('.' === $match[1] ? '_' : '').strtoupper($match[2]); }, $id); - } - - - static public function underscore($id) - { - return strtolower(preg_replace(array('/([A-Z]+)([A-Z][a-z])/', '/([a-z\d])([A-Z])/'), array('\\1_\\2', '\\1_\\2'), strtr($id, '_', '.'))); - } -} -} - - - - -namespace Symfony\Component\HttpKernel -{ - -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpFoundation\Response; - - -interface HttpKernelInterface -{ - const MASTER_REQUEST = 1; - const SUB_REQUEST = 2; - - - function handle(Request $request, $type = self::MASTER_REQUEST, $catch = true); -} -} - - - - -namespace Symfony\Component\HttpKernel -{ - -use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\HttpKernel\HttpKernelInterface; -use Symfony\Component\HttpKernel\Bundle\BundleInterface; -use Symfony\Component\Config\Loader\LoaderInterface; - - -interface KernelInterface extends HttpKernelInterface, \Serializable -{ - - function registerBundles(); - - - function registerContainerConfiguration(LoaderInterface $loader); - - - function boot(); - - - function shutdown(); - - - function getBundles(); - - - function isClassInActiveBundle($class); - - - function getBundle($name, $first = true); - - - function locateResource($name, $dir = null, $first = true); - - - function getName(); - - - function getEnvironment(); - - - function isDebug(); - - - function getRootDir(); - - - function getContainer(); - - - function getStartTime(); - - - function getCacheDir(); - - - function getLogDir(); -} -} - - - - -namespace Symfony\Component\HttpKernel -{ - -use Symfony\Component\DependencyInjection\ContainerInterface; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Dumper\PhpDumper; -use Symfony\Component\DependencyInjection\ParameterBag\ParameterBag; -use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; -use Symfony\Component\DependencyInjection\Loader\YamlFileLoader; -use Symfony\Component\DependencyInjection\Loader\IniFileLoader; -use Symfony\Component\DependencyInjection\Loader\PhpFileLoader; -use Symfony\Component\DependencyInjection\Loader\ClosureLoader; -use Symfony\Component\HttpFoundation\Request; -use Symfony\Component\HttpKernel\HttpKernelInterface; -use Symfony\Component\HttpKernel\Bundle\BundleInterface; -use Symfony\Component\HttpKernel\Config\FileLocator; -use Symfony\Component\HttpKernel\DependencyInjection\MergeExtensionConfigurationPass; -use Symfony\Component\HttpKernel\DependencyInjection\AddClassesToCachePass; -use Symfony\Component\HttpKernel\DependencyInjection\Extension as DIExtension; -use Symfony\Component\HttpKernel\Debug\ErrorHandler; -use Symfony\Component\HttpKernel\Debug\ExceptionHandler; -use Symfony\Component\Config\Loader\LoaderResolver; -use Symfony\Component\Config\Loader\DelegatingLoader; -use Symfony\Component\Config\ConfigCache; -use Symfony\Component\ClassLoader\ClassCollectionLoader; -use Symfony\Component\ClassLoader\DebugUniversalClassLoader; - - -abstract class Kernel implements KernelInterface -{ - protected $bundles; - protected $bundleMap; - protected $container; - protected $rootDir; - protected $environment; - protected $debug; - protected $booted; - protected $name; - protected $startTime; - protected $classes; - - const VERSION = '2.0.12'; - - - public function __construct($environment, $debug) - { - $this->environment = $environment; - $this->debug = (Boolean) $debug; - $this->booted = false; - $this->rootDir = $this->getRootDir(); - $this->name = preg_replace('/[^a-zA-Z0-9_]+/', '', basename($this->rootDir)); - $this->classes = array(); - - if ($this->debug) { - $this->startTime = microtime(true); - } - - $this->init(); - } - - 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 __clone() - { - if ($this->debug) { - $this->startTime = microtime(true); - } - - $this->booted = false; - $this->container = null; - } - - - public function boot() - { - if (true === $this->booted) { - return; - } - - $this->initializeBundles(); - - $this->initializeContainer(); - - foreach ($this->getBundles() as $bundle) { - $bundle->setContainer($this->container); - $bundle->boot(); - } - - $this->booted = true; - } - - - public function shutdown() - { - if (false === $this->booted) { - return; - } - - $this->booted = false; - - foreach ($this->getBundles() as $bundle) { - $bundle->shutdown(); - $bundle->setContainer(null); - } - - $this->container = null; - } - - - public function handle(Request $request, $type = HttpKernelInterface::MASTER_REQUEST, $catch = true) - { - if (false === $this->booted) { - $this->boot(); - } - - return $this->getHttpKernel()->handle($request, $type, $catch); - } - - - protected function getHttpKernel() - { - return $this->container->get('http_kernel'); - } - - - public function getBundles() - { - return $this->bundles; - } - - - public function isClassInActiveBundle($class) - { - foreach ($this->getBundles() as $bundle) { - if (0 === strpos($class, $bundle->getNamespace())) { - return true; - } - } - - return false; - } - - - public function getBundle($name, $first = true) - { - if (!isset($this->bundleMap[$name])) { - throw new \InvalidArgumentException(sprintf('Bundle "%s" does not exist or it is not enabled. Maybe you forgot to add it in the registerBundles() function of your %s.php file?', $name, get_class($this))); - } - - if (true === $first) { - return $this->bundleMap[$name][0]; - } - - return $this->bundleMap[$name]; - } - - - public function locateResource($name, $dir = null, $first = true) - { - if ('@' !== $name[0]) { - throw new \InvalidArgumentException(sprintf('A resource name must start with @ ("%s" given).', $name)); - } - - if (false !== strpos($name, '..')) { - throw new \RuntimeException(sprintf('File name "%s" contains invalid characters (..).', $name)); - } - - $bundleName = substr($name, 1); - $path = ''; - if (false !== strpos($bundleName, '/')) { - list($bundleName, $path) = explode('/', $bundleName, 2); - } - - $isResource = 0 === strpos($path, 'Resources') && null !== $dir; - $overridePath = substr($path, 9); - $resourceBundle = null; - $bundles = $this->getBundle($bundleName, false); - $files = array(); - - foreach ($bundles as $bundle) { - if ($isResource && file_exists($file = $dir.'/'.$bundle->getName().$overridePath)) { - if (null !== $resourceBundle) { - throw new \RuntimeException(sprintf('"%s" resource is hidden by a resource from the "%s" derived bundle. Create a "%s" file to override the bundle resource.', - $file, - $resourceBundle, - $dir.'/'.$bundles[0]->getName().$overridePath - )); - } - - if ($first) { - return $file; - } - $files[] = $file; - } - - if (file_exists($file = $bundle->getPath().'/'.$path)) { - if ($first && !$isResource) { - return $file; - } - $files[] = $file; - $resourceBundle = $bundle->getName(); - } - } - - if (count($files) > 0) { - return $first && $isResource ? $files[0] : $files; - } - - throw new \InvalidArgumentException(sprintf('Unable to find file "%s".', $name)); - } - - - public function getName() - { - return $this->name; - } - - - public function getEnvironment() - { - return $this->environment; - } - - - public function isDebug() - { - return $this->debug; - } - - - public function getRootDir() - { - if (null === $this->rootDir) { - $r = new \ReflectionObject($this); - $this->rootDir = dirname($r->getFileName()); - } - - return $this->rootDir; - } - - - public function getContainer() - { - return $this->container; - } - - - public function loadClassCache($name = 'classes', $extension = '.php') - { - if (!$this->booted && file_exists($this->getCacheDir().'/classes.map')) { - ClassCollectionLoader::load(include($this->getCacheDir().'/classes.map'), $this->getCacheDir(), $name, $this->debug, false, $extension); - } - } - - - public function setClassCache(array $classes) - { - file_put_contents($this->getCacheDir().'/classes.map', sprintf('debug ? $this->startTime : -INF; - } - - - public function getCacheDir() - { - return $this->rootDir.'/cache/'.$this->environment; - } - - - public function getLogDir() - { - return $this->rootDir.'/logs'; - } - - - protected function initializeBundles() - { - $this->bundles = array(); - $topMostBundles = array(); - $directChildren = array(); - - foreach ($this->registerBundles() as $bundle) { - $name = $bundle->getName(); - if (isset($this->bundles[$name])) { - throw new \LogicException(sprintf('Trying to register two bundles with the same name "%s"', $name)); - } - $this->bundles[$name] = $bundle; - - if ($parentName = $bundle->getParent()) { - if (isset($directChildren[$parentName])) { - throw new \LogicException(sprintf('Bundle "%s" is directly extended by two bundles "%s" and "%s".', $parentName, $name, $directChildren[$parentName])); - } - if ($parentName == $name) { - throw new \LogicException(sprintf('Bundle "%s" can not extend itself.', $name)); - } - $directChildren[$parentName] = $name; - } else { - $topMostBundles[$name] = $bundle; - } - } - - if (count($diff = array_values(array_diff(array_keys($directChildren), array_keys($this->bundles))))) { - throw new \LogicException(sprintf('Bundle "%s" extends bundle "%s", which is not registered.', $directChildren[$diff[0]], $diff[0])); - } - - $this->bundleMap = array(); - foreach ($topMostBundles as $name => $bundle) { - $bundleMap = array($bundle); - $hierarchy = array($name); - - while (isset($directChildren[$name])) { - $name = $directChildren[$name]; - array_unshift($bundleMap, $this->bundles[$name]); - $hierarchy[] = $name; - } - - foreach ($hierarchy as $bundle) { - $this->bundleMap[$bundle] = $bundleMap; - array_pop($bundleMap); - } - } - - } - - - protected function getContainerClass() - { - return $this->name.ucfirst($this->environment).($this->debug ? 'Debug' : '').'ProjectContainer'; - } - - - protected function getContainerBaseClass() - { - return 'Container'; - } - - - protected function initializeContainer() - { - $class = $this->getContainerClass(); - $cache = new ConfigCache($this->getCacheDir().'/'.$class.'.php', $this->debug); - $fresh = true; - if (!$cache->isFresh()) { - $container = $this->buildContainer(); - $this->dumpContainer($cache, $container, $class, $this->getContainerBaseClass()); - - $fresh = false; - } - - require_once $cache; - - $this->container = new $class(); - $this->container->set('kernel', $this); - - if (!$fresh && $this->container->has('cache_warmer')) { - $this->container->get('cache_warmer')->warmUp($this->container->getParameter('kernel.cache_dir')); - } - } - - - protected function getKernelParameters() - { - $bundles = array(); - foreach ($this->bundles as $name => $bundle) { - $bundles[$name] = get_class($bundle); - } - - return array_merge( - array( - 'kernel.root_dir' => $this->rootDir, - 'kernel.environment' => $this->environment, - 'kernel.debug' => $this->debug, - 'kernel.name' => $this->name, - 'kernel.cache_dir' => $this->getCacheDir(), - 'kernel.logs_dir' => $this->getLogDir(), - 'kernel.bundles' => $bundles, - 'kernel.charset' => 'UTF-8', - 'kernel.container_class' => $this->getContainerClass(), - ), - $this->getEnvParameters() - ); - } - - - protected function getEnvParameters() - { - $parameters = array(); - foreach ($_SERVER as $key => $value) { - if (0 === strpos($key, 'SYMFONY__')) { - $parameters[strtolower(str_replace('__', '.', substr($key, 9)))] = $value; - } - } - - return $parameters; - } - - - 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, $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) { - $bundle->build($container); - - if ($extension = $bundle->getContainerExtension()) { - $container->registerExtension($extension); - $extensions[] = $extension->getAlias(); - } - - if ($this->debug) { - $container->addObjectResource($bundle); - } - } - $container->addObjectResource($this); - - $container->getCompilerPassConfig()->setMergePass(new MergeExtensionConfigurationPass($extensions)); - - if (null !== $cont = $this->registerContainerConfiguration($this->getContainerLoader($container))) { - $container->merge($cont); - } - - $container->addCompilerPass(new AddClassesToCachePass($this)); - $container->compile(); - - return $container; - } - - - protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container, $class, $baseClass) - { - $dumper = new PhpDumper($container); - $content = $dumper->dump(array('class' => $class, 'base_class' => $baseClass)); - if (!$this->debug) { - $content = self::stripComments($content); - } - - $cache->write($content, $container->getResources()); - } - - - protected function getContainerLoader(ContainerInterface $container) - { - $locator = new FileLocator($this); - $resolver = new LoaderResolver(array( - new XmlFileLoader($container, $locator), - new YamlFileLoader($container, $locator), - new IniFileLoader($container, $locator), - new PhpFileLoader($container, $locator), - new ClosureLoader($container), - )); - - return new DelegatingLoader($resolver); - } - - - static public function stripComments($source) - { - if (!function_exists('token_get_all')) { - return $source; - } - - $output = ''; - foreach (token_get_all($source) as $token) { - if (is_string($token)) { - $output .= $token; - } elseif (!in_array($token[0], array(T_COMMENT, T_DOC_COMMENT))) { - $output .= $token[1]; - } - } - - $output = preg_replace(array('/\s+$/Sm', '/\n+/S'), "\n", $output); - - return $output; - } - - public function serialize() - { - return serialize(array($this->environment, $this->debug)); - } - - public function unserialize($data) - { - list($environment, $debug) = unserialize($data); - - $this->__construct($environment, $debug); - } -} -} - - - - -namespace Symfony\Component\ClassLoader -{ - - -class ClassCollectionLoader -{ - static private $loaded; - - - static public function load($classes, $cacheDir, $name, $autoReload, $adaptive = false, $extension = '.php') - { - if (isset(self::$loaded[$name])) { - return; - } - - self::$loaded[$name] = true; - - if ($adaptive) { - $classes = array_diff($classes, get_declared_classes(), get_declared_interfaces()); - - $name = $name.'-'.substr(md5(implode('|', $classes)), 0, 5); - } - - $cache = $cacheDir.'/'.$name.$extension; - - $reload = false; - if ($autoReload) { - $metadata = $cacheDir.'/'.$name.$extension.'.meta'; - if (!file_exists($metadata) || !file_exists($cache)) { - $reload = true; - } else { - $time = filemtime($cache); - $meta = unserialize(file_get_contents($metadata)); - - if ($meta[1] != $classes) { - $reload = true; - } else { - foreach ($meta[0] as $resource) { - if (!file_exists($resource) || filemtime($resource) > $time) { - $reload = true; - - break; - } - } - } - } - } - - if (!$reload && file_exists($cache)) { - require_once $cache; - - return; - } - - $files = array(); - $content = ''; - foreach ($classes as $class) { - if (!class_exists($class) && !interface_exists($class) && (!function_exists('trait_exists') || !trait_exists($class))) { - throw new \InvalidArgumentException(sprintf('Unable to load class "%s"', $class)); - } - - $r = new \ReflectionClass($class); - $files[] = $r->getFileName(); - - $c = preg_replace(array('/^\s*<\?php/', '/\?>\s*$/'), '', file_get_contents($r->getFileName())); - - if (!$r->inNamespace()) { - $c = "\nnamespace\n{\n".self::stripComments($c)."\n}\n"; - } else { - $c = self::fixNamespaceDeclarations('namespaces; - } - - - public function getPrefixes() - { - return $this->prefixes; - } - - - public function getNamespaceFallbacks() - { - return $this->namespaceFallbacks; - } - - - public function getPrefixFallbacks() - { - return $this->prefixFallbacks; - } - - - public function registerNamespaceFallbacks(array $dirs) - { - $this->namespaceFallbacks = $dirs; - } - - - public function registerPrefixFallbacks(array $dirs) - { - $this->prefixFallbacks = $dirs; - } - - - public function registerNamespaces(array $namespaces) - { - foreach ($namespaces as $namespace => $locations) { - $this->namespaces[$namespace] = (array) $locations; - } - } - - - public function registerNamespace($namespace, $paths) - { - $this->namespaces[$namespace] = (array) $paths; - } - - - public function registerPrefixes(array $classes) - { - foreach ($classes as $prefix => $locations) { - $this->prefixes[$prefix] = (array) $locations; - } - } - - - public function registerPrefix($prefix, $paths) - { - $this->prefixes[$prefix] = (array) $paths; - } - - - public function register($prepend = false) - { - spl_autoload_register(array($this, 'loadClass'), true, $prepend); - } - - - public function loadClass($class) - { - if ($file = $this->findFile($class)) { - require $file; - } - } - - - public function findFile($class) - { - if ('\\' == $class[0]) { - $class = substr($class, 1); - } - - if (false !== $pos = strrpos($class, '\\')) { - $namespace = substr($class, 0, $pos); - foreach ($this->namespaces as $ns => $dirs) { - if (0 !== strpos($namespace, $ns)) { - continue; - } - - foreach ($dirs as $dir) { - $className = substr($class, $pos + 1); - $file = $dir.DIRECTORY_SEPARATOR.str_replace('\\', DIRECTORY_SEPARATOR, $namespace).DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $className).'.php'; - if (file_exists($file)) { - return $file; - } - } - } - - foreach ($this->namespaceFallbacks as $dir) { - $file = $dir.DIRECTORY_SEPARATOR.str_replace('\\', DIRECTORY_SEPARATOR, $class).'.php'; - if (file_exists($file)) { - return $file; - } - } - } else { - foreach ($this->prefixes as $prefix => $dirs) { - if (0 !== strpos($class, $prefix)) { - continue; - } - - foreach ($dirs as $dir) { - $file = $dir.DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $class).'.php'; - if (file_exists($file)) { - return $file; - } - } - } - - foreach ($this->prefixFallbacks as $dir) { - $file = $dir.DIRECTORY_SEPARATOR.str_replace('_', DIRECTORY_SEPARATOR, $class).'.php'; - if (file_exists($file)) { - return $file; - } - } - } - } -} -} - - - - -namespace Symfony\Component\HttpKernel\Bundle -{ - -use Symfony\Component\DependencyInjection\ContainerAware; -use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Container; -use Symfony\Component\Console\Application; -use Symfony\Component\Finder\Finder; - - -abstract class Bundle extends ContainerAware implements BundleInterface -{ - protected $name; - protected $reflected; - protected $extension; - - - public function boot() - { - } - - - public function shutdown() - { - } - - - public function build(ContainerBuilder $container) - { - } - - - public function getContainerExtension() - { - if (null === $this->extension) { - $basename = preg_replace('/Bundle$/', '', $this->getName()); - - $class = $this->getNamespace().'\\DependencyInjection\\'.$basename.'Extension'; - if (class_exists($class)) { - $extension = new $class(); - - $expectedAlias = Container::underscore($basename); - if ($expectedAlias != $extension->getAlias()) { - throw new \LogicException(sprintf( - 'The extension alias for the default extension of a '. - 'bundle must be the underscored version of the '. - 'bundle name ("%s" instead of "%s")', - $expectedAlias, $extension->getAlias() - )); - } - - $this->extension = $extension; - } else { - $this->extension = false; - } - } - - if ($this->extension) { - return $this->extension; - } - } - - - public function getNamespace() - { - if (null === $this->reflected) { - $this->reflected = new \ReflectionObject($this); - } - - return $this->reflected->getNamespaceName(); - } - - - public function getPath() - { - if (null === $this->reflected) { - $this->reflected = new \ReflectionObject($this); - } - - return dirname($this->reflected->getFileName()); - } - - - public function getParent() - { - return null; - } - - - final public function getName() - { - if (null !== $this->name) { - return $this->name; - } - - $name = get_class($this); - $pos = strrpos($name, '\\'); - - return $this->name = false === $pos ? $name : substr($name, $pos + 1); - } - - - public function registerCommands(Application $application) - { - if (!$dir = realpath($this->getPath().'/Command')) { - return; - } - - $finder = new Finder(); - $finder->files()->name('*Command.php')->in($dir); - - $prefix = $this->getNamespace().'\\Command'; - foreach ($finder as $file) { - $ns = $prefix; - if ($relativePath = $file->getRelativePath()) { - $ns .= '\\'.strtr($relativePath, '/', '\\'); - } - $r = new \ReflectionClass($ns.'\\'.$file->getBasename('.php')); - if ($r->isSubclassOf('Symfony\\Component\\Console\\Command\\Command') && !$r->isAbstract()) { - $application->add($r->newInstance()); - } - } - } -} -} - - - - -namespace Symfony\Component\HttpKernel\Bundle -{ - -use Symfony\Component\DependencyInjection\ContainerBuilder; - - -interface BundleInterface -{ - - function boot(); - - - function shutdown(); - - - function build(ContainerBuilder $container); - - - function getContainerExtension(); - - - function getParent(); - - - function getName(); - - - function getNamespace(); - - - function getPath(); -} -} - - - - -namespace Symfony\Component\Config -{ - - -class ConfigCache -{ - private $debug; - private $file; - - - public function __construct($file, $debug) - { - $this->file = $file; - $this->debug = (Boolean) $debug; - } - - - public function __toString() - { - return $this->file; - } - - - public function isFresh() - { - if (!file_exists($this->file)) { - return false; - } - - if (!$this->debug) { - return true; - } - - $metadata = $this->file.'.meta'; - if (!file_exists($metadata)) { - return false; - } - - $time = filemtime($this->file); - $meta = unserialize(file_get_contents($metadata)); - foreach ($meta as $resource) { - if (!$resource->isFresh($time)) { - return false; - } - } - - return true; - } - - - public function write($content, array $metadata = null) - { - $dir = dirname($this->file); - if (!is_dir($dir)) { - if (false === @mkdir($dir, 0777, true)) { - throw new \RuntimeException(sprintf('Unable to create the %s directory', $dir)); - } - } elseif (!is_writable($dir)) { - throw new \RuntimeException(sprintf('Unable to write in the %s directory', $dir)); - } - - $tmpFile = tempnam(dirname($this->file), basename($this->file)); - if (false !== @file_put_contents($tmpFile, $content) && @rename($tmpFile, $this->file)) { - chmod($this->file, 0666); - } else { - throw new \RuntimeException(sprintf('Failed to write cache file "%s".', $this->file)); - } - - if (null !== $metadata && true === $this->debug) { - $file = $this->file.'.meta'; - $tmpFile = tempnam(dirname($file), basename($file)); - if (false !== @file_put_contents($tmpFile, serialize($metadata)) && @rename($tmpFile, $file)) { - chmod($file, 0666); - } - } - } -} -} diff --git a/app/cache/.gitignore b/app/cache/.gitignore deleted file mode 100644 index d6b7ef3..0000000 --- a/app/cache/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -* -!.gitignore diff --git a/app/check.php b/app/check.php index 9481c07..daa6d0a 100644 --- a/app/check.php +++ b/app/check.php @@ -1,104 +1,51 @@ getPhpIniConfigPath(); echo "********************************\n"; echo "* *\n"; echo "* Symfony requirements check *\n"; echo "* *\n"; echo "********************************\n\n"; -echo sprintf("php.ini used by PHP: %s\n\n", $iniPath); -echo "** WARNING **\n"; +echo $iniPath ? sprintf("* Configuration file used by PHP: %s\n\n", $iniPath) : "* WARNING: No configuration file (php.ini) used by PHP!\n\n"; + +echo "** ATTENTION **\n"; echo "* The PHP CLI can use a different php.ini file\n"; echo "* than the one used with your web server.\n"; if ('\\' == DIRECTORY_SEPARATOR) { echo "* (especially on the Windows platform)\n"; } -echo "* If this is the case, please ALSO launch this\n"; -echo "* utility from your web server.\n"; -echo "** WARNING **\n"; +echo "* To be on the safe side, please also launch the requirements check\n"; +echo "* from your web server using the web/config.php script.\n"; -// mandatory -echo_title("Mandatory requirements"); -check(version_compare(phpversion(), '5.3.2', '>='), sprintf('Checking that PHP version is at least 5.3.2 (%s installed)', phpversion()), 'Install PHP 5.3.2 or newer (current version is '.phpversion(), true); -check(ini_get('date.timezone'), 'Checking that the "date.timezone" setting is set', 'Set the "date.timezone" setting in php.ini (like Europe/Paris)', true); -check(is_writable(__DIR__.'/../app/cache'), sprintf('Checking that app/cache/ directory is writable'), 'Change the permissions of the app/cache/ directory so that the web server can write in it', true); -check(is_writable(__DIR__.'/../app/logs'), sprintf('Checking that the app/logs/ directory is writable'), 'Change the permissions of the app/logs/ directory so that the web server can write in it', true); -check(function_exists('json_encode'), 'Checking that the json_encode() is available', 'Install and enable the json extension', true); -check(class_exists('SQLite3') || in_array('sqlite', PDO::getAvailableDrivers()), 'Checking that the SQLite3 or PDO_SQLite extension is available', 'Install and enable the SQLite3 or PDO_SQLite extension.', true); -check(function_exists('session_start'), 'Checking that the session_start() is available', 'Install and enable the session extension', true); -check(function_exists('ctype_alpha'), 'Checking that the ctype_alpha() is available', 'Install and enable the ctype extension', true); -check(function_exists('token_get_all'), 'Checking that the token_get_all() is available', 'Install and enable the tokenizer extension', true); -check(!(function_exists('apc_store') && ini_get('apc.enabled')) || version_compare(phpversion('apc'), '3.0.17', '>='), 'Checking that the APC version is at least 3.0.17', 'Upgrade your APC extension (3.0.17+)', true); +echo_title('Mandatory requirements'); -// warnings -echo_title("Optional checks"); -check(class_exists('DomDocument'), 'Checking that the PHP-XML module is installed', 'Install and enable the php-xml module', false); -check(function_exists('token_get_all'), 'Checking that the token_get_all() function is available', 'Install and enable the Tokenizer extension (highly recommended)', false); -check(function_exists('mb_strlen'), 'Checking that the mb_strlen() function is available', 'Install and enable the mbstring extension', false); -check(function_exists('iconv'), 'Checking that the iconv() function is available', 'Install and enable the iconv extension', false); -check(function_exists('utf8_decode'), 'Checking that the utf8_decode() is available', 'Install and enable the XML extension', false); -if (PHP_OS != 'WINNT') { - check(function_exists('posix_isatty'), 'Checking that the posix_isatty() is available', 'Install and enable the php_posix extension (used to colorized the CLI output)', false); -} -check(class_exists('Locale'), 'Checking that the intl extension is available', 'Install and enable the intl extension (used for validators)', false); -if (class_exists('Locale')) { - $version = ''; - - if (defined('INTL_ICU_VERSION')) { - $version = INTL_ICU_VERSION; - } else { - $reflector = new \ReflectionExtension('intl'); - - ob_start(); - $reflector->info(); - $output = strip_tags(ob_get_clean()); - - preg_match('/^ICU version +(?:=> )?(.*)$/m', $output, $matches); - $version = $matches[1]; - } - - check(version_compare($version, '4.0', '>='), 'Checking that the intl ICU version is at least 4+', 'Upgrade your intl extension with a newer ICU version (4+)', false); +foreach ($symfonyRequirements->getRequirements() as $req) { + echo_requirement($req); } -$accelerator = - (function_exists('apc_store') && ini_get('apc.enabled')) - || - function_exists('eaccelerator_put') && ini_get('eaccelerator.enable') - || - function_exists('xcache_set') -; -check($accelerator, 'Checking that a PHP accelerator is installed', 'Install a PHP accelerator like APC (highly recommended)', false); +echo_title('Optional recommendations'); -check(!ini_get('short_open_tag'), 'Checking that php.ini has short_open_tag set to off', 'Set short_open_tag to off in php.ini', false); -check(!ini_get('magic_quotes_gpc'), 'Checking that php.ini has magic_quotes_gpc set to off', 'Set magic_quotes_gpc to off in php.ini', false); -check(!ini_get('register_globals'), 'Checking that php.ini has register_globals set to off', 'Set register_globals to off in php.ini', false); -check(!ini_get('session.auto_start'), 'Checking that php.ini has session.auto_start set to off', 'Set session.auto_start to off in php.ini', false); - -echo_title("Optional checks (Doctrine)"); - -check(class_exists('PDO'), 'Checking that PDO is installed', 'Install PDO (mandatory for Doctrine)', false); -if (class_exists('PDO')) { - $drivers = PDO::getAvailableDrivers(); - check(count($drivers), 'Checking that PDO has some drivers installed: '.implode(', ', $drivers), 'Install PDO drivers (mandatory for Doctrine)'); +foreach ($symfonyRequirements->getRecommendations() as $req) { + echo_requirement($req); } /** - * Checks a configuration. + * Prints a Requirement instance */ -function check($boolean, $message, $help = '', $fatal = false) +function echo_requirement(Requirement $requirement) { - echo $boolean ? " OK " : sprintf("\n\n[[%s]] ", $fatal ? ' ERROR ' : 'WARNING'); - echo sprintf("$message%s\n", $boolean ? '' : ': FAILED'); + $result = $requirement->isFulfilled() ? 'OK' : ($requirement->isOptional() ? 'WARNING' : 'ERROR'); + echo ' ' . str_pad($result, 9); + echo $requirement->getTestMessage() . "\n"; - if (!$boolean) { - echo " *** $help ***\n"; - if ($fatal) { - exit("You must fix this problem before resuming the check.\n"); - } + if (!$requirement->isFulfilled()) { + echo sprintf(" %s\n\n", $requirement->getHelpText()); } } diff --git a/app/config/config.yml b/app/config/config.yml index 3e45fe6..5cb0ef8 100644 --- a/app/config/config.yml +++ b/app/config/config.yml @@ -6,15 +6,12 @@ framework: #esi: ~ translator: { fallback: %locale% } secret: %secret% - charset: UTF-8 router: { resource: "%kernel.root_dir%/config/routing.yml" } form: true csrf_protection: true validation: { enable_annotations: true } templating: { engines: ['twig'] } #assets_version: SomeVersionScheme - session: - default_locale: %locale% - auto_start: true + session: ~ # Twig Configuration twig: @@ -54,7 +51,3 @@ swiftmailer: host: %mailer_host% username: %mailer_user% password: %mailer_password% - -jms_security_extra: - secure_controllers: true - secure_all_services: false diff --git a/app/config/security.yml b/app/config/security.yml index 586d1d0..f12ea00 100644 --- a/app/config/security.yml +++ b/app/config/security.yml @@ -1,16 +1,17 @@ +jms_security_extra: + secure_all_services: false + expressions: true + security: encoders: Symfony\Component\Security\Core\User\User: plaintext role_hierarchy: - ROLE_ADMIN: ROLE_USER - ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] providers: in_memory: - users: - user: { password: userpass, roles: [ 'ROLE_USER' ] } - admin: { password: adminpass, roles: [ 'ROLE_ADMIN' ] } + memory: + users: firewalls: dev: diff --git a/app/console b/app/console index 468cc84..1de6db4 100755 --- a/app/console +++ b/app/console @@ -15,8 +15,8 @@ use Symfony\Component\Console\Input\ArgvInput; $input = new ArgvInput(); $env = $input->getParameterOption(array('--env', '-e'), getenv('SYMFONY_ENV') ?: 'dev'); -$debug = !$input->hasParameterOption(array('--no-debug', '')); +$debug = getenv('SYMFONY_DEBUG') !== '0' && !$input->hasParameterOption(array('--no-debug', '')) && $env !== 'prod'; $kernel = new AppKernel($env, $debug); $application = new Application($kernel); -$application->run(); +$application->run($input); diff --git a/app/logs/.gitignore b/app/logs/.gitignore deleted file mode 100644 index c3d07e5..0000000 --- a/app/logs/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -* -!.gitkeep -!.gitignore diff --git a/bin/.htaccess b/bin/.htaccess deleted file mode 100644 index 3418e55..0000000 --- a/bin/.htaccess +++ /dev/null @@ -1 +0,0 @@ -deny from all \ No newline at end of file diff --git a/bin/vendors b/bin/vendors deleted file mode 100755 index 49c774a..0000000 --- a/bin/vendors +++ /dev/null @@ -1,240 +0,0 @@ -#!/usr/bin/env php - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - * - * @author Fabien Potencier - * @author Florian Preusner - */ - -$rootDir = dirname(__DIR__); -$vendorName = 'vendor'; -$vendorDir = $rootDir . '/' . $vendorName; -$submodule = false; -$cloneOptions = ''; -$delete = false; -$install = true; - -$commands = array( - 'install' => 'install vendors as specified in deps or deps.lock (recommended)', - 'update' => 'update vendors to their latest versions (as specified in deps)', - 'delete' => 'remove vendors', - 'reinstall' => 'delete and install', - 'submodule:install' => 'install vendors as submodules', - 'submodule:update' => 'update vendors to their latest versions (as specified in deps)', - 'submodule:delete' => 'remove vendors', - 'submodule:reinstall' => 'delete and install' -); - - - -array_shift($argv); -if (!isset($argv[0]) || in_array('help', $argv)) { - - $help = "Symfony2 vendors script management.\n"; - $help .= "Specify a command to run:\n\n"; - - foreach($commands as $cmd => $info) { - - $help .= str_pad($cmd, 21, ' ') . ": $info\n"; - } - - exit($help . "\n"); -} - -if (!in_array($command = array_shift($argv), array_keys($commands))) { - exit(sprintf("Command \"%s\" does not exist.\n", $command)); -} - -if (!is_dir($vendorDir)) { - mkdir($vendorDir, 0777, true); -} - -if (strpos($command, 'submodule') !== false) { - - $submodule = true; - $command = str_replace('submodule:', '', $command); - - if(!is_dir($rootDir . '/.git')) { - - exit("This project is not a git repository. To use submodules it should be a repository :)\n"); - } -} - -// versions -$versions = array(); -if ('install' === $command && file_exists($rootDir.'/deps.lock')) { - foreach (file($rootDir.'/deps.lock', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) as $line) { - $parts = array_values(array_filter(explode(' ', $line))); - if (2 !== count($parts)) { - exit(sprintf('The deps version file is not valid (near "%s")', $line)); - } - $versions[$parts[0]] = $parts[1]; - } -} - -if('delete' === $command) { - $delete = true; - $install = false; -} - -if('reinstall' === $command) { - $delete = true; -} - -$newversions = array(); -$deps = parse_ini_file($rootDir.'/deps', true, INI_SCANNER_RAW); -foreach ($deps as $name => $dep) { - // revision - if (isset($versions[$name])) { - $rev = $versions[$name]; - } else { - $rev = isset($dep['version']) ? $dep['version'] : 'origin/HEAD'; - } - - // make sure to run commands on rootDir - system("cd $rootDir"); - - // install dir - if($submodule) { - - $installDir = isset($dep['target']) ? $vendorName . $dep['target'] : $vendorName . '/' . $name; - } else { - - $installDir = isset($dep['target']) ? $vendorDir . $dep['target'] : $vendorDir . '/' . $name; - } - - - - if($delete) { - - echo "> Removing $name\n"; - - if($submodule) { - - deleteSubmodule($installDir, $rootDir); - } - - if(PHP_OS == 'WINNT') { - - system('rmdir /S /Q ' . escapeshellarg(realpath($installDir))); - } else { - - system('rm -rf ' . escapeshellarg($installDir)); - } - } - - - if($install) { - - echo "> Installing/Updating $name\n"; - - // url - if (!isset($dep['git'])) { - exit(sprintf('The "git" value for the "%s" dependency must be set.', $name)); - } - $url = $dep['git']; - - if($submodule) { - - $cmd = sprintf('git submodule add %s %s', escapeshellarg($url), escapeshellarg($installDir)); - $cmd .= ' && git submodule init'; - - } else { - - $cmd = sprintf('git clone %s %s', escapeshellarg($url), escapeshellarg($installDir)); - } - - echo " $cmd\n"; - - system($cmd); - - system(sprintf('cd %s && git fetch origin && git reset --hard %s', escapeshellarg($installDir), escapeshellarg($rev))); - } - - if ('update' === $command) { - ob_start(); - system(sprintf('cd %s && git log -n 1 --format=%%H', escapeshellarg($installDir))); - $newversions[] = trim($name.' '.ob_get_clean()); - } -} - -// update? -if ('update' === $command) { - file_put_contents($rootDir.'/deps.lock', implode("\n", $newversions)); -} - -if($install) { - - // php on windows can't use the shebang line from system() - $interpreter = PHP_OS == 'WINNT' ? 'php.exe' : ''; - - // Update the bootstrap files - //system(sprintf('%s %s', $interpreter, escapeshellarg($rootDir.'/bin/build_bootstrap'))); - - // Update assets - system(sprintf('%s %s assets:install --symlink %s', $interpreter, escapeshellarg($rootDir.'/app/console'), escapeshellarg($rootDir.'/web'))); - - // Remove the cache - system(sprintf('%s %s cache:clear --no-warmup', $interpreter, escapeshellarg($rootDir.'/app/console'))); -} - - - - -function deleteSubmodule($name, $rootDir) { - - $gitModules = $rootDir . '/.gitmodules'; - $gitConfig = $rootDir . '/.git/config'; - - $files = array($gitModules, $gitConfig); - - foreach($files as $file) : - - if(file_exists($file)) { - - $fileReturn = array(); - $found = false; - - foreach(file($file) as $line) { - - if(strpos($line, '"' . $name . '"') !== false) { - - $found = true; - continue; - } - - if($found) { - - if($line{0} != '[') { - - continue; - } - - $found = false; - } - - array_push($fileReturn, $line); - } - - $handle = fopen($file, 'wt'); - - if($handle) { - - fwrite($handle, implode($fileReturn)); - fclose($handle); - } - } - endforeach; - - $cmd = "git rm --cached --force $name"; - - echo " $cmd\n"; - system($cmd); -} \ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..43e7938 --- /dev/null +++ b/composer.json @@ -0,0 +1,29 @@ +{ + "name": "gergelypolonkai/openscrum", + "description": "OpenScrum project", + "autoload": { + "psr-0": { "": "src/" } + }, + "require": { + "symfony/framework-standard-edition": "2.2.*" + }, + "scripts": { + "post-install-cmd": [ + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" + ], + "post-update-cmd": [ + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets", + "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile" + ] + }, + "minimum-stability": "dev", + "extra": { + "symfony-app-dir": "app", + "symfony-web-dir": "web" + } +} diff --git a/composer.lock b/composer.lock new file mode 100644 index 0000000..ba7faeb --- /dev/null +++ b/composer.lock @@ -0,0 +1,1795 @@ +{ + "hash": "49a890fa904346ea8fb51819a52a23ee", + "packages": [ + { + "name": "doctrine/annotations", + "version": "v1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "v1.0" + }, + "dist": { + "type": "zip", + "url": "https://github.com/doctrine/annotations/archive/v1.0.zip", + "reference": "v1.0", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "php": ">=5.3.2" + }, + "require-dev": { + "doctrine/cache": "1.*" + }, + "type": "library", + "autoload": { + "psr-0": { + "Doctrine\\Common\\Annotations\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2013-01-12 19:23:32" + }, + { + "name": "doctrine/cache", + "version": "v1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "v1.0" + }, + "dist": { + "type": "zip", + "url": "https://github.com/doctrine/cache/archive/v1.0.zip", + "reference": "v1.0", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Doctrine\\Common\\Cache\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Caching library offering an object-oriented API for many cache backends", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "cache", + "caching" + ], + "time": "2013-01-10 22:43:46" + }, + { + "name": "doctrine/collections", + "version": "v1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "v1.0" + }, + "dist": { + "type": "zip", + "url": "https://github.com/doctrine/collections/archive/v1.0.zip", + "reference": "v1.0", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Doctrine\\Common\\Collections\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Collections Abstraction library", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "array", + "collections", + "iterator" + ], + "time": "2013-01-12 16:36:50" + }, + { + "name": "doctrine/common", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/doctrine/common.git", + "reference": "e211821c719d33ad2cd1186fafb4dadb5f74d6ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/common/zipball/e211821c719d33ad2cd1186fafb4dadb5f74d6ed", + "reference": "e211821c719d33ad2cd1186fafb4dadb5f74d6ed", + "shasum": "" + }, + "require": { + "doctrine/annotations": "1.*", + "doctrine/cache": "1.*", + "doctrine/collections": "1.*", + "doctrine/inflector": "1.*", + "doctrine/lexer": "1.*", + "php": ">=5.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Common\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Common Library for Doctrine projects", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "collections", + "eventmanager", + "persistence", + "spl" + ], + "time": "2013-02-19 09:37:33" + }, + { + "name": "doctrine/dbal", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "042cfa61d57bc4686f68a3021cd4a926f8348050" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/042cfa61d57bc4686f68a3021cd4a926f8348050", + "reference": "042cfa61d57bc4686f68a3021cd4a926f8348050", + "shasum": "" + }, + "require": { + "doctrine/common": "2.4.x-dev", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "3.7.*", + "symfony/console": "2.*" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\DBAL\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + } + ], + "description": "Database Abstraction Layer", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "persistence", + "queryobject" + ], + "time": "2013-02-27 12:20:01" + }, + { + "name": "doctrine/doctrine-bundle", + "version": "dev-master", + "target-dir": "Doctrine/Bundle/DoctrineBundle", + "source": { + "type": "git", + "url": "https://github.com/doctrine/DoctrineBundle.git", + "reference": "v1.2.0-beta1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/v1.2.0-beta1", + "reference": "v1.2.0-beta1", + "shasum": "" + }, + "require": { + "doctrine/dbal": ">=2.2,<2.5-dev", + "jdorn/sql-formatter": ">=1.1,<2.0", + "php": ">=5.3.2", + "symfony/doctrine-bridge": "2.2.*", + "symfony/framework-bundle": ">=2.2.0-beta2,<2.3-dev" + }, + "require-dev": { + "doctrine/orm": ">=2.2,<2.5-dev", + "symfony/validator": "2.2.*", + "symfony/yaml": "2.2.*" + }, + "suggest": { + "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", + "symfony/web-profiler-bundle": "to use the data collector" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\Bundle\\DoctrineBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + } + ], + "description": "Symfony DoctrineBundle", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "orm", + "persistence" + ], + "time": "2013-01-12 14:41:19" + }, + { + "name": "doctrine/inflector", + "version": "v1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "v1.0" + }, + "dist": { + "type": "zip", + "url": "https://github.com/doctrine/inflector/archive/v1.0.zip", + "reference": "v1.0", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Doctrine\\Common\\Inflector\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan H. Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Common String Manipulations with regard to casing and singular/plural rules.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "inflection", + "pluarlize", + "singuarlize", + "string" + ], + "time": "2013-01-10 21:49:15" + }, + { + "name": "doctrine/lexer", + "version": "v1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "v1.0" + }, + "dist": { + "type": "zip", + "url": "https://github.com/doctrine/lexer/archive/v1.0.zip", + "reference": "v1.0", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "type": "library", + "autoload": { + "psr-0": { + "Doctrine\\Common\\Lexer\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Base library for a lexer that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "lexer", + "parser" + ], + "time": "2013-01-12 18:59:04" + }, + { + "name": "doctrine/orm", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/doctrine/doctrine2.git", + "reference": "2372a85d9fff9f55197bc1b4f434e7cee469706b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/2372a85d9fff9f55197bc1b4f434e7cee469706b", + "reference": "2372a85d9fff9f55197bc1b4f434e7cee469706b", + "shasum": "" + }, + "require": { + "doctrine/dbal": ">=2.4-dev,<2.5-dev", + "ext-pdo": "*", + "php": ">=5.3.2", + "symfony/console": "2.*" + }, + "suggest": { + "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" + }, + "bin": [ + "bin/doctrine", + "bin/doctrine.php" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Doctrine\\ORM\\": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com", + "homepage": "http://www.jwage.com/" + }, + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com", + "homepage": "http://www.instaclick.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + } + ], + "description": "Object-Relational-Mapper for PHP", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "database", + "orm" + ], + "time": "2013-03-01 00:02:20" + }, + { + "name": "jdorn/sql-formatter", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/jdorn/sql-formatter.git", + "reference": "3d8a97325e5894c72dd5c4d4f83dd3722d414d99" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/jdorn/sql-formatter/zipball/3d8a97325e5894c72dd5c4d4f83dd3722d414d99", + "reference": "3d8a97325e5894c72dd5c4d4f83dd3722d414d99", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "classmap": [ + "lib" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL" + ], + "authors": [ + { + "name": "Jeremy Dorn", + "email": "jeremy@jeremydorn.com", + "homepage": "http://jeremydorn.com/" + } + ], + "description": "a PHP SQL highlighting library", + "homepage": "https://github.com/jdorn/sql-formatter/", + "keywords": [ + "highlight", + "sql" + ], + "time": "2013-02-22 05:16:19" + }, + { + "name": "jms/aop-bundle", + "version": "dev-master", + "target-dir": "JMS/AopBundle", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/JMSAopBundle.git", + "reference": "7018357f5bedf204979a88867a9da05973744422" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/JMSAopBundle/zipball/7018357f5bedf204979a88867a9da05973744422", + "reference": "7018357f5bedf204979a88867a9da05973744422", + "shasum": "" + }, + "require": { + "jms/cg": "1.*", + "symfony/framework-bundle": "2.*" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\AopBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Adds AOP capabilities to Symfony2", + "keywords": [ + "annotations", + "aop" + ], + "time": "2013-01-09 08:03:40" + }, + { + "name": "jms/cg", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/cg-library.git", + "reference": "fb8a054a061d92ae963a984d34846ed34c012d31" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/cg-library/zipball/fb8a054a061d92ae963a984d34846ed34c012d31", + "reference": "fb8a054a061d92ae963a984d34846ed34c012d31", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-0": { + "CG\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Toolset for generating PHP code", + "keywords": [ + "code generation" + ], + "time": "2013-02-17 22:10:19" + }, + { + "name": "jms/di-extra-bundle", + "version": "dev-master", + "target-dir": "JMS/DiExtraBundle", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/JMSDiExtraBundle.git", + "reference": "bc4f3280e472d48dec2c410c853f8188897ccec4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/JMSDiExtraBundle/zipball/bc4f3280e472d48dec2c410c853f8188897ccec4", + "reference": "bc4f3280e472d48dec2c410c853f8188897ccec4", + "shasum": "" + }, + "require": { + "jms/aop-bundle": ">=1.0.0,<1.2-dev", + "jms/metadata": "1.*", + "symfony/finder": ">=2.1.0,<2.3-dev", + "symfony/framework-bundle": ">=2.1.0,<2.3-dev", + "symfony/process": ">=2.1.0,<2.3-dev" + }, + "require-dev": { + "doctrine/doctrine-bundle": "*", + "doctrine/orm": "*", + "jms/security-extra-bundle": "1.*", + "phpcollection/phpcollection": ">=0.1,<0.3-dev", + "sensio/framework-extra-bundle": "*", + "symfony/browser-kit": "*", + "symfony/class-loader": "*", + "symfony/form": "*", + "symfony/security-bundle": "*", + "symfony/twig-bundle": "*", + "symfony/validator": "*", + "symfony/yaml": "*" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\DiExtraBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Allows to configure dependency injection using annotations", + "homepage": "http://jmsyst.com/bundles/JMSDiExtraBundle", + "keywords": [ + "annotations", + "dependency injection" + ], + "time": "2013-02-22 19:24:48" + }, + { + "name": "jms/metadata", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/metadata.git", + "reference": "f2ab7883f6f915d40bfc38a70e0ead5f130610dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/f2ab7883f6f915d40bfc38a70e0ead5f130610dc", + "reference": "f2ab7883f6f915d40bfc38a70e0ead5f130610dc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "require-dev": { + "doctrine/common": ">=2.0,<2.4-dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3.x-dev" + } + }, + "autoload": { + "psr-0": { + "Metadata\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Class/method/property metadata management in PHP", + "keywords": [ + "annotations", + "metadata", + "xml", + "yaml" + ], + "time": "2013-01-22 12:51:18" + }, + { + "name": "jms/parser-lib", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/parser-lib.git", + "reference": "4d469a70c6dd03f921cbdeadafbcb261bb23e8b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/parser-lib/zipball/4d469a70c6dd03f921cbdeadafbcb261bb23e8b0", + "reference": "4d469a70c6dd03f921cbdeadafbcb261bb23e8b0", + "shasum": "" + }, + "require": { + "phpoption/phpoption": ">=0.9,<2.0-dev" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "description": "A library for easily creating recursive-descent parsers.", + "time": "2012-11-30 08:11:04" + }, + { + "name": "jms/security-extra-bundle", + "version": "dev-master", + "target-dir": "JMS/SecurityExtraBundle", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/JMSSecurityExtraBundle.git", + "reference": "1.4.0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/JMSSecurityExtraBundle/zipball/1.4.0", + "reference": "1.4.0", + "shasum": "" + }, + "require": { + "jms/aop-bundle": ">=1.0.0,<1.2-dev", + "jms/di-extra-bundle": "1.3.*", + "jms/metadata": "1.*", + "jms/parser-lib": "1.*", + "symfony/framework-bundle": ">=2.1.0,<2.3-dev", + "symfony/security-bundle": "*" + }, + "require-dev": { + "doctrine/doctrine-bundle": "*", + "doctrine/orm": "*", + "sensio/framework-extra-bundle": "*", + "symfony/browser-kit": "*", + "symfony/class-loader": "*", + "symfony/css-selector": "*", + "symfony/finder": "*", + "symfony/form": "*", + "symfony/process": "*", + "symfony/twig-bundle": "*", + "symfony/validator": "*", + "symfony/yaml": "*" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-0": { + "JMS\\SecurityExtraBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "http://jmsyst.com", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Enhances the Symfony2 Security Component by adding several new features", + "homepage": "http://jmsyst.com/bundles/JMSSecurityExtraBundle", + "keywords": [ + "annotations", + "authorization", + "expression", + "secure", + "security" + ], + "time": "2013-02-18 08:46:41" + }, + { + "name": "kriswallsmith/assetic", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/kriswallsmith/assetic.git", + "reference": "df03baa337ae1c87803a7b1a76a393f8a59813f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/kriswallsmith/assetic/zipball/df03baa337ae1c87803a7b1a76a393f8a59813f3", + "reference": "df03baa337ae1c87803a7b1a76a393f8a59813f3", + "shasum": "" + }, + "require": { + "php": ">=5.3.1", + "symfony/process": ">=2.1.0,<2.3-dev" + }, + "require-dev": { + "cssmin/cssmin": "*", + "joliclic/javascript-packer": "*", + "kamicane/packager": "*", + "leafo/lessphp": "*", + "leafo/scssphp": "*", + "leafo/scssphp-compass": "*", + "mrclay/minify": "*", + "phpunit/phpunit": "3.7.*", + "ptachoire/cssembed": "*", + "twig/twig": ">=1.6.0,<2.0" + }, + "suggest": { + "leafo/lessphp": "Assetic provides the integration with the lessphp LESS compiler", + "leafo/scssphp": "Assetic provides the integration with the scssphp SCSS compiler", + "leafo/scssphp-compass": "Assetic provides the integration with the SCSS compass plugin", + "ptachoire/cssembed": "Assetic provides the integration with phpcssembed to embed data uris", + "twig/twig": "Assetic provides the integration with the Twig templating engine" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "psr-0": { + "Assetic": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kris Wallsmith", + "email": "kris.wallsmith@gmail.com", + "homepage": "http://kriswallsmith.net/" + } + ], + "description": "Asset Management for PHP", + "homepage": "https://github.com/kriswallsmith/assetic", + "keywords": [ + "assets", + "compression", + "minification" + ], + "time": "2013-02-24 17:22:20" + }, + { + "name": "monolog/monolog", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "041aa3930f8d2b466ae897440ec9471d5159c5bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/041aa3930f8d2b466ae897440ec9471d5159c5bf", + "reference": "041aa3930f8d2b466ae897440ec9471d5159c5bf", + "shasum": "" + }, + "require": { + "php": ">=5.3.0", + "psr/log": ">=1.0,<2.0" + }, + "require-dev": { + "doctrine/couchdb": "dev-master", + "mlehner/gelf-php": "1.0.*", + "raven/raven": "0.3.*" + }, + "suggest": { + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-mongo": "Allow sending log messages to a MongoDB server", + "mlehner/gelf-php": "Allow sending log messages to a GrayLog2 server", + "raven/raven": "Allow sending log messages to a Sentry server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Monolog": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be", + "role": "Developer" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "http://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "time": "2013-02-26 10:18:11" + }, + { + "name": "phpoption/phpoption", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "c899903cbc4cadc2b6fb7ab74a1470d59e4c2d27" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/c899903cbc4cadc2b6fb7ab74a1470d59e4c2d27", + "reference": "c899903cbc4cadc2b6fb7ab74a1470d59e4c2d27", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-0": { + "PhpOption\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache2" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh", + "role": "Developer of wrapped JMSSerializerBundle" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "time": "2013-01-21 09:59:49" + }, + { + "name": "psr/log", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log", + "reference": "1.0.0" + }, + "dist": { + "type": "zip", + "url": "https://github.com/php-fig/log/archive/1.0.0.zip", + "reference": "1.0.0", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-0": { + "Psr\\Log\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2012-12-21 11:40:51" + }, + { + "name": "sensio/distribution-bundle", + "version": "dev-master", + "target-dir": "Sensio/Bundle/DistributionBundle", + "source": { + "type": "git", + "url": "https://github.com/sensio/SensioDistributionBundle.git", + "reference": "v2.2.0-RC3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensio/SensioDistributionBundle/zipball/v2.2.0-RC3", + "reference": "v2.2.0-RC3", + "shasum": "" + }, + "require": { + "symfony/framework-bundle": "2.2.*" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Sensio\\Bundle\\DistributionBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "The base bundle for the Symfony Distributions", + "keywords": [ + "configuration", + "distribution" + ], + "time": "2013-02-11 14:46:49" + }, + { + "name": "sensio/framework-extra-bundle", + "version": "dev-master", + "target-dir": "Sensio/Bundle/FrameworkExtraBundle", + "source": { + "type": "git", + "url": "https://github.com/sensio/SensioFrameworkExtraBundle.git", + "reference": "v2.2.0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensio/SensioFrameworkExtraBundle/zipball/v2.2.0", + "reference": "v2.2.0", + "shasum": "" + }, + "require": { + "doctrine/common": ">=2.2,<3.0", + "symfony/framework-bundle": "2.2.*" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Sensio\\Bundle\\FrameworkExtraBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "This bundle provides a way to configure your controllers with annotations", + "keywords": [ + "annotations", + "controllers" + ], + "time": "2013-02-28 14:13:52" + }, + { + "name": "sensio/generator-bundle", + "version": "dev-master", + "target-dir": "Sensio/Bundle/GeneratorBundle", + "source": { + "type": "git", + "url": "https://github.com/sensio/SensioGeneratorBundle.git", + "reference": "v2.2.0-RC3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sensio/SensioGeneratorBundle/zipball/v2.2.0-RC3", + "reference": "v2.2.0-RC3", + "shasum": "" + }, + "require": { + "symfony/console": ">=2.0,<3.0", + "symfony/framework-bundle": "2.2.*" + }, + "require-dev": { + "doctrine/orm": ">=2.2,<3.0,>=2.2.3", + "symfony/doctrine-bridge": ">=2.2,<3.0", + "twig/twig": ">=1.11.0,<2.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Sensio\\Bundle\\GeneratorBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "This bundle generates code for you", + "time": "2013-02-22 17:59:21" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "b6bfc8f7f8ae5dac7883885ee323dc3b53ab7d21" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/b6bfc8f7f8ae5dac7883885ee323dc3b53ab7d21", + "reference": "b6bfc8f7f8ae5dac7883885ee323dc3b53ab7d21", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.3-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Chris Corbyn" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "http://swiftmailer.org", + "keywords": [ + "mail", + "mailer" + ], + "time": "2013-02-04 10:09:01" + }, + { + "name": "symfony/assetic-bundle", + "version": "dev-master", + "target-dir": "Symfony/Bundle/AsseticBundle", + "source": { + "type": "git", + "url": "https://github.com/symfony/AsseticBundle.git", + "reference": "6985b26ba44f12a3804af8beb53f6b6e49da5b04" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/AsseticBundle/zipball/6985b26ba44f12a3804af8beb53f6b6e49da5b04", + "reference": "6985b26ba44f12a3804af8beb53f6b6e49da5b04", + "shasum": "" + }, + "require": { + "kriswallsmith/assetic": "1.1.*", + "php": ">=5.3.0", + "symfony/framework-bundle": ">=2.1.0,<2.3-dev" + }, + "require-dev": { + "symfony/class-loader": ">=2.1.0,<2.3-dev", + "symfony/console": ">=2.1.0,<2.3-dev", + "symfony/css-selector": ">=2.1.0,<2.3-dev", + "symfony/dom-crawler": ">=2.1.0,<2.3-dev", + "symfony/form": ">=2.1.0,<2.3-dev", + "symfony/twig-bundle": ">=2.1.0,<2.3-dev", + "symfony/yaml": ">=2.1.0,<2.3-dev" + }, + "suggest": { + "symfony/twig-bundle": ">=2.1.0,<2.3-dev" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Bundle\\AsseticBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kris Wallsmith", + "email": "kris.wallsmith@gmail.com", + "homepage": "http://kriswallsmith.net/" + } + ], + "description": "Integrates Assetic into Symfony2", + "homepage": "https://github.com/symfony/AsseticBundle", + "keywords": [ + "assets", + "compression", + "minification" + ], + "time": "2013-02-24 18:21:16" + }, + { + "name": "symfony/framework-standard-edition", + "version": "2.2.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/symfony-standard.git", + "reference": "v2.2.0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/symfony-standard/zipball/v2.2.0", + "reference": "v2.2.0", + "shasum": "" + }, + "require": { + "doctrine/doctrine-bundle": "1.2.*", + "doctrine/orm": ">=2.2,<3.0,>=2.2.3", + "jms/di-extra-bundle": "1.3.*", + "jms/security-extra-bundle": "1.4.*", + "php": ">=5.3.3", + "sensio/distribution-bundle": "2.2.*", + "sensio/framework-extra-bundle": "2.2.*", + "sensio/generator-bundle": "2.2.*", + "symfony/assetic-bundle": "2.1.*", + "symfony/monolog-bundle": "2.2.*", + "symfony/swiftmailer-bundle": "2.2.*", + "symfony/symfony": "2.2.*", + "twig/extensions": "1.0.*" + }, + "type": "library", + "extra": { + "symfony-app-dir": "app", + "symfony-web-dir": "web", + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-0": { + "": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "description": "The \"Symfony Standard Edition\" distribution", + "time": "2013-03-01 07:17:23" + }, + { + "name": "symfony/monolog-bundle", + "version": "dev-master", + "target-dir": "Symfony/Bundle/MonologBundle", + "source": { + "type": "git", + "url": "https://github.com/symfony/MonologBundle.git", + "reference": "v2.2.0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/MonologBundle/zipball/v2.2.0", + "reference": "v2.2.0", + "shasum": "" + }, + "require": { + "monolog/monolog": ">=1.3,<2.0", + "php": ">=5.3.2", + "symfony/config": ">=2.2-beta2,<3.0", + "symfony/dependency-injection": ">=2.2-beta2,<3.0", + "symfony/monolog-bridge": ">=2.2-beta2,<3.0" + }, + "require-dev": { + "symfony/yaml": ">=2.2-beta2,<3.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Bundle\\MonologBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "Symfony MonologBundle", + "homepage": "http://symfony.com", + "keywords": [ + "log", + "logging" + ], + "time": "2013-02-23 17:18:24" + }, + { + "name": "symfony/swiftmailer-bundle", + "version": "dev-master", + "target-dir": "Symfony/Bundle/SwiftmailerBundle", + "source": { + "type": "git", + "url": "https://github.com/symfony/SwiftmailerBundle.git", + "reference": "v2.2.0-BETA2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/SwiftmailerBundle/zipball/v2.2.0-BETA2", + "reference": "v2.2.0-BETA2", + "shasum": "" + }, + "require": { + "php": ">=5.3.2", + "swiftmailer/swiftmailer": ">=4.2.0,<4.4-dev", + "symfony/swiftmailer-bridge": ">=2.1.0,<2.3-dev" + }, + "require-dev": { + "symfony/config": ">=2.1.0,<2.3-dev", + "symfony/dependency-injection": ">=2.1.0,<2.3-dev", + "symfony/http-kernel": ">=2.1.0,<2.3-dev", + "symfony/yaml": ">=2.1.0,<2.3-dev" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\Bundle\\SwiftmailerBundle": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "Symfony SwiftmailerBundle", + "homepage": "http://symfony.com", + "time": "2013-01-08 20:24:29" + }, + { + "name": "symfony/symfony", + "version": "2.2.x-dev", + "source": { + "type": "git", + "url": "https://github.com/symfony/symfony.git", + "reference": "49984b6fba5c925b43d36285b40c8ca4295dee42" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/symfony/zipball/49984b6fba5c925b43d36285b40c8ca4295dee42", + "reference": "49984b6fba5c925b43d36285b40c8ca4295dee42", + "shasum": "" + }, + "require": { + "doctrine/common": ">=2.2,<3.0", + "php": ">=5.3.3", + "psr/log": ">=1.0,<2.0", + "twig/twig": ">=1.11.0,<2.0" + }, + "replace": { + "symfony/browser-kit": "self.version", + "symfony/class-loader": "self.version", + "symfony/config": "self.version", + "symfony/console": "self.version", + "symfony/css-selector": "self.version", + "symfony/dependency-injection": "self.version", + "symfony/doctrine-bridge": "self.version", + "symfony/dom-crawler": "self.version", + "symfony/event-dispatcher": "self.version", + "symfony/filesystem": "self.version", + "symfony/finder": "self.version", + "symfony/form": "self.version", + "symfony/framework-bundle": "self.version", + "symfony/http-foundation": "self.version", + "symfony/http-kernel": "self.version", + "symfony/locale": "self.version", + "symfony/monolog-bridge": "self.version", + "symfony/options-resolver": "self.version", + "symfony/process": "self.version", + "symfony/propel1-bridge": "self.version", + "symfony/property-access": "self.version", + "symfony/routing": "self.version", + "symfony/security": "self.version", + "symfony/security-bundle": "self.version", + "symfony/serializer": "self.version", + "symfony/stopwatch": "self.version", + "symfony/swiftmailer-bridge": "self.version", + "symfony/templating": "self.version", + "symfony/translation": "self.version", + "symfony/twig-bridge": "self.version", + "symfony/twig-bundle": "self.version", + "symfony/validator": "self.version", + "symfony/web-profiler-bundle": "self.version", + "symfony/yaml": "self.version" + }, + "require-dev": { + "doctrine/data-fixtures": "1.0.*", + "doctrine/dbal": ">=2.2,<3.0", + "doctrine/orm": ">=2.2,<3.0,>=2.2.3", + "monolog/monolog": ">=1.3,<2.0", + "propel/propel1": "1.6.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + } + }, + "autoload": { + "psr-0": { + "Symfony\\": "src/" + }, + "classmap": [ + "src/Symfony/Component/HttpFoundation/Resources/stubs", + "src/Symfony/Component/Locale/Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "The Symfony PHP framework", + "homepage": "http://symfony.com", + "keywords": [ + "framework" + ], + "time": "2013-03-01 14:58:56" + }, + { + "name": "twig/extensions", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/fabpot/Twig-extensions.git", + "reference": "921799aaf05f88af749d72912d6b154dfeb9a03e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fabpot/Twig-extensions/zipball/921799aaf05f88af749d72912d6b154dfeb9a03e", + "reference": "921799aaf05f88af749d72912d6b154dfeb9a03e", + "shasum": "" + }, + "require": { + "twig/twig": "1.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_Extensions_": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Common additional features for Twig that do not directly belong in core", + "homepage": "https://github.com/fabpot/Twig-extensions", + "keywords": [ + "debug", + "i18n", + "text" + ], + "time": "2013-02-28 14:21:30" + }, + { + "name": "twig/twig", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/fabpot/Twig.git", + "reference": "39d94faabcea7d60b90c2996d51e1b6691ab39d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fabpot/Twig/zipball/39d94faabcea7d60b90c2996d51e1b6691ab39d2", + "reference": "39d94faabcea7d60b90c2996d51e1b6691ab39d2", + "shasum": "" + }, + "require": { + "php": ">=5.2.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.12-dev" + } + }, + "autoload": { + "psr-0": { + "Twig_": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "http://twig.sensiolabs.org", + "keywords": [ + "templating" + ], + "time": "2013-02-28 14:08:49" + } + ], + "packages-dev": null, + "aliases": [ + + ], + "minimum-stability": "dev", + "stability-flags": [ + + ] +} diff --git a/deps b/deps deleted file mode 100644 index 1ff5139..0000000 --- a/deps +++ /dev/null @@ -1,63 +0,0 @@ -[symfony] - git=http://github.com/symfony/symfony.git - version=v2.0.12 - -[twig] - git=http://github.com/fabpot/Twig.git - version=v1.6.2 - -[monolog] - git=http://github.com/Seldaek/monolog.git - version=1.0.2 - -[doctrine-common] - git=http://github.com/doctrine/common.git - version=2.1.4 - -[doctrine-dbal] - git=http://github.com/doctrine/dbal.git - version=2.1.6 - -[doctrine] - git=http://github.com/doctrine/doctrine2.git - version=2.1.6 - -[swiftmailer] - git=http://github.com/swiftmailer/swiftmailer.git - version=v4.1.5 - -[assetic] - git=http://github.com/kriswallsmith/assetic.git - version=v1.0.3 - -[twig-extensions] - git=http://github.com/fabpot/Twig-extensions.git - -[metadata] - git=http://github.com/schmittjoh/metadata.git - version=1.0.0 - -[SensioFrameworkExtraBundle] - git=http://github.com/sensio/SensioFrameworkExtraBundle.git - target=/bundles/Sensio/Bundle/FrameworkExtraBundle - version=origin/2.0 - -[JMSSecurityExtraBundle] - git=http://github.com/schmittjoh/JMSSecurityExtraBundle.git - target=/bundles/JMS/SecurityExtraBundle - version=origin/1.0.x - -[SensioDistributionBundle] - git=http://github.com/sensio/SensioDistributionBundle.git - target=/bundles/Sensio/Bundle/DistributionBundle - version=origin/2.0 - -[SensioGeneratorBundle] - git=http://github.com/sensio/SensioGeneratorBundle.git - target=/bundles/Sensio/Bundle/GeneratorBundle - version=origin/2.0 - -[AsseticBundle] - git=http://github.com/symfony/AsseticBundle.git - target=/bundles/Symfony/Bundle/AsseticBundle - version=v1.0.1 diff --git a/deps.lock b/deps.lock deleted file mode 100644 index 2a464b7..0000000 --- a/deps.lock +++ /dev/null @@ -1,15 +0,0 @@ -symfony v2.0.12 -twig v1.6.2 -monolog 1.0.2 -doctrine-common 2.1.4 -doctrine-dbal 2.1.6 -doctrine 2.1.6 -swiftmailer v4.1.5 -assetic v1.0.3 -twig-extensions 1dfff8e793f50f651c4f74f796c2c68a4aee3147 -metadata 1.0.0 -SensioFrameworkExtraBundle 638f545b7020b9e9d5944a7e3167f60ed848250d -JMSSecurityExtraBundle 541a4c242328dc04b99540c75346cc74a7c0cfb5 -SensioDistributionBundle 20b66a408084ad8752f98e50f10533f5245310bf -SensioGeneratorBundle b1ccb78c1743f30817b0fce9bb5c6baff6ed7bf8 -AsseticBundle v1.0.1 diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..67f3fcd --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,7 @@ +include.path=${php.global.include.path} +php.version=PHP_54 +source.encoding=UTF-8 +src.dir=. +tags.asp=false +tags.short=true +web.root=. diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..57249a4 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,9 @@ + + + org.netbeans.modules.php.project + + + openscrum + + + diff --git a/src/OpenScrum/InfoBundle/Controller/DefaultController.php b/src/OpenScrum/InfoBundle/Controller/DefaultController.php index 1c3882f..a494ce6 100644 --- a/src/OpenScrum/InfoBundle/Controller/DefaultController.php +++ b/src/OpenScrum/InfoBundle/Controller/DefaultController.php @@ -10,11 +10,11 @@ class DefaultController extends Controller public function indexAction() { - return $this->render('OpenScrumInfoBundle:' . $this->get('session')->getLocale() . ':index.html.twig', array()); + return $this->render('OpenScrumInfoBundle:' . $this->getRequest()->getLocale() . ':index.html.twig', array()); } public function infopageAction($page) { - return $this->render('OpenScrumInfoBundle:' . $this->get('session')->getLocale() . ':' . $page . '.html.twig', array()); + return $this->render('OpenScrumInfoBundle:' . $this->getRequest()->getLocale() . ':' . $page . '.html.twig', array()); } } diff --git a/vendor/assetic b/vendor/assetic deleted file mode 160000 index 4aeef88..0000000 --- a/vendor/assetic +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4aeef88b7908510d0bcbbde357f0adf470534ed8 diff --git a/vendor/bundles/JMS/SecurityExtraBundle b/vendor/bundles/JMS/SecurityExtraBundle deleted file mode 160000 index 541a4c2..0000000 --- a/vendor/bundles/JMS/SecurityExtraBundle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 541a4c242328dc04b99540c75346cc74a7c0cfb5 diff --git a/vendor/bundles/Sensio/Bundle/DistributionBundle b/vendor/bundles/Sensio/Bundle/DistributionBundle deleted file mode 160000 index 20b66a4..0000000 --- a/vendor/bundles/Sensio/Bundle/DistributionBundle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 20b66a408084ad8752f98e50f10533f5245310bf diff --git a/vendor/bundles/Sensio/Bundle/FrameworkExtraBundle b/vendor/bundles/Sensio/Bundle/FrameworkExtraBundle deleted file mode 160000 index 638f545..0000000 --- a/vendor/bundles/Sensio/Bundle/FrameworkExtraBundle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 638f545b7020b9e9d5944a7e3167f60ed848250d diff --git a/vendor/bundles/Sensio/Bundle/GeneratorBundle b/vendor/bundles/Sensio/Bundle/GeneratorBundle deleted file mode 160000 index b1ccb78..0000000 --- a/vendor/bundles/Sensio/Bundle/GeneratorBundle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b1ccb78c1743f30817b0fce9bb5c6baff6ed7bf8 diff --git a/vendor/bundles/Symfony/Bundle/AsseticBundle b/vendor/bundles/Symfony/Bundle/AsseticBundle deleted file mode 160000 index 41b5913..0000000 --- a/vendor/bundles/Symfony/Bundle/AsseticBundle +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 41b5913b5086a0909af92adcb4a6005ee0051b16 diff --git a/vendor/doctrine b/vendor/doctrine deleted file mode 160000 index e164722..0000000 --- a/vendor/doctrine +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e1647229cd2544bd77f10620e1b95a5781c4a733 diff --git a/vendor/doctrine-common b/vendor/doctrine-common deleted file mode 160000 index b886898..0000000 --- a/vendor/doctrine-common +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b886898821288d305862ee9c567cc5b5cbb4c0dc diff --git a/vendor/doctrine-dbal b/vendor/doctrine-dbal deleted file mode 160000 index 148a049..0000000 --- a/vendor/doctrine-dbal +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 148a049df448af9772259e69a034e51c0c080805 diff --git a/vendor/metadata b/vendor/metadata deleted file mode 160000 index 8717ad2..0000000 --- a/vendor/metadata +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 8717ad2a5689480765d9ffafe925cd8a2457e582 diff --git a/vendor/monolog b/vendor/monolog deleted file mode 160000 index b704c49..0000000 --- a/vendor/monolog +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b704c49a3051536f67f2d39f13568f74615b9922 diff --git a/vendor/swiftmailer b/vendor/swiftmailer deleted file mode 160000 index 982b4c9..0000000 --- a/vendor/swiftmailer +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 982b4c9498b7dd85e70f6d35e65d909c888e6345 diff --git a/vendor/symfony b/vendor/symfony deleted file mode 160000 index 0ab7762..0000000 --- a/vendor/symfony +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0ab776227a0d6586c9f1be379926acaa94f64a01 diff --git a/vendor/twig b/vendor/twig deleted file mode 160000 index f43cc52..0000000 --- a/vendor/twig +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f43cc520d6abb3868d36a3011874afbf13166317 diff --git a/vendor/twig-extensions b/vendor/twig-extensions deleted file mode 160000 index 1dfff8e..0000000 --- a/vendor/twig-extensions +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1dfff8e793f50f651c4f74f796c2c68a4aee3147 diff --git a/web/app.php b/web/app.php index 5a9e02d..2b4d5e7 100644 --- a/web/app.php +++ b/web/app.php @@ -1,12 +1,24 @@ register(true); +*/ + require_once __DIR__.'/../app/AppKernel.php'; //require_once __DIR__.'/../app/AppCache.php'; -use Symfony\Component\HttpFoundation\Request; - $kernel = new AppKernel('prod', false); $kernel->loadClassCache(); //$kernel = new AppCache($kernel); -$kernel->handle(Request::createFromGlobals())->send(); +$request = Request::createFromGlobals(); +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/web/app_dev.php b/web/app_dev.php index 6b8d760..08a5a28 100644 --- a/web/app_dev.php +++ b/web/app_dev.php @@ -1,18 +1,29 @@ loadClassCache(); -$kernel->handle(Request::createFromGlobals())->send(); +$request = Request::createFromGlobals(); +$response = $kernel->handle($request); +$response->send(); +$kernel->terminate($request, $response); diff --git a/web/bundles/framework b/web/bundles/framework deleted file mode 120000 index 3b5758c..0000000 --- a/web/bundles/framework +++ /dev/null @@ -1 +0,0 @@ -/var/www/vhosts/demo.openscrum.org/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/public \ No newline at end of file diff --git a/web/bundles/sensiodistribution b/web/bundles/sensiodistribution deleted file mode 120000 index bfeac2b..0000000 --- a/web/bundles/sensiodistribution +++ /dev/null @@ -1 +0,0 @@ -/var/www/vhosts/demo.openscrum.org/vendor/bundles/Sensio/Bundle/DistributionBundle/Resources/public \ No newline at end of file diff --git a/web/bundles/webprofiler b/web/bundles/webprofiler deleted file mode 120000 index 0d017d3..0000000 --- a/web/bundles/webprofiler +++ /dev/null @@ -1 +0,0 @@ -/var/www/vhosts/demo.openscrum.org/vendor/symfony/src/Symfony/Bundle/WebProfilerBundle/Resources/public \ No newline at end of file diff --git a/web/config.php b/web/config.php index f2461c0..162acfc 100644 --- a/web/config.php +++ b/web/config.php @@ -4,203 +4,121 @@ if (!isset($_SERVER['HTTP_HOST'])) { exit('This script cannot be run from the CLI. Run it from a browser.'); } -require_once __DIR__.'/check_ip.php'; - -$majorProblems = array(); -$minorProblems = array(); -$phpini = false; - -// minimum -if (!version_compare(phpversion(), '5.3.2', '>=')) { - $version = phpversion(); - $majorProblems[] = <<$version", but Symfony - needs at least PHP "5.3.2" to run. Before using Symfony, install - PHP "5.3.2" or newer. -EOF; +if (!in_array(@$_SERVER['REMOTE_ADDR'], array( + '127.0.0.1', + '::1', +))) { + header('HTTP/1.0 403 Forbidden'); + exit('This script is only accessible from localhost.'); } -if (!is_writable(__DIR__ . '/../app/cache')) { - $majorProblems[] = 'Change the permissions of the "app/cache/" - directory so that the web server can write into it.'; -} +require_once dirname(__FILE__).'/../app/SymfonyRequirements.php'; -if (!is_writable(__DIR__ . '/../app/logs')) { - $majorProblems[] = 'Change the permissions of the "app/logs/" - directory so that the web server can write into it.'; -} +$symfonyRequirements = new SymfonyRequirements(); -// extensions -if (!class_exists('DomDocument')) { - $minorProblems[] = 'Install and enable the php-xml module.'; -} +$majorProblems = $symfonyRequirements->getFailedRequirements(); +$minorProblems = $symfonyRequirements->getFailedRecommendations(); -if (!((function_exists('apc_store') && ini_get('apc.enabled')) || function_exists('eaccelerator_put') && ini_get('eaccelerator.enable') || function_exists('xcache_set'))) { - $minorProblems[] = 'Install and enable a PHP accelerator like APC (highly recommended).'; -} - -if (!(!(function_exists('apc_store') && ini_get('apc.enabled')) || version_compare(phpversion('apc'), '3.0.17', '>='))) { - $majorProblems[] = 'Upgrade your APC extension (3.0.17+)'; -} - -if (!function_exists('token_get_all')) { - $minorProblems[] = 'Install and enable the Tokenizer extension.'; -} - -if (!function_exists('mb_strlen')) { - $minorProblems[] = 'Install and enable the mbstring extension.'; -} - -if (!function_exists('iconv')) { - $minorProblems[] = 'Install and enable the iconv extension.'; -} - -if (!function_exists('utf8_decode')) { - $minorProblems[] = 'Install and enable the XML extension.'; -} - -if (PHP_OS != 'WINNT' && !function_exists('posix_isatty')) { - $minorProblems[] = 'Install and enable the php_posix extension (used to colorize the CLI output).'; -} - -if (!class_exists('Locale')) { - $minorProblems[] = 'Install and enable the intl extension.'; -} else { - $version = ''; - - if (defined('INTL_ICU_VERSION')) { - $version = INTL_ICU_VERSION; - } else { - $reflector = new \ReflectionExtension('intl'); - - ob_start(); - $reflector->info(); - $output = strip_tags(ob_get_clean()); - - preg_match('/^ICU version (.*)$/m', $output, $matches); - $version = $matches[1]; - } - - if (!version_compare($version, '4.0', '>=')) { - $minorProblems[] = 'Upgrade your intl extension with a newer ICU version (4+).'; - } -} - -if (!class_exists('SQLite3') && !in_array('sqlite', PDO::getAvailableDrivers())) { - $majorProblems[] = 'Install and enable the SQLite3 or PDO_SQLite extension.'; -} - -if (!function_exists('json_encode')) { - $majorProblems[] = 'Install and enable the json extension.'; -} - -if (!function_exists('session_start')) { - $majorProblems[] = 'Install and enable the session extension.'; -} - -if (!function_exists('ctype_alpha')) { - $majorProblems[] = 'Install and enable the ctype extension.'; -} - -if (!function_exists('token_get_all')) { - $majorProblems[] = 'Install and enable the Tokenizer extension.'; -} - -// php.ini -if (!ini_get('date.timezone')) { - $phpini = true; - $majorProblems[] = 'Set the "date.timezone" setting in php.ini* (like Europe/Paris).'; -} - -if (ini_get('short_open_tag')) { - $phpini = true; - $minorProblems[] = 'Set short_open_tag to off in php.ini*.'; -} - -if (ini_get('magic_quotes_gpc')) { - $phpini = true; - $minorProblems[] = 'Set magic_quotes_gpc to off in php.ini*.'; -} - -if (ini_get('register_globals')) { - $phpini = true; - $minorProblems[] = 'Set register_globals to off in php.ini*.'; -} - -if (ini_get('session.auto_start')) { - $phpini = true; - $minorProblems[] = 'Set session.auto_start to off in php.ini*.'; -} ?> - - + + Symfony Configuration + + + -
-
-
-