web/konrad/twig.git
12 years agofixed doc
Fabien Potencier [Fri, 20 Apr 2012 18:14:01 +0000]
fixed doc

12 years agoupdated CHANGELOG
Fabien Potencier [Fri, 20 Apr 2012 18:12:57 +0000]
updated CHANGELOG

12 years agoremoved the array test and rename the traversable test to iterable
Fabien Potencier [Fri, 20 Apr 2012 18:12:07 +0000]
removed the array test and rename the traversable test to iterable

12 years agomerged branch Seldaek/isarray (PR #700)
Fabien Potencier [Fri, 20 Apr 2012 18:09:05 +0000]
merged branch Seldaek/isarray (PR #700)

Commits
-------

c88f8e5 Micro-optimizations
70cca66 Simplify code
d78ed66 Add traversable test
5fd2f98 Add docs
b2e1675 Add is array test

Discussion
----------

is array/traversable tests

It's sometimes necessary to display arbitrary data to be able to know if we should recurse or not.

---------------------------------------------------------------------------

by stof at 2012-04-13T12:13:11Z

I'm not sure about the need for ``is array``. All Twig functions related to arrays also support traversable objects

---------------------------------------------------------------------------

by Seldaek at 2012-04-13T12:23:32Z

Well, I like to have both for explicitness and also because I would try is array without looking at the docs, and I don't think it's right to make is array return true for traversables.

---------------------------------------------------------------------------

by fabpot at 2012-04-20T09:38:33Z

One of the main goal of Twig is to abstract the "real" type of the variables. We have already discussed the introduction of many tests like these ones and I have always rejected them.

As many people seems to have a need for them (especially for arrays), I would consider adding the `traversable` test. But as @stof said, Twig tries to blur the difference between traversable objects and arrays, so I'm -1 for adding another test for arrays.

`traversable` is probably not the best name for web designers but I don't know what else we can use here.

---------------------------------------------------------------------------

by stof at 2012-04-20T09:41:05Z

In Jinja, there is a built-in test for this using ``iterable``: http://jinja.pocoo.org/docs/templates/#builtin-tests

---------------------------------------------------------------------------

by Seldaek at 2012-04-20T09:41:32Z

Ok. I can live with dropping the array test. Now for the name,  `is forloopable`? I am kind of at a loss as well apart from traversable. I think if it's clearly mentioned in the docs it's ok.

---------------------------------------------------------------------------

by Seldaek at 2012-04-20T09:52:12Z

iterable sounds ok to me, but just as confusing as traversable I guess to the unknowing. A sidenote, if I update the PR, any objection to adding the "undefined" test as well?

---------------------------------------------------------------------------

by fabpot at 2012-04-20T10:01:27Z

Let's use `iterable` as this is what Jinja already uses. Why would you want an `undefined` test as we already have `defined`? (`if foo is not defined` works well enough)

---------------------------------------------------------------------------

by Seldaek at 2012-04-20T11:16:26Z

I just saw jinja had it on that page, and I thought why not add it too? Still not a huge fan of the "not" for negation.

---------------------------------------------------------------------------

by fabpot at 2012-04-20T12:18:17Z

Well, let's first finish the `iterable` test first and let's discuss `undefined` in another PR or issue.

---------------------------------------------------------------------------

by fabpot at 2012-04-20T17:10:28Z

I can finish the PR is you want.

---------------------------------------------------------------------------

by Seldaek at 2012-04-20T17:13:11Z

If you like sure, it's mostly deleting code anyway. I just have to finish some work stuff now..

12 years agorenamed preserve_safety to preserves_safety to be consisten with needs_context and...
Fabien Potencier [Fri, 20 Apr 2012 17:04:30 +0000]
renamed preserve_safety to preserves_safety to be consisten with needs_context and needs_environment

12 years agomerged branch stof/preserve_safe (PR #684)
Fabien Potencier [Fri, 20 Apr 2012 17:02:27 +0000]
merged branch stof/preserve_safe (PR #684)

Commits
-------

0cbf5a0 Added an option to mark filters as preserving the safeness

Discussion
----------

Added an option to mark filters as preserving the safeness

Closes #678

I haven't written a test for this yet as I don't know how to provide a stub filter (as none of the core filters use this option) for the setup of the testsuite.

---------------------------------------------------------------------------

by fabpot at 2012-04-07T20:15:36Z

@stof: Can you also add some information in the phpdoc with an example so that people understand more easily when and why you would want to use this new option? Thanks.

---------------------------------------------------------------------------

by fabpot at 2012-04-07T20:16:36Z

Also, adding a unit test that demonstrates the bug you had in #678 would be good.

---------------------------------------------------------------------------

by stof at 2012-04-20T08:33:58Z

@fabpot none of the core filters are using this options, so what is the right way to add a test ?

---------------------------------------------------------------------------

by fabpot at 2012-04-20T08:36:26Z

by defining a filter in the test that uses it.

---------------------------------------------------------------------------

by stof at 2012-04-20T08:39:06Z

but is it possible to register a filter from the tests with the custom stuff used by Twig ?

---------------------------------------------------------------------------

by fabpot at 2012-04-20T08:48:06Z

in integrationTest.php, we already have quite a few functions and filters registered. I would just be a matter of adding a new one.

---------------------------------------------------------------------------

by stof at 2012-04-20T16:17:01Z

@fabpot renamed, tested and squashed

12 years agoAdded an option to mark filters as preserving the safeness
Christophe Coevoet [Fri, 20 Apr 2012 14:23:51 +0000]
Added an option to mark filters as preserving the safeness

Closes #678

12 years agoadded an error when defining two blocks with the same name in a template (closes...
Fabien Potencier [Fri, 20 Apr 2012 09:17:22 +0000]
added an error when defining two blocks with the same name in a template (closes #701)

12 years agoadded some missing tests for nested blocks
Fabien Potencier [Fri, 20 Apr 2012 08:53:54 +0000]
added some missing tests for nested blocks

12 years agoadded a note in the documentation about what the C exension does
Fabien Potencier [Wed, 18 Apr 2012 05:19:25 +0000]
added a note in the documentation about what the C exension does

12 years agoadded missing parameters to Twig_Error_Syntax
Fabien Potencier [Mon, 16 Apr 2012 07:04:57 +0000]
added missing parameters to Twig_Error_Syntax

12 years agoMicro-optimizations
Jordi Boggiano [Fri, 13 Apr 2012 13:48:00 +0000]
Micro-optimizations

12 years agoSimplify code
Jordi Boggiano [Fri, 13 Apr 2012 12:22:03 +0000]
Simplify code

12 years agoAdd traversable test
Jordi Boggiano [Fri, 13 Apr 2012 11:05:17 +0000]
Add traversable test

12 years agoAdd docs
Jordi Boggiano [Fri, 13 Apr 2012 10:58:41 +0000]
Add docs

12 years agoAdd is array test
Jordi Boggiano [Fri, 13 Apr 2012 10:57:54 +0000]
Add is array test

12 years agofixed a PHP notice when trying to access a key on a non-object/array variable
Fabien Potencier [Thu, 12 Apr 2012 12:36:25 +0000]
fixed a PHP notice when trying to access a key on a non-object/array variable

12 years agoupdated CHANGELOG
Fabien Potencier [Wed, 11 Apr 2012 14:52:26 +0000]
updated CHANGELOG

12 years agomerged branch Tobion/random-fix (PR #693)
Fabien Potencier [Mon, 9 Apr 2012 16:27:10 +0000]
merged branch Tobion/random-fix (PR #693)

Commits
-------

06361ca added note in changelog
2706412 fixed random function when charset is null

Discussion
----------

Fixed random function when charset is null

Fixed random function when charset is null and the value is an empty string, resulting in an mt_rand error max(-1) is smaller than min(0).
Also fixed a test on windows.

But I don't know why you introduced the special handling for `null === $env->getCharset()`.
Why is that necessary and why is it possible to have a null charset at all? Usually it defaults to utf-8 anyway.

12 years agoadded note in changelog
Tobias Schultze [Mon, 9 Apr 2012 07:30:01 +0000]
added note in changelog

12 years agofixed random function when charset is null
Tobias Schultze [Mon, 9 Apr 2012 07:26:53 +0000]
fixed random function when charset is null

12 years agomerged branch igorw/composer (PR #691)
Fabien Potencier [Sun, 8 Apr 2012 12:20:37 +0000]
merged branch igorw/composer (PR #691)

Commits
-------

72d3c19 [composer] Add branch alias for dev-master, adjust some other things

Discussion
----------

[composer] Add branch alias for dev-master, adjust some other things

* branch alias allows installation of dev-master by requiring 1.7.*, which is important since most packages depend on twig "<2.0.0"
* remove the version field, the version is determined by branch names and tags only
* change license to BSD-3, this is more explicit and the preferred format for BSD licenses

12 years agoenhanced error reporting when the template file is an instance of SplFileInfo
Fabien Potencier [Sun, 8 Apr 2012 12:12:00 +0000]
enhanced error reporting when the template file is an instance of SplFileInfo

12 years ago[composer] Add branch alias for dev-master, adjust some other things
Igor Wiedler [Sun, 8 Apr 2012 12:07:23 +0000]
[composer] Add branch alias for dev-master, adjust some other things

* branch alias allows installation of dev-master by requiring 1.7.*, which is important since most packages depend on twig "<2.0.0"
* remove the version field, the version is determined by branch names and tags only
* change license to BSD-3, this is more explicit and the preferred format for BSD licenses

12 years agoadded a tip in the doc
Fabien Potencier [Sun, 8 Apr 2012 10:58:26 +0000]
added a tip in the doc

12 years agoadded a unit test to demonstrate the need to pass blocks when calling renderBlock...
Fabien Potencier [Sat, 7 Apr 2012 20:40:59 +0000]
added a unit test to demonstrate the need to pass blocks when calling renderBlock|displayBlock

12 years agomerged branch igorw/patch-1 (PR #689)
Fabien Potencier [Sat, 7 Apr 2012 16:15:20 +0000]
merged branch igorw/patch-1 (PR #689)

Commits
-------

11d4c6a [doc] Remove backticks in intro doc

Discussion
----------

[doc] Remove backticks in intro doc

12 years ago[doc] Remove backticks in intro doc
Igor Wiedler [Sat, 7 Apr 2012 15:38:17 +0000]
[doc] Remove backticks in intro doc

12 years agomerged branch markstory/loop-docs (PR #688)
Fabien Potencier [Sat, 7 Apr 2012 14:41:37 +0000]
merged branch markstory/loop-docs (PR #688)

Commits
-------

2a7102d Update docs concerning loop.last.

Discussion
----------

Update docs concerning loop.last.

Add docs for #687. `loop.last` is not defined when looping with conditions.

12 years agoUpdate docs concerning loop.last.
mark_story [Sat, 7 Apr 2012 13:50:44 +0000]
Update docs concerning loop.last.

12 years agoadded some more information about unknown variable/attributes in the doc (closes...
Fabien Potencier [Thu, 5 Apr 2012 20:53:25 +0000]
added some more information about unknown variable/attributes in the doc (closes #685)

12 years agoadded Twig_Environment::mergeGlobals()
Fabien Potencier [Tue, 3 Apr 2012 17:13:43 +0000]
added Twig_Environment::mergeGlobals()

12 years agofixed a regression when a template only extends another one without defining any...
Fabien Potencier [Tue, 3 Apr 2012 17:12:14 +0000]
fixed a regression when a template only extends another one without defining any blocks (closes #683)

12 years agobumped version to 1.7.0-DEV
Fabien Potencier [Tue, 3 Apr 2012 07:56:57 +0000]
bumped version to 1.7.0-DEV

12 years agomade usage of mergeContextWithGlobals in macros
Fabien Potencier [Tue, 3 Apr 2012 07:45:11 +0000]
made usage of mergeContextWithGlobals in macros

12 years agofixed doc markup
Fabien Potencier [Tue, 3 Apr 2012 07:10:53 +0000]
fixed doc markup

12 years agofixed doc markup
Fabien Potencier [Tue, 3 Apr 2012 07:08:32 +0000]
fixed doc markup

12 years agofixed doc indexes
Fabien Potencier [Tue, 3 Apr 2012 07:07:53 +0000]
fixed doc indexes

12 years agorenamed a test
Fabien Potencier [Tue, 3 Apr 2012 07:07:04 +0000]
renamed a test

12 years agoadded compilation checks to avoid misuses of the sandbox tag
Fabien Potencier [Tue, 3 Apr 2012 07:03:41 +0000]
added compilation checks to avoid misuses of the sandbox tag

12 years agofixed Twig unit tests when a template must throw an exception
Fabien Potencier [Tue, 3 Apr 2012 06:59:31 +0000]
fixed Twig unit tests when a template must throw an exception

12 years agoenhance error reporting in Twig unit tests
Fabien Potencier [Tue, 3 Apr 2012 06:49:35 +0000]
enhance error reporting in Twig unit tests

12 years agoadded doc for the sandbox tag
Fabien Potencier [Tue, 3 Apr 2012 06:08:55 +0000]
added doc for the sandbox tag

12 years agoadded a note about sandbox policy checks in the doc (refs #677)
Fabien Potencier [Tue, 3 Apr 2012 05:32:06 +0000]
added a note about sandbox policy checks in the doc (refs #677)

12 years agofixed filesystem loader freshness logic for high traffic websites (closes #682)
Fabien Potencier [Tue, 3 Apr 2012 05:20:03 +0000]
fixed filesystem loader freshness logic for high traffic websites (closes #682)

12 years agobumped version to 1.6.4-DEV
Fabien Potencier [Mon, 2 Apr 2012 17:45:40 +0000]
bumped version to 1.6.4-DEV

12 years agoprepared the 1.6.4 release
Fabien Potencier [Mon, 2 Apr 2012 17:42:18 +0000]
prepared the 1.6.4 release

12 years agoupdated CHANGELOG
Fabien Potencier [Sun, 1 Apr 2012 08:25:37 +0000]
updated CHANGELOG

12 years agofixed file permission
Fabien Potencier [Sun, 1 Apr 2012 08:24:05 +0000]
fixed file permission

12 years agomerged branch Nami-Doc/patch-1 (PR #680)
Fabien Potencier [Sun, 1 Apr 2012 08:22:57 +0000]
merged branch Nami-Doc/patch-1 (PR #680)

Commits
-------

27ffef0 The question I'm asking myself now is : how could I get $trace['line'] is not set if there's a check before the <= ? anyway, fixed
36618fe fix a bug where when an error would be thrown through the loader (Twig_Error_Loader by Twig_Loader_Filesystem, ie) the $trace['line'] would not be set (since we're not in a template)

Discussion
----------

fix a bug where when an error would be thrown through the loader

(Twig_Error_Loader by Twig_Loader_Filesystem, ie) the $trace['line'] would not be set (since we're not in a template)

thanks

---------------------------------------------------------------------------

by Nami-Doc at 2012-03-31T20:00:31Z

fixed, thanks @stof. Now I wonder (as I just wrote) : how could I get the error with that isset here ?

---------------------------------------------------------------------------

by stof at 2012-03-31T20:05:45Z

@Nami-Doc what was the exact error you got ?

---------------------------------------------------------------------------

by Nami-Doc at 2012-03-31T20:09:51Z

Php states that $trace['line'] isn't set

---------------------------------------------------------------------------

by Nami-Doc at 2012-03-31T20:23:33Z

O.K., got it. this has been fixed in #675, but composer (great tool) installed me last tag, but I think it's better to check it outside the loop anyway (micro-micro-optimisation)

12 years agofixed performance when compiling large files
Fabien Potencier [Sun, 1 Apr 2012 08:03:24 +0000]
fixed performance when compiling large files

12 years agoThe question I'm asking myself now is : how could I get $trace['line'] is not set...
Nami-Doc [Sat, 31 Mar 2012 19:59:45 +0000]
The question I'm asking myself now is : how could I get $trace['line'] is not set if there's a check before the <= ? anyway, fixed

12 years agofix a bug where when an error would be thrown through the loader (Twig_Error_Loader...
Nami-Doc [Sat, 31 Mar 2012 16:45:34 +0000]
fix a bug where when an error would be thrown through the loader (Twig_Error_Loader by Twig_Loader_Filesystem, ie) the $trace['line'] would not be set (since we're not in a template)

12 years agomade a small optimization when there is only one trait used in a template
Fabien Potencier [Sat, 31 Mar 2012 13:26:42 +0000]
made a small optimization when there is only one trait used in a template

12 years agooptimized parent template creation when the template does not use dynamic inheritance
Fabien Potencier [Fri, 30 Mar 2012 19:05:14 +0000]
optimized parent template creation when the template does not use dynamic inheritance

12 years agomerged branch lyrixx/error-guess (PR #675)
Fabien Potencier [Fri, 23 Mar 2012 23:23:13 +0000]
merged branch lyrixx/error-guess (PR #675)

Commits
-------

d0ae029 Fixed notice in Twig_Error::guessTemplateLine

Discussion
----------

Fixed notice in Twig_Error::guessTemplateLine

Sometimes, `trace['line']` is not available and makes notice.

You can see tests in https://github.com/lyrixx/Silex-Kitchen-Edition/tree/composer.

12 years agoFixed notice in Twig_Error::guessTemplateLine
Grégoire Pineau [Fri, 23 Mar 2012 22:59:21 +0000]
Fixed notice in Twig_Error::guessTemplateLine

12 years agomerged branch carbonatethis/Documentation (PR #674)
Fabien Potencier [Thu, 22 Mar 2012 18:43:11 +0000]
merged branch carbonatethis/Documentation (PR #674)

Commits
-------

bf0cc53 Added code snippet to documentation to describe handling null values with date filter

Discussion
----------

Date filter docs update

Added code snippet to documentation to describe handling null values with date filter

12 years agoAdded code snippet to documentation to describe handling null values with date filter
cb [Thu, 22 Mar 2012 18:12:09 +0000]
Added code snippet to documentation to describe handling null values with date filter

12 years agobumped version to 1.6.4-DEV
Fabien Potencier [Thu, 22 Mar 2012 17:31:45 +0000]
bumped version to 1.6.4-DEV

12 years agoprepared the 1.6.3 release
Fabien Potencier [Thu, 22 Mar 2012 17:28:15 +0000]
prepared the 1.6.3 release

12 years agoadded documentation for the trim filter
Fabien Potencier [Thu, 22 Mar 2012 13:34:27 +0000]
added documentation for the trim filter

12 years agofixed usage of Z_ADDREF_P for PHP 5.2 in the C extension
Fabien Potencier [Thu, 22 Mar 2012 13:25:00 +0000]
fixed usage of Z_ADDREF_P for PHP 5.2 in the C extension

12 years agomerged branch shieldo/patch-1 (PR #670)
Fabien Potencier [Mon, 19 Mar 2012 18:52:05 +0000]
merged branch shieldo/patch-1 (PR #670)

Commits
-------

7f0cca0 fixed incorrect docblock

Discussion
----------

fixed incorrect docblock

---------------------------------------------------------------------------

by shieldo at 2012-03-19T18:15:41Z

True, and done.

---------------------------------------------------------------------------

by fabpot at 2012-03-19T18:19:33Z

Can you rebase your PR and squash your commits so that we don't have the merge? Thanks.

---------------------------------------------------------------------------

by shieldo at 2012-03-19T18:43:28Z

Sorry about that.  Done. :)

12 years agosimplified code
Fabien Potencier [Mon, 19 Mar 2012 18:17:36 +0000]
simplified code

12 years agofixed incorrect docblock
Douglas Greenshields [Mon, 19 Mar 2012 17:38:45 +0000]
fixed incorrect docblock

12 years agofixed compilation of numeric values used in templates when using a locale where the...
Fabien Potencier [Sun, 18 Mar 2012 23:08:15 +0000]
fixed compilation of numeric values used in templates when using a locale where the decimal separator is not a dot

12 years agosimplified tests
Fabien Potencier [Sat, 17 Mar 2012 17:48:06 +0000]
simplified tests

12 years agomade the strategy used to guess the real template file name and line number in except...
Fabien Potencier [Sat, 17 Mar 2012 17:12:19 +0000]
made the strategy used to guess the real template file name and line number in exception messages much faster and more accurate (refs #647)

12 years agobumped version to 1.7.0-DEV
Fabien Potencier [Sun, 18 Mar 2012 02:33:04 +0000]
bumped version to 1.7.0-DEV

12 years agoprepared the 1.6.2 release
Fabien Potencier [Sun, 18 Mar 2012 02:23:00 +0000]
prepared the 1.6.2 release

12 years agofixed sandbox mode when used with inheritance (closes #656)
Fabien Potencier [Sat, 17 Mar 2012 12:51:26 +0000]
fixed sandbox mode when used with inheritance (closes #656)

The checkSecurity() method must be called by each template as we are not
using inheritance.

12 years agoadded preserveKeys support for the slice filter (closes #669)
Fabien Potencier [Sat, 17 Mar 2012 11:42:06 +0000]
added preserveKeys support for the slice filter (closes #669)

12 years agofixed the date filter when a DateTime instance is passed with a specific timezone...
Fabien Potencier [Thu, 15 Mar 2012 16:24:51 +0000]
fixed the date filter when a DateTime instance is passed with a specific timezone (closes #660)

12 years agomerged branch stof/trim_filter (PR #662)
Fabien Potencier [Thu, 15 Mar 2012 06:25:00 +0000]
merged branch stof/trim_filter (PR #662)

Commits
-------

d942d11 Added a trim filter

Discussion
----------

Added a trim filter

This adds a trim filter in Twig as most people thought it deserves being in the core rather than in the extensions.

Closes #634

---------------------------------------------------------------------------

by fabpot at 2012-03-13T16:47:15Z

I would have added a second option to control whether you trim on both side, only on the left, or only the right. What do you think?

---------------------------------------------------------------------------

by nikic at 2012-03-13T17:15:43Z

@fabpot In that case I'd rather add two additional functions `trim_left` (mapping to `ltrim`) and `trim_right` (mapping to `rtrim`). Should be more obvious than some flag at the end :)

---------------------------------------------------------------------------

by stof at 2012-03-13T18:47:38Z

I tend to think that separate filters would indeed be more obvious. What do you prefer @fabpot ?

And for the flag, how would you specify the option to use ? Using a string ? Using boolean flags is not appropriate here (as we have 3 meaningful cases) and I don't really like the string solution.

---------------------------------------------------------------------------

by fabpot at 2012-03-13T18:53:08Z

I don't like the idea of having 3 different filter just for trimming. That seems overkill to me.

---------------------------------------------------------------------------

by stof at 2012-03-13T19:14:12Z

which API do you suggest for the filter then ?

---------------------------------------------------------------------------

by fabpot at 2012-03-13T19:23:51Z

I've no definitive idea. So, perhaps we can just merge what you've done for now.

---------------------------------------------------------------------------

by Koc at 2012-03-13T20:17:17Z

+1 for merge this. There are different filters for different trimming.

I cannot remember but there are some situations when we got string with whitespaces in variable and `{{- my_variable -}}` couldn't help and we cann't use `spaceless` filter because `my_vaiable` contains not html for example.

upd: oh, sorry, I haven't noticed comment from @nikic .

---------------------------------------------------------------------------

by Tobion at 2012-03-13T21:05:09Z

I suggest `function trim($left = true, $right = true)` but `left` and `right` could also be strings.
That would cover all cases.

---------------------------------------------------------------------------

by raulfraile at 2012-03-13T23:43:28Z

I think 3 different filters would be much clearer than using string/boolean parameters. IMO is the same case than strtolower/strtoupper.

12 years agomerged branch raulfraile/patch-1 (PR #665)
Fabien Potencier [Tue, 13 Mar 2012 16:44:20 +0000]
merged branch raulfraile/patch-1 (PR #665)

Commits
-------

0519419 Updated 'convert_encoding' filter documentation

Discussion
----------

Updated 'convert_encoding' filter documentation

Updated 'convert_encoding' filter documentation to clarify which extension will be used in case both `iconv` and `mbstring` are installed.

12 years agoUpdated 'convert_encoding' filter documentation
Raul Fraile [Tue, 13 Mar 2012 16:33:49 +0000]
Updated 'convert_encoding' filter documentation

12 years agoAdded a trim filter
Christophe Coevoet [Mon, 12 Mar 2012 13:56:44 +0000]
Added a trim filter

Closes #634

12 years agomerged branch andrerom/patch-1 (PR #658)
Fabien Potencier [Sat, 10 Mar 2012 18:52:41 +0000]
merged branch andrerom/patch-1 (PR #658)

Commits
-------

be07174 Added @return doc on Twig_LoaderInterface->isFresh()
8315992 Added missing @throws in Twig_LoaderInterface

Discussion
----------

Added missing @throws in Twig_LoaderInterface

Based on Twig_Loader_Chain implementation, this seems to be the possible exception that can be thrown by loaders.

12 years agoAdded @return doc on Twig_LoaderInterface->isFresh()
andrerom [Sat, 10 Mar 2012 15:58:52 +0000]
Added @return doc on Twig_LoaderInterface->isFresh()

12 years agoAdded missing @throws in Twig_LoaderInterface
andrerom [Sat, 10 Mar 2012 15:39:02 +0000]
Added missing @throws in Twig_LoaderInterface

Based on Twig_Loader_Chain implementation, this seems to be the possible exceptions that can be thrown by loaders.

12 years agofixed typo
Fabien Potencier [Thu, 1 Mar 2012 14:11:11 +0000]
fixed typo

12 years agofixed previous commit
Fabien Potencier [Wed, 29 Feb 2012 21:20:34 +0000]
fixed previous commit

12 years agomerged branch robo47/docs-install-via-composer (PR #648)
Fabien Potencier [Wed, 29 Feb 2012 21:18:38 +0000]
merged branch robo47/docs-install-via-composer (PR #648)

Commits
-------

7153ff6 Installing twig via composer

Discussion
----------

Installing twig via composer

Installing twig via composer

12 years agobumped Twig version
Fabien Potencier [Wed, 29 Feb 2012 21:10:49 +0000]
bumped Twig version

12 years agofixed typo in the doc
Fabien Potencier [Wed, 29 Feb 2012 21:02:48 +0000]
fixed typo in the doc

12 years agofixed typos in the doc
Fabien Potencier [Wed, 29 Feb 2012 21:00:20 +0000]
fixed typos in the doc

12 years agoprepared the 1.6.1 release
Fabien Potencier [Wed, 29 Feb 2012 20:46:35 +0000]
prepared the 1.6.1 release

12 years agofixed Twig C extension
Fabien Potencier [Tue, 28 Feb 2012 22:09:42 +0000]
fixed Twig C extension

12 years agofixed CS
Fabien Potencier [Tue, 28 Feb 2012 20:47:03 +0000]
fixed CS

12 years agoadded some unit tests
Fabien Potencier [Tue, 28 Feb 2012 20:36:27 +0000]
added some unit tests

12 years agoInstalling twig via composer
Benjamin Steininger [Mon, 27 Feb 2012 10:10:31 +0000]
Installing twig via composer

12 years agoadded some more information on the spaceless tag documentation
Fabien Potencier [Tue, 21 Feb 2012 10:44:24 +0000]
added some more information on the spaceless tag documentation

12 years agoadded some information about Twig_Template::getContext() and made it final
Fabien Potencier [Sun, 19 Feb 2012 10:09:47 +0000]
added some information about Twig_Template::getContext() and made it final

12 years agoRevert "merged branch m0ppers/master (PR #611)"
Fabien Potencier [Sun, 19 Feb 2012 10:03:22 +0000]
Revert "merged branch m0ppers/master (PR #611)"

This reverts commit 5f4e6d7a0eae30791e9e1433c90b157bcb5dc8f7, reversing
changes made to a61d42084caeadc4cc8c3bd1caded87631c12636.

12 years agoupdated CHANGELOG
Fabien Potencier [Sat, 18 Feb 2012 09:35:52 +0000]
updated CHANGELOG

12 years agomerged branch m0ppers/master (PR #611)
Fabien Potencier [Sat, 18 Feb 2012 09:18:43 +0000]
merged branch m0ppers/master (PR #611)

Commits
-------

71449e8 Remove optimization (covered by Optimization VAR_ACCESS anyway)

Discussion
----------

Remove optimization (covered by Optimization VAR_ACCESS anyway)

I have an own template class implementing getContext() and this one drove me completely mad after a twig upgrade.

After compilation the resulting templates have:

isset($context['bla'])

vs.

$this->getContext('bla')

Changing the Name Node however didn't have any effect and i saw that due to the optimizations by the SetTemp class twig doesn't even reach the Name Node. In fact SetTemp has the isset optimization hardcoded (which is ok).

I could simply fix my issue by setting optimizations to -9 (all optimizations except VAR_ACCESS). However the issue will reappear immediately when using PHP 5.4. Please remove the isset stuff from the non optimized node and let the optimization handler handle it (which i would disable in my case)

---------------------------------------------------------------------------

by m0ppers at 2012-01-24T17:42:07Z

some hackish script to test what i mean

<?php
require 'lib/Twig/Autoloader.php';
Twig_Autoloader::register();

abstract class Harxtemplate extends Twig_Template
{
    public function getContext($context, $item, $ignoreStrictCheck = false)
    {
        if ($item == "hans") {
            return "hund";
        } else {
            return parent::getContext($context, $item, $ignorStrictCheck);
        }
    }
}

$template = <<<EOT
Der {{ hans }} hat hund
{% if hans %}
hund
{% endif %}
EOT;

$loader = new Twig_Loader_String();
$options = array('base_template_class' => 'Harxtemplate',
//                 'strict_variables' => true, // doesn't work
                 'debug' => true,
                 'optimizations' => -1, // 0 => works
                );
$twig = new Twig_Environment($loader, $options);

echo $twig->render($template);

12 years agoclarified documentation (closes #602)
Fabien Potencier [Sat, 18 Feb 2012 09:05:10 +0000]
clarified documentation (closes #602)

12 years agomerged branch mvrhov/patch-1 (PR #603)
Fabien Potencier [Sat, 18 Feb 2012 09:00:52 +0000]
merged branch mvrhov/patch-1 (PR #603)

Commits
-------

95f8af7 cast $name to a string as $name can in fact be an object implementing __toString function as true in my case.

Discussion
----------

cast $name to a string ...

... because $name can be an object implementing __toString. I have Enum type implementation which implements __toString. Without the cast I'm getting the following exception:
"An exception has been thrown during the rendering of a template ("Warning: Illegal offset type in isset or empty in... "

---------------------------------------------------------------------------

by fabpot at 2012-01-18T08:43:23Z

From where do you call these methods? from your code? from a template?

---------------------------------------------------------------------------

by mvrhov at 2012-01-18T11:17:55Z

I put the enum object as variable into the template and then based on the enum value I display a block.

12 years agoupdated CHANGELOG
Fabien Potencier [Sat, 18 Feb 2012 08:55:38 +0000]
updated CHANGELOG