merged 2.0

This commit is contained in:
Fabien Potencier 2012-03-22 20:34:27 +01:00
commit 54ce7c75e8
13 changed files with 311 additions and 57 deletions

View File

@ -7,6 +7,32 @@ in 2.0 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 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.0.0...v2.0.1 To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.0.0...v2.0.1
* 2.0.12 (2012-03-19)
* 54b2413: Webprofiler ipv6 search fix
* 8642473: Changed instances of \DateTimeZone::UTC to 'UTC' as the constant is not valid a produces this error when DateTimeZone is instantiated: DateTimeZone::__construct() [<a href='datetimezone.--construct'>datetimezone.--construct</a>]: Unknown or bad timezone (1024)
* fbed9ff: Update src/Symfony/Component/HttpKernel/HttpCache/HttpCache.php
* 1b395f5: Revert "Throw exception when "date_widget" option is not equal to "time_widget""
* ed218bb: Fixed an "Array to string conversion" warning when using PHP 5.4. Also affects Symfony2 master.
* 50cb486: Fixed proxy generation in the DoctrineBundle when using Doctrine >= 2.2.0
* 93cc9ef: [Validator] Remove a race condition in the ClassMetaDataFactory (fix #3217)
* 878c239: Fixed autoloader leakage in tests
* 17c3482: fixed timezone bug in DateTimeToTimestampTransformer
* 705e460: provided unmerged definition for correct help generation
* 45bbb5b: added getNativeDefinition() to allow specifying an alternate InputDefinition for help generation
* aa53b88: Sets _format attribute only if it wasn't set previously by the user
* a827375: [CssSelector] fixed CssSelector::toXPath() when the CSS selector is an empty string
* ad07a95: [BrowserKit] Fixed Client->back/forward/reload() not keeping all request attributes
* eee5065: [TwigBundle] Workaround a flaw in the design of the configuration (normalization)
* 7aad478: [Locale] Prevent empty bundle
* a894431: [DependencyInjection] Allow parsing of parameters near escaped percent signs
* f758884: [FrameworkBundle] ContainerAwareEventDispatcher::removeListener() (closes #3115)
* 8fe6ee3: [Console] fixed help command when used from the shell (closes #3480)
* caa44ae: Only work with the cli sapi
* e2fc3cd: [Process] PHP_BINARY return the current process
* dc2d5a0: [HttpFoundation][Session] Fix bug in PDO Session Storage with SQLSRV making assumptions about parameters with length being OUTPUT not INPUT parameters.
* e8281cf: SqliteProfilerStorage fix
* 2.0.11 (2012-02-24) * 2.0.11 (2012-02-24)
* 3e64d36: [Serializer] Fix XML decoding attack vector through external entities * 3e64d36: [Serializer] Fix XML decoding attack vector through external entities

View File

@ -7,70 +7,74 @@ Symfony2 is the result of the work of many people who made the code better
- Fabien Potencier (fabpot) - Fabien Potencier (fabpot)
- Bernhard Schussek (bschussek) - Bernhard Schussek (bschussek)
- Johannes (schmittjoh) - Johannes (schmittjoh)
- Kris Wallsmith (kriswallsmith)
- Victor Berchet (vicb) - Victor Berchet (vicb)
- Kris Wallsmith (kriswallsmith)
- Jordi Boggiano (Seldaek) - Jordi Boggiano (Seldaek)
- Christophe Coevoet (stof) - Christophe Coevoet (stof)
- Ryan Weaver (weaverryan) - Ryan Weaver (weaverryan)
- Pascal Borreli (pborreli) - Pascal Borreli (pborreli)
- Lukas Kahwe Smith (lsmith77) - Lukas Kahwe Smith (lsmith77)
- Benjamin Eberlei (beberlei) - Benjamin Eberlei (beberlei)
- Jeremy Mikola (jmikola)
- Igor Wiedler (igorw) - Igor Wiedler (igorw)
- Joseph Bielawski (stloyd) - Joseph Bielawski (stloyd)
- Jeremy Mikola (jmikola) - Drak (drak)
- Hugo Hamon (hhamon) - Hugo Hamon (hhamon)
- Jonathan H. Wage (jwage) - Jonathan H. Wage (jwage)
- Thibault Duplessis (ornicar) - Thibault Duplessis (ornicar)
- Alexandre Salomé (alexandresalome) - Alexandre Salomé (alexandresalome)
- Bulat Shakirzyanov (avalanche123)
- Eriksen Costa (eriksencosta) - Eriksen Costa (eriksencosta)
- Francis Besset (francisbesset) - Bulat Shakirzyanov (avalanche123)
- stealth35 (stealth35) - stealth35 (stealth35)
- Francis Besset (francisbesset)
- Miha Vrhovnik (mvrhov) - Miha Vrhovnik (mvrhov)
- Henrik Bjørnskov (henrikbjorn) - Henrik Bjørnskov (henrikbjorn)
- Martin Hasoň (hason) - Martin Hasoň (hason)
- Henrik Westphal (snc)
- Eric Clemmons (ericclemmons) - Eric Clemmons (ericclemmons)
- Konstantin Kudryashov (everzet) - Konstantin Kudryashov (everzet)
- Dariusz Górecki (canni) - Dariusz Górecki (canni)
- Arnout Boks (aboks) - Arnout Boks (aboks)
- William DURAND (willdurand)
- Deni (yethee)
- Brandon Turner (blt04) - Brandon Turner (blt04)
- Hidenori Goto (hidenorigoto) - Hidenori Goto (hidenorigoto)
- Henrik Westphal (snc)
- John Wards (johnwards) - John Wards (johnwards)
- Drak (drak)
- yethee (yethee)
- Lenar Lõhmus (lenar) - Lenar Lõhmus (lenar)
- Marc Weistroff (marcw)
- Brikou CARRE (brikou) - Brikou CARRE (brikou)
- Daniel Holmes (danielholmes) - Daniel Holmes (danielholmes)
- Antoine Hérault (Herzult) - Antoine Hérault (Herzult)
- Fabien Pennequin (FabienPennequin) - Fabien Pennequin (FabienPennequin)
- Marc Weistroff (marcw) - Andrej Hudec (pulzarraider)
- Sebastian Hörl (blogsh)
- Jacob Dreesen (jdreesen) - Jacob Dreesen (jdreesen)
- Richard Shank (IamPersistent) - Richard Shank (IamPersistent)
- William DURAND (willdurand) - Kevin Bond (kbond)
- Jordan Alliot (jalliot) - Jordan Alliot (jalliot)
- Excel Web Zone (excelwebzone) - Excel Web Zone (excelwebzone)
- Katsuhiro OGAWA (fivestar) - Katsuhiro OGAWA (fivestar)
- Jeremy Mikola
- Tobias Schultze (Tobion) - Tobias Schultze (Tobion)
- blue-eyes (blue-eyes) - blue-eyes (blue-eyes)
- Robert Schönthal (digitalkaoz) - Robert Schönthal (digitalkaoz)
- Tim Nagel (merk) - Tim Nagel (merk)
- Michel Weimerskirch (mweimerskirch) - Michel Weimerskirch (mweimerskirch)
- Tigran Azatyan (tigranazatyan) - Tigran Azatyan (tigranazatyan)
- Pierre Minnieur (pminnieur)
- Christian Raue (craue) - Christian Raue (craue)
- umpirsky (umpirsky)
- Helmer Aaviksoo (helmer) - Helmer Aaviksoo (helmer)
- Jakub Zalas (jakzal) - Jakub Zalas (jakzal)
- Javier Eguiluz (javiereguiluz) - Javier Eguiluz (javiereguiluz)
- Matthieu Vachon (maoueh) - Matthieu Vachon (maoueh)
- Amal Raghav (kertz) - Amal Raghav (kertz)
- Artur Kotyrba (udat) - Artur Kotyrba (udat)
- Kevin Bond (kbond) - Daniel Gomes (danielcsgomes)
- umpirsky (umpirsky)
- Clément JOBEILI (dator) - Clément JOBEILI (dator)
- Bart van den Burg (Burgov) - Bart van den Burg (Burgov)
- Benjamin Dulau (benjamindulau) - Benjamin Dulau (benjamindulau)
- Noel GUILBERT (noelg) - Noel GUILBERT (noelg)
- Andrej Hudec (pulzarraider)
- Martin Schuhfuss (usefulthink) - Martin Schuhfuss (usefulthink)
- Thomas (rande) - Thomas (rande)
- Dennis Benkert (denderello) - Dennis Benkert (denderello)
@ -80,33 +84,36 @@ Symfony2 is the result of the work of many people who made the code better
- Justin Hileman (bobthecow) - Justin Hileman (bobthecow)
- Sven Paulus (subsven) - Sven Paulus (subsven)
- Xavier Perez (DuoSRX) - Xavier Perez (DuoSRX)
- Brouznouf (Brouznouf) - Joel Wurtz (Brouznouf)
- Alexander (asm89)
- Jonathan Ingram (jonathaningram)
- Pablo Godel (pgodel) - Pablo Godel (pgodel)
- Francois Zaninotto - Francois Zaninotto
- Leszek Prabucki (l3l0) - Leszek Prabucki (l3l0)
- Francois Zaninotto (fzaninotto) - Francois Zaninotto (fzaninotto)
- Xavier Montaña (xmontana) - Xavier Montaña Carreras (xmontana)
- Arjen Brouwer (arjenjb) - Arjen Brouwer (arjenjb)
- Alif Rachmawadi (subosito) - Alif Rachmawadi (subosito)
- Florin Patan (dlsniper)
- Boussekeyt Jules (gordonslondon) - Boussekeyt Jules (gordonslondon)
- Jan Sorgalla (jsor) - Jan Sorgalla (jsor)
- Marcel Beerta (mazen)
- Lee McDermott (lmcd) - Lee McDermott (lmcd)
- Toni Uebernickel (havvg)
- Richard Miller (richardmiller) - Richard Miller (richardmiller)
- Jeroen Hoek (jdhoek) - Jeroen Hoek (jdhoek)
- Rafael Dohms (rdohms)
- geoffrey - geoffrey
- Matthew Lewinski (lewinski)
- Wotre (Wotre) - Wotre (Wotre)
- Pierre Minnieur (pminnieur) - Gyula Sallai (thesalla)
- Daniel Gomes (danielcsgomes) - Grégoire Pineau (lyrixx)
- Danny Berger (dpb587) - Danny Berger (dpb587)
- dlsniper (dlsniper)
- Jérémie Augustin (jaugustin) - Jérémie Augustin (jaugustin)
- Sebastian Hörl (blogsh)
- Joseph Rouff (rouffj) - Joseph Rouff (rouffj)
- Manuel Kiessling (ManuelKiessling) - Manuel Kiessling (ManuelKiessling)
- dbu - dbu
- asm89 (asm89)
- Julien Brochet (aerialls) - Julien Brochet (aerialls)
- Douglas Greenshields (shieldo)
- Aurelijus Valeiša (aurelijus) - Aurelijus Valeiša (aurelijus)
- Gustavo Piltcher - Gustavo Piltcher
- Ray (rrehbeindoi) - Ray (rrehbeindoi)
@ -114,21 +121,25 @@ Symfony2 is the result of the work of many people who made the code better
- Adrian Rudnik (kreischweide) - Adrian Rudnik (kreischweide)
- Gábor Egyed (1ed) - Gábor Egyed (1ed)
- Andréia Bohner (andreia) - Andréia Bohner (andreia)
- Andreas Hucks (meandmymonkey)
- Drak
- Jérémy Romey (jeremyFreeAgent)
- Yuen-Chi Lian (yclian) - Yuen-Chi Lian (yclian)
- Greg Thornton (xdissent) - Greg Thornton (xdissent)
- Lars Strojny (lstrojny) - Lars Strojny (lstrojny)
- Arnaud Le Blanc (arnaud-lb)
- Costin Bereveanu (schniper) - Costin Bereveanu (schniper)
- Douglas Greenshields (shieldo)
- Konstantin Leboev (realmfoo) - Konstantin Leboev (realmfoo)
- Tobias Naumann (tna)
- Donald Tyler (Chekote) - Donald Tyler (Chekote)
- Matthew Lewinski
- Kai - Kai
- Gyula Sallai (thesalla)
- Sergey Linnik (Partugal) - Sergey Linnik (Partugal)
- Laszlo Korte (laszlokorte) - Laszlo Korte (laszlokorte)
- Toni Uebernickel (havvg)
- Hubert LECORCHE (hlecorche) - Hubert LECORCHE (hlecorche)
- Michael Ridgway (mridgway) - Michael Ridgway (mridgway)
- Stepan Tanasiychuk (stfalcon) - Stepan Tanasiychuk (stfalcon)
- Pavel Campr (pcampr)
- Bertrand Zuchuat (Garfield-fr) - Bertrand Zuchuat (Garfield-fr)
- brki (brki) - brki (brki)
- Michel Salib (michelsalib) - Michel Salib (michelsalib)
@ -152,25 +163,24 @@ Symfony2 is the result of the work of many people who made the code better
- Manuel Reinhard (sprain) - Manuel Reinhard (sprain)
- Thomas Adam (tecbot) - Thomas Adam (tecbot)
- Nils Adermann (naderman) - Nils Adermann (naderman)
- Tobias Naumann (tna)
- Shein Alexey (conf) - Shein Alexey (conf)
- Jonathan Ingram (jonathaningram)
- Steven Surowiec (steves) - Steven Surowiec (steves)
- Marcin Chylek (SongoQ) - Marcin Chylek (SongoQ)
- arnaud-lb (arnaud-lb)
- Ivan Rey (ivanrey) - Ivan Rey (ivanrey)
- Ryan Rogers (timewasted) - Ryan Rogers (timewasted)
- Ned Schwartz (theinterned) - Ned Schwartz (theinterned)
- Aurélien Fredouelle (AurelC2G) - Aurélien Fredouelle (AurelC2G)
- flevour (flevour) - flevour (flevour)
- stealth35
- Oscar Cubo Medina (ocubom) - Oscar Cubo Medina (ocubom)
- IP_FIX (eversonfix)
- Geoffrey Tran (geoffreytran) - Geoffrey Tran (geoffreytran)
- Christian Schaefer (caefer) - Christian Schaefer (caefer)
- Elliot Anderson (elliot) - Elliot Anderson (elliot)
- Olivier Dolbeau (odolbeau) - Olivier Dolbeau (odolbeau)
- José Nahuel Cuesta Luengo (ncuesta) - José Nahuel Cuesta Luengo (ncuesta)
- Dustin Dobervich (dustin10) - Dustin Dobervich (dustin10)
- erheme318 (erheme318) - Erkhembayar Gantulga (erheme318)
- Michael Holm (hollodk) - Michael Holm (hollodk)
- Rostyslav Kinash - Rostyslav Kinash
- yktd26 (yktd26) - yktd26 (yktd26)
@ -178,13 +188,13 @@ Symfony2 is the result of the work of many people who made the code better
- Hossein Bukhamsin (husinluck) - Hossein Bukhamsin (husinluck)
- Fabrice Bernhard (fabriceb) - Fabrice Bernhard (fabriceb)
- develop - develop
- 77web (77web) - Hiromi Hishida (77web)
- Joshua Nye (zerosanity) - Joshua Nye (zerosanity)
- andrewtch (andrewtch) - andrewtch (andrewtch)
- markchalloner (markchalloner) - markchalloner (markchalloner)
- Michael Williams (mtotheikle) - Michael Williams (mtotheikle)
- Casper Valdemar Poulsen - Casper Valdemar Poulsen (cvaldemar)
- franmomu (franmomu) - Fran Moreno (franmomu)
- Degory Valentine - Degory Valentine
- Krzysiek Łabuś (Crozin) - Krzysiek Łabuś (Crozin)
- superjavason (superjavason) - superjavason (superjavason)
@ -194,31 +204,41 @@ Symfony2 is the result of the work of many people who made the code better
- Peter Kruithof (pkruithof) - Peter Kruithof (pkruithof)
- Albert Jessurum (ajessu) - Albert Jessurum (ajessu)
- frost-nzcr4 (frost-nzcr4) - frost-nzcr4 (frost-nzcr4)
- Abhoryo (Abhoryo) - Petit Yoann (Abhoryo)
- Fabian Vogler (fabian) - Fabian Vogler (fabian)
- Maksim Kotlyar (makasim) - Maksim Kotlyar
- Grégoire Passault (Gregwar) - Grégoire Passault (Gregwar)
- Manuel de Ruiter (ManuelAC) - Manuel de Ruiter (ManuelAC)
- Cyril Quintin (cyqui) - Cyril Quintin (cyqui)
- Gerard van Helden (drm) - Gerard van Helden (drm)
- Johnny Peck (johnnypeck)
- kazusuke sasezaki (sasezaki) - kazusuke sasezaki (sasezaki)
- Benjamin Lévêque (benji07)
- Matt Robinson (inanimatt) - Matt Robinson (inanimatt)
- root
- Chris Smith (cs278) - Chris Smith (cs278)
- Derek ROTH (DerekRoth) - Derek ROTH (DerekRoth)
- mwsaz - mwsaz
- Sergey Skopin (grizlik)
- Emil Einarsson (Einarsson) - Emil Einarsson (Einarsson)
- Yanick Witschi (Toflar)
- Don Pinkster - Don Pinkster
- Saem Ghani (saem)
- Michael Roterman (wtfzdotnet) - Michael Roterman (wtfzdotnet)
- Arno Geurts - Arno Geurts
- Marek Kalnik (marekkalnik) - Marek Kalnik (marekkalnik)
- Daniel Cestari (dcestari) - Daniel Cestari (dcestari)
- Jérémy CROMBEZ (jcrombez)
- Magnus Nordlander (magnusnordlander) - Magnus Nordlander (magnusnordlander)
- Adam Monsen (meonkeys) - Adam Monsen (meonkeys)
- Michał Pipa (michal-pipa)
- Robert Gruendler (pulse00) - Robert Gruendler (pulse00)
- Sebastian Busch (sbusch)
- Benoît Merlet (trompette) - Benoît Merlet (trompette)
- Jan Behrens (deegital) - Jan Behrens (deegital)
- sensio - sensio
- Théophile Helleboid - chtitux (chtitux) - Théophile Helleboid - chtitux (chtitux)
- Matthew Lewinski (lewinski)
- xaav - xaav
- Anton Babenko (antonbabenko) - Anton Babenko (antonbabenko)
- irmantas (irmantas) - irmantas (irmantas)
@ -239,11 +259,14 @@ Symfony2 is the result of the work of many people who made the code better
- Neil Katin - Neil Katin
- Gustavo Adrian - Gustavo Adrian
- Nicolas Fabre (nfabre) - Nicolas Fabre (nfabre)
- Clément Herreman (clemherreman)
- heccjj (heccjj) - heccjj (heccjj)
- Sebastian Utz (seut) - Sebastian Utz (seut)
- Cédric Lahouste (RapotOR) - Cédric Lahouste (RapotOR)
- George Giannoulopoulos (dotoree) - George Giannoulopoulos (dotoree)
- Alberto Pirovano (geezmo) - Alberto Pirovano (geezmo)
- Xavier Briand (xavierbriand)
- Markus Lanthaler (lanthaler)
- Klein Florian (docteurklein) - Klein Florian (docteurklein)
- JerikVenture (JerikVenture) - JerikVenture (JerikVenture)
- Evan Kaufman (EvanK) - Evan Kaufman (EvanK)
@ -252,7 +275,7 @@ Symfony2 is the result of the work of many people who made the code better
- Sebastian Ionescu - Sebastian Ionescu
- Dirk Pahl (dirkaholic) - Dirk Pahl (dirkaholic)
- Nicolas Badey (Nico-B) - Nicolas Badey (Nico-B)
- pscheit (pscheit) - Philipp Scheit (pscheit)
- Bouke Haarsma (Bouke) - Bouke Haarsma (Bouke)
- Lars Strojny - Lars Strojny
- Yrwein (Yrwein) - Yrwein (Yrwein)
@ -260,14 +283,15 @@ Symfony2 is the result of the work of many people who made the code better
- Thomas Bibb (thomasbibb) - Thomas Bibb (thomasbibb)
- Ivan Kurnosov - Ivan Kurnosov
- stloyd - stloyd
- Martin Parsiegla
- Christoph Nißle (DerStoffel) - Christoph Nißle (DerStoffel)
- Luis Muñoz - Luis Muñoz
- Thomas Chmielowiec (chmielot)
- Oleg Zinchenko (cystbear) - Oleg Zinchenko (cystbear)
- Grégoire Paris (greg0ire) - Grégoire Paris (greg0ire)
- Guilherme Blanco (guilhermeblanco) - Guilherme Blanco (guilhermeblanco)
- Stefano Sala (stewe) - Stefano Sala (stewe)
- Romain Dorgueil - Romain Dorgueil
- Benjamin Lévêque (benji07)
- Benjamin Zikarsky (bzikarsky) - Benjamin Zikarsky (bzikarsky)
- alefranz (alefranz) - alefranz (alefranz)
- Andy Stanberry (cranberyxl) - Andy Stanberry (cranberyxl)
@ -276,7 +300,8 @@ Symfony2 is the result of the work of many people who made the code better
- Philip Dahlstrøm (phidah) - Philip Dahlstrøm (phidah)
- Gustavo Falco - Gustavo Falco
- gnat42 (gnat42) - gnat42 (gnat42)
- patashnik (patashnik) - Alexey Popkov (patashnik)
- Alexander Miehe (Engerim)
- devel - devel
- HIROKI (hirocaster) - HIROKI (hirocaster)
- jpauli (jpauli) - jpauli (jpauli)
@ -297,14 +322,17 @@ Symfony2 is the result of the work of many people who made the code better
- Juan M Martínez - Juan M Martínez
- Alex - Alex
- agilemedialab (agilemedialab) - agilemedialab (agilemedialab)
- Alan Chen (alan0101c)
- Masao Maeda (brtriver) - Masao Maeda (brtriver)
- Gustavo Adrian (comfortablynumb) - Gustavo Falco (comfortablynumb)
- Denis Klementjev (dklementjev) - Denis Klementjev (dklementjev)
- Kévin Dunglas (dunglas) - Kévin Dunglas (dunglas)
- Gabriel Birke (gbirke) - Gabriel Birke (gbirke)
- Ismael Ambrosi (iambrosi)
- Osman Üngür (import) - Osman Üngür (import)
- Robert Campbell (jayrulez) - Robert Campbell (jayrulez)
- Maerlyn (maerlyn) - John Bohn (jjbohn)
- Gábor Fási (maerlyn)
- Matthew Davis (mdavis1982) - Matthew Davis (mdavis1982)
- Matt Lehner (mlehner) - Matt Lehner (mlehner)
- Matthias (mpdude) - Matthias (mpdude)
@ -317,18 +345,20 @@ Symfony2 is the result of the work of many people who made the code better
- Beau Simensen (simensen) - Beau Simensen (simensen)
- Tom Van Looy (tvlooy) - Tom Van Looy (tvlooy)
- Juan Ases García (Ases) - Juan Ases García (Ases)
- FabienD (FabienD) - Eugene Babushkin (EugeneBabushkin)
- Fabien D. (FabienD)
- Jörg Rühl (LennyLinux) - Jörg Rühl (LennyLinux)
- Matt Drollette (MDrollette) - Matt Drollette (MDrollette)
- Skorney (Skorney) - Kornienko Alexander (Skorney)
- Vincent (Vincent-P) - Vincent (Vincent-P)
- Drew Butler - Drew Butler
- Pierre-Louis LAUNAY - Pierre-Louis LAUNAY
- Sébastien HOUZE - Sébastien HOUZE
- Sergiy Sokolenko - Sergiy Sokolenko
- Adrien Brault (adrienbrault)
- Bernd Matzner (bmatzner) - Bernd Matzner (bmatzner)
- Vladimir Sazhin (cannie) - Vladimir Sazhin (cannie)
- catchamonkey (catchamonkey) - Chris Sedlmayr (catchamonkey)
- Christian Stocker (chregu) - Christian Stocker (chregu)
- chx (chx) - chx (chx)
- Luis Cordova (cordoval) - Luis Cordova (cordoval)
@ -337,10 +367,10 @@ Symfony2 is the result of the work of many people who made the code better
- ds (dantleech) - ds (dantleech)
- Djama Suemenich (djama) - Djama Suemenich (djama)
- Daniel Londero (dlondero) - Daniel Londero (dlondero)
- dorkitude (dorkitude) - Kyle W (dorkitude)
- David Soria Parra (dsp) - David Soria Parra (dsp)
- Kousuke Ebihara (ebihara) - Kousuke Ebihara (ebihara)
- Vladislav (ideea) - ideea (ideea)
- John Carr (Jc2k) - John Carr (Jc2k)
- jdewit (jdewit) - jdewit (jdewit)
- Justin Rainbow (justinrainbow) - Justin Rainbow (justinrainbow)
@ -349,29 +379,29 @@ Symfony2 is the result of the work of many people who made the code better
- kwiateusz (kwiateusz) - kwiateusz (kwiateusz)
- Samuel Laulhau (lalop) - Samuel Laulhau (lalop)
- Javier López (loalf) - Javier López (loalf)
- Matt Fitzgerald (matthewfitz)
- Penny Leach (mjollnir) - Penny Leach (mjollnir)
- Michael Schneider (mschneid) - Michael Schneider (mschneid)
- Oncle Tom (oncletom) - Oncle Tom (oncletom)
- ouardisoft (ouardisoft) - ouardisoft (ouardisoft)
- Pavel Campr (pcampr) - patrick-mcdougle (patrick-mcdougle)
- Petr Jaroš (petajaros) - Petr Jaroš (petajaros)
- pzwosta (pzwosta) - pzwosta (pzwosta)
- Rafael Dohms (rdohms)
- Ruud Kamphuis (ruudk) - Ruud Kamphuis (ruudk)
- Markus Tacker (tacker) - Markus Tacker (tacker)
- Matt Fitzgerald (tirnanog06)
- Tyler Stroud (tystr) - Tyler Stroud (tystr)
- Vyacheslav Slinko (vslinko) - Vyacheslav Slinko (vslinko)
- Josiah (web-dev) - Josiah (web-dev)
- xanido (xanido)
- Xavier HAUSHERR (xkobal) - Xavier HAUSHERR (xkobal)
- drublic
- Gustavo Adrian - Gustavo Adrian
- max - max
- Hans (drublic) - Craig Marvelley (craigmarvelley)
- m0ppers (m0ppers) - m0ppers (m0ppers)
- Marcel Beerta (mazen)
- Muharrem Demirci (mdemirci) - Muharrem Demirci (mdemirci)
- meze (meze) - meze (meze)
- Michael (mshtukin) - Michael Shtukin (mshtukin)
- Nicolas de Marqué Fromentin (nicodmf) - Nicolas de Marqué Fromentin (nicodmf)
- Florent Cailhol (ooflorent) - Florent Cailhol (ooflorent)
- Pierre (ptheg) - Pierre (ptheg)

View File

@ -153,6 +153,7 @@ class HttpKernel extends BaseHttpKernel
$options['attributes']['_route'] = '_internal'; $options['attributes']['_route'] = '_internal';
$subRequest = $request->duplicate($options['query'], null, $options['attributes']); $subRequest = $request->duplicate($options['query'], null, $options['attributes']);
$subRequest->setMethod('GET');
} }
$level = ob_get_level(); $level = ob_get_level();

View File

@ -0,0 +1,171 @@
<?xml version="1.0"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="1">
<source>This value should be false</source>
<target>Ova vrijednost treba biti netočna</target>
</trans-unit>
<trans-unit id="2">
<source>This value should be true</source>
<target>Ova vrijednost treba biti točna</target>
</trans-unit>
<trans-unit id="3">
<source>This value should be of type {{ type }}</source>
<target>Ova vrijednost treba biti tipa {{ type }}</target>
</trans-unit>
<trans-unit id="4">
<source>This value should be blank</source>
<target>Ova vrijednost treba biti prazna</target>
</trans-unit>
<trans-unit id="5">
<source>The value you selected is not a valid choice</source>
<target>Ova vrijednost treba biti jedna od ponuđenih</target>
</trans-unit>
<trans-unit id="6">
<source>You must select at least {{ limit }} choices</source>
<target>Izaberite barem {{ limit }} mogućnosti</target>
</trans-unit>
<trans-unit id="7">
<source>You must select at most {{ limit }} choices</source>
<target>Izaberite najviše {{ limit }} mogućnosti</target>
</trans-unit>
<trans-unit id="8">
<source>One or more of the given values is invalid</source>
<target>Jedna ili više danih vrijednosti nije ispravna</target>
</trans-unit>
<trans-unit id="9">
<source>The fields {{ fields }} were not expected</source>
<target>Polja {{ fields }} nisu bila očekivana</target>
</trans-unit>
<trans-unit id="10">
<source>The fields {{ fields }} are missing</source>
<target>Polja {{ fields }} nedostaju</target>
</trans-unit>
<trans-unit id="11">
<source>This value is not a valid date</source>
<target>Ova vrijednost nije ispravan datum</target>
</trans-unit>
<trans-unit id="12">
<source>This value is not a valid datetime</source>
<target>Ova vrijednost nije ispravan datum-vrijeme</target>
</trans-unit>
<trans-unit id="13">
<source>This value is not a valid email address</source>
<target>Ova vrijednost nije ispravna e-mail adresa</target>
</trans-unit>
<trans-unit id="14">
<source>The file could not be found</source>
<target>Datoteka ne može biti pronađena</target>
</trans-unit>
<trans-unit id="15">
<source>The file is not readable</source>
<target>Datoteka nije čitljiva</target>
</trans-unit>
<trans-unit id="16">
<source>The file is too large ({{ size }}). Allowed maximum size is {{ limit }}</source>
<target>Datoteka je prevelika ({{ size }}). Najveća dozvoljena veličina je {{ limit }}</target>
</trans-unit>
<trans-unit id="17">
<source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}</source>
<target>Mime tip datoteke nije ispravan ({{ type }}). Dozvoljeni mime tipovi su {{ types }}</target>
</trans-unit>
<trans-unit id="18">
<source>This value should be {{ limit }} or less</source>
<target>Ova vrijednost treba biti {{ limit }} ili manje</target>
</trans-unit>
<trans-unit id="19">
<source>This value is too long. It should have {{ limit }} characters or less</source>
<target>Ova vrijednost je predugačka. Treba imati {{ limit }} znakova ili manje</target>
</trans-unit>
<trans-unit id="20">
<source>This value should be {{ limit }} or more</source>
<target>Ova vrijednost treba biti {{ limit }} ili više</target>
</trans-unit>
<trans-unit id="21">
<source>This value is too short. It should have {{ limit }} characters or more</source>
<target>Ova vrijednost je prekratka. Treba imati {{ limit }} znakova ili više</target>
</trans-unit>
<trans-unit id="22">
<source>This value should not be blank</source>
<target>Ova vrijednost ne smije biti prazna</target>
</trans-unit>
<trans-unit id="23">
<source>This value should not be null</source>
<target>Ova vrijednost ne smije biti null</target>
</trans-unit>
<trans-unit id="24">
<source>This value should be null</source>
<target>Ova vrijednost treba biti null</target>
</trans-unit>
<trans-unit id="25">
<source>This value is not valid</source>
<target>Ova vrijednost nije ispravna</target>
</trans-unit>
<trans-unit id="26">
<source>This value is not a valid time</source>
<target>Ova vrijednost nije ispravno vrijeme</target>
</trans-unit>
<trans-unit id="27">
<source>This value is not a valid URL</source>
<target>Ova vrijednost nije ispravan URL</target>
</trans-unit>
<trans-unit id="28">
<source>This form should not contain extra fields</source>
<target>Ovaj obrazac ne smije sadržavati dodatna polja</target>
</trans-unit>
<trans-unit id="29">
<source>The uploaded file was too large. Please try to upload a smaller file</source>
<target>Prenesena datoteka je prevelika. Molim pokušajte prenijeti manju datoteku</target>
</trans-unit>
<trans-unit id="30">
<source>The CSRF token is invalid</source>
<target>CSRF vrijednost nije ispravna</target>
</trans-unit>
<trans-unit id="31">
<source>The two values should be equal</source>
<target>Obje vrijednosti trebaju biti jednake</target>
</trans-unit>
<trans-unit id="32">
<source>The file is too large. Allowed maximum size is {{ limit }}</source>
<target>Ova datoteka je prevelika. Najveća dozvoljena veličina je {{ limit }}</target>
</trans-unit>
<trans-unit id="33">
<source>The file is too large</source>
<target>Ova datoteka je prevelika</target>
</trans-unit>
<trans-unit id="34">
<source>The file could not be uploaded</source>
<target>Ova datoteka ne može biti prenesena</target>
</trans-unit>
<trans-unit id="35">
<source>This value should be a valid number</source>
<target>Ova vrijednost treba biti ispravan broj</target>
</trans-unit>
<trans-unit id="36">
<source>This file is not a valid image</source>
<target>Ova datoteka nije ispravna slika</target>
</trans-unit>
<trans-unit id="37">
<source>This is not a valid IP address</source>
<target>Ovo nije ispravna IP adresa</target>
</trans-unit>
<trans-unit id="38">
<source>This value is not a valid language</source>
<target>Ova vrijednost nije ispravan jezik</target>
</trans-unit>
<trans-unit id="39">
<source>This value is not a valid locale</source>
<target>Ova vrijednost nije ispravana regionalna oznaka</target>
</trans-unit>
<trans-unit id="40">
<source>This value is not a valid country</source>
<target>Ova vrijednost nije ispravna zemlja</target>
</trans-unit>
<trans-unit id="41">
<source>This value is already used</source>
<target>Ova vrijednost je već iskorištena</target>
</trans-unit>
</body>
</file>
</xliff>

View File

@ -61,13 +61,15 @@ class ExceptionController extends ContainerAware
protected function getAndCleanOutputBuffering() protected function getAndCleanOutputBuffering()
{ {
// the count variable avoids an infinite loop on // ob_get_level() never returns 0 on some Windows configurations, so if
// some Windows configurations where ob_get_level() // the level is the same two times in a row, the loop should be stopped.
// never reaches 0 $previousObLevel = null;
$count = 100;
$startObLevel = $this->container->get('request')->headers->get('X-Php-Ob-Level', -1); $startObLevel = $this->container->get('request')->headers->get('X-Php-Ob-Level', -1);
$currentContent = ''; $currentContent = '';
while (ob_get_level() > $startObLevel && --$count) {
while (($obLevel = ob_get_level()) > $startObLevel && $obLevel !== $previousObLevel) {
$previousObLevel = $obLevel;
$currentContent .= ob_get_clean(); $currentContent .= ob_get_clean();
} }

View File

@ -36,7 +36,21 @@ class TwigExtension extends Extension
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); $loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('twig.xml'); $loader->load('twig.xml');
foreach ($configs as &$config) {
if (isset($config['globals'])) {
foreach ($config['globals'] as $name => $value) {
if (is_array($value) && isset($value['key'])) {
$config['globals'][$name] = array(
'key' => $name,
'value' => $config['globals'][$name]
);
}
}
}
}
$configuration = $this->getConfiguration($configs, $container); $configuration = $this->getConfiguration($configs, $container);
$config = $this->processConfiguration($configuration, $configs); $config = $this->processConfiguration($configuration, $configs);
$container->setParameter('twig.exception_listener.controller', $config['exception_controller']); $container->setParameter('twig.exception_listener.controller', $config['exception_controller']);

View File

@ -9,6 +9,7 @@ $container->loadFromExtension('twig', array(
'globals' => array( 'globals' => array(
'foo' => '@bar', 'foo' => '@bar',
'pi' => 3.14, 'pi' => 3.14,
'bad' => array('key' => 'foo'),
), ),
'auto_reload' => true, 'auto_reload' => true,
'autoescape' => true, 'autoescape' => true,

View File

@ -3,8 +3,9 @@ twig:
resources: resources:
- MyBundle::form.html.twig - MyBundle::form.html.twig
globals: globals:
foo: @bar foo: "@bar"
pi: 3.14 pi: 3.14
bad: {key: foo}
auto_reload: true auto_reload: true
autoescape: true autoescape: true
base_template_class: stdClass base_template_class: stdClass

View File

@ -64,6 +64,12 @@ class TwigExtensionTest extends TestCase
$this->assertEquals('pi', $calls[1][1][0], '->load() registers variables as Twig globals'); $this->assertEquals('pi', $calls[1][1][0], '->load() registers variables as Twig globals');
$this->assertEquals(3.14, $calls[1][1][1], '->load() registers variables as Twig globals'); $this->assertEquals(3.14, $calls[1][1][1], '->load() registers variables as Twig globals');
// Yaml and Php specific configs
if (in_array($format, array('yml', 'php'))) {
$this->assertEquals('bad', $calls[2][1][0], '->load() registers variables as Twig globals');
$this->assertEquals(array('key' => 'foo'), $calls[2][1][1], '->load() registers variables as Twig globals');
}
// Twig options // Twig options
$options = $container->getParameter('twig.options'); $options = $container->getParameter('twig.options');
$this->assertTrue($options['auto_reload'], '->load() sets the auto_reload option'); $this->assertTrue($options['auto_reload'], '->load() sets the auto_reload option');

View File

@ -263,7 +263,7 @@ class ProfilerController extends ContainerAware
$request = $this->container->get('request'); $request = $this->container->get('request');
$ip = preg_replace('/[^\d\.]/', '', $request->query->get('ip')); $ip = preg_replace('/[^:\d\.]/', '', $request->query->get('ip'));
$method = $request->query->get('method'); $method = $request->query->get('method');
$url = $request->query->get('url'); $url = $request->query->get('url');
$limit = $request->query->get('limit'); $limit = $request->query->get('limit');

View File

@ -57,7 +57,7 @@ class DateType extends AbstractType
\Locale::getDefault(), \Locale::getDefault(),
$format, $format,
\IntlDateFormatter::NONE, \IntlDateFormatter::NONE,
\DateTimeZone::UTC, 'UTC',
\IntlDateFormatter::GREGORIAN, \IntlDateFormatter::GREGORIAN,
$pattern $pattern
); );

View File

@ -76,6 +76,7 @@ class ExceptionListener implements EventSubscriberInterface
); );
$request = $request->duplicate(null, null, $attributes); $request = $request->duplicate(null, null, $attributes);
$request->setMethod('GET');
try { try {
$response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, true); $response = $event->getKernel()->handle($request, HttpKernelInterface::SUB_REQUEST, true);

View File

@ -516,7 +516,8 @@ class HttpCache implements HttpKernelInterface, TerminableInterface
// wait for the lock to be released // wait for the lock to be released
$wait = 0; $wait = 0;
while (is_file($lock) && $wait < 5000000) { while (is_file($lock) && $wait < 5000000) {
usleep($wait += 50000); usleep(50000);
$wait += 50000;
} }
if ($wait < 2000000) { if ($wait < 2000000) {