Merge branch '2.2' into 2.3
* 2.2: updated VERSION for 2.2.11 update CONTRIBUTORS for 2.2.11 updated CHANGELOG for 2.2.11 [HttpKernel] made a small optimization to Bundle initialization minor optimalization at bundle initialization [EventDispatcher] tweaked README removed observer pattern, in favour of mediator [DoctrineBridge] normalized class names in the ORM type guesser Fix `extract` method to avoid recalculating count() for each iteration. use the correct class name to retrieve mapped class' metadata and repository [WebProfilerBundle] Fixed js escaping in time.html.twig Conflicts: src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/time.html.twig src/Symfony/Component/HttpKernel/Kernel.php
This commit is contained in:
commit
40c097276d
|
@ -7,6 +7,23 @@ in 2.2 minor versions.
|
|||
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
|
||||
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.2.0...v2.2.1
|
||||
|
||||
* 2.2.11 (2013-12-02)
|
||||
|
||||
* bug #9656 [DoctrineBridge] normalized class names in the ORM type guesser (fabpot)
|
||||
* bug #9647 use the correct class name to retrieve mapped class' metadata and reposi... (xabbuh)
|
||||
* bug #9643 [WebProfilerBundle] Fixed js escaping in time.html.twig (hason)
|
||||
* bug #9639 Modified guessDefaultEscapingStrategy to not escape txt templates (fabpot)
|
||||
* bug #9314 [Form] Fix DateType for 32bits computers. (WedgeSama)
|
||||
* bug #9443 [FrameworkBundle] Fixed the registration of validation.xml file when the form is disabled (hason)
|
||||
* bug #9625 [HttpFoundation] Do not return an empty session id if the session was closed (Taluu)
|
||||
* bug #9447 [BrowserKit] fixed protocol-relative url redirection (jong99)
|
||||
* bug #9535 No Entity Manager defined exception (armetiz)
|
||||
* bug #9485 [Acl] Fix for issue #9433 (guilro)
|
||||
* bug #9516 [AclProvider] Fix incorrect behavior when partial results returned from cache (superdav42)
|
||||
* bug #9537 [FrameworkBundle] Fix mistake in translation's service definition. (phpmike)
|
||||
* bug #9367 [Process] Check if the pipe array is empty before calling stream_select() (jfposton)
|
||||
* bug #9469 [Propel1] re-factor Propel1 ModelChoiceList (havvg)
|
||||
|
||||
* 2.2.10 (2013-11-13)
|
||||
|
||||
* bug #9499 Request::overrideGlobals() may call invalid ini value (denkiryokuhatsuden)
|
||||
|
|
|
@ -52,14 +52,14 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Brandon Turner
|
||||
- Daniel Holmes (dholmes)
|
||||
- Jordan Alliot (jalliot)
|
||||
- Douglas Greenshields (shieldo)
|
||||
- John Wards (johnwards)
|
||||
- Fran Moreno (franmomu)
|
||||
- Bart van den Burg (burgov)
|
||||
- Antoine Hérault (herzult)
|
||||
- Michel Weimerskirch (mweimerskirch)
|
||||
- Toni Uebernickel (havvg)
|
||||
- Michel Weimerskirch (mweimerskirch)
|
||||
- Christian Raue
|
||||
- Douglas Greenshields (shieldo)
|
||||
- Arnaud Le Blanc (arnaud-lb)
|
||||
- marc.weistroff
|
||||
- Brice BERNARD (brikou)
|
||||
|
@ -68,9 +68,9 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Włodzimierz Gajda (gajdaw)
|
||||
- Colin Frei
|
||||
- excelwebzone
|
||||
- Kevin Bond (kbond)
|
||||
- Fabien Pennequin (fabienpennequin)
|
||||
- Jacob Dreesen (jdreesen)
|
||||
- Kevin Bond (kbond)
|
||||
- Wouter De Jong (wouterj)
|
||||
- Adrien Brault (adrienbrault)
|
||||
- Michal Piotrowski (eventhorizon)
|
||||
|
@ -81,8 +81,10 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Gábor Egyed (1ed)
|
||||
- David Buchmann (dbu)
|
||||
- Daniel Gomes (danielcsgomes)
|
||||
- Peter Kokot (maastermedia)
|
||||
- Jérémie Augustin (jaugustin)
|
||||
- Tigran Azatyan (tigranazatyan)
|
||||
- Rafael Dohms (rdohms)
|
||||
- Richard Shank (iampersistent)
|
||||
- Gordon Franke (gimler)
|
||||
- Helmer Aaviksoo
|
||||
|
@ -97,40 +99,39 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Dmitrii Chekaliuk (lazyhammer)
|
||||
- Clément JOBEILI (dator)
|
||||
- Hiromi Hishida (77web)
|
||||
- Dorian Villet (gnutix)
|
||||
- Richard Miller (mr_r_miller)
|
||||
- Arnaud Kleinpeter (nanocom)
|
||||
- Rafael Dohms (rdohms)
|
||||
- Mario A. Alvarez Garcia (nomack84)
|
||||
- Dennis Benkert (denderello)
|
||||
- Eric GELOEN (gelo)
|
||||
- Benjamin Dulau (dbenjamin)
|
||||
- Andreas Hucks (meandmymonkey)
|
||||
- Noel Guilbert (noel)
|
||||
- Jérôme Tamarelle (gromnan)
|
||||
- Larry Garfield (crell)
|
||||
- Dorian Villet (gnutix)
|
||||
- Guilherme Blanco (guilhermeblanco)
|
||||
- Martin Schuhfuß (usefulthink)
|
||||
- Thomas Rabaix (rande)
|
||||
- Ait Boudad Abdellatif (aitboudad)
|
||||
- Matthieu Bontemps (mbontemps)
|
||||
- Pierre Minnieur (pminnieur)
|
||||
- fivestar
|
||||
- Dominique Bongiraud
|
||||
- Leszek Prabucki (l3l0)
|
||||
- François Zaninotto (fzaninotto)
|
||||
- Dustin Whittle (dustinwhittle)
|
||||
- jeff
|
||||
- Clemens Tolboom
|
||||
- Peter Kokot (maastermedia)
|
||||
- Justin Hileman (bobthecow)
|
||||
- Sven Paulus (subsven)
|
||||
- Joel Wurtz (brouznouf)
|
||||
- Rui Marinho (ruimarinho)
|
||||
- Jérôme Tamarelle (gromnan)
|
||||
- Julien Brochet (mewt)
|
||||
- Sergey Linnik (linniksa)
|
||||
- Marcel Beerta (mazen)
|
||||
- Francois Zaninotto
|
||||
- Alexander Kotynia (olden)
|
||||
- François Zaninotto (fzaninotto)
|
||||
- Danny Berger (dpb587)
|
||||
- Xavier Montaña Carreras (xmontana)
|
||||
- Xavier Perez
|
||||
|
@ -143,7 +144,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- GordonsLondon
|
||||
- Jan Sorgalla (jsor)
|
||||
- Ray
|
||||
- Ait Boudad Abdellatif (aitboudad)
|
||||
- Thomas Adam
|
||||
- Albert Casademont (acasademont)
|
||||
- jdhoek
|
||||
|
@ -162,11 +162,14 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Manuel Kiessling (manuelkiessling)
|
||||
- Christian Flothmann (xabbuh)
|
||||
- Bertrand Zuchuat (garfield-fr)
|
||||
- Thomas Tourlourat (armetiz)
|
||||
- Andrey Esaulov (andremaha)
|
||||
- Grégoire Passault (gregwar)
|
||||
- Uwe Jäger (uwej711)
|
||||
- Aurelijus Valeiša (aurelijus)
|
||||
- Gustavo Piltcher
|
||||
- Stepan Tanasiychuk (stfalcon)
|
||||
- Bob den Otter (bopp)
|
||||
- Adrian Rudnik (kreischweide)
|
||||
- Francesc Rosàs (frosas)
|
||||
- Bongiraud Dominique
|
||||
|
@ -188,6 +191,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Kristen Gilden (kgilden)
|
||||
- hossein zolfi (ocean)
|
||||
- Philipp Kräutli (pkraeutli)
|
||||
- Kirill chEbba Chebunin (chebba)
|
||||
- Greg Thornton (xdissent)
|
||||
- Atsuhiro KUBO (iteman)
|
||||
- sun (sun)
|
||||
|
@ -243,6 +247,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Fabrice Bernhard (fabriceb)
|
||||
- Fabian Lange (codingfabian)
|
||||
- Yoshio HANAWA
|
||||
- Peter Rehm
|
||||
- Sebastian Bergmann
|
||||
- Pablo Díez (pablodip)
|
||||
- Kevin McBride
|
||||
|
@ -280,7 +285,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Ivan Rey (ivanrey)
|
||||
- Marcin Chyłek (songoq)
|
||||
- Ned Schwartz
|
||||
- Thomas Tourlourat (armetiz)
|
||||
- Ziumin
|
||||
- Lenar Lõhmus
|
||||
- Zach Badgett (zachbadgett)
|
||||
|
@ -289,6 +293,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Pavel Campr (pcampr)
|
||||
- Miha Vrhovnik
|
||||
- Geoffrey Tran (geoff)
|
||||
- Jan Behrens
|
||||
- Thomas Lallement (raziel057)
|
||||
- vitaliytv
|
||||
- Markus Bachmann (baachi)
|
||||
|
@ -344,12 +349,12 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Lars Vierbergen
|
||||
- Mark Challoner
|
||||
- Andrew Tchircoff (andrewtch)
|
||||
- Daniel Tschinder
|
||||
- michaelwilliams
|
||||
- Leevi Graham (leevigraham)
|
||||
- Casper Valdemar Poulsen
|
||||
- Eduardo Gulias (egulias)
|
||||
- Josiah (josiah)
|
||||
- Peter Rehm
|
||||
- John Bohn (jbohn)
|
||||
- Andrew Hilobok (hilobok)
|
||||
- Christian Soronellas (theunic)
|
||||
|
@ -383,12 +388,11 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Cyril Quintin (cyqui)
|
||||
- Gerard van Helden (drm)
|
||||
- Patrick Allaert
|
||||
- Kirill chEbba Chebunin (chebba)
|
||||
- Gustavo Falco (gfalco)
|
||||
- Aleksey Podskrebyshev
|
||||
- Bob den Otter (bopp)
|
||||
- David Marín Carreño (davefx)
|
||||
- Jörn Lang (j.lang)
|
||||
- Baptiste Clavié (talus)
|
||||
- julien pauli (jpauli)
|
||||
- mwsaz
|
||||
- Benoît Bourgeois
|
||||
|
@ -423,7 +427,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Robert Gruendler (pulse00)
|
||||
- Simon Terrien (sterrien)
|
||||
- Benoît Merlet (trompette)
|
||||
- Jan Behrens
|
||||
- Raul Fraile (raulfraile)
|
||||
- sensio
|
||||
- Patrick Kaufmann
|
||||
|
@ -446,6 +449,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- dantleech
|
||||
- Tero Alén (tero)
|
||||
- DerManoMann
|
||||
- Guillaume Royer
|
||||
- Artem (digi)
|
||||
- dantleech
|
||||
- Vadim Tyukov (vatson)
|
||||
|
@ -455,6 +459,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Máximo Cuadros (mcuadros)
|
||||
- Alex Bogomazov
|
||||
- julien.galenski
|
||||
- Christian Schmidt
|
||||
- Sébastien Lavoie (lavoiesl)
|
||||
- Per Sandström (per)
|
||||
- Lin Clark
|
||||
|
@ -463,6 +468,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Ville Mattila
|
||||
- Ben Davies
|
||||
- Max Beutel
|
||||
- Catalin Dan
|
||||
- Piotr Antosik (antek88)
|
||||
- Artem Lopata
|
||||
- Marcos Quesada (marcos_quesada)
|
||||
|
@ -541,16 +547,19 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- ShiraNai7
|
||||
- Janusz Jabłoński (yanoosh)
|
||||
- George Giannoulopoulos
|
||||
- Daniel Richter (richtermeister)
|
||||
- Chris Wilkinson (thewilkybarkid)
|
||||
- Ilya Biryukov
|
||||
- Jason Desrosiers
|
||||
- m.chwedziak
|
||||
- Lance McNearney
|
||||
- Giorgio Premi
|
||||
- caponica
|
||||
- Matt Daum (daum)
|
||||
- Alberto Pirovano (geezmo)
|
||||
- Martin Pärtel
|
||||
- Xavier Briand (xavierbriand)
|
||||
- WedgeSama
|
||||
- Romain Geissler
|
||||
- Charles Sarrazin (csarrazi)
|
||||
- Marcus Stöhr (dafish)
|
||||
|
@ -584,6 +593,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Jeremy Livingston (jeremylivingston)
|
||||
- Nicolas Schwartz (nicoschwartz)
|
||||
- Patrik Gmitter (patie)
|
||||
- Jonathan Gough
|
||||
- Benjamin Bender
|
||||
- Konrad Mohrfeldt
|
||||
- Benoit Lévêque (benoit_leveque)
|
||||
|
@ -598,6 +608,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Jakub Škvára (jskvara)
|
||||
- Nicolas Badey (nico-b)
|
||||
- povilas
|
||||
- Alexander Obuhovich
|
||||
- Alessandro Tagliapietra (alex88)
|
||||
- Gunnar Lium (gunnarlium)
|
||||
- Tiago Garcia (tiagojsag)
|
||||
|
@ -606,6 +617,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Harm van Tilborg
|
||||
- Martin Eckhardt
|
||||
- Leonid Terentyev
|
||||
- Jonathan Poston
|
||||
- Przemysław Piechota (kibao)
|
||||
- Adam Prager (padam87)
|
||||
- Francisco Facioni (fran6co)
|
||||
|
@ -617,7 +629,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- 2manypeople
|
||||
- Thomas Bibb
|
||||
- Josef Cech
|
||||
- Andrey Esaulov (andremaha)
|
||||
- Matthew Foster (mfoster)
|
||||
- Paul Seiffert (seiffert)
|
||||
- Vasily Khayrulin (sirian)
|
||||
|
@ -626,6 +637,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- stloyd
|
||||
- Chris Tickner
|
||||
- Andrew Coulton
|
||||
- David Stone
|
||||
- Luis Muñoz
|
||||
- Strate
|
||||
- Thomas Chmielowiec
|
||||
|
@ -690,6 +702,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Julien DIDIER (juliendidier)
|
||||
- Martin Mayer (martin)
|
||||
- Grzegorz Łukaszewicz (newicz)
|
||||
- Rouven Weßling (realityking)
|
||||
- Robert Campbell
|
||||
- Matt Lehner
|
||||
- Alex Pods
|
||||
|
@ -722,27 +735,31 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Osman Üngür (import)
|
||||
- Jorge Martin (jorgemartind)
|
||||
- Kevin Herrera (kherge)
|
||||
- Marek Štípek (maryo)
|
||||
- Matthew Davis (mdavis1982)
|
||||
- Muriel (metalmumu)
|
||||
- Michaël Perrin (michael.perrin)
|
||||
- Pablo Monterde Perez (plebs)
|
||||
- Rafał Wrzeszcz (rafalwrzeszcz)
|
||||
- Jimmy Leger (redpanda)
|
||||
- Baptiste Clavié (talus)
|
||||
- Cyrille Jouineau (tuxosaurus)
|
||||
- Yorkie Chadwick (yorkie76)
|
||||
- Yanick Witschi
|
||||
- Ondrej Mirtes
|
||||
- srsbiz
|
||||
- Nicolas A. Bérard-Nault
|
||||
- Gladhon
|
||||
- Saem Ghani
|
||||
- Stefan Oderbolz
|
||||
- Daniel Tschinder
|
||||
- Alexey Popkov
|
||||
- Joseph Deray
|
||||
- Arnaud Buathier (arnapou)
|
||||
- chesteroni (chesteroni)
|
||||
- Alexander M. Turek (derrabus)
|
||||
- Mauricio Lopez (diaspar)
|
||||
- Daniele Cesarini (ijanki)
|
||||
- Ismail Asci (ismailasci)
|
||||
- Simon CONSTANS (kosssi)
|
||||
- Ramon Henrique Ornelas (ramonornela)
|
||||
- Till Klampaeckel (till)
|
||||
|
@ -790,6 +807,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Abdulkadir N. A.
|
||||
- Sema
|
||||
- Thorsten Hallwas
|
||||
- Daisuke Ohata
|
||||
- Michael Squires
|
||||
- Chris Smith
|
||||
- kwiateusz
|
||||
|
@ -806,6 +824,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||
- Christian Stocker
|
||||
- tirnanog06
|
||||
- phc
|
||||
- Michaël VEROUX
|
||||
- sualko
|
||||
- Nicolas Roudaire
|
||||
- Lee Rowlands
|
||||
|
|
|
@ -19,6 +19,7 @@ use Symfony\Component\Form\FormTypeGuesserInterface;
|
|||
use Symfony\Component\Form\Guess\Guess;
|
||||
use Symfony\Component\Form\Guess\TypeGuess;
|
||||
use Symfony\Component\Form\Guess\ValueGuess;
|
||||
use Doctrine\Common\Util\ClassUtils;
|
||||
|
||||
class DoctrineOrmTypeGuesser implements FormTypeGuesserInterface
|
||||
{
|
||||
|
@ -153,6 +154,9 @@ class DoctrineOrmTypeGuesser implements FormTypeGuesserInterface
|
|||
|
||||
protected function getMetadata($class)
|
||||
{
|
||||
// normalize class name
|
||||
$class = ClassUtils::getRealClass(ltrim($class, '\\'));
|
||||
|
||||
if (array_key_exists($class, $this->cache)) {
|
||||
return $this->cache[$class];
|
||||
}
|
||||
|
|
|
@ -74,8 +74,7 @@ class UniqueEntityValidator extends ConstraintValidator
|
|||
}
|
||||
}
|
||||
|
||||
$className = $this->context->getClassName();
|
||||
$class = $em->getClassMetadata($className);
|
||||
$class = $em->getClassMetadata(get_class($entity));
|
||||
/* @var $class \Doctrine\Common\Persistence\Mapping\ClassMetadata */
|
||||
|
||||
$criteria = array();
|
||||
|
@ -110,7 +109,7 @@ class UniqueEntityValidator extends ConstraintValidator
|
|||
}
|
||||
}
|
||||
|
||||
$repository = $em->getRepository($className);
|
||||
$repository = $em->getRepository(get_class($entity));
|
||||
$result = $repository->{$constraint->repositoryMethod}($criteria);
|
||||
|
||||
/* If the result is a MongoCursor, it must be advanced to the first
|
||||
|
|
|
@ -91,7 +91,7 @@
|
|||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
<script>//<![CDATA[
|
||||
<script>{% autoescape 'js' %}//<![CDATA[
|
||||
/**
|
||||
* In-memory key-value cache manager
|
||||
*/
|
||||
|
@ -443,10 +443,11 @@
|
|||
canvasAutoUpdateOnThresholdChange(null);
|
||||
}, 50);
|
||||
|
||||
//]]></script>
|
||||
//]]>{% endautoescape %}</script>
|
||||
{% endblock %}
|
||||
|
||||
{% macro dump_request_data(token, profile, events, origin) %}
|
||||
{% autoescape 'js' %}
|
||||
{% from _self import dump_events %}
|
||||
{
|
||||
"id": "{{ token }}",
|
||||
|
@ -455,13 +456,15 @@
|
|||
{{ dump_events(events) }}
|
||||
]
|
||||
}
|
||||
{% endautoescape %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro dump_events(events) %}
|
||||
{% autoescape 'js' %}
|
||||
{% for name, event in events %}
|
||||
{% if '__section__' != name %}
|
||||
{
|
||||
"name": "{{ name|replace({"\\": "\\\\"}) }}",
|
||||
"name": "{{ name }}",
|
||||
"category": "{{ event.category }}",
|
||||
"origin": {{ "%F"|format(event.origin) }},
|
||||
"starttime": {{ "%F"|format(event.starttime) }},
|
||||
|
@ -476,6 +479,7 @@
|
|||
}{{ loop.last ? '' : ',' }}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endautoescape %}
|
||||
{% endmacro %}
|
||||
|
||||
{% macro display_timeline(id, events, colors) %}
|
||||
|
|
|
@ -544,6 +544,7 @@ class Crawler extends \SplObjectStorage
|
|||
public function extract($attributes)
|
||||
{
|
||||
$attributes = (array) $attributes;
|
||||
$count = count($attributes);
|
||||
|
||||
$data = array();
|
||||
foreach ($this as $node) {
|
||||
|
@ -556,7 +557,7 @@ class Crawler extends \SplObjectStorage
|
|||
}
|
||||
}
|
||||
|
||||
$data[] = count($attributes) > 1 ? $elements : $elements[0];
|
||||
$data[] = $count > 1 ? $elements : $elements[0];
|
||||
}
|
||||
|
||||
return $data;
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace Symfony\Component\EventDispatcher;
|
|||
class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate
|
||||
{
|
||||
/**
|
||||
* Observer pattern subject.
|
||||
* Event subject.
|
||||
*
|
||||
* @var mixed usually object or callable
|
||||
*/
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
EventDispatcher Component
|
||||
=========================
|
||||
|
||||
EventDispatcher implements a lightweight version of the Observer design
|
||||
pattern.
|
||||
The Symfony2 EventDispatcher component implements the Mediator pattern in a
|
||||
simple and effective way to make your projects truly extensible.
|
||||
|
||||
use Symfony\Component\EventDispatcher\EventDispatcher;
|
||||
use Symfony\Component\EventDispatcher\Event;
|
||||
|
|
|
@ -497,7 +497,9 @@ abstract class Kernel implements KernelInterface, TerminableInterface
|
|||
}
|
||||
|
||||
// look for orphans
|
||||
if (count($diff = array_values(array_diff(array_keys($directChildren), array_keys($this->bundles))))) {
|
||||
if (!empty($directChildren) && count($diff = array_diff_key($directChildren, $this->bundles))) {
|
||||
$diff = array_keys($diff);
|
||||
|
||||
throw new \LogicException(sprintf('Bundle "%s" extends bundle "%s", which is not registered.', $directChildren[$diff[0]], $diff[0]));
|
||||
}
|
||||
|
||||
|
|
Reference in New Issue