Merge branch '2.3'
* 2.3: added missing support for the new output API in PHP 5.4+ Fixed bug introduced in #8675 made the filesystem loader compatible with Twig 2.0 bumped Symfony version to 2.3.4-DEV updated VERSION for 2.3.3 updated CHANGELOG for 2.3.3 bumped Symfony version to 2.2.6 updated VERSION for 2.2.5 update CONTRIBUTORS for 2.2.5 updated CHANGELOG for 2.2.5 [Intl] Updated stubs to reflect ICU 51.2 replaced deprecated Twig features Conflicts: src/Symfony/Component/HttpKernel/Kernel.php
This commit is contained in:
commit
fa1d7f540a
@ -7,6 +7,25 @@ in 2.2 minor versions.
|
||||
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
|
||||
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.2.0...v2.2.1
|
||||
|
||||
* 2.2.5 (2013-08-07)
|
||||
|
||||
* c35cc5b: added trusted hosts check
|
||||
* 6d555bc: Fixed metadata serialization
|
||||
* cd51d82: [Form] fixed wrong call to setTimeZone() (closes #8644)
|
||||
* 5c359a8: Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
|
||||
* 97cbb19: [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
|
||||
* c138304: [routing] added ability for apache matcher to handle array values
|
||||
* b41cf82: [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
|
||||
* 3553c71: return 0 if there is no valid data
|
||||
* ae7fa11: [Twig] fixed TwigEngine::exists() method when a template contains a syntax error (closes #8546)
|
||||
* 28e0709: [Validator] fixed ConstraintViolation:: incorrect when nested
|
||||
* 890934d: handle Optional and Required constraints from XML or YAML sources correctly
|
||||
* a2eca45: Fixed #8455: PhpExecutableFinder::find() does not always return the correct binary
|
||||
* 485d53a: [DependencyInjection] Fix Container::camelize to convert beginning and ending chars
|
||||
* 2317443: [Security] fixed issue where authentication listeners clear unrelated tokens
|
||||
* 2ebb783: fix issue #8499 modelChoiceList call getPrimaryKey on a non object
|
||||
* d3eb9b7: [Validator] Fixed groups argument misplace for validateValue method from validator class
|
||||
|
||||
* 2.2.4 (2013-07-15)
|
||||
|
||||
* 52e530d: Fixed NativeSessionStorage:regenerate when does not exists
|
||||
|
@ -7,6 +7,32 @@ in 2.3 minor versions.
|
||||
To get the diff for a specific change, go to https://github.com/symfony/symfony/commit/XXX where XXX is the change hash
|
||||
To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.3.0...v2.3.1
|
||||
|
||||
* 2.3.3 (2013-08-07)
|
||||
|
||||
* c35cc5b: added trusted hosts check
|
||||
* 6d555bc: Fixed metadata serialization
|
||||
* cd51d82: [Form] fixed wrong call to setTimeZone() (closes #8644)
|
||||
* 5c359a8: Fix issue with \DateTimeZone::UTC / 'UTC' for PHP 5.4
|
||||
* 85330a6: [Form] Fixed patched forms to be valid even if children are not submitted
|
||||
* cb5e765: [Form] Fixed: If a form is not present in a request, it is not automatically submitted
|
||||
* 97cbb19: [Form] Removed the "disabled" attribute from the placeholder option in select fields due to problems with the BlackBerry 10 browser
|
||||
* c138304: [routing] added ability for apache matcher to handle array values
|
||||
* 1bd45b3: [FrameworkBundle] fixed regression where the command might have the wrong container if the application is reused several times
|
||||
* b41cf82: [Validator] fixed StaticMethodLoader trying to invoke methods of abstract classes (closes #8589)
|
||||
* e5fba3c: [Form] fixes empty file-inputs get treated as extra field
|
||||
* 3553c71: return 0 if there is no valid data
|
||||
* 50d0727: [DependencyInjection] fixed regression where setting a service to null did not trigger a re-creation of the service when getting it
|
||||
* dc1fff0: The ignoreAttributes itself should be ignored, too.
|
||||
* ae7fa11: [Twig] fixed TwigEngine::exists() method when a template contains a syntax error (closes #8546)
|
||||
* 28e0709: [Validator] fixed ConstraintViolation:: incorrect when nested
|
||||
* 890934d: handle Optional and Required constraints from XML or YAML sources correctly
|
||||
* a2eca45: Fixed #8455: PhpExecutableFinder::find() does not always return the correct binary
|
||||
* 485d53a: [DependencyInjection] Fix Container::camelize to convert beginning and ending chars
|
||||
* 2317443: [Security] fixed issue where authentication listeners clear unrelated tokens
|
||||
* 2ebb783: fix issue #8499 modelChoiceList call getPrimaryKey on a non object
|
||||
* 242b318: [DependencyInjection] Add exception for service name not dumpable in PHP
|
||||
* d3eb9b7: [Validator] Fixed groups argument misplace for validateValue method from validator class
|
||||
|
||||
* 2.3.2 (2013-07-17)
|
||||
|
||||
* bb59f40: Reverts JSON_NUMERIC_CHECK
|
||||
|
@ -18,8 +18,8 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Ryan Weaver (weaverryan)
|
||||
- Joseph Bielawski (stloyd)
|
||||
- Jeremy Mikola (jmikola)
|
||||
- Igor Wiedler (igorw)
|
||||
- Jean-François Simon (jfsimon)
|
||||
- Igor Wiedler (igorw)
|
||||
- Benjamin Eberlei (beberlei)
|
||||
- Jakub Zalas (jakubzalas)
|
||||
- Hugo Hamon (hhamon)
|
||||
@ -50,8 +50,8 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Arnout Boks (aboks)
|
||||
- Hidenori Goto (hidenorigoto)
|
||||
- Fran Moreno (franmomu)
|
||||
- Andrej Hudec (pulzarraider)
|
||||
- Grégoire Pineau (lyrixx)
|
||||
- Andrej Hudec (pulzarraider)
|
||||
- Lee McDermott
|
||||
- Brandon Turner
|
||||
- Daniel Holmes (dholmes)
|
||||
@ -77,21 +77,21 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Jacob Dreesen (jdreesen)
|
||||
- Richard Shank (iampersistent)
|
||||
- Sebastian Hörl (blogsh)
|
||||
- Gábor Egyed (1ed)
|
||||
- David Buchmann (dbu)
|
||||
- Gábor Egyed (1ed)
|
||||
- Juti Noppornpitak
|
||||
- Robert Schönthal (digitalkaoz)
|
||||
- Felix Labrecque
|
||||
- Michał Pipa (michal.pipa)
|
||||
- Gordon Franke (gimler)
|
||||
- Daniel Gomes (danielcsgomes)
|
||||
- Jérémie Augustin (jaugustin)
|
||||
- Tigran Azatyan (tigranazatyan)
|
||||
- Pierre Minnieur (pminnieur)
|
||||
- Larry Garfield (crell)
|
||||
- Arnaud Kleinpeter (nanocom)
|
||||
- Jonathan Ingram (jonathaningram)
|
||||
- Sebastiaan Stok (sstok)
|
||||
- Jérémie Augustin (jaugustin)
|
||||
- Javier Eguiluz (javier.eguiluz)
|
||||
- Matthieu Ouellette-Vachon (maoueh)
|
||||
- Amal Raghav (kertz)
|
||||
@ -102,6 +102,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Hiromi Hishida (77web)
|
||||
- Julien Brochet (mewt)
|
||||
- Rafael Dohms (rdohms)
|
||||
- Wouter De Jong (wouterj)
|
||||
- Benjamin Dulau (dbenjamin)
|
||||
- Andreas Hucks (meandmymonkey)
|
||||
- Noel Guilbert (noel)
|
||||
@ -122,7 +123,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Dustin Whittle (dustinwhittle)
|
||||
- jeff
|
||||
- Clemens Tolboom
|
||||
- Wouter De Jong (wouterj)
|
||||
- Justin Hileman (bobthecow)
|
||||
- Sven Paulus (subsven)
|
||||
- Xavier Perez
|
||||
@ -132,6 +132,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Francois Zaninotto
|
||||
- Alexander Kotynia (olden)
|
||||
- François Zaninotto (fzaninotto)
|
||||
- Beau Simensen (simensen)
|
||||
- Xavier Montaña Carreras (xmontana)
|
||||
- Katsuhiro OGAWA
|
||||
- Andréia Bohner (andreia)
|
||||
@ -155,6 +156,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Gyula Sallai (salla)
|
||||
- Michael Holm (hollo)
|
||||
- Yaroslav Kiliba
|
||||
- Jérôme Tamarelle (gromnan)
|
||||
- Sebastian Bergmann
|
||||
- arjen
|
||||
- Matthias Pigulla (mpdude)
|
||||
@ -162,7 +164,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Manuel Kiessling (manuelkiessling)
|
||||
- Sergey Linnik
|
||||
- Bertrand Zuchuat (garfield-fr)
|
||||
- Beau Simensen (simensen)
|
||||
- Grégoire Paris (greg0ire)
|
||||
- Tamas Szijarto
|
||||
- Thomas Adam
|
||||
@ -193,6 +194,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Peter Kruithof (pkruithof)
|
||||
- Kristen Gilden (kgilden)
|
||||
- hossein zolfi (ocean)
|
||||
- Christian Flothmann (xabbuh)
|
||||
- Greg Thornton (xdissent)
|
||||
- Lars Strojny
|
||||
- Costin Bereveanu (schniper)
|
||||
@ -246,16 +248,18 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Tiago Brito (blackmx)
|
||||
- Kevin McBride
|
||||
- Pablo Díez (pablodip)
|
||||
- bronze1man
|
||||
- Michael Piecko (michael.piecko)
|
||||
- Sebastian Krebs
|
||||
- Manuel de Ruiter (manuel)
|
||||
- Jérémy Romey (jeremyfreeagent)
|
||||
- Eduardo Oliveira (entering)
|
||||
- Iker Ibarguren (ikerib)
|
||||
- Ricardo Oliveira (ricardolotr)
|
||||
- ondrowan
|
||||
- Roman Marintsenko (inori)
|
||||
- Stéphane PY (steph_py)
|
||||
- mcben
|
||||
- Christian Flothmann (xabbuh)
|
||||
- Maks Slesarenko
|
||||
- Vicent Soria Durá (vicentgodella)
|
||||
- alexpods
|
||||
@ -265,6 +269,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Joel Wurtz
|
||||
- Nils Adermann (naderman)
|
||||
- Gábor Fási
|
||||
- Benjamin Leveque (benji07)
|
||||
- Leevi Graham
|
||||
- Luis Cordova (cordoval)
|
||||
- Michaël Perrin (michael.perrin)
|
||||
@ -301,6 +306,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- vitaliytv
|
||||
- Markus Bachmann (baachi)
|
||||
- aubx
|
||||
- lancergr
|
||||
- Max Rath (drak3)
|
||||
- Sinan Eldem
|
||||
- DerManoMann
|
||||
@ -329,14 +335,13 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Hossein Bukhamsin
|
||||
- Fabrice Bernhard (fabriceb)
|
||||
- Oleg Zinchenko (cystbear)
|
||||
- Diego Saint Esteben (dii3g0)
|
||||
- Johannes Klauss (cloppy)
|
||||
- fzerorubigd
|
||||
- develop
|
||||
- Atsuhiro KUBO (iteman)
|
||||
- Samy Dindane (dinduks)
|
||||
- yclian
|
||||
- Jérôme Tamarelle (gromnan)
|
||||
- Jérémy Romey (jeremyfreeagent)
|
||||
- Pascal Helfenstein
|
||||
- Matt Daum (daum)
|
||||
- Baldur Rensch
|
||||
@ -344,6 +349,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Yuen-Chi Lian
|
||||
- Joshua Nye
|
||||
- avorobiev
|
||||
- Venu
|
||||
- Mark Challoner
|
||||
- Andrew Tchircoff (andrewtch)
|
||||
- BilgeXA
|
||||
@ -361,7 +367,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Andrew Udvare
|
||||
- Xavier Lacot (xavier)
|
||||
- Olivier Maisonneuve
|
||||
- Eduardo Oliveira (entering)
|
||||
- Iwan van Staveren (istaveren)
|
||||
- cgonzalez
|
||||
- matt foster
|
||||
@ -389,9 +394,11 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Gerard van Helden (drm)
|
||||
- Johnny Peck (johnnypeck)
|
||||
- Kirill chEbba Chebunin
|
||||
- Benjamin Leveque (benji07)
|
||||
- Patrick Allaert
|
||||
- Gustavo Falco (gfalco)
|
||||
- Matt Robinson (inanimatt)
|
||||
- Bob den Otter (bopp)
|
||||
- Jörn Lang (j.lang)
|
||||
- julien pauli (jpauli)
|
||||
- mwsaz
|
||||
- Benoît Bourgeois
|
||||
@ -428,13 +435,14 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Raul Fraile (raulfraile)
|
||||
- sensio
|
||||
- Théophile Helleboid - chtitux
|
||||
- alcaeus
|
||||
- The Whole Life to Learn
|
||||
- xaav
|
||||
- Mahmoud Mostafa (mahmoud)
|
||||
- Juti Noppornpitak
|
||||
- lancergr
|
||||
- Mei Gwilym
|
||||
- ttomor
|
||||
- Luciano Mammino (loige)
|
||||
- Sander Coolen
|
||||
- Nicolas Le Goff (nlegoff)
|
||||
- Manuele Menozzi
|
||||
@ -460,6 +468,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Sescandell (sescandell)
|
||||
- Ben Davies
|
||||
- Max Beutel
|
||||
- Artem Lopata
|
||||
- Marcos Quesada (marcos_quesada)
|
||||
- Dan Finnie
|
||||
- Martijn Evers
|
||||
@ -495,6 +504,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Brooks Boyd
|
||||
- Roger Webb
|
||||
- Nicolas Fabre (nfabre)
|
||||
- Raul Rodriguez (raul782)
|
||||
- Felicitus
|
||||
- Paul Matthews
|
||||
- Philipp Strube
|
||||
@ -531,6 +541,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- m.chwedziak
|
||||
- Lance McNearney
|
||||
- Alberto Pirovano (geezmo)
|
||||
- Philipp W (hifi)
|
||||
- Gabor Toth (tgabi333)
|
||||
- Martin Pärtel
|
||||
- Xavier Briand (xavierbriand)
|
||||
@ -565,6 +576,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Konrad Mohrfeldt
|
||||
- Benoit Lévêque (benoit_leveque)
|
||||
- Stelian Mocanita (stelian)
|
||||
- Flavian (2much)
|
||||
- jskvara
|
||||
- Mephistofeles
|
||||
- Hoffmann András
|
||||
@ -602,15 +614,15 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Christoph Nissle (derstoffel)
|
||||
- Benjamin Zikarsky
|
||||
- Romain Dorgueil
|
||||
- Patrick Allaert
|
||||
- Grayson Koonce (breerly)
|
||||
- Andy Stanberry
|
||||
- Thomas Rothe
|
||||
- alefranz
|
||||
- alsar
|
||||
- Mike Meier
|
||||
- Warwick
|
||||
- efeen
|
||||
- Bob den Otter (bopp)
|
||||
- Dominik Zogg (dominik.zogg)
|
||||
- Simone Fumagalli (hpatoio)
|
||||
- Alessio Baglio (ioalessio)
|
||||
- John Bafford (jbafford)
|
||||
@ -627,7 +639,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Nathanael d. Noblet
|
||||
- helmer
|
||||
- Bram Van der Sype (brammm)
|
||||
- Diego Saint Esteben (dii3g0)
|
||||
- Julien Moulin (lizjulien)
|
||||
- dened
|
||||
- devel
|
||||
@ -636,7 +647,6 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Andrey Chernykh
|
||||
- François Pluchino
|
||||
- Alexey Prilipko
|
||||
- Jörn Lang (j.lang)
|
||||
- Jan Marek (janmarek)
|
||||
- Dan Patrick (mdpatrick)
|
||||
- Rares Vlaseanu (raresvla)
|
||||
@ -663,6 +673,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Alex Pods
|
||||
- timaschew
|
||||
- Christian Morgan
|
||||
- Ian Phillips
|
||||
- Haritz
|
||||
- Grummfy
|
||||
- Rowan Manning
|
||||
@ -707,6 +718,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Stefan Oderbolz
|
||||
- Alexey Popkov
|
||||
- Piotr Błasiak
|
||||
- Alexander M. Turek
|
||||
- Arnaud Buathier (arnapou)
|
||||
- chesteroni (chesteroni)
|
||||
- Daniele Cesarini (ijanki)
|
||||
@ -746,6 +758,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- André Neves
|
||||
- Pierre-Louis LAUNAY
|
||||
- djama
|
||||
- Jon Cave
|
||||
- Sébastien HOUZE
|
||||
- Abdulkadir N. A.
|
||||
- Sema
|
||||
@ -807,6 +820,7 @@ Symfony2 is the result of the work of many people who made the code better
|
||||
- Ruud Kamphuis (ruudk)
|
||||
- Sarah Khalil (saro0h)
|
||||
- Sebastian Busch (sebu)
|
||||
- Andrea Giuliano (shark)
|
||||
- Markus Tacker (tacker)
|
||||
- Tyler Stroud (tystr)
|
||||
- Víctor Mateo (victormateo)
|
||||
|
@ -46,14 +46,14 @@ class CodeExtension extends \Twig_Extension
|
||||
public function getFilters()
|
||||
{
|
||||
return array(
|
||||
'abbr_class' => new \Twig_Filter_Method($this, 'abbrClass', array('is_safe' => array('html'))),
|
||||
'abbr_method' => new \Twig_Filter_Method($this, 'abbrMethod', array('is_safe' => array('html'))),
|
||||
'format_args' => new \Twig_Filter_Method($this, 'formatArgs', array('is_safe' => array('html'))),
|
||||
'format_args_as_text' => new \Twig_Filter_Method($this, 'formatArgsAsText'),
|
||||
'file_excerpt' => new \Twig_Filter_Method($this, 'fileExcerpt', array('is_safe' => array('html'))),
|
||||
'format_file' => new \Twig_Filter_Method($this, 'formatFile', array('is_safe' => array('html'))),
|
||||
'format_file_from_text' => new \Twig_Filter_Method($this, 'formatFileFromText', array('is_safe' => array('html'))),
|
||||
'file_link' => new \Twig_Filter_Method($this, 'getFileLink', array('is_safe' => array('html'))),
|
||||
new \Twig_SimpleFilter('abbr_class', array($this, 'abbrClass'), array('is_safe' => array('html'))),
|
||||
new \Twig_SimpleFilter('abbr_method', array($this, 'abbrMethod'), array('is_safe' => array('html'))),
|
||||
new \Twig_SimpleFilter('format_args', array($this, 'formatArgs'), array('is_safe' => array('html'))),
|
||||
new \Twig_SimpleFilter('format_args_as_text', array($this, 'formatArgsAsText')),
|
||||
new \Twig_SimpleFilter('file_excerpt', array($this, 'fileExcerpt'), array('is_safe' => array('html'))),
|
||||
new \Twig_SimpleFilter('format_file', array($this, 'formatFile'), array('is_safe' => array('html'))),
|
||||
new \Twig_SimpleFilter('format_file_from_text', array($this, 'formatFileFromText'), array('is_safe' => array('html'))),
|
||||
new \Twig_SimpleFilter('file_link', array($this, 'getFileLink'), array('is_safe' => array('html'))),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,7 @@ class FormExtension extends \Twig_Extension
|
||||
public function getFilters()
|
||||
{
|
||||
return array(
|
||||
'humanize' => new \Twig_Filter_Method($this, 'renderer->humanize'),
|
||||
new \Twig_SimpleFilter('humanize', array($this->renderer, 'humanize')),
|
||||
);
|
||||
}
|
||||
|
||||
@ -90,7 +90,7 @@ class FormExtension extends \Twig_Extension
|
||||
public function getTests()
|
||||
{
|
||||
return array(
|
||||
'selectedchoice' => new \Twig_Test_Method($this, 'isSelectedChoice'),
|
||||
new \Twig_SimpleTest('selectedchoice', array($this, 'isSelectedChoice')),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -36,9 +36,9 @@ class HttpKernelExtension extends \Twig_Extension
|
||||
public function getFunctions()
|
||||
{
|
||||
return array(
|
||||
'render' => new \Twig_Function_Method($this, 'renderFragment', array('is_safe' => array('html'))),
|
||||
'render_*' => new \Twig_Function_Method($this, 'renderFragmentStrategy', array('is_safe' => array('html'))),
|
||||
'controller' => new \Twig_Function_Method($this, 'controller'),
|
||||
new \Twig_SimpleFunction('render',array($this, 'renderFragment'), array('is_safe' => array('html'))),
|
||||
new \Twig_SimpleFunction('render_*', array($this, 'renderFragmentStrategy'), array('is_safe' => array('html'))),
|
||||
new \Twig_SimpleFunction('controller', array($this, 'controller')),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -35,8 +35,8 @@ class RoutingExtension extends \Twig_Extension
|
||||
public function getFunctions()
|
||||
{
|
||||
return array(
|
||||
'url' => new \Twig_Function_Method($this, 'getUrl', array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
|
||||
'path' => new \Twig_Function_Method($this, 'getPath', array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
|
||||
new \Twig_SimpleFunction('url', array($this, 'getUrl'), array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
|
||||
new \Twig_SimpleFunction('path', array($this, 'getPath'), array('is_safe_callback' => array($this, 'isUrlGenerationSafe'))),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -47,7 +47,7 @@ class SecurityExtension extends \Twig_Extension
|
||||
public function getFunctions()
|
||||
{
|
||||
return array(
|
||||
'is_granted' => new \Twig_Function_Method($this, 'isGranted'),
|
||||
new \Twig_SimpleFunction('is_granted', array($this, 'isGranted')),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -49,8 +49,8 @@ class TranslationExtension extends \Twig_Extension
|
||||
public function getFilters()
|
||||
{
|
||||
return array(
|
||||
'trans' => new \Twig_Filter_Method($this, 'trans'),
|
||||
'transchoice' => new \Twig_Filter_Method($this, 'transchoice'),
|
||||
new \Twig_SimpleFilter('trans', array($this, 'trans')),
|
||||
new \Twig_SimpleFilter('transchoice', array($this, 'transchoice')),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -26,8 +26,8 @@ class YamlExtension extends \Twig_Extension
|
||||
public function getFilters()
|
||||
{
|
||||
return array(
|
||||
'yaml_encode' => new \Twig_Filter_Method($this, 'encode'),
|
||||
'yaml_dump' => new \Twig_Filter_Method($this, 'dump'),
|
||||
new \Twig_SimpleFilter('yaml_encode', array($this, 'encode')),
|
||||
new \Twig_SimpleFilter('yaml_dump', array($this, 'dump')),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -38,8 +38,8 @@ class LogoutUrlExtension extends \Twig_Extension
|
||||
public function getFunctions()
|
||||
{
|
||||
return array(
|
||||
'logout_url' => new \Twig_Function_Method($this, 'getLogoutUrl'),
|
||||
'logout_path' => new \Twig_Function_Method($this, 'getLogoutPath'),
|
||||
new \Twig_SimpleFunction('logout_url', array($this, 'getLogoutUrl')),
|
||||
new \Twig_SimpleFunction('logout_path', array($this, 'getLogoutPath')),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -35,8 +35,8 @@ class AssetsExtension extends \Twig_Extension
|
||||
public function getFunctions()
|
||||
{
|
||||
return array(
|
||||
'asset' => new \Twig_Function_Method($this, 'getAssetUrl'),
|
||||
'assets_version' => new \Twig_Function_Method($this, 'getAssetsVersion'),
|
||||
new \Twig_SimpleFunction('asset', array($this, 'getAssetUrl')),
|
||||
new \Twig_SimpleFunction('assets_version', array($this, 'getAssetsVersion')),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -40,6 +40,25 @@ class FilesystemLoader extends \Twig_Loader_Filesystem
|
||||
$this->cache = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritdoc}
|
||||
*/
|
||||
public function exists($template)
|
||||
{
|
||||
if (parent::exists($template)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// same logic as findTemplate below for the fallback
|
||||
try {
|
||||
$this->cache[(string) $template] = $this->locator->locate($this->parser->parse($template));
|
||||
} catch (\Exception $e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the path to the template file.
|
||||
*
|
||||
|
@ -38,6 +38,21 @@ class FilesystemLoaderTest extends TestCase
|
||||
$this->assertEquals("This is a layout\n", $loader->getSource('TwigBundle::layout.html.twig'));
|
||||
}
|
||||
|
||||
public function testExists()
|
||||
{
|
||||
// should return true for templates that Twig does not find, but Symfony does
|
||||
$parser = $this->getMock('Symfony\Component\Templating\TemplateNameParserInterface');
|
||||
$locator = $this->getMock('Symfony\Component\Config\FileLocatorInterface');
|
||||
$locator
|
||||
->expects($this->once())
|
||||
->method('locate')
|
||||
->will($this->returnValue($template = __DIR__.'/../DependencyInjection/Fixtures/Resources/views/layout.html.twig'))
|
||||
;
|
||||
$loader = new FilesystemLoader($locator, $parser);
|
||||
|
||||
return $this->assertTrue($loader->exists($template));
|
||||
}
|
||||
|
||||
/**
|
||||
* @expectedException Twig_Error_Loader
|
||||
*/
|
||||
|
@ -29,6 +29,8 @@ class DayOfWeekTransformer extends Transformer
|
||||
return $dayOfWeek;
|
||||
case 5:
|
||||
return $dayOfWeek[0];
|
||||
case 6:
|
||||
return substr($dayOfWeek, 0, 2);
|
||||
default:
|
||||
return substr($dayOfWeek, 0, 3);
|
||||
}
|
||||
@ -44,6 +46,8 @@ class DayOfWeekTransformer extends Transformer
|
||||
return 'Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday';
|
||||
case 5:
|
||||
return '[MTWFS]';
|
||||
case 6:
|
||||
return 'Mo|Tu|We|Th|Fr|Sa|Su';
|
||||
default:
|
||||
return 'Mon|Tue|Wed|Thu|Fri|Sat|Sun';
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ class Intl
|
||||
*/
|
||||
public static function getIcuStubVersion()
|
||||
{
|
||||
return '50.1.2';
|
||||
return '51.2';
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -7,3 +7,4 @@
|
||||
4.8 = http://source.icu-project.org/repos/icu/icu/tags/release-4-8-1-1/source
|
||||
49 = http://source.icu-project.org/repos/icu/icu/tags/release-49-1-2/source
|
||||
50 = http://source.icu-project.org/repos/icu/icu/tags/release-50-1-2/source
|
||||
51 = http://source.icu-project.org/repos/icu/icu/tags/release-51-2/source
|
||||
|
@ -143,7 +143,7 @@ abstract class AbstractIntlDateFormatterTest extends \PHPUnit_Framework_TestCase
|
||||
array('EEE', 0, 'Thu'),
|
||||
array('EEEE', 0, 'Thursday'),
|
||||
array('EEEEE', 0, 'T'),
|
||||
array('EEEEEE', 0, 'Thu'),
|
||||
array('EEEEEE', 0, 'Th'),
|
||||
|
||||
array('E', 1296540000, 'Tue'), // 2011-02-01
|
||||
array('E', 1296950400, 'Sun'), // 2011-02-06
|
||||
@ -584,7 +584,7 @@ abstract class AbstractIntlDateFormatterTest extends \PHPUnit_Framework_TestCase
|
||||
array('EEE', 'Thu', 0),
|
||||
array('EEEE', 'Thursday', 0),
|
||||
array('EEEEE', 'T', 432000),
|
||||
array('EEEEEE', 'Thu', 0),
|
||||
array('EEEEEE', 'Th', 0),
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -138,15 +138,15 @@ abstract class AbstractNumberFormatterTest extends \PHPUnit_Framework_TestCase
|
||||
return array(
|
||||
array(100, 'CHF', 'CHF', '%s100.00'),
|
||||
array(-100, 'CHF', 'CHF', '(%s100.00)'),
|
||||
array(1000.12, 'CHF', 'CHF', '%s1,000.10'),
|
||||
array('1000.12', 'CHF', 'CHF', '%s1,000.10'),
|
||||
array(1000.12, 'CHF', 'CHF', '%s1,000.12'),
|
||||
array('1000.12', 'CHF', 'CHF', '%s1,000.12'),
|
||||
|
||||
// Rounding checks
|
||||
array(1000.121, 'CHF', 'CHF', '%s1,000.10'),
|
||||
array(1000.123, 'CHF', 'CHF', '%s1,000.10'),
|
||||
array(1000.125, 'CHF', 'CHF', '%s1,000.10'),
|
||||
array(1000.127, 'CHF', 'CHF', '%s1,000.15'),
|
||||
array(1000.129, 'CHF', 'CHF', '%s1,000.15'),
|
||||
array(1000.121, 'CHF', 'CHF', '%s1,000.12'),
|
||||
array(1000.123, 'CHF', 'CHF', '%s1,000.12'),
|
||||
array(1000.125, 'CHF', 'CHF', '%s1,000.12'),
|
||||
array(1000.127, 'CHF', 'CHF', '%s1,000.13'),
|
||||
array(1000.129, 'CHF', 'CHF', '%s1,000.13'),
|
||||
|
||||
array(1200000.00, 'CHF', 'CHF', '%s1,200,000.00'),
|
||||
array(1200000.1, 'CHF', 'CHF', '%s1,200,000.10'),
|
||||
|
Reference in New Issue
Block a user