Commit Graph

178 Commits

Author SHA1 Message Date
behrooz shabani (everplays)
e5c03d3b01
properly pop the context for fn and inverse callbacks
fixes #160.
2016-11-16 21:52:19 +01:00
Behrooz Shabani
fe4e79ed83 Merge pull request #137 from stevejordan/if_unless_depth_correction
Updates if and unless helper behavior for handlebars 4
2016-07-31 12:16:29 +02:00
hamidr
86ebab9dba Merge remote-tracking branch 'origin/develop' 2016-07-31 14:30:53 +04:30
hfhchan
07d8542e3b Fix syntax error 2016-07-30 01:18:50 +08:00
hfhchan
402f970b77 Don't re-escape variables that are already safe 2016-07-28 18:06:50 +08:00
Maria Sormanova
3a25d9bf17 added versioning to prevent breaking existing projects 2016-07-26 10:43:18 +02:00
Maria Sormanova
51f8a3056b Implementation of TTL for caching 2016-07-25 16:14:39 +02:00
Steve Jordan
909df9ab58 Updates if and unless helper behavior for handlebars 4
handlebars.js 4.0.0 changed the depth behaviour when using the if and
unless conditionals - https://github.com/wycats/handlebars.js/issues/1028

This commit changes the handlebars.php helpers to match.
2015-10-26 11:48:28 +00:00
Christian Blanquera
08ad533e81 case for the right String Class
Not sure where i got StringWrapper from. We now don’t need to case for
this in the `registerHelper()` method
2015-09-26 20:03:52 +08:00
Christian Blanquera
08f4328f9d phpcs
files i made no changes to, but got cs errors on.. not sure why. Just
let me know what the protocol is for this one.
2015-09-21 20:23:20 +08:00
Christian Blanquera
0070ad79c0 phpcs approval
“oh the spacing!”
2015-09-21 18:49:08 +08:00
Christian Blanquera
33c76738b4 Added registerHelper
I did it in such a way where I’m not messing with the other methods or
classes to get what I wanted.

I realize that there maybe no need for the child context, however when
trying a permutation of

```
'fn' => function($data = null) use($context, $template) {
    $context->push($context->last());

    if(is_array($data)) {
   		$context->push($data);
   	}

    $template->setStopToken('else');
    $buffer = $template->render($context);
    $template->setStopToken(false);
    $template->discard($context);

    if(is_array($data)) {
   		$context->pop();
   	}

    $context->pop();

    return $buffer;
}
```
It didn’t parse the `../../../test` correctly in the test. I figured
that the ChildContext is a nice pattern overall and doesn’t interfere
with the rest of the package anyways…
2015-09-21 17:50:00 +08:00
Dmitriy Simushev
33ec96a1b4 Replace String class with StringWrapper one 2015-08-06 10:45:25 +00:00
Dmitriy Simushev
912cc286fa Fix exception message in Context::_findVariableInContext
Fixes #129
2015-07-14 18:03:01 +00:00
Dmitriy Simushev
10dbe6442e Merge pull request #127 from thormeier/partial-support-and-error-reporting
Fix handling of named arguments in partials
2015-06-30 21:02:40 +03:00
Pascal Thormeier
83199fbd65 Remove unnecessary if statement 2015-06-30 10:35:58 +02:00
Pascal Thormeier
2e1b67208d Fix handling of named arguments in partials
Also fix tests that weren't even executed
2015-06-29 17:16:59 +02:00
Dmitriy Simushev
f3067cb41a Merge pull request #121 from mmontagna/master
Fixes a incompatibility with handlebars.js
2015-06-23 23:46:56 +03:00
Pascal Thormeier
6ef6b7bc08 Remove last var_export statements
Got overlooked while refactoring
2015-06-19 11:43:58 +02:00
Pascal Thormeier
15af0f8e52 Remove var_export where unnecessary 2015-06-18 22:56:00 +02:00
Pascal Thormeier
9ebacc28ae Use Arguments class instead of regex 2015-06-17 23:57:12 +02:00
Pascal Thormeier
e1956be453 CS fixes 2015-06-17 16:11:50 +02:00
Pascal Thormeier
0111689f47 Fix and add tests
Also use var_export in exceptions in case array/object/etc get passed
2015-06-17 15:50:10 +02:00
Pascal Thormeier
a4b6f9627a Enable argument support in partials
Create own context if there are arguments and take values from context
where partial was rendered in. Also allow strings with `=` inside
arguments.
2015-06-17 14:19:57 +02:00
Pascal Thormeier
0a908fb6a1 Improve error reporting in case of exception
Make Exception messages more verbose
2015-06-17 14:18:32 +02:00
Martin Zeman
23076d68e5 Added support for class with __toString method as a context variable. 2015-06-07 23:09:14 +02:00
Marco Montagna
083458d839 Don't enforce strict search for variables in block exprs 2015-06-03 14:33:22 -07:00
Dmitriy Simushev
824ae885c6 Fix escaping of tags with multiple slashes 2015-06-01 15:15:52 +00:00
Dmitriy Simushev
04f963a21f Fix slashes mess in Tokenizer
See #113 for details
2015-05-19 13:22:15 +00:00
Dave Stein
6c9aa9573c FilesystemLoader: Updates to be more extendable
Directory setting can be overridden
The way a directory is sanitized can be overridden
The way options are handled can be overridden
2015-05-17 16:41:12 -04:00
Szijarto Tamas
bf327cdb24 APC cache improvement
- add cache key prefix
 - use success param at fetch
2015-05-11 21:35:14 +02:00
Thomas Seven
b65be0e1c5 Implementation + tests for the @root special variable like in handlebars-v2.0.0.js
fixed travis complaints
2015-03-10 13:42:10 +01:00
fzerorubigd
382938b82e
fix phpcs and also add mustache.php copyright notice 2015-01-29 22:28:38 +03:30
fzerorubigd
ccaa5b1d21 Merge branch 'master' of https://github.com/mai7star/handlebars.php 2015-01-29 22:20:16 +03:30
fzerorubigd
639c8e4b27
fix php cs also fixes #105 2015-01-29 22:18:26 +03:30
Thomas Seven
8eb24bd9e4 Fixed indentation and comments in the fix for #105 2015-01-29 12:06:21 +01:00
Thomas Seven
84b3031a44 Make the fix for #105 more elegant, using $template->parseArguments() 2015-01-29 11:59:14 +01:00
Thomas Seven
2b3d450849 Fixes and Tests for #105 2015-01-29 01:32:41 +01:00
mai7star
4bf343d122 add InlineLoader Class (import from Mustache PHP) 2015-01-26 13:54:22 +09:00
Jeff Turcotte
69d4efe259 Added custom template class option 2014-12-16 18:35:16 -05:00
Dmitriy Simushev
e8ce548b86 Add ability to merge Helpers collections 2014-12-12 12:25:21 +00:00
David Cramer
666e44beb5 Update Template.php
Update Template.php

added test case
2014-11-18 07:36:26 +02:00
Jeff Turcotte
9eb7f952d2 Added getCurrentTokenTree to get a token's tree within a helper 2014-11-10 15:05:34 -05:00
Dmitriy Simushev
19c78888ce Pass an instance of \Handlebars\Arguments to a helper 2014-09-20 08:59:45 +00:00
Dmitriy Simushev
e863d7af80 Make subexpressions play nice with context 2014-09-15 09:19:21 +00:00
Dmitriy Simushev
934566765e Treat integer helper arguments as literals 2014-09-10 12:31:23 +00:00
Dmitriy Simushev
618ec54490 Fix arguments parsing for "0" string 2014-09-08 13:23:19 +00:00
Dmitriy Simushev
2ebc5bfda2 Add special variables detection 2014-09-02 13:08:20 +00:00
Dmitriy Simushev
17dc20203b Improve arguments parsing 2014-09-02 09:34:38 +00:00
fzerorubigd
de08528c2c
add extra context layer for if and unless. (Toi match with handlebars.js) 2014-08-29 11:17:31 +04:30