Commit Graph

2571 Commits

Author SHA1 Message Date
Dylan Wagstaff
8c3ba81052
FIX PHP 8.1 support in MySQLiConnector::query errors (#10570)
* FIX PHP 8.1 support in MySQLiConnector::query errors

The default error reporting mode in PHP 8.1 has changed from using
errors reported on the connection handle to throwing
mysqli_sql_exception. query() makes no allowance for this, and
functions up the call stack expect to catch
Silverstripe\ORM\Connect\DatabaseException instead - resulting in the
MySQLi exception going all the way up to halt the system.

We can use a try, catch, and finally to retain backwards compatibility,
no matter which setting (e.g. PHP version default) someone has enabled.

* Move MySQLConnector test skip call into setUp()

As review feedback; marking the test as skipped in a private function
obfuscated where the call was happening and made it harder to skimread
the tests. Moving this into a setUp function makes it obvious the check
is run before each test case, and skipped if necessary.
2023-07-07 15:56:31 +12:00
Guy Sartorelli
62bd560d0e
Merge pull request #10819 from andrewandante/FEAT_add_only_individual_users_inherited_permission
NEW add OnlyTheseMembers Inherited Permission type
2023-07-07 09:37:59 +12:00
Andrew Paxley
a03d0fdf68 FIX ListboxField entwine submissions 2023-07-06 17:51:16 +12:00
Steve Boyd
730a03d3f6
Merge pull request #10855 from creative-commoners/pulls/5/fix-eagerloading-performance
FIX Resolve problems with eagerloading performance
2023-07-06 17:04:02 +12:00
Guy Sartorelli
7af0fe245c
FIX Resolve problems with eagerloading performance 2023-07-06 14:33:01 +12:00
Sabina Talipova
a57adfc778
MNT Deprecation notice if param has wrong type (#10853) 2023-07-05 17:21:30 +12:00
Guy Sartorelli
612f7e734f
FIX Allow repeated iterations of predicated query result (#10857) 2023-07-05 16:25:58 +12:00
Andrew Paxley
4b22ab4dfe API deprecate InheritedPermissions::getJoinTable 2023-07-05 16:22:17 +12:00
Andrew Paxley
34019426dd NEW add OnlyTheseMembers Inherited Permission type 2023-07-05 16:22:17 +12:00
Guy Sartorelli
85e503d012
ENH Refactor eagerloading fetch into separate methods
It is hard to work with the current structure - having each relation
type in its own method makes it way easier to see where my concerns
start and end with a given relation.

This also reduces the chance of variable bleed-over, where the value in
a variable in the first loop (in the same or other relation type) could
bleed into the next iteration of the loop.
2023-07-05 12:48:58 +12:00
Guy Sartorelli
66f2df2571
Merge pull request #10842 from andrewandante/ENH_add_listboxfield_react_component_schema
NEW ListboxField react field schema
2023-07-05 10:17:54 +12:00
Thomas Portelange
6fa71bbf51
ENH avoid multiple calls to records->count() In PermissionCheckboxSetField (#10839)
these calls are not cached and lead to duplicate queries

Co-authored-by: Michal Kleiner <mk@011.nz>
2023-07-04 13:34:12 +12:00
Andrew Paxley
e1d10a0b4c NEW ListboxField react field schema 2023-07-04 11:28:01 +12:00
Thomas Portelange
a019b34fac
csfix 2023-06-28 10:56:22 +02:00
Thomas Portelange
a969180433
add anonymize 2023-06-28 10:25:19 +02:00
Guy Sartorelli
60ca35c02d
Merge pull request #10841 from creative-commoners/pulls/5/optimise-get-schema
ENH Cache DataObject::getSchema()
2023-06-28 15:08:53 +12:00
Steve Boyd
46d7930489 ENH Cache DataObject::getSchema() 2023-06-28 11:11:43 +12:00
Steve Boyd
ed07303703 ENH Cache $item->ID for eager loading 2023-06-27 19:46:29 +12:00
Sabina Talipova
bb5378e177
FIX Gridfiled pagination missing after search (#10828) 2023-06-26 12:11:33 +12:00
Thomas Portelange
9391e696bb
use Member::class 2023-06-23 09:35:34 +02:00
Thomas Portelange
2e73b5eeca
Use cached query
Fixes https://github.com/silverstripe/silverstripe-framework/issues/10833
2023-06-22 11:04:26 +02:00
Guy Sartorelli
0c40cc9b3d
Merge branch '5.0' into 5 2023-06-22 11:19:59 +12:00
Guy Sartorelli
fb7d2256f1
Merge branch '4.13' into 5.0 2023-06-22 11:18:46 +12:00
Sabina Talipova
ad9df97626 FIX LastPage method returns true if TotalPages equals 0 2023-06-22 10:50:41 +12:00
Steve Boyd
e9358c88af DOC Update eagerLoad() docblock 2023-06-21 14:12:55 +12:00
Guy Sartorelli
d27bf3d85c
Merge pull request #10798 from beerbohmdo/fix/empty-template-arguments
FIX Passing 0 as first method argument breaks template
2023-06-15 11:04:08 +12:00
Steve Boyd
9a279f654d Merge branch '5.0' into 5 2023-06-14 16:09:58 +12:00
Steve Boyd
cfda51a48e Merge branch '4' into 5.0 2023-06-14 16:09:34 +12:00
josephlewisnz
b6a3e3a951
added an additional filter to remove empty array items (#10803)
* ENH Added filter to remove empty/null from Path::join parts

This is to ensure null values are removed and trim() deprecated warnings are not thrown
Fixes #10802

* FIX revert public signature

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>

---------

Co-authored-by: Steve Boyd <emteknetnz@gmail.com>
2023-06-14 15:46:23 +12:00
Guy Sartorelli
6fd7694cbc
Merge pull request #10816 from creative-commoners/pulls/4.13/updatebool
FIX Show correct default value
2023-06-14 13:32:09 +12:00
Steve Boyd
35a8d79f62 FIX Show correct default value 2023-06-14 11:25:34 +12:00
Steve Boyd
dbefcef440 Merge branch '5.0' into 5 2023-06-14 11:10:44 +12:00
Steve Boyd
f4e0c768bd FIX Handle __TRAIT__ in i18nTextCollector 2023-06-13 10:11:12 +12:00
Steve Boyd
8cee451d41 Merge branch '5.0' into 5 2023-06-12 14:08:03 +12:00
Steve Boyd
cf77f06544 Merge branch '4' into 5.0 2023-06-12 14:07:24 +12:00
Sabina Talipova
f88b7c3c2b
FIX Duplicate page keeps original pages canView and canEdit permission (#10806) 2023-06-12 13:29:06 +12:00
dominik
face94371e FIX Passing 0 as first argument breaks template
Replace !empty with explicit string test
Added test for falseish first parameter arguments
2023-06-09 08:55:20 +02:00
Nicolaas / Sunny Side Up
675ba90280
FIX fix issue where member without valid email can not be saved
It is possible to have a member record without a valid email address. In this case, you can not save Member as it throws an error (email is tried being sent without a valid email address).
2023-06-09 15:29:54 +12:00
Bram de Leeuw
33c62033fe
Fix translation key for DataObject.GENERALSEARCH (#10805)
* MNT Use gha-dispatch-ci

* Update DataObject.php

Fix typo in GENERALSEARCH localisation

* Update en.yml

remove unnecessary localisation line

* Update nl.yml

remove unnecessary localisation line

* Update eo.yml

remove unnecessary localisation line

* Update ci.yml
2023-06-09 13:44:00 +12:00
Sabina Talipova
02aa80ffd2
Merge pull request #10783 from creative-commoners/pulls/5/eager-load
NEW ORM eager loading
2023-06-09 09:52:28 +12:00
kevingroeger
30cd4047df
Adjust isEnabled method (#10801)
* Adjust isEnabled method to use config values if present, adjust dev.yml to have a default_enabled key, add is_enabled as a private property for deprecation in cms 6

* remove default_enabled flag again, adjust comments as suggested, remove method signature from isEnabled, fix typo, adjust logic and add fallback value for isEnabled as true

* adjust isEnabled method, change static:: to ->enabled as the property is not actually static

---------

Co-authored-by: Kevin Gröger <k.groeger@headtrip.eu>
2023-06-08 12:22:14 +12:00
Steve Boyd
95eceb8d9e FIX Ensure dir exists before scanning it 2023-06-07 17:35:13 +12:00
Steve Boyd
246735101a NEW ORM eager loading 2023-06-07 14:59:02 +12:00
Steve Boyd
e1ffa18db6 Merge branch '5.0' into 5 2023-05-31 14:26:21 +12:00
Bernard Hamlin
e98f0d45af
Use ::create instead of new in GridFieldDetailForm_ItemRequest (#10791)
Updates instances of `new X` to `X::create` so that Silverstripe classes will respect dependency injection
2023-05-25 11:42:43 +12:00
Steve Boyd
f54bbc50f0 Merge branch '5.0' into 5 2023-05-22 12:46:02 +12:00
Steve Boyd
8237c73b86 Merge branch '4' into 5.0 2023-05-22 12:45:29 +12:00
Guy Sartorelli
c4b8d9a246
FIX Add back missing SSL support for database connections (#10784) 2023-05-22 12:40:59 +12:00
Michal Kleiner
f815a9cf2a
FIX Provide correct replacement suggestion in deprecation message 2023-05-21 20:12:52 +12:00
Steve Boyd
696fe79dd6 FIX Use OR conjuctive in filterAny aggregate queries 2023-05-17 11:55:56 +12:00
Guy Sartorelli
1f45607977
Merge branch '4' into 5.0 2023-05-17 10:57:32 +12:00
Guy Sartorelli
58813d5075
Merge pull request #10776 from creative-commoners/pulls/5.0/acpu-memcached-factories
FIX Get ApcuCacheFactory and MemcachedCacheFactory working again
2023-05-17 10:53:26 +12:00
Guy Sartorelli
2afb01463b
FIX Don't redirect admin URLs regardless of trailing slash (#10781) 2023-05-17 10:49:34 +12:00
Steve Boyd
ef3b91417a FIX Get ApcuCacheFactory and MemcachedCacheFactory working again 2023-05-17 10:18:28 +12:00
Mohamed Alsharaf
b51bc427aa API Remove deprecated template vars 2023-05-16 15:04:42 +12:00
Sabina Talipova
0ab36f6ae1 UPD Add support new TinyMC cs_CZ.js 2023-05-16 11:56:05 +12:00
Guy Sartorelli
234e229098
Merge pull request #9976 from kinglozzer/9975-default-form-action
FIX: Form::defaultAction() didn't work if actions were in CompositeFields (fixes #9975)
2023-05-09 21:45:24 +12:00
Florian Thoma
04266f77cc Update i18nTextCollector to collect strings also from themes 2023-05-09 11:56:12 +10:00
Guy Sartorelli
01808a8316
FIX Don't assume searchableFields() exists in gridfield filter 2023-05-09 10:00:07 +12:00
Guy Sartorelli
66f0fc4814
Merge pull request #10688 from xini/fix-i18ntextcollector-orm-4
ENH Add loading of ORM field labels to i18nTextCollector
2023-05-08 15:49:44 +12:00
Guy Sartorelli
37937b7123
Merge pull request #10751 from xini/patch-7
make Group use tri-state can* extension hooks, fixes #9580
2023-05-08 11:22:35 +12:00
Guy Sartorelli
1c2e1f86a5
Merge pull request #10763 from sunnysideup/patch-25
MINOR: faster checking if record exists
2023-05-05 13:12:06 +12:00
Steve Boyd
0978a43871 Merge branch '5.0' into 5 2023-05-04 13:25:49 +12:00
Guy Sartorelli
6296c06f3a
Merge pull request #10735 from elliot-sawyer/feature/change-search-filter-treedropdownfield
NEW: Allow different search filters on TreeDropdownField
2023-05-02 08:30:51 +12:00
Nicolaas / Sunny Side Up
9660652fbc
MINOR: faster checking if record exists
Rather than using a loop through each object, we just filter for it in the SQL query.  This is likely to speed up the code and also make it more legible.
2023-04-28 09:40:12 +12:00
Guy Sartorelli
7efde6bf37
Merge branch '4' into 5.0 2023-04-27 14:43:38 +12:00
Guy Sartorelli
73ef035bd8
API Add AbsoluteLink method to RequestHandler (#10749)
This is a method that is commonly implemented on controllers, but
it really doesn't need to be.
2023-04-26 18:25:01 +12:00
Guy Sartorelli
908b6f2006
Merge branch '4.12' into 4.13 2023-04-26 11:44:54 +12:00
Sabina Talipova
c2733a3108
Merge pull request #10760 from creative-commoners/pulls/4.12/absoluteurl-parsing
Escaped double slash is absolute URL
2023-04-26 11:30:41 +12:00
Guy Sartorelli
1a5bb4cbec
[CVE-2023-22729] Escaped double slash is absolute URL 2023-04-26 09:49:59 +12:00
Guy Sartorelli
fd5d8217e8
[CVE-2023-22728] Check canView before printing from GridField 2023-04-26 09:45:34 +12:00
Guy Sartorelli
bdcb57ec2b
NEW Add a cascading theme version of $resourceURL 2023-04-12 17:29:59 +12:00
Florian Thoma
c0722308af add loading of automatic ORM field labels to i18nTextCollector 2023-04-12 11:11:26 +10:00
Florian Thoma
41c4b4ee02 make Group use tri-state can* extension hooks, fixes #9580 2023-04-11 10:18:21 +10:00
Steve Boyd
3d03a93b8f Merge branch '4.12' into 4.13 2023-04-11 10:55:17 +12:00
Dylan Wagstaff
92061a3ba6
FIX stabilise typed APIs (#10740)
Since 4.12 the use of typehints and return types has caused issues with
values fetched directly from config without validation. This has lead to
upgrade woes in a minor version (#10721) with no immediate recourse
other than manual system intervention.

To use types, we should ensure types, leaving a stable API that won't
error on a bad value - or should give a thoughtful and directive error
message if so.

Issue #10721 summary:
SessionMiddleware runs before FlushMiddleware
SessionMiddleware causes a PHP fatal error passing `null` to a `string`
parameter.
`null` comes from config, because default string value doesn't exist. We
need flush for this - but system execution never makes it that far.
2023-04-11 10:52:41 +12:00
Florian Thoma
cd946b6c80
Group visibility for SITETREE_GRANT_ACCESS permissions
Make groups visible if member has SITETREE_GRANT_ACCESS permissions, otherwise the dropdown for selecting the group is empty
2023-04-05 16:33:41 +10:00
Guy Sartorelli
2c874a1e94
ENH Exclude a list of models for checking and repairs (#10746) 2023-04-04 14:22:00 +12:00
Steve Boyd
63c2460f72 Merge branch '4' into 5.0 2023-03-30 13:20:03 +13:00
elliot sawyer
280354df08 NEW: Allow different search filters on TreeDropdownField 2023-03-27 18:50:54 +13:00
Steve Boyd
84273b8045 FIX Remove legacy filter icon 2023-03-27 17:57:02 +13:00
Steve Boyd
0f40cc38ec FIX Respect searchable_fields 2023-03-23 10:57:03 +13:00
Steve Boyd
41bb35f3f3 FIX Reduce array method calls 2023-03-22 11:06:23 +13:00
Steve Boyd
b4f330d734 API Remove configurability of attributes 2023-03-21 16:38:05 +13:00
zemiacsik
d60af9d16e
FIX property_exists() parameters mixup
ensure that property parameter is a string
2023-03-14 08:42:22 +01:00
zemiacsik
5b8d61b55b
FIX property_exists() parameters mixup
property_exists() has first parameter "object_or_class" and second is a property to check
2023-03-13 13:51:48 +01:00
Guy Sartorelli
a4929a171e
Merge pull request #10697 from creative-commoners/pulls/4/nicer-deprecations
ENH Improve deprecation logging
2023-03-09 14:39:51 +13:00
Steve Boyd
6d239d0b88 API Remove deprecated code 2023-03-06 14:06:02 +13:00
Guy Sartorelli
046befc4ba
ENH Improve deprecation logging 2023-03-06 13:25:44 +13:00
Guy Sartorelli
128b327c6d
API Add method to check if env var is set 2023-03-06 11:49:22 +13:00
Steve Boyd
5dd6e3f8f1 MNT Remove old deprecation warnings 2023-03-03 10:34:10 +13:00
Steve Boyd
f6d8d27c89 Merge branch '4' into 5.0 2023-03-02 16:02:34 +13:00
Steve Boyd
8b148bf293 Merge branch '4.12' into 4 2023-03-02 15:37:03 +13:00
Guy Sartorelli
66561ccb49
FIX Correctly deprecation Sources.module_priority (#10711)
This config was deprecated back in #7154 and hasn't been used since
2023-03-02 11:05:35 +13:00
Maxime Rainville
403f924d22
BUG Update RelatedDataService to properly escape ClassName in Polymorphic relations (#10713) 2023-03-02 09:56:40 +13:00
Florian Thoma
6585d499f5 FIX Convert slashes in paths when getting list of classes for file/folder
This is to support the mechanism working on all operating systems where Windows may produce a mix of forward and backward slashes in some paths.
For working with the files it may not be a problem, but for exact string comparison the path delimiters need to be unified.
2023-03-01 20:32:19 +13:00
Guy Sartorelli
e3a94b9d10
FIX Ensure getters and setters are respected (#10708) 2023-03-01 15:19:07 +13:00
Guy Sartorelli
277e97a84f
Merge pull request #10709 from creative-commoners/pulls/4/deprecated-args
ENH Updated deprecation warning message
2023-03-01 14:19:18 +13:00
Guy Sartorelli
58ca426f11
Merge branch '4.12' into 4 2023-03-01 12:54:30 +13:00
Sabina Talipova
05674adf51 ENH Updated deprecation warning message 2023-03-01 12:39:42 +13:00