Commit graph

269 commits

Author SHA1 Message Date
Kijin Sung
f58c3e2db2 Fix #2215 missing lang code (also see #2131) 2023-11-24 14:43:50 +09:00
Kijin Sung
ad5c3c0f5c Fix duplicate condition when joined subquery contains <conditions>
https://xetown.com/questions/1795994
2023-11-21 22:13:17 +09:00
Kijin Sung
e72336c90c Fix #2203 'this' in lang directive will refer to current module 2023-10-31 21:59:33 +09:00
Kijin Sung
c42d059594 Add deprecation warnings if syntax like <--#include-->, <!--%import--> is used in template v2 2023-10-23 14:17:30 +09:00
Kijin Sung
a5d6a76cf4 Add parent reference to Template instances 2023-10-22 00:46:58 +09:00
Kijin Sung
fefd3dd895 Fix path normalization problem 2023-10-21 14:19:20 +09:00
Kijin Sung
6085b82d19 Inherit parent vars and add own vars when a template is included with vars from another template that has vars; add unit tests for vars inheritance 2023-10-21 13:52:02 +09:00
Kijin Sung
5b47151440 Change desktop and mobile directives to reference static Context method 2023-10-21 13:35:24 +09:00
Kijin Sung
129a0403e4 Throw warning if <block>, cond, loop is used in template v2 2023-10-20 21:17:38 +09:00
Kijin Sung
a284a1b072 Also apply scope conversion to short PHP tags 2023-10-20 21:03:31 +09:00
Kijin Sung
55d91b9dc7 Implement unload directive 2023-10-20 20:56:14 +09:00
Kijin Sung
325c2c2b13 Rename internal list and add useful comment 2023-10-18 21:19:04 +09:00
Kijin Sung
3c401bbc20 Add pushOnce and prependOnce helper directives 2023-10-18 21:16:39 +09:00
Kijin Sung
6b2b3f0dc2 Add dd and url helper directives 2023-10-18 20:57:52 +09:00
Kijin Sung
c487c13864 Apply context-aware escape more generally; add can/cannot/canany and env directives 2023-10-18 12:09:45 +09:00
Kijin Sung
7c727c0fcb Cache the regexp for template v2 directives 2023-10-18 02:28:38 +09:00
Kijin Sung
c19d71847f Implement template v2 feature of pushing to stack 2023-10-18 02:23:18 +09:00
Kijin Sung
7b518ab747 Template v2 directives must match at word boundary 2023-10-18 01:44:36 +09:00
Kijin Sung
0f14ad8ccf Add error checking directive and unit tests for it 2023-10-18 00:29:32 +09:00
Kijin Sung
d4654eb5cf Remove member directive, and extend auth directive to look at grants 2023-10-18 00:12:40 +09:00
Kijin Sung
e044e11c5f Convert include code into a method of Template class 2023-10-18 00:01:11 +09:00
Kijin Sung
012dbb9ab7 Convert resource loading code into a method of Template class 2023-10-17 23:29:55 +09:00
Kijin Sung
55cafc5c33 Convert class and style builder into a method of Template class 2023-10-17 22:44:27 +09:00
Kijin Sung
82b9107ca0 Add support for fragment in template v2 2023-10-17 22:25:53 +09:00
Kijin Sung
a6afa3a61d Add loop variable and dump directive; reorganize template v2 unit tests 2023-10-17 20:12:22 +09:00
Kijin Sung
fe804163bf Add JSON_HEX_TAG and JSON_HEX_QUOT to JSON output filter 2023-10-17 19:00:00 +09:00
Kijin Sung
3c15589fb8 Allow loops and conditions to appear anywhere in a line 2023-10-17 03:28:20 +09:00
Kijin Sung
66980edab1 Allow use, include, and load directives to appear anywhere in a line 2023-10-17 03:06:40 +09:00
Kijin Sung
11ef5dcfff Add support for Blade-style @class and @style directives 2023-10-17 02:45:22 +09:00
Kijin Sung
668feea9e9 Add support for Blade-style @each include loop 2023-10-17 02:26:06 +09:00
Kijin Sung
7fd916a81e Fix miscellaneous issues with template parser v2 2023-10-16 23:55:47 +09:00
Kijin Sung
f2fabab239 Fix conversion of paths relative to the Rhymix install directory 2023-10-16 21:15:52 +09:00
Kijin Sung
91ab93c03a Fix {!! !!} unescaped echos not being recognized in template v2 2023-10-16 13:15:17 +09:00
Kijin Sung
1b9e2f58b7 Add unit tests for <load> @load syntax of template v2 2023-10-16 00:50:20 +09:00
Kijin Sung
3e1587c2ac Fix variable scope and absolute path handling in include syntax of template v2 2023-10-16 00:30:56 +09:00
Kijin Sung
881df020aa Fix ^/ path not working in <include> 2023-10-15 23:42:32 +09:00
Kijin Sung
0a2af3a1e7 Support legacy "cond" attribute in <include> 2023-10-15 23:35:06 +09:00
Kijin Sung
6893e08553 Prepend code in postprocessing, not preprocessing 2023-10-15 23:26:04 +09:00
Kijin Sung
a362f27f62 Force write the version number in template parser v2 2023-10-15 23:03:03 +09:00
Kijin Sung
02639e9aa0 Use the same extension when including template file in v2 2023-10-15 02:55:53 +09:00
Kijin Sung
44e1ed32a2 Add better comments to template parsers 2023-10-15 02:30:54 +09:00
Kijin Sung
b5cf446375 Properly escape and unescape Blade-style directives 2023-10-15 01:44:56 +09:00
Kijin Sung
a640306123 Move unit test for TemplateParser v1 2023-10-15 00:50:26 +09:00
Kijin Sung
f13e3d633b Remove lang from exception list in TemplateParser_v1 2023-10-15 00:24:12 +09:00
Kijin Sung
f0554137ec Initial implementation of Template Parser v2 2023-10-14 23:36:33 +09:00
Kijin Sung
c777b59afb Merge branch 'develop' into template-v2 2023-10-10 14:23:39 +09:00
Kijin Sung
639ad7ad06 Fix passing null to strtoupper() 2023-10-06 22:53:27 +09:00
Kijin Sung
f589737dcf Fix column name "unknown" in error message for insert/update queries 2023-10-04 20:57:54 +09:00
Kijin Sung
3505d49de6 Separate common Template class from Template v1 parser 2023-10-03 23:27:02 +09:00
Kijin Sung
c01ba1d3cf Clean up missing or inconsistent types in remainder of parser classes 2023-10-03 16:35:20 +09:00