Merge branch '2.2'
* 2.2: (22 commits) fixed doc references (closes #7515) fixed doc references (closes #7515) On OS X, sys_get_tmp_dir() returns /var/private/..., which really is below /private/var. Doctrine cannot handle bare random non-utf8 strings small changes [SecurityBundle] Fixed configuration exemple idAsIndex should be true with a smallint or bigint id field. [PropertyAccess] Remove trailing periods from doc blocks Fix param docs for PropertyAccessor read method Fixed long multibyte parameter logging in DbalLogger:startQuery Keep the file extension in the temporary copy and test that it exists (closes #7482) bumped Symfony version to 2.1.10-DEV [Validator][translation][japanese]replaced period to japanese one [Validator][translation][japanese]fixed japanese translation to more practical one [Validator][translation][japanese]fixed message ordering to be consistent with other languages [Validator][translation][japanese]added new validation messages in japanese translation updated VERSION for 2.1.9 update CONTRIBUTORS for 2.1.9 updated CHANGELOG for 2.1.9 [Security] fixed wrong interface Remove already defined arguments Add missing use [FrameworkBundle] Reuse definition variable in FormPass ... Conflicts: src/Symfony/Bridge/Doctrine/Logger/DbalLogger.php src/Symfony/Bundle/WebProfilerBundle/Resources/views/Collector/config.html.twig
This commit is contained in:
commit
e1c741db9c
@ -7,6 +7,41 @@ in 2.1 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.1.0...v2.1.1
|
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.1.0...v2.1.1
|
||||||
|
|
||||||
|
* 2.1.9 (2013-03-26)
|
||||||
|
|
||||||
|
* 9875c4b: Added '@@' escaping strategy for YamlFileLoader and YamlDumper
|
||||||
|
* bbcdfe2: [Yaml] fixed bugs with folded scalar parsing
|
||||||
|
* 5afea04: [Form] made DefaultCsrfProvider using session_status() when available
|
||||||
|
* c928ddc: [HttpFoudantion] fixed Request::getPreferredLanguage()
|
||||||
|
* e6b7515: [DomCrawler] added support for query string with slash
|
||||||
|
* 17dc2ff: [HttpRequest] fixes Request::getLanguages() bug
|
||||||
|
* e51432a: sub-requests are now created with the same class as their parent
|
||||||
|
* ef53456: [DoctrineBridge] Avoids blob values to be logged by doctrine
|
||||||
|
* 6575df6: [Security] use current request attributes to generate redirect url?
|
||||||
|
* 7216cb0: [Validator] fix showing wrong max file size for upload errors
|
||||||
|
* c423f16: [2.1][TwigBridge] Fixes Issue #7342 in TwigBridge
|
||||||
|
* 7d87ecd: [FrameworkBundle] fixed cahe:clear command's warmup
|
||||||
|
* fe4cc24: [TwigBridge] fixed fixed scope & trans_default_domain node visitor
|
||||||
|
* fc47589: [BrowserKit] added ability to ignored malformed set-cookie header
|
||||||
|
* 5bc30bb: [Translation] added xliff loader/dumper with resname support
|
||||||
|
* 7241be9: [Finder] fixed a potential issue on Solaris where INF value is wrong (refs #7269)
|
||||||
|
* 1d3da29: [FrameworkBundle] avoids cache:clear to break if new/old folders already exist
|
||||||
|
* b9cdb9a: [HttpKernel] Fixed possible profiler token collision (closes #7272, closes #7171)
|
||||||
|
* d1f5d25: [FrameworkBundle] Fixes invalid serialized objects in cache
|
||||||
|
* c82c754: RedisProfilerStorage wrong db-number/index-number selected
|
||||||
|
* e86fefa: Unset loading[$id] in ContainerBuilder on exception
|
||||||
|
* 73bead7: [ClassLoader] made DebugClassLoader idempotent
|
||||||
|
* a4ec677: [DomCrawler] Fix relative path handling in links
|
||||||
|
* 6681df0: [Console] fixed StringInput binding
|
||||||
|
* 5b19c89: [Console] fixed unparsed StringInput tokens
|
||||||
|
* bae83c7: [TwigBridge] fixed trans twig extractor
|
||||||
|
* 8f8ba38: [DomCrawler] fix handling of schemes by Link::getUri()
|
||||||
|
* 83382bc: [TwigBridge] fixed the translator extractor that were not trimming the text in trans tags (closes #7056)
|
||||||
|
* b1ea8e5: Fixed handling absent href attribute in base tag
|
||||||
|
* 8d9cd42: Routing issue with installation in a sub-directory ref: https://github.com/symfony/symfony/issues/7129
|
||||||
|
* 0690709: added a DebuClassLoader::findFile() method to make the wrapping less invasive
|
||||||
|
* 635b1fc: StringInput resets the given options.
|
||||||
|
|
||||||
* 2.1.8 (2013-02-23)
|
* 2.1.8 (2013-02-23)
|
||||||
|
|
||||||
* b2080c4: [HttpFoundation] Remove Cache-Control when using https download via IE<9 (fixes #6750)
|
* b2080c4: [HttpFoundation] Remove Cache-Control when using https download via IE<9 (fixes #6750)
|
||||||
|
@ -20,10 +20,10 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Joseph Bielawski (stloyd)
|
- Joseph Bielawski (stloyd)
|
||||||
- Igor Wiedler (igorw)
|
- Igor Wiedler (igorw)
|
||||||
- Benjamin Eberlei (beberlei)
|
- Benjamin Eberlei (beberlei)
|
||||||
|
- Jean-François Simon (jfsimon)
|
||||||
- Hugo Hamon (hhamon)
|
- Hugo Hamon (hhamon)
|
||||||
- Eriksen Costa (eriksencosta)
|
- Eriksen Costa (eriksencosta)
|
||||||
- Martin Hasoň (hason)
|
- Martin Hasoň (hason)
|
||||||
- Jean-François Simon (jfsimon)
|
|
||||||
- Jonathan Wage (jwage)
|
- Jonathan Wage (jwage)
|
||||||
- William Durand (couac)
|
- William Durand (couac)
|
||||||
- Alexandre Salomé (alexandresalome)
|
- Alexandre Salomé (alexandresalome)
|
||||||
@ -40,11 +40,11 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Arnaud Le Blanc (arnaud-lb)
|
- Arnaud Le Blanc (arnaud-lb)
|
||||||
- Florin Patan (florinpatan)
|
- Florin Patan (florinpatan)
|
||||||
- Eric Clemmons (ericclemmons)
|
- Eric Clemmons (ericclemmons)
|
||||||
|
- Bilal Amarni (bamarni)
|
||||||
- Henrik Westphal (snc)
|
- Henrik Westphal (snc)
|
||||||
- Romain Neutron (romain)
|
- Romain Neutron (romain)
|
||||||
- Deni
|
- Deni
|
||||||
- Dariusz Górecki (canni)
|
- Dariusz Górecki (canni)
|
||||||
- Bilal Amarni (bamarni)
|
|
||||||
- Marc Weistroff (futurecat)
|
- Marc Weistroff (futurecat)
|
||||||
- Jordan Alliot (jalliot)
|
- Jordan Alliot (jalliot)
|
||||||
- Arnout Boks (aboks)
|
- Arnout Boks (aboks)
|
||||||
@ -54,25 +54,25 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Andrej Hudec (pulzarraider)
|
- Andrej Hudec (pulzarraider)
|
||||||
- Brikou Carré (brikou)
|
- Brikou Carré (brikou)
|
||||||
- John Wards (johnwards)
|
- John Wards (johnwards)
|
||||||
- Antoine Hérault (herzult)
|
|
||||||
- Fran Moreno (franmomu)
|
- Fran Moreno (franmomu)
|
||||||
|
- Antoine Hérault (herzult)
|
||||||
- Daniel Holmes (dholmes)
|
- Daniel Holmes (dholmes)
|
||||||
- Bart van den Burg (burgov)
|
|
||||||
- Christian Raue
|
|
||||||
- Tim Nagel (merk)
|
- Tim Nagel (merk)
|
||||||
- Włodzimierz Gajda (gajdaw)
|
- Włodzimierz Gajda (gajdaw)
|
||||||
|
- Bart van den Burg (burgov)
|
||||||
|
- Christian Raue
|
||||||
- Michal Piotrowski (eventhorizon)
|
- Michal Piotrowski (eventhorizon)
|
||||||
|
- Toni Uebernickel (havvg)
|
||||||
- Colin Frei
|
- Colin Frei
|
||||||
- lenar
|
- lenar
|
||||||
- Toni Uebernickel (havvg)
|
|
||||||
- Fabien Pennequin (fabienpennequin)
|
- Fabien Pennequin (fabienpennequin)
|
||||||
- excelwebzone
|
- excelwebzone
|
||||||
- woodspire
|
- woodspire
|
||||||
|
- Michel Weimerskirch (mweimerskirch)
|
||||||
- Grégoire Pineau (lyrixx)
|
- Grégoire Pineau (lyrixx)
|
||||||
- Mario A. Alvarez Garcia (nomack84)
|
- Mario A. Alvarez Garcia (nomack84)
|
||||||
- Douglas Greenshields (shieldo)
|
- Douglas Greenshields (shieldo)
|
||||||
- Kevin Bond (kbond)
|
- Kevin Bond (kbond)
|
||||||
- Michel Weimerskirch (mweimerskirch)
|
|
||||||
- Richard Miller (mr_r_miller)
|
- Richard Miller (mr_r_miller)
|
||||||
- Jacob Dreesen (jdreesen)
|
- Jacob Dreesen (jdreesen)
|
||||||
- Richard Shank (iampersistent)
|
- Richard Shank (iampersistent)
|
||||||
@ -81,6 +81,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Robert Schönthal (digitalkaoz)
|
- Robert Schönthal (digitalkaoz)
|
||||||
- Felix Labrecque
|
- Felix Labrecque
|
||||||
- Michał Pipa (michal.pipa)
|
- Michał Pipa (michal.pipa)
|
||||||
|
- Gordon Franke (gimler)
|
||||||
- Daniel Gomes (danielcsgomes)
|
- Daniel Gomes (danielcsgomes)
|
||||||
- Gábor Egyed (1ed)
|
- Gábor Egyed (1ed)
|
||||||
- Tigran Azatyan (tigranazatyan)
|
- Tigran Azatyan (tigranazatyan)
|
||||||
@ -89,7 +90,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Arnaud Kleinpeter (nanocom)
|
- Arnaud Kleinpeter (nanocom)
|
||||||
- David Buchmann (dbu)
|
- David Buchmann (dbu)
|
||||||
- Jonathan Ingram (jonathaningram)
|
- Jonathan Ingram (jonathaningram)
|
||||||
- Gordon Franke (gimler)
|
|
||||||
- Sebastiaan Stok (sstok)
|
- Sebastiaan Stok (sstok)
|
||||||
- Javier Eguiluz (javier.eguiluz)
|
- Javier Eguiluz (javier.eguiluz)
|
||||||
- Matthieu Ouellette-Vachon (maoueh)
|
- Matthieu Ouellette-Vachon (maoueh)
|
||||||
@ -132,6 +132,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Alif Rachmawadi
|
- Alif Rachmawadi
|
||||||
- boombatower
|
- boombatower
|
||||||
- Florian Klein (docteurklein)
|
- Florian Klein (docteurklein)
|
||||||
|
- Adrien Brault (adrienbrault)
|
||||||
- jules boussekeyt (gordonslondon)
|
- jules boussekeyt (gordonslondon)
|
||||||
- Jan Sorgalla (jsor)
|
- Jan Sorgalla (jsor)
|
||||||
- jdhoek
|
- jdhoek
|
||||||
@ -148,7 +149,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Eric GELOEN (gelo)
|
- Eric GELOEN (gelo)
|
||||||
- Sebastian Bergmann
|
- Sebastian Bergmann
|
||||||
- arjen
|
- arjen
|
||||||
- Adrien Brault (adrienbrault)
|
|
||||||
- sun (sun)
|
- sun (sun)
|
||||||
- Manuel Kiessling (manuelkiessling)
|
- Manuel Kiessling (manuelkiessling)
|
||||||
- Sergey Linnik
|
- Sergey Linnik
|
||||||
@ -171,8 +171,10 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Jeanmonod David (jeanmonod)
|
- Jeanmonod David (jeanmonod)
|
||||||
- Thomas Lallement (raziel057)
|
- Thomas Lallement (raziel057)
|
||||||
- Niklas Fiekas
|
- Niklas Fiekas
|
||||||
|
- Francesco Levorato
|
||||||
- Tom Van Looy (tvlooy)
|
- Tom Van Looy (tvlooy)
|
||||||
- Brouznouf
|
- Brouznouf
|
||||||
|
- Peter Kruithof (pkruithof)
|
||||||
- Greg Thornton (xdissent)
|
- Greg Thornton (xdissent)
|
||||||
- Lars Strojny
|
- Lars Strojny
|
||||||
- Terje Bråten
|
- Terje Bråten
|
||||||
@ -194,13 +196,17 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Christophe L. (christophelau)
|
- Christophe L. (christophelau)
|
||||||
- Michael Ridgway
|
- Michael Ridgway
|
||||||
- Pavel Campr (pcampr)
|
- Pavel Campr (pcampr)
|
||||||
|
- Emanuele Gaspari (inmarelibero)
|
||||||
- Brian King
|
- Brian King
|
||||||
- Ricard Clau (ricardclau)
|
- Ricard Clau (ricardclau)
|
||||||
- Jan Schumann
|
- Jan Schumann
|
||||||
|
- Erin Millard
|
||||||
- Olivier Dolbeau (odolbeau)
|
- Olivier Dolbeau (odolbeau)
|
||||||
- Konstantin Myakshin (koc)
|
- Konstantin Myakshin (koc)
|
||||||
|
- Elnur Abdurrakhimov (elnur)
|
||||||
- Michele Orselli (orso)
|
- Michele Orselli (orso)
|
||||||
- Asier Illarramendi (doup)
|
- Asier Illarramendi (doup)
|
||||||
|
- Javier López (loalf)
|
||||||
- Chris Heng (gigablah)
|
- Chris Heng (gigablah)
|
||||||
- Christoph Mewes (xrstf)
|
- Christoph Mewes (xrstf)
|
||||||
- Jonas Flodén (flojon)
|
- Jonas Flodén (flojon)
|
||||||
@ -226,7 +232,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- mcben
|
- mcben
|
||||||
- Maks Slesarenko
|
- Maks Slesarenko
|
||||||
- Vicent Soria Durá (vicentgodella)
|
- Vicent Soria Durá (vicentgodella)
|
||||||
- Peter Kruithof (pkruithof)
|
|
||||||
- Erik Trapman (eriktrapman)
|
- Erik Trapman (eriktrapman)
|
||||||
- De Cock Xavier (xdecock)
|
- De Cock Xavier (xdecock)
|
||||||
- Manuel Reinhard (sprain)
|
- Manuel Reinhard (sprain)
|
||||||
@ -253,15 +258,14 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Lenar Lõhmus
|
- Lenar Lõhmus
|
||||||
- Zach Badgett (zachbadgett)
|
- Zach Badgett (zachbadgett)
|
||||||
- Aurélien Fredouelle
|
- Aurélien Fredouelle
|
||||||
- Francesco Levorato
|
|
||||||
- Karoly Negyesi (chx)
|
- Karoly Negyesi (chx)
|
||||||
|
- janschoenherr
|
||||||
- Thomas Tourlourat (armetiz)
|
- Thomas Tourlourat (armetiz)
|
||||||
- jamogon
|
- jamogon
|
||||||
- Geoffrey Tran (geoff)
|
- Geoffrey Tran (geoff)
|
||||||
- Florian Rey (nervo)
|
- Florian Rey (nervo)
|
||||||
- Maks
|
- Maks
|
||||||
- Christian Schaefer (caefer)
|
- Christian Schaefer (caefer)
|
||||||
- Emanuele Gaspari (inmarelibero)
|
|
||||||
- Elliot Anderson (elliot)
|
- Elliot Anderson (elliot)
|
||||||
- Patrick Kaufmann
|
- Patrick Kaufmann
|
||||||
- Ben Ramsey (ramsey)
|
- Ben Ramsey (ramsey)
|
||||||
@ -272,7 +276,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- aubx
|
- aubx
|
||||||
- Max Rath (drak3)
|
- Max Rath (drak3)
|
||||||
- Ruben Gonzalez (rubenrua)
|
- Ruben Gonzalez (rubenrua)
|
||||||
- Elnur Abdurrakhimov (elnur)
|
|
||||||
- Sinan Eldem
|
- Sinan Eldem
|
||||||
- DerManoMann
|
- DerManoMann
|
||||||
- Nahuel Cuesta (ncuesta)
|
- Nahuel Cuesta (ncuesta)
|
||||||
@ -280,7 +283,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Roumen Damianoff (roumen)
|
- Roumen Damianoff (roumen)
|
||||||
- Pierre du Plessis (pierredup)
|
- Pierre du Plessis (pierredup)
|
||||||
- Åsmund Garfors
|
- Åsmund Garfors
|
||||||
- Erin Millard
|
|
||||||
- Jeremy David (jeremy.david)
|
- Jeremy David (jeremy.david)
|
||||||
- Tobias Sjösten (tobiassjosten)
|
- Tobias Sjösten (tobiassjosten)
|
||||||
- Dustin Dobervich (dustin10)
|
- Dustin Dobervich (dustin10)
|
||||||
@ -293,12 +295,15 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- yktd26
|
- yktd26
|
||||||
- Jakub Kucharovic
|
- Jakub Kucharovic
|
||||||
- umpirski
|
- umpirski
|
||||||
|
- Dmitrii Chekaliuk
|
||||||
- cedric lombardot (cedriclombardot)
|
- cedric lombardot (cedriclombardot)
|
||||||
- John Kary (johnkary)
|
- John Kary (johnkary)
|
||||||
- Hossein Bukhamsin
|
- Hossein Bukhamsin
|
||||||
- Pierre-Yves LEBECQ (pylebecq)
|
- Pierre-Yves LEBECQ (pylebecq)
|
||||||
- Fabrice Bernhard (fabriceb)
|
- Fabrice Bernhard (fabriceb)
|
||||||
|
- Oleg Zinchenko (cystbear)
|
||||||
- Johannes Klauss (cloppy)
|
- Johannes Klauss (cloppy)
|
||||||
|
- fzerorubigd
|
||||||
- Mark Sonnabaum
|
- Mark Sonnabaum
|
||||||
- develop
|
- develop
|
||||||
- Atsuhiro KUBO (iteman)
|
- Atsuhiro KUBO (iteman)
|
||||||
@ -382,7 +387,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Miha Vrhovnik
|
- Miha Vrhovnik
|
||||||
- Moritz Borgmann
|
- Moritz Borgmann
|
||||||
- Daniel Cestari
|
- Daniel Cestari
|
||||||
- Javier López (loalf)
|
|
||||||
- Magnus Nordlander (magnusnordlander)
|
- Magnus Nordlander (magnusnordlander)
|
||||||
- Adam Monsen (meonkeys)
|
- Adam Monsen (meonkeys)
|
||||||
- LOUARDI Abdeltif (ouardisoft)
|
- LOUARDI Abdeltif (ouardisoft)
|
||||||
@ -405,6 +409,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Irmantas Šiupšinskas (irmantas)
|
- Irmantas Šiupšinskas (irmantas)
|
||||||
- dantleech
|
- dantleech
|
||||||
- Tero Alén (tero)
|
- Tero Alén (tero)
|
||||||
|
- Artem (digi)
|
||||||
- Vadim Tyukov (vatson)
|
- Vadim Tyukov (vatson)
|
||||||
- Sortex
|
- Sortex
|
||||||
- arjenjb
|
- arjenjb
|
||||||
@ -415,15 +420,16 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Sébastien Lavoie
|
- Sébastien Lavoie
|
||||||
- Per Sandström (per)
|
- Per Sandström (per)
|
||||||
- Ville Mattila
|
- Ville Mattila
|
||||||
|
- Marcos Quesada (marcos_quesada)
|
||||||
- Robert Kiss (kepten)
|
- Robert Kiss (kepten)
|
||||||
- Vitaliy Tverdokhlib (vitaliytv)
|
- Vitaliy Tverdokhlib (vitaliytv)
|
||||||
- Martijn Evers
|
- Martijn Evers
|
||||||
- Sergii Smertin (nfx)
|
- Sergii Smertin (nfx)
|
||||||
|
- Eddie Jaoude
|
||||||
- Nerijus Arlauskas
|
- Nerijus Arlauskas
|
||||||
- Haritz Iturbe (hizai)
|
- Haritz Iturbe (hizai)
|
||||||
- SPolischook
|
- SPolischook
|
||||||
- Diego Sapriza
|
- Diego Sapriza
|
||||||
- fzerorubigd
|
|
||||||
- Joan Cruz
|
- Joan Cruz
|
||||||
- Antoine Corcy
|
- Antoine Corcy
|
||||||
- inspiran
|
- inspiran
|
||||||
@ -433,11 +439,11 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Alex Demchenko (pilot)
|
- Alex Demchenko (pilot)
|
||||||
- Tomasz Kowalczyk (thunderer)
|
- Tomasz Kowalczyk (thunderer)
|
||||||
- Vincent AUBERT (vincent)
|
- Vincent AUBERT (vincent)
|
||||||
|
- Benoit Garret
|
||||||
- DerManoMann
|
- DerManoMann
|
||||||
- Jochen Bayer (jocl)
|
- Jochen Bayer (jocl)
|
||||||
- Jeremy Bush
|
- Jeremy Bush
|
||||||
- Evan Villemez
|
- Evan Villemez
|
||||||
- Dmitrii Chekaliuk
|
|
||||||
- Davide Borsatto (davide.borsatto)
|
- Davide Borsatto (davide.borsatto)
|
||||||
- kaiwa
|
- kaiwa
|
||||||
- Albert Ganiev (helios-ag)
|
- Albert Ganiev (helios-ag)
|
||||||
@ -468,6 +474,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Janusz Jablonski
|
- Janusz Jablonski
|
||||||
- George Giannoulopoulos
|
- George Giannoulopoulos
|
||||||
- Ilya Biryukov
|
- Ilya Biryukov
|
||||||
|
- Lance McNearney
|
||||||
- Alberto Pirovano (geezmo)
|
- Alberto Pirovano (geezmo)
|
||||||
- Xavier Briand (xavierbriand)
|
- Xavier Briand (xavierbriand)
|
||||||
- Evan Kaufman
|
- Evan Kaufman
|
||||||
@ -490,10 +497,14 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Simon Neidhold
|
- Simon Neidhold
|
||||||
- Kevin Dew
|
- Kevin Dew
|
||||||
- James Cowgill
|
- James Cowgill
|
||||||
|
- Thomas Ploch (tploch)
|
||||||
|
- Benjamin Bender
|
||||||
- Konrad Mohrfeldt
|
- Konrad Mohrfeldt
|
||||||
|
- Benoit Lévêque (benoit_leveque)
|
||||||
- Mephistofeles
|
- Mephistofeles
|
||||||
- pscheit
|
- pscheit
|
||||||
- Nicolas Badey (nico-b)
|
- Nicolas Badey (nico-b)
|
||||||
|
- Gunnar Lium
|
||||||
- povilas
|
- povilas
|
||||||
- Lars Strojny
|
- Lars Strojny
|
||||||
- Bouke Haarsma
|
- Bouke Haarsma
|
||||||
@ -504,8 +515,10 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Francisco Facioni (fran6co)
|
- Francisco Facioni (fran6co)
|
||||||
- Paweł Wacławczyk (pwc)
|
- Paweł Wacławczyk (pwc)
|
||||||
- Eric Caron
|
- Eric Caron
|
||||||
|
- 2manypeople
|
||||||
- Thomas Bibb
|
- Thomas Bibb
|
||||||
- Josef Cech
|
- Josef Cech
|
||||||
|
- Ait Boudad Abdellatif (aitboudad)
|
||||||
- Andrey Esaulov (andremaha)
|
- Andrey Esaulov (andremaha)
|
||||||
- hicham ELGUAROUANI (hiiimoo)
|
- hicham ELGUAROUANI (hiiimoo)
|
||||||
- Stefan Koopmanschap (skoop)
|
- Stefan Koopmanschap (skoop)
|
||||||
@ -514,7 +527,6 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Chris Tickner (tickner)
|
- Chris Tickner (tickner)
|
||||||
- Luis Muñoz
|
- Luis Muñoz
|
||||||
- Thomas Chmielowiec
|
- Thomas Chmielowiec
|
||||||
- Oleg Zinchenko
|
|
||||||
- Christoph Nissle (derstoffel)
|
- Christoph Nissle (derstoffel)
|
||||||
- Xavier HAUSHERR
|
- Xavier HAUSHERR
|
||||||
- Benjamin Zikarsky
|
- Benjamin Zikarsky
|
||||||
@ -538,6 +550,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Artyom Protaskin
|
- Artyom Protaskin
|
||||||
- Nathanael d. Noblet
|
- Nathanael d. Noblet
|
||||||
- helmer
|
- helmer
|
||||||
|
- Julien Moulin (lizjulien)
|
||||||
- devel
|
- devel
|
||||||
- gedrox
|
- gedrox
|
||||||
- hirocaster
|
- hirocaster
|
||||||
@ -569,6 +582,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Haritz
|
- Haritz
|
||||||
- Grummfy
|
- Grummfy
|
||||||
- Rowan Manning
|
- Rowan Manning
|
||||||
|
- Kevin Herrera
|
||||||
- David Windell
|
- David Windell
|
||||||
- Gabriel Birke
|
- Gabriel Birke
|
||||||
- Alan Chen
|
- Alan Chen
|
||||||
@ -595,6 +609,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Jorge Martin (jorgemartind)
|
- Jorge Martin (jorgemartind)
|
||||||
- giulio de donato (liuggio)
|
- giulio de donato (liuggio)
|
||||||
- Matthew Davis (mdavis1982)
|
- Matthew Davis (mdavis1982)
|
||||||
|
- Muriel Lusseau (metalmumu)
|
||||||
- Matthias Pigulla (mpdude)
|
- Matthias Pigulla (mpdude)
|
||||||
- Pablo Monterde Perez (plebs)
|
- Pablo Monterde Perez (plebs)
|
||||||
- Jimmy Leger (redpanda)
|
- Jimmy Leger (redpanda)
|
||||||
@ -650,6 +665,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- kwiateusz
|
- kwiateusz
|
||||||
- David Soria Parra
|
- David Soria Parra
|
||||||
- Sergiy Sokolenko
|
- Sergiy Sokolenko
|
||||||
|
- dinitrol
|
||||||
- Penny Leach
|
- Penny Leach
|
||||||
- Gábor Fási
|
- Gábor Fási
|
||||||
- oscartv
|
- oscartv
|
||||||
@ -663,6 +679,8 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- dorkitude
|
- dorkitude
|
||||||
- tirnanog06
|
- tirnanog06
|
||||||
- Besnik Br
|
- Besnik Br
|
||||||
|
- sualko
|
||||||
|
- Nicolas Roudaire
|
||||||
- Alex Olmos (alexolmos)
|
- Alex Olmos (alexolmos)
|
||||||
- Juan Ases García (ases)
|
- Juan Ases García (ases)
|
||||||
- Bernd Matzner (bmatzner)
|
- Bernd Matzner (bmatzner)
|
||||||
@ -693,6 +711,7 @@ Symfony2 is the result of the work of many people who made the code better
|
|||||||
- Alex Carol (picard89)
|
- Alex Carol (picard89)
|
||||||
- Daniel Perez Pinazo (pitiflautico)
|
- Daniel Perez Pinazo (pitiflautico)
|
||||||
- Ruud Kamphuis (ruudk)
|
- Ruud Kamphuis (ruudk)
|
||||||
|
- Sarah Khalil (saro0h)
|
||||||
- Sebastian Busch (sebu)
|
- Sebastian Busch (sebu)
|
||||||
- Simon Terrien (sterrien)
|
- Simon Terrien (sterrien)
|
||||||
- Markus Tacker (tacker)
|
- Markus Tacker (tacker)
|
||||||
|
@ -113,7 +113,7 @@ class EntityChoiceList extends ObjectChoiceList
|
|||||||
$this->idField = $identifier[0];
|
$this->idField = $identifier[0];
|
||||||
$this->idAsValue = true;
|
$this->idAsValue = true;
|
||||||
|
|
||||||
if ('integer' === $this->classMetadata->getTypeOfField($this->idField)) {
|
if (in_array($this->classMetadata->getTypeOfField($this->idField), array('integer', 'smallint', 'bigint'))) {
|
||||||
$this->idAsIndex = true;
|
$this->idAsIndex = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -61,10 +61,17 @@ class DbalLogger implements SQLLogger
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// too long string must be shorten
|
// detect if the too long string must be shorten
|
||||||
if (self::MAX_STRING_LENGTH < strlen($params[$index])) {
|
if (function_exists('mb_detect_encoding') && false !== $encoding = mb_detect_encoding($params[$index])) {
|
||||||
$params[$index] = substr($params[$index], 0, self::MAX_STRING_LENGTH - 6).' [...]';
|
if (self::MAX_STRING_LENGTH < mb_strlen($params[$index], $encoding)) {
|
||||||
continue;
|
$params[$index] = mb_substr($params[$index], 0, self::MAX_STRING_LENGTH - 6, $encoding).' [...]';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (self::MAX_STRING_LENGTH < strlen($params[$index])) {
|
||||||
|
$params[$index] = substr($params[$index], 0, self::MAX_STRING_LENGTH - 6).' [...]';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -81,8 +81,10 @@ class DbalLoggerTest extends \PHPUnit_Framework_TestCase
|
|||||||
->getMock()
|
->getMock()
|
||||||
;
|
;
|
||||||
|
|
||||||
$shortString = str_repeat('a', DbalLogger::MAX_STRING_LENGTH);
|
$testString = 'abc';
|
||||||
$longString = str_repeat('a', DbalLogger::MAX_STRING_LENGTH + 1);
|
|
||||||
|
$shortString = str_pad('', DbalLogger::MAX_STRING_LENGTH, $testString);
|
||||||
|
$longString = str_pad('', DbalLogger::MAX_STRING_LENGTH+1, $testString);
|
||||||
|
|
||||||
$dbalLogger
|
$dbalLogger
|
||||||
->expects($this->once())
|
->expects($this->once())
|
||||||
@ -95,4 +97,43 @@ class DbalLoggerTest extends \PHPUnit_Framework_TestCase
|
|||||||
'long' => $longString,
|
'long' => $longString,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testLogUTF8LongString()
|
||||||
|
{
|
||||||
|
if (!function_exists('mb_detect_encoding')) {
|
||||||
|
$this->markTestSkipped('Testing log shortening of utf8 charsets requires the mb_detect_encoding() function.');
|
||||||
|
}
|
||||||
|
|
||||||
|
$logger = $this->getMock('Symfony\\Component\\HttpKernel\\Log\\LoggerInterface');
|
||||||
|
|
||||||
|
$dbalLogger = $this
|
||||||
|
->getMockBuilder('Symfony\\Bridge\\Doctrine\\Logger\\DbalLogger')
|
||||||
|
->setConstructorArgs(array($logger, null))
|
||||||
|
->setMethods(array('log'))
|
||||||
|
->getMock()
|
||||||
|
;
|
||||||
|
|
||||||
|
$testStringArray = array('é', 'á', 'ű', 'ő', 'ú', 'ö', 'ü', 'ó', 'í');
|
||||||
|
$testStringCount = count($testStringArray);
|
||||||
|
|
||||||
|
$shortString = '';
|
||||||
|
$longString = '';
|
||||||
|
for($i=1; $i<=DbalLogger::MAX_STRING_LENGTH; $i++) {
|
||||||
|
$shortString .= $testStringArray[$i % $testStringCount];
|
||||||
|
$longString .= $testStringArray[$i % $testStringCount];
|
||||||
|
}
|
||||||
|
$longString .= $testStringArray[$i % $testStringCount];
|
||||||
|
|
||||||
|
$dbalLogger
|
||||||
|
->expects($this->once())
|
||||||
|
->method('log')
|
||||||
|
->with('SQL', array('short' => $shortString, 'long' => mb_substr($longString, 0, DbalLogger::MAX_STRING_LENGTH - 6, mb_detect_encoding($longString)).' [...]'))
|
||||||
|
;
|
||||||
|
|
||||||
|
$dbalLogger->startQuery('SQL', array(
|
||||||
|
'short' => $shortString,
|
||||||
|
'long' => $longString,
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,8 @@ class FormPass implements CompilerPassInterface
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$definition = $container->getDefinition('form.extension');
|
||||||
|
|
||||||
// Builds an array with service IDs as keys and tag aliases as values
|
// Builds an array with service IDs as keys and tag aliases as values
|
||||||
$types = array();
|
$types = array();
|
||||||
|
|
||||||
@ -40,7 +42,7 @@ class FormPass implements CompilerPassInterface
|
|||||||
$types[$alias] = $serviceId;
|
$types[$alias] = $serviceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
$container->getDefinition('form.extension')->replaceArgument(1, $types);
|
$definition->replaceArgument(1, $types);
|
||||||
|
|
||||||
$typeExtensions = array();
|
$typeExtensions = array();
|
||||||
|
|
||||||
@ -52,11 +54,11 @@ class FormPass implements CompilerPassInterface
|
|||||||
$typeExtensions[$alias][] = $serviceId;
|
$typeExtensions[$alias][] = $serviceId;
|
||||||
}
|
}
|
||||||
|
|
||||||
$container->getDefinition('form.extension')->replaceArgument(2, $typeExtensions);
|
$definition->replaceArgument(2, $typeExtensions);
|
||||||
|
|
||||||
// Find all services annotated with "form.type_guesser"
|
// Find all services annotated with "form.type_guesser"
|
||||||
$guessers = array_keys($container->findTaggedServiceIds('form.type_guesser'));
|
$guessers = array_keys($container->findTaggedServiceIds('form.type_guesser'));
|
||||||
|
|
||||||
$container->getDefinition('form.extension')->replaceArgument(3, $guessers);
|
$definition->replaceArgument(3, $guessers);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -301,8 +301,7 @@ class MainConfiguration implements ConfigurationInterface
|
|||||||
->children()
|
->children()
|
||||||
->arrayNode('providers')
|
->arrayNode('providers')
|
||||||
->example(array(
|
->example(array(
|
||||||
'memory' => array(
|
'my_memory_provider' => array(
|
||||||
'name' => 'memory',
|
|
||||||
'memory' => array(
|
'memory' => array(
|
||||||
'users' => array(
|
'users' => array(
|
||||||
'foo' => array('password' => 'foo', 'roles' => 'ROLE_USER'),
|
'foo' => array('password' => 'foo', 'roles' => 'ROLE_USER'),
|
||||||
@ -310,7 +309,7 @@ class MainConfiguration implements ConfigurationInterface
|
|||||||
),
|
),
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
'entity' => array('entity' => array('class' => 'SecurityBundle:User', 'property' => 'username'))
|
'my_entity_provider' => array('entity' => array('class' => 'SecurityBundle:User', 'property' => 'username'))
|
||||||
))
|
))
|
||||||
->disallowNewKeysInSubsequentConfigs()
|
->disallowNewKeysInSubsequentConfigs()
|
||||||
->isRequired()
|
->isRequired()
|
||||||
|
@ -45,11 +45,6 @@
|
|||||||
class="%security.authentication.rememberme.services.persistent.class%"
|
class="%security.authentication.rememberme.services.persistent.class%"
|
||||||
parent="security.authentication.rememberme.services.abstract"
|
parent="security.authentication.rememberme.services.abstract"
|
||||||
abstract="true">
|
abstract="true">
|
||||||
<argument type="collection" /> <!-- User Providers -->
|
|
||||||
<argument /> <!-- Shared Token Key -->
|
|
||||||
<argument /> <!-- Shared Provider Key -->
|
|
||||||
<argument type="collection" /> <!-- Options -->
|
|
||||||
<argument type="service" id="logger" on-invalid="null" />
|
|
||||||
<argument type="service" id="security.secure_random" />
|
<argument type="service" id="security.secure_random" />
|
||||||
</service>
|
</service>
|
||||||
|
|
||||||
|
@ -5,15 +5,26 @@
|
|||||||
{% set icon %}
|
{% set icon %}
|
||||||
<a href="http://symfony.com/">
|
<a href="http://symfony.com/">
|
||||||
<img width="26" height="28" alt="Symfony" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAcCAMAAABIzV/hAAACZFBMVEUwLjL///////////////////////////////////////////////////////////////////+Eg4b///+Ni46Xlpj///////////+op6n///////////////////////////////////////////////////////////9ZWFv///////9qaWz///////+mpaf///////////////9ZWFv///////////////9PTVH///91dHb////////////////////g4OD///9NTE+Ih4r///////+Ni47///////92dHeRkJLk5OTLy8xlY2b///////+cm53///////+5ubr////o6Oj////////U1NT///9DQURsa22rq6ysq61hX2L///+LioxTUVVBP0NEQkZpZ2rGxsf///9ram3////s7O2SkZNfXmFxcHKmpae4uLnKysuXlpiop6l3dXiIh4pYVlmrq6ycm52trK7Nzc48Oj5dW158e36dnJ49Oz/Pz9BiYGPAv8BDQUTQz9BVU1aioaNHRUnBwcJXVVk6ODxJR0t3dnmko6U8Oj6lpKY9Oz+0tLXDwsRQTlF7en1QTlHi4eJhX2LFxcZTUVViYGNwb3J+fX83NTlFQ0dUUlW4t7icm524uLk8Oj5YVlmPjpBLSU2enZ9aWVw/PkFBP0NdW153dnk0MjZQTlE1MzdQT1JdXF9ram15eHqGhYdDQkV5eHo2NThEQkZRUFNFQ0dta244NjpGREhTUVU5NztUUlVhX2JubG9HRUlVU1ZiYGM7OTxIRkk7OT1IR0o8Oj4wLjI9Oz8YdG13AAAAynRSTlMAAAEDBAUGCgsMDQ4QEhMUGRobGx0gISIkJiYnKCktLi8wMjM0NTk6Ozw+P0NFSEpLTE5PUFBTWlteXmBiZGVmaWxtcHBxc3R0dnl5fX+BgoOGi46Pj5CRmZqanZ6eoKeoq6ytsLCwsrO0tbe5urq8vL+/wsTFx8jJycvLy8vM0NHR0tLU1NfX2NnZ2trc3N3d3eHh4uLl5ebm5ubn5+fo6urt7e3u7vDx8/Pz9PT19fX19fX29vf39/j4+fn5+vr6+vv7+/z8/f3+yR5EtwAAAbVJREFUeNpl0mVXVFEYhuF3zhkOFqMjYmCi2MUYYKGIYiJ2YCd2t4IBFqgoKjZ2jg3igI2KyO2f8sTMngGvj/te71r7wyMuk4jofZccAihcMzJKXDYnuYcVotyeYKiktV5LA0faaE7S4s7TyMsBupnMcoH/vO6gmanJaiLV1Py+Xwn5zc0fjCbSi2LI2QdkGdLyFBG+rHwMzz4BD7wyGEfFk8pfsD2TkGmyFNvFHfDj55v02VD6DcteOYylatY8oG7boA2QV4vlklzB8tU3/DIwo+dWv58guY5tRcLMtwSGdi1DkTvAn9Jqsgbu4kafRBqlV4sDFCWuIjdhMsp7yQU49rB28/QPLOu2DuWqLMfmfw6M716GskdGVRMSGDKRsEzpvZ+Qs0lFKDd94s2oArh2F7K3oNQt6ChGr5x6+Dx3J7d2E3Ygqam4PCkngRNnngYIO5cWq4lLb5t+vJ6GiifFR1nbMNqP3fSOCN8PZnQynEW5W/nmHy0PXv79eHpRSjsjtEOtWZcRc9YXlNx7VFKwceGYHjG6s0Ob3iK+X3LqlKnjkvt39rjD6w3W6BhvrCdaVw//ADrWicJIvtkmAAAAAElFTkSuQmCC">
|
<img width="26" height="28" alt="Symfony" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAcCAMAAABIzV/hAAACZFBMVEUwLjL///////////////////////////////////////////////////////////////////+Eg4b///+Ni46Xlpj///////////+op6n///////////////////////////////////////////////////////////9ZWFv///////9qaWz///////+mpaf///////////////9ZWFv///////////////9PTVH///91dHb////////////////////g4OD///9NTE+Ih4r///////+Ni47///////92dHeRkJLk5OTLy8xlY2b///////+cm53///////+5ubr////o6Oj////////U1NT///9DQURsa22rq6ysq61hX2L///+LioxTUVVBP0NEQkZpZ2rGxsf///9ram3////s7O2SkZNfXmFxcHKmpae4uLnKysuXlpiop6l3dXiIh4pYVlmrq6ycm52trK7Nzc48Oj5dW158e36dnJ49Oz/Pz9BiYGPAv8BDQUTQz9BVU1aioaNHRUnBwcJXVVk6ODxJR0t3dnmko6U8Oj6lpKY9Oz+0tLXDwsRQTlF7en1QTlHi4eJhX2LFxcZTUVViYGNwb3J+fX83NTlFQ0dUUlW4t7icm524uLk8Oj5YVlmPjpBLSU2enZ9aWVw/PkFBP0NdW153dnk0MjZQTlE1MzdQT1JdXF9ram15eHqGhYdDQkV5eHo2NThEQkZRUFNFQ0dta244NjpGREhTUVU5NztUUlVhX2JubG9HRUlVU1ZiYGM7OTxIRkk7OT1IR0o8Oj4wLjI9Oz8YdG13AAAAynRSTlMAAAEDBAUGCgsMDQ4QEhMUGRobGx0gISIkJiYnKCktLi8wMjM0NTk6Ozw+P0NFSEpLTE5PUFBTWlteXmBiZGVmaWxtcHBxc3R0dnl5fX+BgoOGi46Pj5CRmZqanZ6eoKeoq6ytsLCwsrO0tbe5urq8vL+/wsTFx8jJycvLy8vM0NHR0tLU1NfX2NnZ2trc3N3d3eHh4uLl5ebm5ubn5+fo6urt7e3u7vDx8/Pz9PT19fX19fX29vf39/j4+fn5+vr6+vv7+/z8/f3+yR5EtwAAAbVJREFUeNpl0mVXVFEYhuF3zhkOFqMjYmCi2MUYYKGIYiJ2YCd2t4IBFqgoKjZ2jg3igI2KyO2f8sTMngGvj/te71r7wyMuk4jofZccAihcMzJKXDYnuYcVotyeYKiktV5LA0faaE7S4s7TyMsBupnMcoH/vO6gmanJaiLV1Py+Xwn5zc0fjCbSi2LI2QdkGdLyFBG+rHwMzz4BD7wyGEfFk8pfsD2TkGmyFNvFHfDj55v02VD6DcteOYylatY8oG7boA2QV4vlklzB8tU3/DIwo+dWv58guY5tRcLMtwSGdi1DkTvAn9Jqsgbu4kafRBqlV4sDFCWuIjdhMsp7yQU49rB28/QPLOu2DuWqLMfmfw6M716GskdGVRMSGDKRsEzpvZ+Qs0lFKDd94s2oArh2F7K3oNQt6ChGr5x6+Dx3J7d2E3Ygqam4PCkngRNnngYIO5cWq4lLb5t+vJ6GiifFR1nbMNqP3fSOCN8PZnQynEW5W/nmHy0PXv79eHpRSjsjtEOtWZcRc9YXlNx7VFKwceGYHjG6s0Ob3iK+X3LqlKnjkvt39rjD6w3W6BhvrCdaVw//ADrWicJIvtkmAAAAAElFTkSuQmCC">
|
||||||
<span>{{ collector.symfonyversion }}</span>
|
<span>
|
||||||
|
{% if collector.applicationname %}
|
||||||
|
{{ collector.applicationname }} {{ collector.applicationversion }}
|
||||||
|
{% else %}
|
||||||
|
{{ collector.symfonyversion }}
|
||||||
|
{% endif %}
|
||||||
|
</span>
|
||||||
</a>
|
</a>
|
||||||
{% endset %}
|
{% endset %}
|
||||||
{% set text %}
|
{% set text %}
|
||||||
|
{% if collector.applicationname %}
|
||||||
|
<div class="sf-toolbar-info-piece">
|
||||||
|
{{ collector.applicationname }} <b>{{ collector.applicationversion }}</b>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
<div class="sf-toolbar-info-piece">
|
<div class="sf-toolbar-info-piece">
|
||||||
Symfony <b>{{ collector.symfonyversion }}</b>
|
Symfony <b>{{ collector.symfonyversion }}</b>
|
||||||
</div>
|
</div>
|
||||||
<div class="sf-toolbar-info-piece">
|
<div class="sf-toolbar-info-piece">
|
||||||
<a href="http://symfony.com/doc/{{ collector.symfonyversion }}/index.html" rel="help">Documentation</a>
|
<a href="http://symfony.com/doc/{{ collector.symfonyversion }}/index.html" rel="help">Symfony Documentation</a>
|
||||||
</div>
|
</div>
|
||||||
{% endset %}
|
{% endset %}
|
||||||
{% include '@WebProfiler/Profiler/toolbar_item.html.twig' with { 'link': false } %}
|
{% include '@WebProfiler/Profiler/toolbar_item.html.twig' with { 'link': false } %}
|
||||||
@ -106,8 +117,13 @@
|
|||||||
<th>Value</th>
|
<th>Value</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Symfony version</th>
|
{% if collector.applicationname %}
|
||||||
<td>{{ collector.symfonyversion }}</td>
|
<th>Application</th>
|
||||||
|
<td>{{ collector.applicationname }} {{ collector.applicationversion }} (on Symfony {{ collector.symfonyversion }})</td>
|
||||||
|
{% else %}
|
||||||
|
<th>Symfony version</th>
|
||||||
|
<td>{{ collector.symfonyversion }}</td>
|
||||||
|
{% endif %}
|
||||||
</tr>
|
</tr>
|
||||||
{% if 'n/a' != collector.appname %}
|
{% if 'n/a' != collector.appname %}
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -59,11 +59,17 @@ class FileFormField extends FormField
|
|||||||
if (null !== $value && is_readable($value)) {
|
if (null !== $value && is_readable($value)) {
|
||||||
$error = UPLOAD_ERR_OK;
|
$error = UPLOAD_ERR_OK;
|
||||||
$size = filesize($value);
|
$size = filesize($value);
|
||||||
$name = basename($value);
|
$info = pathinfo($value);
|
||||||
|
$name = $info['basename'];
|
||||||
|
|
||||||
// copy to a tmp location
|
// copy to a tmp location
|
||||||
$tmp = tempnam(sys_get_temp_dir(), 'upload');
|
$tmp = sys_get_temp_dir().'/'.sha1(uniqid(mt_rand(), true));
|
||||||
unlink($tmp);
|
if (array_key_exists('extension', $info)) {
|
||||||
|
$tmp .= '.'.$info['extension'];
|
||||||
|
}
|
||||||
|
if (is_file($tmp)) {
|
||||||
|
unlink($tmp);
|
||||||
|
}
|
||||||
copy($value, $tmp);
|
copy($value, $tmp);
|
||||||
$value = $tmp;
|
$value = $tmp;
|
||||||
} else {
|
} else {
|
||||||
|
@ -56,8 +56,26 @@ class FileFormFieldTest extends FormFieldTestCase
|
|||||||
$this->assertEquals(basename(__FILE__), $value['name'], "->$method() sets the name of the file field");
|
$this->assertEquals(basename(__FILE__), $value['name'], "->$method() sets the name of the file field");
|
||||||
$this->assertEquals('', $value['type'], "->$method() sets the type of the file field");
|
$this->assertEquals('', $value['type'], "->$method() sets the type of the file field");
|
||||||
$this->assertInternalType('string', $value['tmp_name'], "->$method() sets the tmp_name of the file field");
|
$this->assertInternalType('string', $value['tmp_name'], "->$method() sets the tmp_name of the file field");
|
||||||
|
$this->assertFileExists($value['tmp_name'], "->$method() creates a copy of the file at the tmp_name path");
|
||||||
$this->assertEquals(0, $value['error'], "->$method() sets the error of the file field");
|
$this->assertEquals(0, $value['error'], "->$method() sets the error of the file field");
|
||||||
$this->assertEquals(filesize(__FILE__), $value['size'], "->$method() sets the size of the file field");
|
$this->assertEquals(filesize(__FILE__), $value['size'], "->$method() sets the size of the file field");
|
||||||
|
|
||||||
|
$origInfo = pathinfo(__FILE__);
|
||||||
|
$tmpInfo = pathinfo($value['tmp_name']);
|
||||||
|
$this->assertEquals(
|
||||||
|
$origInfo['extension'],
|
||||||
|
$tmpInfo['extension'],
|
||||||
|
"->$method() keeps the same file extension in the tmp_name copy"
|
||||||
|
);
|
||||||
|
|
||||||
|
$field->$method(__DIR__.'/../Fixtures/no-extension');
|
||||||
|
$value = $field->getValue();
|
||||||
|
|
||||||
|
$this->assertArrayNotHasKey(
|
||||||
|
'extension',
|
||||||
|
pathinfo($value['tmp_name']),
|
||||||
|
"->$method() does not add a file extension in the tmp_name copy"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getSetValueMethods()
|
public function getSetValueMethods()
|
||||||
|
@ -0,0 +1 @@
|
|||||||
|
Test
|
@ -19,7 +19,7 @@ abstract class RealIteratorTestCase extends IteratorTestCase
|
|||||||
|
|
||||||
public static function setUpBeforeClass()
|
public static function setUpBeforeClass()
|
||||||
{
|
{
|
||||||
self::$tmpDir = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'symfony2_finder';
|
self::$tmpDir = realpath(sys_get_temp_dir()) . DIRECTORY_SEPARATOR . 'symfony2_finder';
|
||||||
|
|
||||||
self::$files = array(
|
self::$files = array(
|
||||||
'.git/',
|
'.git/',
|
||||||
@ -75,7 +75,7 @@ abstract class RealIteratorTestCase extends IteratorTestCase
|
|||||||
* Without the call to setUpBeforeClass() property can be null.
|
* Without the call to setUpBeforeClass() property can be null.
|
||||||
*/
|
*/
|
||||||
if (!self::$tmpDir) {
|
if (!self::$tmpDir) {
|
||||||
self::$tmpDir = sys_get_temp_dir() . DIRECTORY_SEPARATOR . 'symfony2_finder';
|
self::$tmpDir = realpath(sys_get_temp_dir()) . DIRECTORY_SEPARATOR . 'symfony2_finder';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_array($files)) {
|
if (is_array($files)) {
|
||||||
|
@ -14,7 +14,7 @@ https://github.com/fabpot/Silex/blob/master/src/Silex/Provider/FormServiceProvid
|
|||||||
|
|
||||||
Documentation:
|
Documentation:
|
||||||
|
|
||||||
http://symfony.com/doc/2.0/book/forms.html
|
http://symfony.com/doc/2.2/book/forms.html
|
||||||
|
|
||||||
Resources
|
Resources
|
||||||
---------
|
---------
|
||||||
|
@ -117,6 +117,6 @@ class DateTimeToRfc3339TransformerTest extends DateTimeTestCase
|
|||||||
{
|
{
|
||||||
$transformer = new DateTimeToRfc3339Transformer('UTC', 'UTC');
|
$transformer = new DateTimeToRfc3339Transformer('UTC', 'UTC');
|
||||||
|
|
||||||
var_dump($transformer->reverseTransform('2010-04-31T04:05Z'));
|
$transformer->reverseTransform('2010-04-31T04:05Z');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -149,7 +149,7 @@ class HeaderBag implements \IteratorAggregate, \Countable
|
|||||||
*
|
*
|
||||||
* @param string $key The key
|
* @param string $key The key
|
||||||
* @param string|array $values The value or an array of values
|
* @param string|array $values The value or an array of values
|
||||||
* @param Boolean $replace Whether to replace the actual value of not (true by default)
|
* @param Boolean $replace Whether to replace the actual value or not (true by default)
|
||||||
*
|
*
|
||||||
* @api
|
* @api
|
||||||
*/
|
*/
|
||||||
|
@ -25,10 +25,24 @@ use Symfony\Component\HttpFoundation\Response;
|
|||||||
class ConfigDataCollector extends DataCollector
|
class ConfigDataCollector extends DataCollector
|
||||||
{
|
{
|
||||||
private $kernel;
|
private $kernel;
|
||||||
|
private $name;
|
||||||
|
private $version;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
|
* @param string $name The name of the application using the web profiler
|
||||||
|
* @param string $version The version of the application using the web profiler
|
||||||
|
*/
|
||||||
|
public function __construct($name = null, $version = null)
|
||||||
|
{
|
||||||
|
$this->name = $name;
|
||||||
|
$this->version = $version;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the Kernel associated with this Request.
|
||||||
|
*
|
||||||
* @param KernelInterface $kernel A KernelInterface instance
|
* @param KernelInterface $kernel A KernelInterface instance
|
||||||
*/
|
*/
|
||||||
public function setKernel(KernelInterface $kernel = null)
|
public function setKernel(KernelInterface $kernel = null)
|
||||||
@ -42,6 +56,8 @@ class ConfigDataCollector extends DataCollector
|
|||||||
public function collect(Request $request, Response $response, \Exception $exception = null)
|
public function collect(Request $request, Response $response, \Exception $exception = null)
|
||||||
{
|
{
|
||||||
$this->data = array(
|
$this->data = array(
|
||||||
|
'app_name' => $this->name,
|
||||||
|
'app_version' => $this->version,
|
||||||
'token' => $response->headers->get('X-Debug-Token'),
|
'token' => $response->headers->get('X-Debug-Token'),
|
||||||
'symfony_version' => Kernel::VERSION,
|
'symfony_version' => Kernel::VERSION,
|
||||||
'name' => isset($this->kernel) ? $this->kernel->getName() : 'n/a',
|
'name' => isset($this->kernel) ? $this->kernel->getName() : 'n/a',
|
||||||
@ -64,6 +80,16 @@ class ConfigDataCollector extends DataCollector
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getApplicationName()
|
||||||
|
{
|
||||||
|
return $this->data['app_name'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getApplicationVersion()
|
||||||
|
{
|
||||||
|
return $this->data['app_version'];
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the token.
|
* Gets the token.
|
||||||
*
|
*
|
||||||
|
@ -21,7 +21,7 @@ final class PropertyAccess
|
|||||||
/**
|
/**
|
||||||
* Creates a property accessor with the default configuration.
|
* Creates a property accessor with the default configuration.
|
||||||
*
|
*
|
||||||
* @return PropertyAccessor The new property accessor.
|
* @return PropertyAccessor The new property accessor
|
||||||
*/
|
*/
|
||||||
public static function getPropertyAccessor()
|
public static function getPropertyAccessor()
|
||||||
{
|
{
|
||||||
|
@ -96,9 +96,9 @@ class PropertyAccessor implements PropertyAccessorInterface
|
|||||||
/**
|
/**
|
||||||
* Reads the path from an object up to a given path index.
|
* Reads the path from an object up to a given path index.
|
||||||
*
|
*
|
||||||
* @param object|array $objectOrArray The object or array to read from.
|
* @param object|array $objectOrArray The object or array to read from
|
||||||
* @param PropertyPathInterface $propertyPath The property path to read.
|
* @param PropertyPathInterface $propertyPath The property path to read
|
||||||
* @param integer $lastIndex The integer up to which should be read.
|
* @param integer $lastIndex The index up to which should be read
|
||||||
*
|
*
|
||||||
* @return array The values read in the path.
|
* @return array The values read in the path.
|
||||||
*
|
*
|
||||||
@ -139,12 +139,12 @@ class PropertyAccessor implements PropertyAccessorInterface
|
|||||||
/**
|
/**
|
||||||
* Reads a key from an array-like structure.
|
* Reads a key from an array-like structure.
|
||||||
*
|
*
|
||||||
* @param \ArrayAccess|array $array The array or \ArrayAccess object to read from.
|
* @param \ArrayAccess|array $array The array or \ArrayAccess object to read from
|
||||||
* @param string|integer $index The key to read.
|
* @param string|integer $index The key to read
|
||||||
*
|
*
|
||||||
* @return mixed The value of the key
|
* @return mixed The value of the key
|
||||||
*
|
*
|
||||||
* @throws NoSuchPropertyException If the array does not implement \ArrayAccess or it is not an array.
|
* @throws NoSuchPropertyException If the array does not implement \ArrayAccess or it is not an array
|
||||||
*/
|
*/
|
||||||
private function &readIndex(&$array, $index)
|
private function &readIndex(&$array, $index)
|
||||||
{
|
{
|
||||||
@ -180,9 +180,9 @@ class PropertyAccessor implements PropertyAccessorInterface
|
|||||||
*
|
*
|
||||||
* @return mixed The value of the read property
|
* @return mixed The value of the read property
|
||||||
*
|
*
|
||||||
* @throws NoSuchPropertyException If the property does not exist.
|
* @throws NoSuchPropertyException If the property does not exist
|
||||||
* @throws PropertyAccessDeniedException If the property cannot be accessed due to
|
* @throws PropertyAccessDeniedException If the property cannot be accessed due to
|
||||||
* access restrictions (private or protected).
|
* access restrictions (private or protected)
|
||||||
*/
|
*/
|
||||||
private function &readProperty(&$object, $property)
|
private function &readProperty(&$object, $property)
|
||||||
{
|
{
|
||||||
@ -250,11 +250,11 @@ class PropertyAccessor implements PropertyAccessorInterface
|
|||||||
/**
|
/**
|
||||||
* Sets the value of the property at the given index in the path
|
* Sets the value of the property at the given index in the path
|
||||||
*
|
*
|
||||||
* @param \ArrayAccess|array $array An array or \ArrayAccess object to write to.
|
* @param \ArrayAccess|array $array An array or \ArrayAccess object to write to
|
||||||
* @param string|integer $index The index to write at.
|
* @param string|integer $index The index to write at
|
||||||
* @param mixed $value The value to write.
|
* @param mixed $value The value to write
|
||||||
*
|
*
|
||||||
* @throws NoSuchPropertyException If the array does not implement \ArrayAccess or it is not an array.
|
* @throws NoSuchPropertyException If the array does not implement \ArrayAccess or it is not an array
|
||||||
*/
|
*/
|
||||||
private function writeIndex(&$array, $index, $value)
|
private function writeIndex(&$array, $index, $value)
|
||||||
{
|
{
|
||||||
@ -268,14 +268,14 @@ class PropertyAccessor implements PropertyAccessorInterface
|
|||||||
/**
|
/**
|
||||||
* Sets the value of the property at the given index in the path
|
* Sets the value of the property at the given index in the path
|
||||||
*
|
*
|
||||||
* @param object|array $object The object or array to write to.
|
* @param object|array $object The object or array to write to
|
||||||
* @param string $property The property to write.
|
* @param string $property The property to write
|
||||||
* @param string|null $singular The singular form of the property name or null.
|
* @param string|null $singular The singular form of the property name or null
|
||||||
* @param mixed $value The value to write.
|
* @param mixed $value The value to write
|
||||||
*
|
*
|
||||||
* @throws NoSuchPropertyException If the property does not exist.
|
* @throws NoSuchPropertyException If the property does not exist
|
||||||
* @throws PropertyAccessDeniedException If the property cannot be accessed due to
|
* @throws PropertyAccessDeniedException If the property cannot be accessed due to
|
||||||
* access restrictions (private or protected).
|
* access restrictions (private or protected)
|
||||||
*/
|
*/
|
||||||
private function writeProperty(&$object, $property, $singular, $value)
|
private function writeProperty(&$object, $property, $singular, $value)
|
||||||
{
|
{
|
||||||
@ -368,9 +368,9 @@ class PropertyAccessor implements PropertyAccessorInterface
|
|||||||
/**
|
/**
|
||||||
* Camelizes a given string.
|
* Camelizes a given string.
|
||||||
*
|
*
|
||||||
* @param string $string Some string.
|
* @param string $string Some string
|
||||||
*
|
*
|
||||||
* @return string The camelized version of the string.
|
* @return string The camelized version of the string
|
||||||
*/
|
*/
|
||||||
private function camelize($string)
|
private function camelize($string)
|
||||||
{
|
{
|
||||||
@ -381,11 +381,11 @@ class PropertyAccessor implements PropertyAccessorInterface
|
|||||||
* Searches for add and remove methods.
|
* Searches for add and remove methods.
|
||||||
*
|
*
|
||||||
* @param \ReflectionClass $reflClass The reflection class for the given object
|
* @param \ReflectionClass $reflClass The reflection class for the given object
|
||||||
* @param array $singulars The singular form of the property name or null.
|
* @param array $singulars The singular form of the property name or null
|
||||||
*
|
*
|
||||||
* @return array|null An array containing the adder and remover when found, null otherwise.
|
* @return array|null An array containing the adder and remover when found, null otherwise
|
||||||
*
|
*
|
||||||
* @throws NoSuchPropertyException If the property does not exist.
|
* @throws NoSuchPropertyException If the property does not exist
|
||||||
*/
|
*/
|
||||||
private function findAdderAndRemover(\ReflectionClass $reflClass, array $singulars)
|
private function findAdderAndRemover(\ReflectionClass $reflClass, array $singulars)
|
||||||
{
|
{
|
||||||
@ -416,12 +416,12 @@ class PropertyAccessor implements PropertyAccessorInterface
|
|||||||
/**
|
/**
|
||||||
* Returns whether a method is public and has a specific number of required parameters.
|
* Returns whether a method is public and has a specific number of required parameters.
|
||||||
*
|
*
|
||||||
* @param \ReflectionClass $class The class of the method.
|
* @param \ReflectionClass $class The class of the method
|
||||||
* @param string $methodName The method name.
|
* @param string $methodName The method name
|
||||||
* @param integer $parameters The number of parameters.
|
* @param integer $parameters The number of parameters
|
||||||
*
|
*
|
||||||
* @return Boolean Whether the method is public and has $parameters
|
* @return Boolean Whether the method is public and has $parameters
|
||||||
* required parameters.
|
* required parameters
|
||||||
*/
|
*/
|
||||||
private function isAccessible(\ReflectionClass $class, $methodName, $parameters)
|
private function isAccessible(\ReflectionClass $class, $methodName, $parameters)
|
||||||
{
|
{
|
||||||
|
@ -39,15 +39,15 @@ interface PropertyAccessorInterface
|
|||||||
*
|
*
|
||||||
* If neither is found, an exception is thrown.
|
* If neither is found, an exception is thrown.
|
||||||
*
|
*
|
||||||
* @param object|array $objectOrArray The object or array to modify.
|
* @param object|array $objectOrArray The object or array to modify
|
||||||
* @param string|PropertyPathInterface $propertyPath The property path to modify.
|
* @param string|PropertyPathInterface $propertyPath The property path to modify
|
||||||
* @param mixed $value The value to set at the end of the property path.
|
* @param mixed $value The value to set at the end of the property path
|
||||||
*
|
*
|
||||||
* @throws Exception\NoSuchPropertyException If a property does not exist.
|
* @throws Exception\NoSuchPropertyException If a property does not exist
|
||||||
* @throws Exception\PropertyAccessDeniedException If a property cannot be accessed due to
|
* @throws Exception\PropertyAccessDeniedException If a property cannot be accessed due to
|
||||||
* access restrictions (private or protected).
|
* access restrictions (private or protected)
|
||||||
* @throws Exception\UnexpectedTypeException If a value within the path is neither object
|
* @throws Exception\UnexpectedTypeException If a value within the path is neither object
|
||||||
* nor array.
|
* nor array
|
||||||
*/
|
*/
|
||||||
public function setValue(&$objectOrArray, $propertyPath, $value);
|
public function setValue(&$objectOrArray, $propertyPath, $value);
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ interface PropertyAccessorInterface
|
|||||||
* If none of them are found, an exception is thrown.
|
* If none of them are found, an exception is thrown.
|
||||||
*
|
*
|
||||||
* @param object|array $objectOrArray The object or array to traverse
|
* @param object|array $objectOrArray The object or array to traverse
|
||||||
* @param string|PropertyPathInterface $propertyPath The property path to modify.
|
* @param string|PropertyPathInterface $propertyPath The property path to read
|
||||||
*
|
*
|
||||||
* @return mixed The value at the end of the property path
|
* @return mixed The value at the end of the property path
|
||||||
*
|
*
|
||||||
|
@ -62,10 +62,10 @@ class PropertyPath implements \IteratorAggregate, PropertyPathInterface
|
|||||||
/**
|
/**
|
||||||
* Constructs a property path from a string.
|
* Constructs a property path from a string.
|
||||||
*
|
*
|
||||||
* @param PropertyPath|string $propertyPath The property path as string or instance.
|
* @param PropertyPath|string $propertyPath The property path as string or instance
|
||||||
*
|
*
|
||||||
* @throws UnexpectedTypeException If the given path is not a string.
|
* @throws UnexpectedTypeException If the given path is not a string
|
||||||
* @throws InvalidPropertyPathException If the syntax of the property path is not valid.
|
* @throws InvalidPropertyPathException If the syntax of the property path is not valid
|
||||||
*/
|
*/
|
||||||
public function __construct($propertyPath)
|
public function __construct($propertyPath)
|
||||||
{
|
{
|
||||||
|
@ -44,9 +44,9 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Appends a (sub-) path to the current path.
|
* Appends a (sub-) path to the current path.
|
||||||
*
|
*
|
||||||
* @param PropertyPathInterface $path The path to append.
|
* @param PropertyPathInterface $path The path to append
|
||||||
* @param integer $offset The offset where the appended piece
|
* @param integer $offset The offset where the appended piece
|
||||||
* starts in $path.
|
* starts in $path
|
||||||
* @param integer $length The length of the appended piece.
|
* @param integer $length The length of the appended piece.
|
||||||
* If 0, the full path is appended.
|
* If 0, the full path is appended.
|
||||||
*/
|
*/
|
||||||
@ -67,7 +67,7 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Appends an index element to the current path.
|
* Appends an index element to the current path.
|
||||||
*
|
*
|
||||||
* @param string $name The name of the appended index.
|
* @param string $name The name of the appended index
|
||||||
*/
|
*/
|
||||||
public function appendIndex($name)
|
public function appendIndex($name)
|
||||||
{
|
{
|
||||||
@ -78,7 +78,7 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Appends a property element to the current path.
|
* Appends a property element to the current path.
|
||||||
*
|
*
|
||||||
* @param string $name The name of the appended property.
|
* @param string $name The name of the appended property
|
||||||
*/
|
*/
|
||||||
public function appendProperty($name)
|
public function appendProperty($name)
|
||||||
{
|
{
|
||||||
@ -89,8 +89,8 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Removes elements from the current path.
|
* Removes elements from the current path.
|
||||||
*
|
*
|
||||||
* @param integer $offset The offset at which to remove.
|
* @param integer $offset The offset at which to remove
|
||||||
* @param integer $length The length of the removed piece.
|
* @param integer $length The length of the removed piece
|
||||||
*
|
*
|
||||||
* @throws OutOfBoundsException if offset is invalid
|
* @throws OutOfBoundsException if offset is invalid
|
||||||
*/
|
*/
|
||||||
@ -106,15 +106,15 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Replaces a sub-path by a different (sub-) path.
|
* Replaces a sub-path by a different (sub-) path.
|
||||||
*
|
*
|
||||||
* @param integer $offset The offset at which to replace.
|
* @param integer $offset The offset at which to replace
|
||||||
* @param integer $length The length of the piece to replace.
|
* @param integer $length The length of the piece to replace
|
||||||
* @param PropertyPathInterface $path The path to insert.
|
* @param PropertyPathInterface $path The path to insert
|
||||||
* @param integer $pathOffset The offset where the inserted piece
|
* @param integer $pathOffset The offset where the inserted piece
|
||||||
* starts in $path.
|
* starts in $path
|
||||||
* @param integer $pathLength The length of the inserted piece.
|
* @param integer $pathLength The length of the inserted piece.
|
||||||
* If 0, the full path is inserted.
|
* If 0, the full path is inserted.
|
||||||
*
|
*
|
||||||
* @throws OutOfBoundsException If the offset is invalid.
|
* @throws OutOfBoundsException If the offset is invalid
|
||||||
*/
|
*/
|
||||||
public function replace($offset, $length, PropertyPathInterface $path, $pathOffset = 0, $pathLength = 0)
|
public function replace($offset, $length, PropertyPathInterface $path, $pathOffset = 0, $pathLength = 0)
|
||||||
{
|
{
|
||||||
@ -137,10 +137,10 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Replaces a property element by an index element.
|
* Replaces a property element by an index element.
|
||||||
*
|
*
|
||||||
* @param integer $offset The offset at which to replace.
|
* @param integer $offset The offset at which to replace
|
||||||
* @param string $name The new name of the element. Optional.
|
* @param string $name The new name of the element. Optional.
|
||||||
*
|
*
|
||||||
* @throws OutOfBoundsException If the offset is invalid.
|
* @throws OutOfBoundsException If the offset is invalid
|
||||||
*/
|
*/
|
||||||
public function replaceByIndex($offset, $name = null)
|
public function replaceByIndex($offset, $name = null)
|
||||||
{
|
{
|
||||||
@ -158,10 +158,10 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Replaces an index element by a property element.
|
* Replaces an index element by a property element.
|
||||||
*
|
*
|
||||||
* @param integer $offset The offset at which to replace.
|
* @param integer $offset The offset at which to replace
|
||||||
* @param string $name The new name of the element. Optional.
|
* @param string $name The new name of the element. Optional.
|
||||||
*
|
*
|
||||||
* @throws OutOfBoundsException If the offset is invalid.
|
* @throws OutOfBoundsException If the offset is invalid
|
||||||
*/
|
*/
|
||||||
public function replaceByProperty($offset, $name = null)
|
public function replaceByProperty($offset, $name = null)
|
||||||
{
|
{
|
||||||
@ -179,7 +179,7 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Returns the length of the current path.
|
* Returns the length of the current path.
|
||||||
*
|
*
|
||||||
* @return integer The path length.
|
* @return integer The path length
|
||||||
*/
|
*/
|
||||||
public function getLength()
|
public function getLength()
|
||||||
{
|
{
|
||||||
@ -189,7 +189,7 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Returns the current property path.
|
* Returns the current property path.
|
||||||
*
|
*
|
||||||
* @return PropertyPathInterface The constructed property path.
|
* @return PropertyPathInterface The constructed property path
|
||||||
*/
|
*/
|
||||||
public function getPropertyPath()
|
public function getPropertyPath()
|
||||||
{
|
{
|
||||||
@ -201,7 +201,7 @@ class PropertyPathBuilder
|
|||||||
/**
|
/**
|
||||||
* Returns the current property path as string.
|
* Returns the current property path as string.
|
||||||
*
|
*
|
||||||
* @return string The property path as string.
|
* @return string The property path as string
|
||||||
*/
|
*/
|
||||||
public function __toString()
|
public function __toString()
|
||||||
{
|
{
|
||||||
@ -225,9 +225,9 @@ class PropertyPathBuilder
|
|||||||
* removed at $offset and another chunk of length $insertionLength
|
* removed at $offset and another chunk of length $insertionLength
|
||||||
* can be inserted.
|
* can be inserted.
|
||||||
*
|
*
|
||||||
* @param integer $offset The offset where the removed chunk starts.
|
* @param integer $offset The offset where the removed chunk starts
|
||||||
* @param integer $cutLength The length of the removed chunk.
|
* @param integer $cutLength The length of the removed chunk
|
||||||
* @param integer $insertionLength The length of the inserted chunk.
|
* @param integer $insertionLength The length of the inserted chunk
|
||||||
*/
|
*/
|
||||||
private function resize($offset, $cutLength, $insertionLength)
|
private function resize($offset, $cutLength, $insertionLength)
|
||||||
{
|
{
|
||||||
|
@ -21,14 +21,14 @@ interface PropertyPathInterface extends \Traversable
|
|||||||
/**
|
/**
|
||||||
* Returns the string representation of the property path
|
* Returns the string representation of the property path
|
||||||
*
|
*
|
||||||
* @return string The path as string.
|
* @return string The path as string
|
||||||
*/
|
*/
|
||||||
public function __toString();
|
public function __toString();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the length of the property path, i.e. the number of elements.
|
* Returns the length of the property path, i.e. the number of elements.
|
||||||
*
|
*
|
||||||
* @return integer The path length.
|
* @return integer The path length
|
||||||
*/
|
*/
|
||||||
public function getLength();
|
public function getLength();
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ interface PropertyPathInterface extends \Traversable
|
|||||||
*
|
*
|
||||||
* If this property path only contains one item, null is returned.
|
* If this property path only contains one item, null is returned.
|
||||||
*
|
*
|
||||||
* @return PropertyPath The parent path or null.
|
* @return PropertyPath The parent path or null
|
||||||
*/
|
*/
|
||||||
public function getParent();
|
public function getParent();
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ interface PropertyPathInterface extends \Traversable
|
|||||||
*
|
*
|
||||||
* @return string A property or index name
|
* @return string A property or index name
|
||||||
*
|
*
|
||||||
* @throws Exception\OutOfBoundsException If the offset is invalid.
|
* @throws Exception\OutOfBoundsException If the offset is invalid
|
||||||
*/
|
*/
|
||||||
public function getElement($index);
|
public function getElement($index);
|
||||||
|
|
||||||
@ -69,7 +69,7 @@ interface PropertyPathInterface extends \Traversable
|
|||||||
*
|
*
|
||||||
* @return Boolean Whether the element at this index is a property
|
* @return Boolean Whether the element at this index is a property
|
||||||
*
|
*
|
||||||
* @throws Exception\OutOfBoundsException If the offset is invalid.
|
* @throws Exception\OutOfBoundsException If the offset is invalid
|
||||||
*/
|
*/
|
||||||
public function isProperty($index);
|
public function isProperty($index);
|
||||||
|
|
||||||
@ -80,7 +80,7 @@ interface PropertyPathInterface extends \Traversable
|
|||||||
*
|
*
|
||||||
* @return Boolean Whether the element at this index is an array index
|
* @return Boolean Whether the element at this index is an array index
|
||||||
*
|
*
|
||||||
* @throws Exception\OutOfBoundsException If the offset is invalid.
|
* @throws Exception\OutOfBoundsException If the offset is invalid
|
||||||
*/
|
*/
|
||||||
public function isIndex($index);
|
public function isIndex($index);
|
||||||
}
|
}
|
||||||
|
@ -261,7 +261,7 @@ class UrlGenerator implements UrlGeneratorInterface, ConfigurableRequirementsInt
|
|||||||
}
|
}
|
||||||
|
|
||||||
// add a query string if needed
|
// add a query string if needed
|
||||||
$extra = array_diff_key($parameters, $variables);
|
$extra = array_diff_key($parameters, $variables, $defaults);
|
||||||
if ($extra && $query = http_build_query($extra, '', '&')) {
|
if ($extra && $query = http_build_query($extra, '', '&')) {
|
||||||
$url .= '?'.$query;
|
$url .= '?'.$query;
|
||||||
}
|
}
|
||||||
|
@ -297,8 +297,8 @@ class UrlGeneratorTest extends \PHPUnit_Framework_TestCase
|
|||||||
{
|
{
|
||||||
$routes = $this->getRoutes('test', new Route('/test', array('default' => 'value')));
|
$routes = $this->getRoutes('test', new Route('/test', array('default' => 'value')));
|
||||||
|
|
||||||
$this->assertSame('/app.php/test?default=foo', $this->getGenerator($routes)->generate('test', array('default' => 'foo')));
|
$this->assertSame('/app.php/test', $this->getGenerator($routes)->generate('test', array('default' => 'foo')));
|
||||||
$this->assertSame('/app.php/test?default=value', $this->getGenerator($routes)->generate('test', array('default' => 'value')));
|
$this->assertSame('/app.php/test', $this->getGenerator($routes)->generate('test', array('default' => 'value')));
|
||||||
$this->assertSame('/app.php/test', $this->getGenerator($routes)->generate('test'));
|
$this->assertSame('/app.php/test', $this->getGenerator($routes)->generate('test'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@ use Symfony\Component\Security\Core\Exception\CookieTheftException;
|
|||||||
use Symfony\Component\Security\Core\Authentication\RememberMe\PersistentToken;
|
use Symfony\Component\Security\Core\Authentication\RememberMe\PersistentToken;
|
||||||
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
|
||||||
use Symfony\Component\Security\Core\Util\SecureRandomInterface;
|
use Symfony\Component\Security\Core\Util\SecureRandomInterface;
|
||||||
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Concrete implementation of the RememberMeServicesInterface which needs
|
* Concrete implementation of the RememberMeServicesInterface which needs
|
||||||
@ -98,7 +99,7 @@ class PersistentTokenBasedRememberMeServices extends AbstractRememberMeServices
|
|||||||
}
|
}
|
||||||
|
|
||||||
$series = $persistentToken->getSeries();
|
$series = $persistentToken->getSeries();
|
||||||
$tokenValue = $this->secureRandom->nextBytes(64);
|
$tokenValue = base64_encode($this->secureRandom->nextBytes(64));
|
||||||
$this->tokenProvider->updateToken($series, $tokenValue, new \DateTime());
|
$this->tokenProvider->updateToken($series, $tokenValue, new \DateTime());
|
||||||
$request->attributes->set(self::COOKIE_ATTR_NAME,
|
$request->attributes->set(self::COOKIE_ATTR_NAME,
|
||||||
new Cookie(
|
new Cookie(
|
||||||
@ -120,8 +121,8 @@ class PersistentTokenBasedRememberMeServices extends AbstractRememberMeServices
|
|||||||
*/
|
*/
|
||||||
protected function onLoginSuccess(Request $request, Response $response, TokenInterface $token)
|
protected function onLoginSuccess(Request $request, Response $response, TokenInterface $token)
|
||||||
{
|
{
|
||||||
$series = $this->secureRandom->nextBytes(64);
|
$series = base64_encode($this->secureRandom->nextBytes(64));
|
||||||
$tokenValue = $this->secureRandom->nextBytes(64);
|
$tokenValue = base64_encode($this->secureRandom->nextBytes(64));
|
||||||
|
|
||||||
$this->tokenProvider->createNewToken(
|
$this->tokenProvider->createNewToken(
|
||||||
new PersistentToken(
|
new PersistentToken(
|
||||||
|
@ -11,7 +11,7 @@ Resources
|
|||||||
|
|
||||||
Documentation:
|
Documentation:
|
||||||
|
|
||||||
http://symfony.com/doc/2.0/book/security.html
|
http://symfony.com/doc/2.2/book/security.html
|
||||||
|
|
||||||
Resources
|
Resources
|
||||||
---------
|
---------
|
||||||
|
@ -26,7 +26,7 @@ https://github.com/fabpot/Silex/blob/master/src/Silex/Provider/TranslationServic
|
|||||||
|
|
||||||
Documentation:
|
Documentation:
|
||||||
|
|
||||||
http://symfony.com/doc/2.0/book/translation.html
|
http://symfony.com/doc/2.2/book/translation.html
|
||||||
|
|
||||||
You can run the unit tests with the following command:
|
You can run the unit tests with the following command:
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ https://github.com/fabpot/Silex/blob/master/src/Silex/Provider/ValidatorServiceP
|
|||||||
|
|
||||||
Documentation:
|
Documentation:
|
||||||
|
|
||||||
http://symfony.com/doc/2.0/book/validation.html
|
http://symfony.com/doc/2.2/book/validation.html
|
||||||
|
|
||||||
JSR-303 Specification:
|
JSR-303 Specification:
|
||||||
|
|
||||||
|
@ -4,23 +4,23 @@
|
|||||||
<body>
|
<body>
|
||||||
<trans-unit id="1">
|
<trans-unit id="1">
|
||||||
<source>This value should be false.</source>
|
<source>This value should be false.</source>
|
||||||
<target>値はfalseでなければなりません.</target>
|
<target>falseでなければなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="2">
|
<trans-unit id="2">
|
||||||
<source>This value should be true.</source>
|
<source>This value should be true.</source>
|
||||||
<target>値はtrueでなければなりません.</target>
|
<target>trueでなければなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="3">
|
<trans-unit id="3">
|
||||||
<source>This value should be of type {{ type }}.</source>
|
<source>This value should be of type {{ type }}.</source>
|
||||||
<target>値の型は{{ type }}でなければなりません.</target>
|
<target>型は{{ type }}でなければなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="4">
|
<trans-unit id="4">
|
||||||
<source>This value should be blank.</source>
|
<source>This value should be blank.</source>
|
||||||
<target>値は空でなければなりません.</target>
|
<target>空でなければなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="5">
|
<trans-unit id="5">
|
||||||
<source>The value you selected is not a valid choice.</source>
|
<source>The value you selected is not a valid choice.</source>
|
||||||
<target>選択された値は選択肢として有効な値ではありません.</target>
|
<target>有効な選択肢ではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="6">
|
<trans-unit id="6">
|
||||||
<source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source>
|
<source>You must select at least {{ limit }} choice.|You must select at least {{ limit }} choices.</source>
|
||||||
@ -32,47 +32,47 @@
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="8">
|
<trans-unit id="8">
|
||||||
<source>One or more of the given values is invalid.</source>
|
<source>One or more of the given values is invalid.</source>
|
||||||
<target>1つまたは複数の選択された値が正しくありません.</target>
|
<target>無効な選択肢が含まれています。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="9">
|
<trans-unit id="9">
|
||||||
<source>The fields {{ fields }} were not expected.</source>
|
<source>The fields {{ fields }} were not expected.</source>
|
||||||
<target>フィールド{{ fields }}は無効です.</target>
|
<target>フィールド{{ fields }}は無効です。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="10">
|
<trans-unit id="10">
|
||||||
<source>The fields {{ fields }} are missing.</source>
|
<source>The fields {{ fields }} are missing.</source>
|
||||||
<target>フィールド{{ fields }}は必須です.</target>
|
<target>フィールド{{ fields }}は必須です。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="11">
|
<trans-unit id="11">
|
||||||
<source>This value is not a valid date.</source>
|
<source>This value is not a valid date.</source>
|
||||||
<target>値が有効な日付ではありません.</target>
|
<target>有効な日付ではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="12">
|
<trans-unit id="12">
|
||||||
<source>This value is not a valid datetime.</source>
|
<source>This value is not a valid datetime.</source>
|
||||||
<target>値が有効な日時ではありません.</target>
|
<target>有効な日時ではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="13">
|
<trans-unit id="13">
|
||||||
<source>This value is not a valid email address.</source>
|
<source>This value is not a valid email address.</source>
|
||||||
<target>値が有効なメールアドレスではありません.</target>
|
<target>有効なメールアドレスではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="14">
|
<trans-unit id="14">
|
||||||
<source>The file could not be found.</source>
|
<source>The file could not be found.</source>
|
||||||
<target>ファイルが見つかりません.</target>
|
<target>ファイルが見つかりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="15">
|
<trans-unit id="15">
|
||||||
<source>The file is not readable.</source>
|
<source>The file is not readable.</source>
|
||||||
<target>ファイルを読み込めません.</target>
|
<target>ファイルを読み込めません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="16">
|
<trans-unit id="16">
|
||||||
<source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source>
|
<source>The file is too large ({{ size }} {{ suffix }}). Allowed maximum size is {{ limit }} {{ suffix }}.</source>
|
||||||
<target>ファイルのサイズが大きすぎます({{ size }} {{ suffix }})。有効な最大サイズは{{ limit }} {{ suffix }}です.</target>
|
<target>ファイルのサイズが大きすぎます({{ size }} {{ suffix }})。有効な最大サイズは{{ limit }} {{ suffix }}です。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="17">
|
<trans-unit id="17">
|
||||||
<source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source>
|
<source>The mime type of the file is invalid ({{ type }}). Allowed mime types are {{ types }}.</source>
|
||||||
<target>ファイルのMIMEタイプが無効です({{ type }})。有効なMIMEタイプは{{ types }}です.</target>
|
<target>ファイルのMIMEタイプが無効です({{ type }})。有効なMIMEタイプは{{ types }}です。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="18">
|
<trans-unit id="18">
|
||||||
<source>This value should be {{ limit }} or less.</source>
|
<source>This value should be {{ limit }} or less.</source>
|
||||||
<target>値は{{ limit }}以下でなければなりません.</target>
|
<target>{{ limit }}以下でなければなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="19">
|
<trans-unit id="19">
|
||||||
<source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source>
|
<source>This value is too long. It should have {{ limit }} character or less.|This value is too long. It should have {{ limit }} characters or less.</source>
|
||||||
@ -80,7 +80,7 @@
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="20">
|
<trans-unit id="20">
|
||||||
<source>This value should be {{ limit }} or more.</source>
|
<source>This value should be {{ limit }} or more.</source>
|
||||||
<target>値は{{ limit }}以上でなければなりません.</target>
|
<target>{{ limit }}以上でなければなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="21">
|
<trans-unit id="21">
|
||||||
<source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source>
|
<source>This value is too short. It should have {{ limit }} character or more.|This value is too short. It should have {{ limit }} characters or more.</source>
|
||||||
@ -88,63 +88,131 @@
|
|||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="22">
|
<trans-unit id="22">
|
||||||
<source>This value should not be blank.</source>
|
<source>This value should not be blank.</source>
|
||||||
<target>値が空であってはなりません.</target>
|
<target>空であってはなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="23">
|
<trans-unit id="23">
|
||||||
<source>This value should not be null.</source>
|
<source>This value should not be null.</source>
|
||||||
<target>値がnullであってはなりません.</target>
|
<target>nullであってはなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="24">
|
<trans-unit id="24">
|
||||||
<source>This value should be null.</source>
|
<source>This value should be null.</source>
|
||||||
<target>値はnullでなければなりません.</target>
|
<target>nullでなければなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="25">
|
<trans-unit id="25">
|
||||||
<source>This value is not valid.</source>
|
<source>This value is not valid.</source>
|
||||||
<target>値が無効です.</target>
|
<target>有効な値ではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="26">
|
<trans-unit id="26">
|
||||||
<source>This value is not a valid time.</source>
|
<source>This value is not a valid time.</source>
|
||||||
<target>値が有効な時刻ではありません.</target>
|
<target>有効な時刻ではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="27">
|
<trans-unit id="27">
|
||||||
<source>This value is not a valid URL.</source>
|
<source>This value is not a valid URL.</source>
|
||||||
<target>値が有効なURLではありません.</target>
|
<target>有効なURLではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="31">
|
<trans-unit id="31">
|
||||||
<source>The two values should be equal.</source>
|
<source>The two values should be equal.</source>
|
||||||
<target>2つの値が同じでなければなりません.</target>
|
<target>2つの値が同じでなければなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="32">
|
<trans-unit id="32">
|
||||||
<source>This value is not a valid country.</source>
|
<source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source>
|
||||||
<target>値は有効な国名ではありません.</target>
|
<target>ファイルのサイズが大きすぎます。有効な最大サイズは{{ limit }} {{ suffix }}です。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="33">
|
<trans-unit id="33">
|
||||||
<source>The file is too large. Allowed maximum size is {{ limit }} {{ suffix }}.</source>
|
<source>The file is too large.</source>
|
||||||
<target>ファイルのサイズが大きすぎます。有効な最大サイズは{{ limit }} {{ suffix }}です.</target>
|
<target>ファイルのサイズが大きすぎます。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="34">
|
<trans-unit id="34">
|
||||||
<source>The file is too large.</source>
|
<source>The file could not be uploaded.</source>
|
||||||
<target>ファイルのサイズが大きすぎます.</target>
|
<target>ファイルをアップロードできませんでした。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="35">
|
<trans-unit id="35">
|
||||||
<source>The file could not be uploaded.</source>
|
<source>This value should be a valid number.</source>
|
||||||
<target>ファイルをアップロードできませんでした.</target>
|
<target>有効な数字ではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="36">
|
<trans-unit id="36">
|
||||||
<source>This file is not a valid image.</source>
|
<source>This file is not a valid image.</source>
|
||||||
<target>ファイルが画像ではありません.</target>
|
<target>ファイルが画像ではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="37">
|
<trans-unit id="37">
|
||||||
<source>This is not a valid IP address.</source>
|
<source>This is not a valid IP address.</source>
|
||||||
<target>値は有効なIPアドレスではありません.</target>
|
<target>有効なIPアドレスではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="38">
|
<trans-unit id="38">
|
||||||
<source>This value is not a valid language.</source>
|
<source>This value is not a valid language.</source>
|
||||||
<target>値は有効な言語名ではありません.</target>
|
<target>有効な言語名ではありません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
<trans-unit id="39">
|
<trans-unit id="39">
|
||||||
<source>This value is not a valid locale.</source>
|
<source>This value is not a valid locale.</source>
|
||||||
<target>値は有効なロケールではありません.</target>
|
<target>有効なロケールではありません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="40">
|
||||||
|
<source>This value is not a valid country.</source>
|
||||||
|
<target>有効な国名ではありません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="41">
|
||||||
|
<source>This value is already used.</source>
|
||||||
|
<target>既に使用されています。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="42">
|
||||||
|
<source>The size of the image could not be detected.</source>
|
||||||
|
<target>画像のサイズが検出できません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="43">
|
||||||
|
<source>The image width is too big ({{ width }}px). Allowed maximum width is {{ max_width }}px.</source>
|
||||||
|
<target>画像の幅が大きすぎます({{ width }}ピクセル)。{{ max_width }}ピクセルまでにしてください。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="44">
|
||||||
|
<source>The image width is too small ({{ width }}px). Minimum width expected is {{ min_width }}px.</source>
|
||||||
|
<target>画像の幅が小さすぎます({{ width }}ピクセル)。{{ min_width }}ピクセル以上にしてください。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="45">
|
||||||
|
<source>The image height is too big ({{ height }}px). Allowed maximum height is {{ max_height }}px.</source>
|
||||||
|
<target>画像の高さが大きすぎます({{ height }}ピクセル)。{{ max_height }}ピクセルまでにしてください。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="46">
|
||||||
|
<source>The image height is too small ({{ height }}px). Minimum height expected is {{ min_height }}px.</source>
|
||||||
|
<target>画像の高さが小さすぎます({{ height }}ピクセル)。{{ min_height }}ピクセル以上にしてください。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="47">
|
||||||
|
<source>This value should be the user current password.</source>
|
||||||
|
<target>ユーザーの現在のパスワードでなければなりません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="48">
|
||||||
|
<source>This value should have exactly {{ limit }} characters.</source>
|
||||||
|
<target>ちょうど{{ limit }}文字でなければなりません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="49">
|
||||||
|
<source>The file was only partially uploaded.</source>
|
||||||
|
<target>ファイルのアップロードは完全ではありません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="50">
|
||||||
|
<source>No file was uploaded.</source>
|
||||||
|
<target>ファイルがアップロードされていません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="51">
|
||||||
|
<source>No temporary folder was configured in php.ini.</source>
|
||||||
|
<target>php.iniで一時フォルダが設定されていません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="52">
|
||||||
|
<source>Cannot write temporary file to disk.</source>
|
||||||
|
<target>一時ファイルをディスクに書き込むことができません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="53">
|
||||||
|
<source>A PHP extension caused the upload to fail.</source>
|
||||||
|
<target>PHP拡張によってアップロードに失敗しました。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="54">
|
||||||
|
<source>This collection should contain {{ limit }} elements or more.</source>
|
||||||
|
<target>{{ limit }}個以上の要素を含んでなければいけません。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="55">
|
||||||
|
<source>This collection should contain {{ limit }} elements or less.</source>
|
||||||
|
<target>要素は{{ limit }}個までです。</target>
|
||||||
|
</trans-unit>
|
||||||
|
<trans-unit id="56">
|
||||||
|
<source>This collection should contain exactly {{ limit }} elements.</source>
|
||||||
|
<target>要素はちょうど{{ limit }}個でなければなりません。</target>
|
||||||
</trans-unit>
|
</trans-unit>
|
||||||
</body>
|
</body>
|
||||||
</file>
|
</file>
|
||||||
|
Reference in New Issue
Block a user