Merge branch '2.6' into 2.7

* 2.6: (21 commits)
  Revert "bug #14262 [TwigBundle] Refresh twig paths when resources change. (aitboudad)"
  InvalidResourceException file name
  [Validators] Remove forgotten space in a translation key [nl]
  [Validators] Correct translation key and content [nl]
  bumped Symfony version to 2.6.9
  updated VERSION for 2.6.8
  updated CHANGELOG for 2.6.8
  added missing CVE number
  bumped Symfony version to 2.3.30
  updated VERSION for 2.3.29
  update CONTRIBUTORS for 2.3.29
  updated CHANGELOG for 2.3.29
  [Validators] Missing translations for arabic language.
  Code style
  fixed C
  [HttpKernel][Bundle] Check extension implements ExtensionInterface
  [DebugBundle] Fix config XSD
  [CS] [Console] StreamOuput : fix loose comparison
  [Framework][router commands] fixed failing test.
  [HttpKernel] Do not call the FragmentListener if _controller is already defined
  ...

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
	src/Symfony/Component/Serializer/Normalizer/PropertyNormalizer.php
This commit is contained in:
Fabien Potencier 2015-05-29 16:44:44 +02:00
commit b07eca5453
20 changed files with 277 additions and 112 deletions

View File

@ -7,6 +7,23 @@ 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 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 To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.3.0...v2.3.1
* 2.3.29 (2015-05-26)
* security #14759 CVE-2015-4050 [HttpKernel] Do not call the FragmentListener if _controller is already defined (jakzal)
* bug #14715 [Form] Check instance of FormBuilderInterface instead of FormBuilder (dosten)
* bug #14678 [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts (MacDada)
* bug #14635 [HttpKernel] Handle an array vary header in the http cache store (jakzal)
* bug #14513 [console][formater] allow format toString object. (aitboudad)
* bug #14335 [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo (danez)
* bug #14593 [Security][Firewall] Avoid redirection to XHR URIs (asiragusa)
* bug #14618 [DomCrawler] Throw an exception if a form field path is incomplete (jakzal)
* bug #14698 Fix HTML escaping of to-source links (nicolas-grekas)
* bug #14690 [HttpFoundation] IpUtils::checkIp4() should allow `/0` networks (zerkms)
* bug #14262 [TwigBundle] Refresh twig paths when resources change. (aitboudad)
* bug #13633 [ServerBag] Handled bearer authorization header in REDIRECT_ form (Lance0312)
* bug #13637 [CSS] WebProfiler break words (nicovak)
* bug #14633 [EventDispatcher] make listeners removable from an executed listener (xabbuh)
* 2.3.28 (2015-05-10) * 2.3.28 (2015-05-10)
* bug #14266 [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed (hason) * bug #14266 [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed (hason)

View File

@ -7,6 +7,33 @@ in 2.6 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.6.0...v2.6.1 To get the diff between two versions, go to https://github.com/symfony/symfony/compare/v2.6.0...v2.6.1
* 2.6.8 (2015-05-27)
* security #14759 CVE-2015-4050 [HttpKernel] Do not call the FragmentListener if _controller is already defined (jakzal)
* bug #14743 [DebugBundle] Fix config XSD (nicolas-grekas)
* bug #14726 [Translation] fixed JSON loader on PHP 7 when file is empty (fabpot)
* bug #14715 [Form] Check instance of FormBuilderInterface instead of FormBuilder (dosten)
* bug #14678 [Security] AbstractRememberMeServices::encodeCookie() validates cookie parts (MacDada)
* bug #14635 [HttpKernel] Handle an array vary header in the http cache store (jakzal)
* bug #14513 [console][formater] allow format toString object. (aitboudad)
* bug #14335 [HttpFoundation] Fix baseUrl when script filename is contained in pathInfo (danez)
* bug #14593 [Security][Firewall] Avoid redirection to XHR URIs (asiragusa)
* bug #14618 [DomCrawler] Throw an exception if a form field path is incomplete (jakzal)
* bug #14699 Fix HTML escaping of to-source links (amenk, nicolas-grekas)
* bug #14698 Fix HTML escaping of to-source links (nicolas-grekas)
* bug #14690 [HttpFoundation] IpUtils::checkIp4() should allow `/0` networks (zerkms)
* bug #14696 Fix the rendering of deprecation log messages (stof)
* bug #14683 Fixed the indentation in the compiled template for the DumpNode (stof)
* bug #14262 [TwigBundle] Refresh twig paths when resources change. (aitboudad)
* bug #13633 [ServerBag] Handled bearer authorization header in REDIRECT_ form (Lance0312)
* bug #13637 [CSS] WebProfiler break words (nicovak)
* bug #14217 [WebProfilerBundle] Fix regexp (romqin)
* bug #14644 [Bridge\Twig] Adding a space between the icon and the error message (zmikael, nicolas-grekas)
* bug #14640 [DebugBundle] Allow alternative destination for dumps (nicolas-grekas)
* bug #14633 [EventDispatcher] make listeners removable from an executed listener (xabbuh)
* bug #14609 [DebugBundle] Remove inlined dumps on XHR (nicolas-grekas)
* bug #14605 [PropertyAccess] Fix setting public property on a class having a magic getter (lolautruche)
* 2.6.7 (2015-05-11) * 2.6.7 (2015-05-11)
* bug #14266 [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed (hason) * bug #14266 [HttpKernel] Check if "symfony/proxy-manager-bridge" package is installed (hason)

View File

@ -6,10 +6,10 @@ Symfony is the result of the work of many people who made the code better
- Fabien Potencier (fabpot) - Fabien Potencier (fabpot)
- Bernhard Schussek (bschussek) - Bernhard Schussek (bschussek)
- Victor Berchet (victor)
- Tobias Schultze (tobion)
- Jordi Boggiano (seldaek)
- Nicolas Grekas (nicolas-grekas) - Nicolas Grekas (nicolas-grekas)
- Tobias Schultze (tobion)
- Victor Berchet (victor)
- Jordi Boggiano (seldaek)
- Johannes S (johannes) - Johannes S (johannes)
- Kris Wallsmith (kriswallsmith) - Kris Wallsmith (kriswallsmith)
- Christophe Coevoet (stof) - Christophe Coevoet (stof)
@ -19,17 +19,17 @@ Symfony is the result of the work of many people who made the code better
- Joseph Bielawski (stloyd) - Joseph Bielawski (stloyd)
- Karma Dordrak (drak) - Karma Dordrak (drak)
- Ryan Weaver (weaverryan) - Ryan Weaver (weaverryan)
- Christian Flothmann (xabbuh)
- Lukas Kahwe Smith (lsmith) - Lukas Kahwe Smith (lsmith)
- Romain Neutron (romain) - Romain Neutron (romain)
- Christian Flothmann (xabbuh)
- Jeremy Mikola (jmikola) - Jeremy Mikola (jmikola)
- Jean-François Simon (jfsimon) - Jean-François Simon (jfsimon)
- Benjamin Eberlei (beberlei) - Benjamin Eberlei (beberlei)
- Igor Wiedler (igorw) - Igor Wiedler (igorw)
- Martin Hasoň (hason) - Martin Hasoň (hason)
- Eriksen Costa (eriksencosta) - Eriksen Costa (eriksencosta)
- Grégoire Pineau (lyrixx)
- Abdellatif Ait boudad (aitboudad) - Abdellatif Ait boudad (aitboudad)
- Grégoire Pineau (lyrixx)
- Wouter De Jong (wouterj) - Wouter De Jong (wouterj)
- Jonathan Wage (jwage) - Jonathan Wage (jwage)
- Alexandre Salomé (alexandresalome) - Alexandre Salomé (alexandresalome)
@ -37,9 +37,9 @@ Symfony is the result of the work of many people who made the code better
- ornicar - ornicar
- stealth35 (stealth35) - stealth35 (stealth35)
- Alexander Mols (asm89) - Alexander Mols (asm89)
- Kévin Dunglas (dunglas)
- Bulat Shakirzyanov (avalanche123) - Bulat Shakirzyanov (avalanche123)
- Francis Besset (francisbesset) - Francis Besset (francisbesset)
- Kévin Dunglas (dunglas)
- Saša Stamenković (umpirsky) - Saša Stamenković (umpirsky)
- Henrik Bjørnskov (henrikbjorn) - Henrik Bjørnskov (henrikbjorn)
- Miha Vrhovnik - Miha Vrhovnik
@ -55,6 +55,7 @@ Symfony is the result of the work of many people who made the code better
- Arnout Boks (aboks) - Arnout Boks (aboks)
- Christian Raue - Christian Raue
- Michel Weimerskirch (mweimerskirch) - Michel Weimerskirch (mweimerskirch)
- Diego Saint Esteben (dii3g0)
- Lee McDermott - Lee McDermott
- Brandon Turner - Brandon Turner
- Luis Cordova (cordoval) - Luis Cordova (cordoval)
@ -75,23 +76,23 @@ Symfony is the result of the work of many people who made the code better
- lenar - lenar
- Graham Campbell (graham) - Graham Campbell (graham)
- Włodzimierz Gajda (gajdaw) - Włodzimierz Gajda (gajdaw)
- Jérôme Tamarelle (gromnan)
- Florian Voutzinos (florianv) - Florian Voutzinos (florianv)
- Colin Frei - Colin Frei
- Jérôme Tamarelle (gromnan)
- Adrien Brault (adrienbrault) - Adrien Brault (adrienbrault)
- excelwebzone - excelwebzone
- Jacob Dreesen (jdreesen) - Jacob Dreesen (jdreesen)
- Fabien Pennequin (fabienpennequin)
- Matthias Pigulla (mpdude) - Matthias Pigulla (mpdude)
- Fabien Pennequin (fabienpennequin)
- Peter Kokot (maastermedia) - Peter Kokot (maastermedia)
- Peter Rehm (rpet) - Peter Rehm (rpet)
- Diego Saint Esteben (dii3g0)
- Michal Piotrowski (eventhorizon) - Michal Piotrowski (eventhorizon)
- Stefano Sala (stefano.sala) - Stefano Sala (stefano.sala)
- Javier Eguiluz (javier.eguiluz) - Javier Eguiluz (javier.eguiluz)
- Gordon Franke (gimler) - Gordon Franke (gimler)
- Robert Schönthal (digitalkaoz) - Robert Schönthal (digitalkaoz)
- Juti Noppornpitak (shiroyuki) - Juti Noppornpitak (shiroyuki)
- Dariusz Ruminski
- Sebastian Hörl (blogsh) - Sebastian Hörl (blogsh)
- Daniel Gomes (danielcsgomes) - Daniel Gomes (danielcsgomes)
- Hidenori Goto (hidenorigoto) - Hidenori Goto (hidenorigoto)
@ -102,8 +103,8 @@ Symfony is the result of the work of many people who made the code better
- Eric GELOEN (gelo) - Eric GELOEN (gelo)
- Jérémie Augustin (jaugustin) - Jérémie Augustin (jaugustin)
- Rafael Dohms (rdohms) - Rafael Dohms (rdohms)
- Dariusz Ruminski
- Tigran Azatyan (tigranazatyan) - Tigran Azatyan (tigranazatyan)
- Alexander Schwenn (xelaris)
- Arnaud Kleinpeter (nanocom) - Arnaud Kleinpeter (nanocom)
- Richard Shank (iampersistent) - Richard Shank (iampersistent)
- Clemens Tolboom - Clemens Tolboom
@ -126,7 +127,6 @@ Symfony is the result of the work of many people who made the code better
- Mario A. Alvarez Garcia (nomack84) - Mario A. Alvarez Garcia (nomack84)
- Dennis Benkert (denderello) - Dennis Benkert (denderello)
- Benjamin Dulau (dbenjamin) - Benjamin Dulau (dbenjamin)
- Alexander Schwenn (xelaris)
- Andreas Hucks (meandmymonkey) - Andreas Hucks (meandmymonkey)
- Noel Guilbert (noel) - Noel Guilbert (noel)
- Joel Wurtz (brouznouf) - Joel Wurtz (brouznouf)
@ -136,6 +136,7 @@ Symfony is the result of the work of many people who made the code better
- Larry Garfield (crell) - Larry Garfield (crell)
- Martin Schuhfuß (usefulthink) - Martin Schuhfuß (usefulthink)
- Thomas Rabaix (rande) - Thomas Rabaix (rande)
- Javier Spagnoletti (phansys)
- Matthieu Bontemps (mbontemps) - Matthieu Bontemps (mbontemps)
- Pierre Minnieur (pminnieur) - Pierre Minnieur (pminnieur)
- fivestar - fivestar
@ -145,6 +146,7 @@ Symfony is the result of the work of many people who made the code better
- François Zaninotto (fzaninotto) - François Zaninotto (fzaninotto)
- Dustin Whittle (dustinwhittle) - Dustin Whittle (dustinwhittle)
- jeff - jeff
- Maxime Steinhausser (ogizanagi)
- Joshua Thijssen - Joshua Thijssen
- Justin Hileman (bobthecow) - Justin Hileman (bobthecow)
- Sven Paulus (subsven) - Sven Paulus (subsven)
@ -156,7 +158,6 @@ Symfony is the result of the work of many people who made the code better
- Tugdual Saunier (tucksaun) - Tugdual Saunier (tucksaun)
- Sergey Linnik (linniksa) - Sergey Linnik (linniksa)
- Marcel Beerta (mazen) - Marcel Beerta (mazen)
- Javier Spagnoletti (phansys)
- julien pauli (jpauli) - julien pauli (jpauli)
- Francois Zaninotto - Francois Zaninotto
- Alexander Kotynia (olden) - Alexander Kotynia (olden)
@ -186,10 +187,10 @@ Symfony is the result of the work of many people who made the code better
- Jeremy Livingston (jeremylivingston) - Jeremy Livingston (jeremylivingston)
- Nikita Konstantinov - Nikita Konstantinov
- Wodor Wodorski - Wodor Wodorski
- Vincent AUBERT (vincent)
- Matthieu Auger (matthieuauger) - Matthieu Auger (matthieuauger)
- Beau Simensen (simensen) - Beau Simensen (simensen)
- Robert Kiss (kepten) - Robert Kiss (kepten)
- Maxime Steinhausser (ogizanagi)
- John Kary (johnkary) - John Kary (johnkary)
- Ruben Gonzalez (rubenrua) - Ruben Gonzalez (rubenrua)
- Kim Hemsø Rasmussen (kimhemsoe) - Kim Hemsø Rasmussen (kimhemsoe)
@ -234,11 +235,14 @@ Symfony is the result of the work of many people who made the code better
- Vitaliy Zakharov (zakharovvi) - Vitaliy Zakharov (zakharovvi)
- Tobias Sjösten (tobiassjosten) - Tobias Sjösten (tobiassjosten)
- Gyula Sallai (salla) - Gyula Sallai (salla)
- Alexander M. Turek (derrabus)
- Konstantin Myakshin (koc)
- Inal DJAFAR (inalgnu) - Inal DJAFAR (inalgnu)
- Christian Gärtner (dagardner) - Christian Gärtner (dagardner)
- Felix Labrecque - Felix Labrecque
- Yaroslav Kiliba - Yaroslav Kiliba
- Sébastien Lavoie (lavoiesl) - Sébastien Lavoie (lavoiesl)
- Stepan Anchugov (kix)
- Terje Bråten - Terje Bråten
- Kristen Gilden (kgilden) - Kristen Gilden (kgilden)
- Robbert Klarenbeek (robbertkl) - Robbert Klarenbeek (robbertkl)
@ -275,6 +279,7 @@ Symfony is the result of the work of many people who made the code better
- Alessandro Desantis - Alessandro Desantis
- hubert lecorche (hlecorche) - hubert lecorche (hlecorche)
- Marc Morales Valldepérez (kuert) - Marc Morales Valldepérez (kuert)
- Vadim Kharitonov (virtuozzz)
- Oscar Cubo Medina (ocubom) - Oscar Cubo Medina (ocubom)
- Karel Souffriau - Karel Souffriau
- Christophe L. (christophelau) - Christophe L. (christophelau)
@ -295,10 +300,8 @@ Symfony is the result of the work of many people who made the code better
- Antonio J. García Lagar (ajgarlag) - Antonio J. García Lagar (ajgarlag)
- Olivier Dolbeau (odolbeau) - Olivier Dolbeau (odolbeau)
- Roumen Damianoff (roumen) - Roumen Damianoff (roumen)
- Konstantin Myakshin (koc)
- vagrant - vagrant
- Asier Illarramendi (doup) - Asier Illarramendi (doup)
- Alexander M. Turek (derrabus)
- Chris Sedlmayr (catchamonkey) - Chris Sedlmayr (catchamonkey)
- Seb Koelen - Seb Koelen
- Daniel Wehner - Daniel Wehner
@ -306,7 +309,6 @@ Symfony is the result of the work of many people who made the code better
- Vitaliy Tverdokhlib (vitaliytv) - Vitaliy Tverdokhlib (vitaliytv)
- Ariel Ferrandini (aferrandini) - Ariel Ferrandini (aferrandini)
- Dirk Pahl (dirkaholic) - Dirk Pahl (dirkaholic)
- Stepan Anchugov (kix)
- cedric lombardot (cedriclombardot) - cedric lombardot (cedriclombardot)
- Jonas Flodén (flojon) - Jonas Flodén (flojon)
- Christian Schmidt - Christian Schmidt
@ -318,7 +320,6 @@ Symfony is the result of the work of many people who made the code better
- boombatower - boombatower
- Fabrice Bernhard (fabriceb) - Fabrice Bernhard (fabriceb)
- Jérôme Macias (jeromemacias) - Jérôme Macias (jeromemacias)
- Vincent AUBERT (vincent)
- Fabian Lange (codingfabian) - Fabian Lange (codingfabian)
- Yoshio HANAWA - Yoshio HANAWA
- Tomasz Kowalczyk (thunderer) - Tomasz Kowalczyk (thunderer)
@ -336,6 +337,7 @@ Symfony is the result of the work of many people who made the code better
- Jerzy Zawadzki (jzawadzki) - Jerzy Zawadzki (jzawadzki)
- Evan S Kaufman (evanskaufman) - Evan S Kaufman (evanskaufman)
- mcben - mcben
- Jérôme Vieilledent (lolautruche)
- Maks Slesarenko - Maks Slesarenko
- mmoreram - mmoreram
- Markus Lanthaler (lanthaler) - Markus Lanthaler (lanthaler)
@ -371,13 +373,13 @@ Symfony is the result of the work of many people who made the code better
- Massimiliano Arione (garak) - Massimiliano Arione (garak)
- Ivan Rey (ivanrey) - Ivan Rey (ivanrey)
- Marcin Chyłek (songoq) - Marcin Chyłek (songoq)
- Vadim Kharitonov (virtuozzz)
- Ned Schwartz - Ned Schwartz
- Ziumin - Ziumin
- Lenar Lõhmus - Lenar Lõhmus
- Zach Badgett (zachbadgett) - Zach Badgett (zachbadgett)
- Aurélien Fredouelle - Aurélien Fredouelle
- Pavel Campr (pcampr) - Pavel Campr (pcampr)
- Johnny Robeson (johnny)
- Disquedur - Disquedur
- Geoffrey Tran (geoff) - Geoffrey Tran (geoff)
- Jan Behrens - Jan Behrens
@ -405,6 +407,7 @@ Symfony is the result of the work of many people who made the code better
- Wang Jingyu - Wang Jingyu
- Åsmund Garfors - Åsmund Garfors
- Maxime Douailin - Maxime Douailin
- Gregor Harlan
- Javier López (loalf) - Javier López (loalf)
- Reinier Kip - Reinier Kip
- Dustin Dobervich (dustin10) - Dustin Dobervich (dustin10)
@ -458,6 +461,7 @@ Symfony is the result of the work of many people who made the code better
- Alexander Volochnev (exelenz) - Alexander Volochnev (exelenz)
- Michael Piecko - Michael Piecko
- yclian - yclian
- Sebastian Grodzicki (sgrodzicki)
- Pascal Helfenstein - Pascal Helfenstein
- Baldur Rensch (brensch) - Baldur Rensch (brensch)
- Alex Xandra Albert Sim - Alex Xandra Albert Sim
@ -482,11 +486,11 @@ Symfony is the result of the work of many people who made the code better
- Andrew Hilobok (hilobok) - Andrew Hilobok (hilobok)
- Christian Soronellas (theunic) - Christian Soronellas (theunic)
- Yosmany Garcia (yosmanyga) - Yosmany Garcia (yosmanyga)
- Jérôme Vieilledent (lolautruche)
- Degory Valentine - Degory Valentine
- Benoit Lévêque (benoit_leveque) - Benoit Lévêque (benoit_leveque)
- Jeroen Fiege (fieg) - Jeroen Fiege (fieg)
- Krzysiek Łabuś - Krzysiek Łabuś
- Nicolas Dewez (nicolas_dewez)
- Xavier Lacot (xavier) - Xavier Lacot (xavier)
- Olivier Maisonneuve (olineuve) - Olivier Maisonneuve (olineuve)
- Francis Turmel (fturmel) - Francis Turmel (fturmel)
@ -494,6 +498,7 @@ Symfony is the result of the work of many people who made the code better
- Ben - Ben
- Jayson Xu (superjavason) - Jayson Xu (superjavason)
- Jaik Dean (jaikdean) - Jaik Dean (jaikdean)
- fago
- Harm van Tilborg - Harm van Tilborg
- Jan Prieser - Jan Prieser
- Damien Alexandre (damienalexandre) - Damien Alexandre (damienalexandre)
@ -502,6 +507,7 @@ Symfony is the result of the work of many people who made the code better
- Christopher Hall (mythmakr) - Christopher Hall (mythmakr)
- Paul Kamer (pkamer) - Paul Kamer (pkamer)
- Rafał Wrzeszcz (rafalwrzeszcz) - Rafał Wrzeszcz (rafalwrzeszcz)
- Berny Cantos (xphere81)
- Reen Lokum - Reen Lokum
- Martin Parsiegla (spea) - Martin Parsiegla (spea)
- Quentin Schuler - Quentin Schuler
@ -531,6 +537,7 @@ Symfony is the result of the work of many people who made the code better
- corphi - corphi
- grizlik - grizlik
- Derek ROTH - Derek ROTH
- Alain Hippolyte (aloneh)
- Shin Ohno (ganchiku) - Shin Ohno (ganchiku)
- Geert De Deckere (geertdd) - Geert De Deckere (geertdd)
- Jan Kramer (jankramer) - Jan Kramer (jankramer)
@ -559,7 +566,6 @@ Symfony is the result of the work of many people who made the code better
- Maks - Maks
- Gábor Tóth - Gábor Tóth
- Daniel Cestari - Daniel Cestari
- Johnny Robeson (johnny)
- Brunet Laurent (lbrunet) - Brunet Laurent (lbrunet)
- Magnus Nordlander (magnusnordlander) - Magnus Nordlander (magnusnordlander)
- Mikhail Yurasov (mym) - Mikhail Yurasov (mym)
@ -572,6 +578,7 @@ Symfony is the result of the work of many people who made the code better
- Raul Fraile (raulfraile) - Raul Fraile (raulfraile)
- sensio - sensio
- Patrick Kaufmann - Patrick Kaufmann
- stefan.r
- Matthieu Napoli (mnapoli) - Matthieu Napoli (mnapoli)
- Ben Ramsey (ramsey) - Ben Ramsey (ramsey)
- Christian Jul Jensen - Christian Jul Jensen
@ -613,6 +620,7 @@ Symfony is the result of the work of many people who made the code better
- chispita - chispita
- Wojciech Sznapka - Wojciech Sznapka
- Máximo Cuadros (mcuadros) - Máximo Cuadros (mcuadros)
- Stefan Gehrig (sgehrig)
- Alex Bogomazov - Alex Bogomazov
- tamirvs - tamirvs
- julien.galenski - julien.galenski
@ -684,7 +692,6 @@ Symfony is the result of the work of many people who made the code better
- Gustavo Adrian - Gustavo Adrian
- Yannick - Yannick
- Eduardo García Sanz (coma) - Eduardo García Sanz (coma)
- Sebastian Grodzicki (sgrodzicki)
- James Gilliland - James Gilliland
- Michael Lee (zerustech) - Michael Lee (zerustech)
- Roy Van Ginneken - Roy Van Ginneken
@ -725,7 +732,6 @@ Symfony is the result of the work of many people who made the code better
- Jeroen van den Enden (stoefke) - Jeroen van den Enden (stoefke)
- origaminal - origaminal
- Quique Porta (quiqueporta) - Quique Porta (quiqueporta)
- Gregor Harlan
- Tomasz Szymczyk (karion) - Tomasz Szymczyk (karion)
- ConneXNL - ConneXNL
- Aharon Perkel - Aharon Perkel
@ -983,11 +989,13 @@ Symfony is the result of the work of many people who made the code better
- Mark de Haan (markdehaan) - Mark de Haan (markdehaan)
- Dan Patrick (mdpatrick) - Dan Patrick (mdpatrick)
- Rares Vlaseanu (raresvla) - Rares Vlaseanu (raresvla)
- Artur Melo (restless)
- Sofiane HADDAG (sofhad) - Sofiane HADDAG (sofhad)
- tante kinast (tante) - tante kinast (tante)
- Vincent LEFORT (vlefort) - Vincent LEFORT (vlefort)
- Sadicov Vladimir (xtech) - Sadicov Vladimir (xtech)
- Alexander Zogheb - Alexander Zogheb
- Rémi Blaise
- Joel Marcey - Joel Marcey
- David Christmann - David Christmann
- root - root
@ -1013,7 +1021,6 @@ Symfony is the result of the work of many people who made the code better
- Hein Zaw Htet™ - Hein Zaw Htet™
- Ruben Kruiswijk - Ruben Kruiswijk
- Michael J - Michael J
- Berny Cantos
- Joseph Maarek - Joseph Maarek
- Alex Pods - Alex Pods
- timaschew - timaschew
@ -1024,6 +1031,7 @@ Symfony is the result of the work of many people who made the code better
- Filipe Guerra - Filipe Guerra
- Gerben Wijnja - Gerben Wijnja
- Rowan Manning - Rowan Manning
- Per Modin
- David Windell - David Windell
- Gabriel Birke - Gabriel Birke
- Steffen Roßkamp - Steffen Roßkamp
@ -1176,6 +1184,7 @@ Symfony is the result of the work of many people who made the code better
- TeLiXj - TeLiXj
- Oncle Tom - Oncle Tom
- Christian Stocker - Christian Stocker
- Dawid Nowak
- Karolis Daužickas - Karolis Daužickas
- tirnanog06 - tirnanog06
- phc - phc
@ -1189,10 +1198,10 @@ Symfony is the result of the work of many people who made the code better
- Andreas Forsblom (aforsblo) - Andreas Forsblom (aforsblo)
- Alaattin Kahramanlar (alaattin) - Alaattin Kahramanlar (alaattin)
- Alex Olmos (alexolmos) - Alex Olmos (alexolmos)
- Alain Hippolyte (aloneh)
- Antonio Mansilla (amansilla) - Antonio Mansilla (amansilla)
- Juan Ases García (ases) - Juan Ases García (ases)
- Daniel Basten (axhm3a) - Daniel Basten (axhm3a)
- DUPUCH (bdupuch)
- Bill Hance (billhance) - Bill Hance (billhance)
- Bernd Matzner (bmatzner) - Bernd Matzner (bmatzner)
- Choong Wei Tjeng (choonge) - Choong Wei Tjeng (choonge)
@ -1231,6 +1240,7 @@ Symfony is the result of the work of many people who made the code better
- Ala Eddine Khefifi (nayzo) - Ala Eddine Khefifi (nayzo)
- emilienbouard (neime) - emilienbouard (neime)
- ollie harridge (ollietb) - ollie harridge (ollietb)
- Paul Andrieux (paulandrieux)
- Paweł Szczepanek (pauluz) - Paweł Szczepanek (pauluz)
- Christian López Espínola (penyaskito) - Christian López Espínola (penyaskito)
- Petr Jaroš (petajaros) - Petr Jaroš (petajaros)
@ -1250,6 +1260,7 @@ Symfony is the result of the work of many people who made the code better
- Julien Sanchez (sumbobyboys) - Julien Sanchez (sumbobyboys)
- Guillermo Gisinger (t3chn0r) - Guillermo Gisinger (t3chn0r)
- Markus Tacker (tacker) - Markus Tacker (tacker)
- Tomáš Votruba (tomas_votruba)
- Tyler Stroud (tystr) - Tyler Stroud (tystr)
- Moritz Kraft (userfriendly) - Moritz Kraft (userfriendly)
- Víctor Mateo (victormateo) - Víctor Mateo (victormateo)

View File

@ -9,5 +9,6 @@
<xsd:complexType name="config"> <xsd:complexType name="config">
<xsd:attribute name="max-items" type="xsd:integer" /> <xsd:attribute name="max-items" type="xsd:integer" />
<xsd:attribute name="max-string-length" type="xsd:integer" /> <xsd:attribute name="max-string-length" type="xsd:integer" />
<xsd:attribute name="dump-destination" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:schema> </xsd:schema>

View File

@ -56,7 +56,7 @@ class RouterDebugCommandTest extends \PHPUnit_Framework_TestCase
$command->setContainer($this->getContainer()); $command->setContainer($this->getContainer());
$application->add($command); $application->add($command);
return new CommandTester($application->find('router:debug')); return new CommandTester($application->find('debug:router'));
} }
private function getContainer() private function getContainer()
@ -65,11 +65,15 @@ class RouterDebugCommandTest extends \PHPUnit_Framework_TestCase
$routeCollection->add('foo', new Route('foo')); $routeCollection->add('foo', new Route('foo'));
$router = $this->getMock('Symfony\Component\Routing\RouterInterface'); $router = $this->getMock('Symfony\Component\Routing\RouterInterface');
$router $router
->expects($this->atLeastOnce()) ->expects($this->any())
->method('getRouteCollection') ->method('getRouteCollection')
->will($this->returnValue($routeCollection)) ->will($this->returnValue($routeCollection))
; ;
$loader = $this->getMockBuilder('Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader')
->disableOriginalConstructor()
->getMock();
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface'); $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
$container $container
->expects($this->once()) ->expects($this->once())
@ -77,12 +81,13 @@ class RouterDebugCommandTest extends \PHPUnit_Framework_TestCase
->with('router') ->with('router')
->will($this->returnValue(true)) ->will($this->returnValue(true))
; ;
$container $container
->expects($this->atLeastOnce())
->method('get') ->method('get')
->with('router') ->will($this->returnValueMap(array(
->will($this->returnValue($router)) array('router', 1, $router),
; array('controller_name_converter', 1, $loader),
)));
return $container; return $container;
} }

View File

@ -74,19 +74,22 @@ class RouterMatchCommandTest extends \PHPUnit_Framework_TestCase
->will($this->returnValue($requestContext)) ->will($this->returnValue($requestContext))
; ;
$loader = $this->getMockBuilder('Symfony\Bundle\FrameworkBundle\Routing\DelegatingLoader')
->disableOriginalConstructor()
->getMock();
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface'); $container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
$container $container
->expects($this->once()) ->expects($this->once())
->method('has') ->method('has')
->with('router') ->with('router')
->will($this->returnValue(true)) ->will($this->returnValue(true));
; $container->method('get')
$container ->will($this->returnValueMap(array(
->expects($this->atLeastOnce()) array('router', 1, $router),
->method('get') array('controller_name_converter', 1, $loader),
->with('router')
->will($this->returnValue($router)) )));
;
return $container; return $container;
} }

View File

@ -12,7 +12,6 @@
namespace Symfony\Bundle\TwigBundle\DependencyInjection; namespace Symfony\Bundle\TwigBundle\DependencyInjection;
use Symfony\Component\Config\FileLocator; use Symfony\Component\Config\FileLocator;
use Symfony\Component\Config\Resource\DirectoryResource;
use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader; use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
@ -75,26 +74,22 @@ class TwigExtension extends Extension
} else { } else {
$twigFilesystemLoaderDefinition->addMethodCall('addPath', array($path, $namespace)); $twigFilesystemLoaderDefinition->addMethodCall('addPath', array($path, $namespace));
} }
$container->addResource(new DirectoryResource($path));
} }
// register bundles as Twig namespaces // register bundles as Twig namespaces
foreach ($container->getParameter('kernel.bundles') as $bundle => $class) { foreach ($container->getParameter('kernel.bundles') as $bundle => $class) {
if (is_dir($dir = $container->getParameter('kernel.root_dir').'/Resources/'.$bundle.'/views')) { if (is_dir($dir = $container->getParameter('kernel.root_dir').'/Resources/'.$bundle.'/views')) {
$this->addTwigPath($twigFilesystemLoaderDefinition, $dir, $bundle); $this->addTwigPath($twigFilesystemLoaderDefinition, $dir, $bundle);
$container->addResource(new DirectoryResource($dir));
} }
$reflection = new \ReflectionClass($class); $reflection = new \ReflectionClass($class);
if (is_dir($dir = dirname($reflection->getFilename()).'/Resources/views')) { if (is_dir($dir = dirname($reflection->getFilename()).'/Resources/views')) {
$this->addTwigPath($twigFilesystemLoaderDefinition, $dir, $bundle); $this->addTwigPath($twigFilesystemLoaderDefinition, $dir, $bundle);
$container->addResource(new DirectoryResource($dir));
} }
} }
if (is_dir($dir = $container->getParameter('kernel.root_dir').'/Resources/views')) { if (is_dir($dir = $container->getParameter('kernel.root_dir').'/Resources/views')) {
$twigFilesystemLoaderDefinition->addMethodCall('addPath', array($dir)); $twigFilesystemLoaderDefinition->addMethodCall('addPath', array($dir));
$container->addResource(new DirectoryResource($dir));
} }
if (!empty($config['globals'])) { if (!empty($config['globals'])) {

View File

@ -94,7 +94,7 @@ class StreamOutput extends Output
*/ */
protected function hasColorSupport() protected function hasColorSupport()
{ {
if (DIRECTORY_SEPARATOR == '\\') { if (DIRECTORY_SEPARATOR === '\\') {
return false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI'); return false !== getenv('ANSICON') || 'ON' === getenv('ConEmuANSI');
} }

View File

@ -76,6 +76,8 @@ class Container implements IntrospectableContainerInterface
protected $scopeStacks = array(); protected $scopeStacks = array();
protected $loading = array(); protected $loading = array();
private $underscoreMap = array('_' => '', '.' => '_', '\\' => '_');
/** /**
* Constructor. * Constructor.
* *
@ -211,7 +213,7 @@ class Container implements IntrospectableContainerInterface
$this->services[$id] = $service; $this->services[$id] = $service;
if (method_exists($this, $method = 'synchronize'.strtr($id, array('_' => '', '.' => '_', '\\' => '_')).'Service')) { if (method_exists($this, $method = 'synchronize'.strtr($id, $this->underscoreMap).'Service')) {
$this->$method(); $this->$method();
} }
@ -235,17 +237,20 @@ class Container implements IntrospectableContainerInterface
*/ */
public function has($id) public function has($id)
{ {
$id = strtolower($id); for ($i = 2;;) {
if ('service_container' === $id
if ('service_container' === $id) { || isset($this->aliases[$id])
return true; || isset($this->services[$id])
|| array_key_exists($id, $this->services)
) {
return true;
}
if (--$i && $id !== $lcId = strtolower($id)) {
$id = $lcId;
} else {
return method_exists($this, 'get'.strtr($id, $this->underscoreMap).'Service');
}
} }
return isset($this->services[$id])
|| array_key_exists($id, $this->services)
|| isset($this->aliases[$id])
|| method_exists($this, 'get'.strtr($id, array('_' => '', '.' => '_', '\\' => '_')).'Service')
;
} }
/** /**
@ -273,10 +278,7 @@ class Container implements IntrospectableContainerInterface
// available services. Service IDs are case insensitive, however since // available services. Service IDs are case insensitive, however since
// this method can be called thousands of times during a request, avoid // this method can be called thousands of times during a request, avoid
// calling strtolower() unless necessary. // calling strtolower() unless necessary.
foreach (array(false, true) as $strtolower) { for ($i = 2;;) {
if ($strtolower) {
$id = strtolower($id);
}
if ('service_container' === $id) { if ('service_container' === $id) {
return $this; return $this;
} }
@ -287,57 +289,60 @@ class Container implements IntrospectableContainerInterface
if (isset($this->services[$id]) || array_key_exists($id, $this->services)) { if (isset($this->services[$id]) || array_key_exists($id, $this->services)) {
return $this->services[$id]; return $this->services[$id];
} }
}
if (isset($this->loading[$id])) { if (isset($this->loading[$id])) {
throw new ServiceCircularReferenceException($id, array_keys($this->loading)); throw new ServiceCircularReferenceException($id, array_keys($this->loading));
} }
if (isset($this->methodMap[$id])) { if (isset($this->methodMap[$id])) {
$method = $this->methodMap[$id]; $method = $this->methodMap[$id];
} elseif (method_exists($this, $method = 'get'.strtr($id, array('_' => '', '.' => '_', '\\' => '_')).'Service')) { } elseif (--$i && $id !== $lcId = strtolower($id)) {
// $method is set to the right value, proceed $id = $lcId;
} else { continue;
if (self::EXCEPTION_ON_INVALID_REFERENCE === $invalidBehavior) { } elseif (method_exists($this, $method = 'get'.strtr($id, $this->underscoreMap).'Service')) {
if (!$id) { // $method is set to the right value, proceed
throw new ServiceNotFoundException($id); } else {
} if (self::EXCEPTION_ON_INVALID_REFERENCE === $invalidBehavior) {
if (!$id) {
$alternatives = array(); throw new ServiceNotFoundException($id);
foreach ($this->services as $key => $associatedService) {
$lev = levenshtein($id, $key);
if ($lev <= strlen($id) / 3 || false !== strpos($key, $id)) {
$alternatives[] = $key;
} }
$alternatives = array();
foreach ($this->services as $key => $associatedService) {
$lev = levenshtein($id, $key);
if ($lev <= strlen($id) / 3 || false !== strpos($key, $id)) {
$alternatives[] = $key;
}
}
throw new ServiceNotFoundException($id, null, null, $alternatives);
} }
throw new ServiceNotFoundException($id, null, null, $alternatives);
}
return;
}
$this->loading[$id] = true;
try {
$service = $this->$method();
} catch (\Exception $e) {
unset($this->loading[$id]);
if (array_key_exists($id, $this->services)) {
unset($this->services[$id]);
}
if ($e instanceof InactiveScopeException && self::EXCEPTION_ON_INVALID_REFERENCE !== $invalidBehavior) {
return; return;
} }
throw $e; $this->loading[$id] = true;
try {
$service = $this->$method();
} catch (\Exception $e) {
unset($this->loading[$id]);
if (array_key_exists($id, $this->services)) {
unset($this->services[$id]);
}
if ($e instanceof InactiveScopeException && self::EXCEPTION_ON_INVALID_REFERENCE !== $invalidBehavior) {
return;
}
throw $e;
}
unset($this->loading[$id]);
return $service;
} }
unset($this->loading[$id]);
return $service;
} }
/** /**

View File

@ -322,7 +322,7 @@ class ContainerTest extends \PHPUnit_Framework_TestCase
$container->enterScope('foo'); $container->enterScope('foo');
$scoped2 = $container->get('scoped'); $scoped2 = $container->get('scoped');
$scoped3 = $container->get('scoped'); $scoped3 = $container->get('SCOPED');
$scopedFoo2 = $container->get('scoped_foo'); $scopedFoo2 = $container->get('scoped_foo');
$container->leaveScope('foo'); $container->leaveScope('foo');

View File

@ -76,6 +76,10 @@ abstract class Bundle extends ContainerAware implements BundleInterface
if (class_exists($class)) { if (class_exists($class)) {
$extension = new $class(); $extension = new $class();
if (!$extension instanceof ExtensionInterface) {
throw new \LogicException(sprintf('Extension %s must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface.', $class));
}
// check naming convention // check naming convention
$basename = preg_replace('/Bundle$/', '', $this->getName()); $basename = preg_replace('/Bundle$/', '', $this->getName());
$expectedAlias = Container::underscore($basename); $expectedAlias = Container::underscore($basename);

View File

@ -57,7 +57,7 @@ class FragmentListener implements EventSubscriberInterface
{ {
$request = $event->getRequest(); $request = $event->getRequest();
if ($this->fragmentPath !== rawurldecode($request->getPathInfo())) { if ($request->attributes->has('_controller') || $this->fragmentPath !== rawurldecode($request->getPathInfo())) {
return; return;
} }

View File

@ -11,6 +11,7 @@
namespace Symfony\Component\HttpKernel\Tests\Bundle; namespace Symfony\Component\HttpKernel\Tests\Bundle;
use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionNotValidBundle\ExtensionNotValidBundle;
use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\ExtensionPresentBundle; use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\ExtensionPresentBundle;
use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionAbsentBundle\ExtensionAbsentBundle; use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionAbsentBundle\ExtensionAbsentBundle;
use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\Command\FooCommand; use Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionPresentBundle\Command\FooCommand;
@ -30,4 +31,14 @@ class BundleTest extends \PHPUnit_Framework_TestCase
$this->assertNull($bundle2->registerCommands($app)); $this->assertNull($bundle2->registerCommands($app));
} }
/**
* @expectedException \LogicException
* @expectedExceptionMessage must implement Symfony\Component\DependencyInjection\Extension\ExtensionInterface
*/
public function testGetContainerExtensionWithInvalidClass()
{
$bundle = new ExtensionNotValidBundle();
$bundle->getContainerExtension();
}
} }

View File

@ -34,6 +34,22 @@ class FragmentListenerTest extends \PHPUnit_Framework_TestCase
$this->assertTrue($request->query->has('_path')); $this->assertTrue($request->query->has('_path'));
} }
public function testOnlyTriggeredIfControllerWasNotDefinedYet()
{
$request = Request::create('http://example.com/_fragment?_path=foo%3Dbar%26_controller%3Dfoo');
$request->attributes->set('_controller', 'bar');
$listener = new FragmentListener(new UriSigner('foo'));
$event = $this->createGetResponseEvent($request, HttpKernelInterface::SUB_REQUEST);
$expected = $request->attributes->all();
$listener->onKernelRequest($event);
$this->assertEquals($expected, $request->attributes->all());
}
/** /**
* @expectedException \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException * @expectedException \Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException
*/ */
@ -74,8 +90,8 @@ class FragmentListenerTest extends \PHPUnit_Framework_TestCase
$this->assertFalse($request->query->has('_path')); $this->assertFalse($request->query->has('_path'));
} }
private function createGetResponseEvent(Request $request) private function createGetResponseEvent(Request $request, $requestType = HttpKernelInterface::MASTER_REQUEST)
{ {
return new GetResponseEvent($this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, HttpKernelInterface::MASTER_REQUEST); return new GetResponseEvent($this->getMock('Symfony\Component\HttpKernel\HttpKernelInterface'), $request, $requestType);
} }
} }

View File

@ -0,0 +1,20 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionNotValidBundle\DependencyInjection;
class ExtensionNotValidExtension
{
public function getAlias()
{
return 'extension_not_valid';
}
}

View File

@ -0,0 +1,18 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\HttpKernel\Tests\Fixtures\ExtensionNotValidBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class ExtensionNotValidBundle extends Bundle
{
}

View File

@ -59,7 +59,7 @@ class PropertyNormalizer extends AbstractNormalizer
} }
// Override visibility // Override visibility
if (! $property->isPublic()) { if (!$property->isPublic()) {
$property->setAccessible(true); $property->setAccessible(true);
} }
@ -111,7 +111,7 @@ class PropertyNormalizer extends AbstractNormalizer
$property = $reflectionClass->getProperty($propertyName); $property = $reflectionClass->getProperty($propertyName);
// Override visibility // Override visibility
if (! $property->isPublic()) { if (!$property->isPublic()) {
$property->setAccessible(true); $property->setAccessible(true);
} }
@ -151,7 +151,7 @@ class PropertyNormalizer extends AbstractNormalizer
// We look for at least one non-static property // We look for at least one non-static property
foreach ($class->getProperties() as $property) { foreach ($class->getProperties() as $property) {
if (! $property->isStatic()) { if (!$property->isStatic()) {
return true; return true;
} }
} }

View File

@ -148,7 +148,7 @@ class XliffFileLoader implements LoaderInterface
$source = str_replace('http://www.w3.org/2001/xml.xsd', $location, $source); $source = str_replace('http://www.w3.org/2001/xml.xsd', $location, $source);
if (!@$dom->schemaValidateSource($source)) { if (!@$dom->schemaValidateSource($source)) {
throw new InvalidResourceException(implode("\n", $this->getXmlErrors($internalErrors))); throw new InvalidResourceException(sprintf('Invalid resource provided: "%s"; Errors: %s', $file, implode("\n", $this->getXmlErrors($internalErrors))));
} }
$dom->normalizeDocument(); $dom->normalizeDocument();

View File

@ -278,6 +278,38 @@
<source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source> <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source>
<target>القيمة يجب ان لا تطابق {{ compared_value_type }} {{ compared_value }}.</target> <target>القيمة يجب ان لا تطابق {{ compared_value_type }} {{ compared_value }}.</target>
</trans-unit> </trans-unit>
<trans-unit id="73">
<source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source>
<target>نسبة العرض على الارتفاع للصورة كبيرة جدا ({{ ratio }}). الحد الأقصى للنسبة المسموح به هو {{ max_ratio }}.</target>
</trans-unit>
<trans-unit id="74">
<source>The image ratio is too small ({{ ratio }}). Minimum ratio expected is {{ min_ratio }}.</source>
<target>نسبة العرض على الارتفاع للصورة صغيرة جدا ({{ ratio }}). الحد الأدنى للنسبة المسموح به هو {{ max_ratio }}.</target>
</trans-unit>
<trans-unit id="75">
<source>The image is square ({{ width }}x{{ height }}px). Square images are not allowed.</source>
<target>الصورة مربعة ({{ width }}x{{ height }}px). الصور المربعة غير مسموح بها.</target>
</trans-unit>
<trans-unit id="76">
<source>The image is landscape oriented ({{ width }}x{{ height }}px). Landscape oriented images are not allowed.</source>
<target>الصورة في وضع أفقي ({{ width }}x{{ height }}px). الصور في وضع أفقي غير مسموح بها.</target>
</trans-unit>
<trans-unit id="77">
<source>The image is portrait oriented ({{ width }}x{{ height }}px). Portrait oriented images are not allowed.</source>
<target>الصورة في وضع عمودي ({{ width }}x{{ height }}px). الصور في وضع عمودي غير مسموح بها.</target>
</trans-unit>
<trans-unit id="78">
<source>An empty file is not allowed.</source>
<target>ملف فارغ غير مسموح به.</target>
</trans-unit>
<trans-unit id="79">
<source>The host could not be resolved.</source>
<target>يتعذر الإتصال بالنطاق.</target>
</trans-unit>
<trans-unit id="80">
<source>This value does not match the expected {{ charset }} charset.</source>
<target>هذه القيمة غير متطابقة مع صيغة التحويل {{ charset }}.</target>
</trans-unit>
</body> </body>
</file> </file>
</xliff> </xliff>

View File

@ -259,7 +259,7 @@
<target>Deze waarde moet groter dan of gelijk aan {{ compared_value }} zijn.</target> <target>Deze waarde moet groter dan of gelijk aan {{ compared_value }} zijn.</target>
</trans-unit> </trans-unit>
<trans-unit id="68"> <trans-unit id="68">
<source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source> <source>This value should be identical to {{ compared_value_type }} {{ compared_value }}.</source>
<target>Deze waarde moet identiek zijn aan {{ compared_value_type }} {{ compared_value }}.</target> <target>Deze waarde moet identiek zijn aan {{ compared_value_type }} {{ compared_value }}.</target>
</trans-unit> </trans-unit>
<trans-unit id="69"> <trans-unit id="69">
@ -275,8 +275,8 @@
<target>Deze waarde mag niet gelijk zijn aan {{ compared_value }}.</target> <target>Deze waarde mag niet gelijk zijn aan {{ compared_value }}.</target>
</trans-unit> </trans-unit>
<trans-unit id="72"> <trans-unit id="72">
<source>This value should not be identical to {{ compared_value }}.</source> <source>This value should not be identical to {{ compared_value_type }} {{ compared_value }}.</source>
<target>Deze waarde mag niet identiek zijn aan {{ compared_value }}.</target> <target>Deze waarde mag niet identiek zijn aan {{ compared_value_type }} {{ compared_value }}.</target>
</trans-unit> </trans-unit>
<trans-unit id="73"> <trans-unit id="73">
<source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source> <source>The image ratio is too big ({{ ratio }}). Allowed maximum ratio is {{ max_ratio }}.</source>