Commit Graph

248 Commits

Author SHA1 Message Date
Steve Boyd
9c453abf89 API Update deprecations 2022-10-13 14:49:15 +13:00
Steve Boyd
2991901660 ENH Update deprecation messages 2022-10-13 14:05:49 +13:00
Steve Boyd
9f541b9a04 MNT Remove deprecation from private method 2022-10-13 14:05:49 +13:00
Steve Boyd
cc49036616 ENH Standardise deprecation messages 2022-10-13 14:05:49 +13:00
Guy Sartorelli
5e16b29699
Merge branch '4' into 5 2022-09-29 09:43:31 +13:00
Steve Boyd
fc78763d20
Merge pull request #10497 from creative-commoners/pulls/5/rescue-master-template-enhancements
Rescue master branch PRs: Template enhancements
2022-09-15 16:55:18 +12:00
Sam Minnee
9c7ecb1f79
Further work on Loz’ solution 2022-09-15 13:29:29 +12:00
Loz Calver
850482138b
Proposed solution for caching template generator counts 2022-09-15 13:29:29 +12:00
Sam Minnee
6ef5785fc5
FIX: pre-cache loop content within SSViewer.
SSViewer iterates on Iterators that it receives twice: first to get the
total number of items, then to actually render each item.

This necessitates a rewind. In order to make more use of generators,
which are not rewindable, I’d like to remove the need for a rewind.

I’ve done this by caching the content of the iterator as an array
within SSViewer_Scope.

Although this means a bit of memory usage, there are no cases in which
code will get to this point without iterating on all items, which would
use the memory anyway. It would only create onerous impacts in cases
where you are iterating on very long iterators, which would mean you’re
rendering a very large page anyway, and probably have other performance
issues.
2022-09-15 13:29:00 +12:00
Steve Boyd
5111b56ac9 ENH Add PHP 8.1 safe null-coalescing operators to peg file 2022-09-15 12:59:05 +12:00
Guy Sartorelli
a605093656
Merge branch '4' into 5 2022-09-09 16:48:20 +12:00
Guy Sartorelli
c4eadcd074
Merge branch '4.11' into 4 2022-09-09 16:47:49 +12:00
Guy Sartorelli
5b2820e8ac
MNT Fix unit tests 2022-09-09 13:38:55 +12:00
Loz Calver
47337782a2
API: <% loop %> and <% with %> only ever create one new scope level 2022-09-09 11:23:38 +12:00
Loz Calver
3a6c48cddb
FIX: template parser erroring on strings partially matching true/false/null 2022-09-09 11:16:58 +12:00
Loz Calver
d6e8229352
FIX: Fix type preservation in <% include %> arguments 2022-09-09 11:16:55 +12:00
Loz Calver
4339e4d02c
NEW: Add support for native nulls as template lookup arguments 2022-09-09 11:15:09 +12:00
Loz Calver
4cda967eae
API: Preserve variable types in template lookup args 2022-09-09 11:11:30 +12:00
Guy Sartorelli
06b13e0fa6
Revert "Merge pull request #10450 from creative-commoners/pulls/5/rescue-master-generators" (#10483)
This reverts commit 9edf3a5ca6, reversing
changes made to 934fafd29d.
2022-09-02 10:58:37 +12:00
Guy Sartorelli
89a0f59ef1
FIX Remove accidental deprecation warnings.
These were erroneously added via a merge-up from 4 to 5.
2022-08-31 13:50:33 +12:00
Guy Sartorelli
715415d5c8
Merge branch '4' into 5 2022-08-31 13:37:25 +12:00
Steve Boyd
9edf3a5ca6
Merge pull request #10450 from creative-commoners/pulls/5/rescue-master-generators
API rescue master-branch PR: Use Generators for ORM
2022-08-29 19:03:47 +12:00
Guy Sartorelli
6d885ab894
FIX Normalise casing before casting fields 2022-08-25 17:36:06 +12:00
Viktor Szépe
94d1ac8d99
ENH Various changes via static analysis tooling 2022-08-24 12:14:32 +12:00
Guy Sartorelli
3284c06703
API Remove PHPUnit 5.7 compatability hacks 2022-08-12 10:52:56 +12:00
Daniel Hensby
595835bb15
Merge pull request #6518 from sminnee/generators
Use Generators for ORM Query, Map, ArrayList
2022-08-11 16:29:32 +12:00
Guy Sartorelli
a7461a8ffa
API Deprecate PHPUnit 5.7 compatability hacks 2022-08-10 16:21:05 +12:00
Sergey Shevchenko
4994844729 refactor: variable naming in Requirements_Backend::resolveCSSReferences() 2022-08-05 21:27:36 +12:00
Sergey Shevchenko
ebb1601d5d fix: misc suggested changes
* disable resolve_relative_css_refs by default
* variable naming
* using proper path joiner
* test comment typo
2022-08-05 15:35:26 +12:00
Sergey Shevchenko
bc9a323418 fix: more tests, improved paths detection, readability 2022-08-05 15:35:26 +12:00
Sergey Shevchenko
9854e48cfc Update Requirements_Backend.php 2022-08-05 15:35:26 +12:00
Sergey Shevchenko
a2906cd02c ENH Requirements_Backend::resolveCSSReferences(): Tests, config, doc, safety.
* Changed to ignore absolute paths altogether
* Improve tests
* Added config flag
* Changed docs
2022-08-05 15:35:26 +12:00
Sergey Shevchenko
c5e68dd2c0 ENH: resolve relative references in CSS files when combining 2022-08-05 15:35:26 +12:00
Steve Boyd
dfa0571d6d
Merge branch '4' into patch-1 2022-05-18 11:29:18 +12:00
Steve Boyd
511b3bb060 ENH PHP 8.1 compatibility 2022-04-14 13:12:59 +12:00
Steve Boyd
814c5b2fd0 ENH Fix deprecation issues for PHP 8.1 compatibility 2022-04-06 11:34:34 +12:00
Steve Boyd
9add508718 NEW Use embed/embed v4 2022-03-24 10:27:15 +13:00
Tobias Bossert
be65db7207
removed impossible method name contraint 2022-03-20 18:42:39 +01:00
Lukas
552cf5944d
MNT Fix various typos with codespell (#10177) 2021-12-13 21:05:33 +13:00
Maxime Rainville
e0197191b8 Rename "Ignore CI Configs" to "Ignored CI Config" 2021-11-22 11:02:27 +13:00
Maxime Rainville
7c3fddfc8a Anwser Peer review feedback 2021-11-18 23:16:03 +13:00
Maxime Rainville
cbc4593ab4 ENH Don't index test from PHPUNit 5.7 module wdon using PHPUnit 9.5 2021-11-18 21:45:53 +13:00
Maxime Rainville
b43d68f9b4 API Add an AttributesHTML trait 2021-11-18 15:31:01 +13:00
Bram de Leeuw
ecb233012d
Fix error when executing method SSViewer::templates() when $subTemplates is still null
Without the fix this causes the framework to throw a 500 error:
`ERROR [Warning]: array_merge(): Expected parameter 2 to be an array, null given`

I noticed the error while doing a search with the `GridFieldAddExistingAutocompleter`. The error probably gets supressed on live environments.
2021-08-05 12:10:06 +02:00
Steve Boyd
0b979dc345 FIX Cache duplicate embeds separately 2021-06-29 12:17:07 +12:00
Maxime Rainville
2c54a3fd2f Merge branch '4.7' into 4 2021-03-01 20:37:04 +13:00
Maxime Rainville
028c4fdaa1 BUG Tweak shortcode parser so it properly parse empty attributes 2021-02-25 15:18:16 +13:00
Ingo Schommer
fe2027e486 PHPDoc in PEG parser
Required for https://github.com/silverstripe/silverstripe-framework/pull/9808
2021-01-14 11:07:58 +13:00
William Desportes
c932d7e7fb
Fix the phpdoc blocks 2020-12-21 22:23:23 +01:00
Garion Herman
256bd53557 DEP Remove unused league/flysystem requirement
This has been shifted to silverstripe/assets instead.
2020-10-13 12:15:56 +13:00
Aaron Carlino
544b137328 Merge branch '4.6' into 4 2020-10-05 14:03:05 +13:00
Robbie Averill
27bd5d12e3 ENH Replace E_USER_ERROR errors with exceptions 2020-09-24 23:51:21 -07:00
Dan Hensby
ae0ece2b02
Merge pull request #9665 from creative-commoners/pulls/4/php8-fqcn-token 2020-09-18 20:44:22 +01:00
Loz Calver
bca0f28b62
FIX: Make template parser error on mismatched brackets (fixes #8845) 2020-09-15 16:54:24 +01:00
Loz Calver
bfc3b4b468
FIX: Stop empty comments breaking the template parser (fixes #8742) 2020-09-15 16:54:22 +01:00
Sam Minnee
85252ca05e FIX: Ensure Embed options are always array
This maintains support for embed 3.0.0.
2020-09-15 17:40:42 +12:00
Steve Boyd
4c3a5441b2 Merge branch '4.6' into 4 2020-09-09 13:58:35 +12:00
Dylan Grech
efdd359485 Fixed spelling and changed to shorthand array 2020-08-23 14:31:06 +02:00
Dylan Grech
a380cc7444
Added exception for enumerated array (#9644)
\SilverStripe\View\ArrayData::__construct() throws error when passed an enumerated array #9644
2020-08-22 13:48:59 +02:00
Steve Boyd
7304acb171 NEW Cache embed shortcodes 2020-08-12 12:14:05 +12:00
Steve Boyd
8287fad24d Merge branch '4.6' into 4 2020-07-29 11:38:49 +12:00
Steve Boyd
52d38a8b4a
Merge pull request #9615 from creative-commoners/pulls/4.6/embed-iframe-dimensions
FIX Set iframe dimension attributes specified in shortcode
2020-07-28 11:04:24 +12:00
Steve Boyd
f0936d4c1e FIX Set iframe dimension attributes specified in shortcode 2020-07-27 18:04:03 +12:00
Garion Herman
e2443763a6
Merge pull request #9064 from creative-commoners/pulls/4.5/filter-interface
NEW Add FilterInterface and retrofit into URLSegmentFilter
2020-07-27 11:18:23 +12:00
rdigitalg
56f15b1c14 FIX Try Catch for embeded media (#9424)
* Try Catch for embeded media
* added missing namespaces, translatable message INVALID_URL
* generate tag only once
* catch after closing bracket
* space after comma
* Update src/View/Shortcodes/EmbedShortcodeProvider.php
* Linting
Co-authored-by: ivan@digitalgarage.ro <ivan@digitalgarage.ro>
Co-authored-by: Steve Boyd <emteknetnz@gmail.com>
Co-authored-by: Loz Calver <kinglozzer@gmail.com>
2020-07-17 19:38:01 +12:00
rdigitalg
3bf89b2d13
FIX Try Catch for embeded media (#9424)
* Try Catch for embeded media
* added missing namespaces, translatable message INVALID_URL
* generate tag only once
* catch after closing bracket
* space after comma
* Update src/View/Shortcodes/EmbedShortcodeProvider.php
* Linting
Co-authored-by: ivan@digitalgarage.ro <ivan@digitalgarage.ro>
Co-authored-by: Steve Boyd <emteknetnz@gmail.com>
Co-authored-by: Loz Calver <kinglozzer@gmail.com>
2020-07-03 13:04:54 +12:00
Andrew Aitken-Fincham
09dca5fa9e
Update deprecation notice to 5.0.0
Co-authored-by: Robbie Averill <robbie@averill.co.nz>
2020-06-18 21:40:20 +01:00
Andrew Aitken-Fincham
34f660a311
Update src/View/SSViewer_BasicIteratorSupport.php
Co-authored-by: Robbie Averill <robbie@averill.co.nz>
2020-06-18 21:39:32 +01:00
Andrew Aitken-Fincham
7c95237e8d update template docs, move deprecation to 5.0, capitalise Is 2020-06-15 12:25:13 +01:00
Andrew Aitken-Fincham
2e0e04f701 fix deprecation notices 2020-06-12 01:38:24 +01:00
Andrew Aitken-Fincham
bac826bc06 deprecate First and Last in order to disambiguate for array lists 2020-06-11 23:45:42 +01:00
Daniel Hensby
080ce157ce
Fix various typos in comments 2020-05-16 10:34:53 +01:00
Michal Kleiner
21129b1624
Use short array syntax across the framework's codebase 2020-05-16 10:34:45 +01:00
Daniel Hensby
237b2d5f74
Convert array delcarations to short array syntax 2020-04-20 18:58:09 +01:00
Aaron Carlino
7ad5f1bb14 BUGFIX: Ensure diff arrays are one-dimensional 2020-03-17 15:57:28 +13:00
Serge Latyntcev
559f660e0e Merge branch '4.4' into 4 2019-11-13 15:40:34 +13:00
Michal Kleiner
4f614423ad Ensure Requirements_Backend respects explicit false for async/defer 2019-10-30 09:59:57 +13:00
Robbie Averill
4d5d7a34a1 NEW Add FilterInterface and retrofit into URLSegmentFilter
There are other filters in the core SilverStripe product, e.g. FileNameFilter in silverstripe/assets
which would benefit from having a common filter interface. This retrofits one for URLSegmentFilter
in framework. I have not added any PHP 7 syntax in method signatures to avoid breaking backwards
compatibility.
2019-10-04 10:51:24 +13:00
Aaron Carlino
b002ef1171 Merge branch '4.4' into 4 2019-09-24 17:26:50 +12:00
Garion Herman
0d27f32cc9 FIX Add 'legal empty attributes' to allow empty alt values on imgs
In some situations, a caption is used in place of a value in the alt
attribute, and in others an image may be cosmetic and not in need of an
alt attribute value (though the alt attribute must still be rendered in
this case).
2019-09-24 11:44:12 +12:00
Robbie Averill
aa6b244db9 Merge branch '4.4' into 4 2019-09-13 18:11:46 -07:00
Robbie Averill
592ab6abc1 Merge branch '4.3' into 4.4 2019-09-13 18:11:34 -07:00
Robbie Averill
066ce8e01c Merge branch '4.2' into 4.3
# Conflicts:
 #	src/View/ThemeResourceLoader.php
2019-09-13 18:10:37 -07:00
Loz Calver
759601741d NEW: Use templates to render embed shortcodes (closes #8762) 2019-08-21 09:32:16 +01:00
Chee Wai
cb91f5fa06 NEW Added SRI support for Requirements::css, Requirements::javascript (#9139) 2019-07-21 09:51:22 +02:00
Loz Calver
b1551a687d Catch Path::join() exceptions in findTemplate() (fixes #9084) 2019-06-21 09:40:18 +01:00
Guy Marriott
bb5b610636
Merge branch '4.4' into 4 2019-06-17 08:58:50 +12:00
3Dgoo
7e12bee86a
Requirements_Backend.php API documentation fix
The API documentation for Requirements_Backend is currently broken:
https://api.silverstripe.org/4/SilverStripe/View/Requirements_Backend.html#method_customScript

This is because there are unescaped start tags in the function documentation. 

This is the same as the recent #9060 PR, but for the Requirements_Backend class this time.

This fix changes the tags to be escaped.
2019-06-15 10:37:49 +09:30
3Dgoo
8dcfa53109
Requirements.php API documentation fix
The API documentation for Requirements is currently broken:
https://api.silverstripe.org/4/SilverStripe/View/Requirements.html#method_customScript

This is because there are unescaped start tags in the function documentation. 

This fix changes the tags to be escaped.
2019-06-13 09:21:12 +09:30
Jarkko Linnanvirta
9184056b5e URLSegmentFilter: Remove : characters from url segments when multibyte characters are allowed. 2019-06-02 11:43:51 +03:00
Robbie Averill
3e90fdf42f Merge branch '4.3' into 4 2019-02-19 08:41:05 +07:00
Robbie Averill
ed74549c4f Merge branch '4.2' into 4.3 2019-02-19 08:39:59 +07:00
Robbie Averill
79e44b42fa Merge branch '4.1' into 4.2 2019-02-19 08:37:07 +07:00
Robbie Averill
cb7f15a681 Merge branch '4.0' into 4.1 2019-02-19 08:36:41 +07:00
mikeyc7m
0491ca03cf FIX prevent death on urls with querystrings & anchors 2019-01-29 13:15:14 +02:00
Maxime Rainville
a589bcb092
Merge pull request #8729 from emteknetnz/bugfix/htmlvalue-getcontent
Ensure document is not falsey before attempting to clone it
2019-01-29 09:11:04 +13:00
Loz Calver
785e9f123f Replace self:: with static:: for shortcode methods 2019-01-28 14:51:34 +00:00
Steve Boyd
7ea218aa1c Ensure document is not falsey before attempting to clone it 2019-01-16 16:24:45 +13:00
Maxime Rainville
13486ca80e MINOR Add unit test for Requirements::add_i18n_javascript() 2019-01-16 10:36:53 +13:00
Maxime Rainville
c6214b855f MINOR Update add_i18n_javascript to load lowercase-dash language files 2019-01-15 15:04:39 +13:00