Commit Graph

214 Commits

Author SHA1 Message Date
Robbie Averill
9724d1dd73 API Convert JSON methods are now deprecated, use json_encode or decode instead 2018-10-28 21:13:47 +00:00
Sam Minnée
e72fc9e3d0 FIX DataObject singleton creation (#8516)
Ensure DataObject instances are aware they are singletons so functions like populateDefaults() can be skipped. (fixes #4878)

Correctly applies https://github.com/silverstripe/silverstripe-framework/pull/7850 to the 4.x line
This has already been fixed in 3.x
2018-10-25 11:42:45 +13:00
Robbie Averill
311fd62d95 FIX getExtensionInstance can return null, add a case to handle that 2018-10-19 18:12:13 +02:00
Robbie Averill
516267ed46
Merge pull request #8470 from kinglozzer/suf-fixing-the-suffix
FIX: Re-instate missing SS_DATABASE_SUFFIX functionality (fixes #7966)
2018-10-12 23:11:54 +02:00
Loz Calver
ee21c42011 FIX: Re-instate missing SS_DATABASE_SUFFIX functionality (fixes #7966) 2018-10-11 10:50:56 +01:00
Robbie Averill
56d5621934 FIX Flush extra_methods statics between test runs 2018-10-09 13:22:54 +02:00
Guy Marriott
5970fc2417
FIX Moving test to correct director 2018-10-03 10:47:17 +13:00
Robbie Averill
f842ee2eec Update deprecation PHPDocs to be PSR-5 compliant
See: https://github.com/php-fig/fig-standards/blob/master/proposed/phpdoc-tags.md#55-deprecated
2018-09-28 10:49:14 +02:00
Ingo Schommer
25759ffc5f NEW Show file path on PHP parser exceptions 2018-09-28 08:58:47 +12:00
Daniel Hensby
bd2abc7a12
Merge branch '4.1' into 4.2 2018-07-13 16:44:23 +01:00
Daniel Hensby
ec9281ee02
Merge branch '4.0' into 4.1 2018-07-13 16:42:00 +01:00
Daniel Hensby
4acec33562
FIX Fixed bug in config merging priorities so that config values set by extensions are now least important instead of most important 2018-07-12 00:55:39 +01:00
Damian Mooyman
6c985c4e5f
Merge remote-tracking branch 'origin/4.1' into 4 2018-06-13 11:25:20 +12:00
Daniel Hensby
ce58890baf
Merge branch '4.0' into 4.1 2018-06-11 09:27:42 +01:00
Damian Mooyman
c070e989c4
BUG Safely handle empty injector factory responses
Fixes issue with ImageBackendFactory returning null and breaking injector
2018-06-06 16:45:16 +12:00
Robbie Averill
ea16e28aa7 Merge branch '4.1' into 4 2018-05-28 18:33:56 +12:00
Robbie Averill
3a537bc745 Merge branch 'heads/4.0.4' into 4.0 2018-05-28 17:50:07 +12:00
Robbie Averill
722202fef4 Merge remote-tracking branch 'origin/4.0.4' into 4.1.1
# Conflicts:
  #	src/Control/Director.php
2018-05-24 15:41:11 +12:00
Damian Mooyman
d935140a95 [ss-2018-005] Prevent unauthenticated isDev / isTest being allowed 2018-05-14 17:03:39 +12:00
Damian Mooyman
7351caf487
API Allow non-DataExtension Extensions to decorate dataobject 2018-03-23 12:22:27 +13:00
Damian Mooyman
26402f3bb5
ENHANCEMENT Enable request handlers to be extended 2018-03-21 15:50:31 +13:00
Christopher Joe
1cdbab45c9 Added comment about array_merge() not working 2018-02-27 09:52:42 +13:00
Aaron Carlino
0863bac29a Update getVariables to return a copy of globals rather than including the reference in an array merge 2018-02-27 09:52:36 +13:00
Christopher Joe
f650c92436 Added comment about array_merge() not working 2018-02-26 12:24:02 +13:00
Aaron Carlino
d91648dd6e Update getVariables to return a copy of globals rather than including the reference in an array merge 2018-02-23 16:25:41 +13:00
Damian Mooyman
e809c0fd62
Merge remote-tracking branch 'origin/4.0' into 4.1 2018-02-15 09:27:51 +13:00
Damian Mooyman
0b7cf80331
BUG Fix incorrect convert slashes argument 2018-02-13 16:33:35 +13:00
zanderwar
9ce21338a3 ENHANCEMENT composer.json missing notice 2018-02-13 09:03:01 +10:00
Daniel Hensby
62057befdb
Merge branch '4.0' into 4 2018-02-06 10:08:17 +00:00
Daniel Hensby
28ca11dd7e
FIX Regex range identifier correctly escaped 2018-02-05 15:17:20 +00:00
Damian Mooyman
e359948eb3
Merge remote-tracking branch 'origin/4.0' into 4
# Conflicts:
#	src/Core/CoreKernel.php
2018-02-05 17:52:38 +13:00
Damian Mooyman
cb30e09130
Update reference from $databaseConfig to .env 2018-02-01 12:58:55 +13:00
Raissa North
cd6faac7a9
FIX Fix typo in error message 2018-01-30 15:48:42 +13:00
Damian Mooyman
a3c52f901a
Merge remote-tracking branch 'origin/4.0' into 4
# Conflicts:
#	src/Core/TempFolder.php
#	src/ORM/DataObject.php
#	src/View/ThemeResourceLoader.php
#	src/includes/constants.php
#	tests/php/Control/SimpleResourceURLGeneratorTest.php
#	tests/php/Forms/HTMLEditor/HTMLEditorFieldTest.php
#	tests/php/View/RequirementsTest.php
2018-01-22 14:57:05 +13:00
Daniel Hensby
db610aaf3b
Fixing string concat CS issues 2018-01-16 18:39:30 +00:00
Daniel Hensby
e4b936c7c7
Merge branch '4.0' into 4 2018-01-12 14:40:33 +00:00
Damian Mooyman
8d077203d4 API Implement support for public/ webroot folder (#7741)
* API Implement support for public/ webroot folder

* Bugfixes and refactor based on feedback
2018-01-12 16:25:02 +13:00
Daniel Hensby
7d66342496
FIX Allow extension instances to be overridden by injector 2018-01-12 00:38:15 +00:00
Damian Mooyman
529e341dbc
Merge pull request #7699 from open-sausages/pulls/4/html-in-security-msg
ENHANCEMENT Allow html in security failure message
2017-12-14 14:30:09 +13:00
Damian Mooyman
1c8576cee7
Linting cleanup 2017-12-14 14:18:41 +13:00
Damian Mooyman
8b1b9f022b
Fix linting issues 2017-12-14 13:50:52 +13:00
Damian Mooyman
ee27329728 Minor linting / style updates 2017-12-11 16:46:59 +13:00
Aaron Carlino
86458941be Refactor to MemberCacheFlusher 2017-12-11 16:46:59 +13:00
Aaron Carlino
eecb9f64d3 Add new InheritedPermissionFlusher extension, CacheFlusher service 2017-12-11 16:46:59 +13:00
Daniel Hensby
eb55c27124
Merge branch '4.0' into 4 2017-12-05 12:14:22 +00:00
Damian Mooyman
9666222637
BUG Fix _configure_database.php being ignored
Fixes #7590
2017-11-29 12:01:24 +13:00
Daniel Hensby
6d5cbe0a0e
Merge branch '4.0' into 4 2017-11-25 17:19:31 +00:00
Andrew Aitken-Fincham
3620e57b5b check for apc.enable_cli when running from CLI 2017-11-22 08:50:20 +00:00
Damian Mooyman
420041f2b6
Merge remote-tracking branch 'origin/4.0' into 4 2017-11-03 17:04:44 +13:00
Reece Alexander
9c836c0d3d
Added missing @deprecated tags
This PR just adds a couple of @deprecated tags where they were missing, where IDE's like PHPStorm immediately alert the user that it's deprecated.
2017-11-02 20:28:01 +13:00
Damian Mooyman
0b3ed7ff15
Merge 4.0 -> 4 2017-11-02 16:52:05 +13:00
Damian Mooyman
df50c8da03
BUG Use parse_str in place of guzzle library
Fixes #7540
2017-11-02 11:52:39 +13:00
Damian Mooyman
29af6dbafd
Merge remote-tracking branch 'origin/4.0' into 4 2017-10-25 16:59:19 +13:00
Damian Mooyman
ff992de231 Merge pull request #7493 from kinglozzer/require-me-some-isolation
FIX: Use isolated scope when requiring files for module activation
2017-10-24 14:19:37 +13:00
Sam Minnee
4bec62ba51 Merge branch '4.0' into 4 2017-10-20 18:45:16 +13:00
Damian Mooyman
b9cb1e69e6 BUG Replace phpdotenv with thread-safe replacement 2017-10-20 18:43:11 +13:00
Loz Calver
bb9501797f FIX: Use isolated scope when requiring files for module activation 2017-10-20 09:11:00 +13:00
Chris Joe
cafa3fc29a BUG switch to trigger_error() when a resource is not found (#7468)
* BUG switch to `trigger_error()` when a resource is not found rather than throw an exception

* Add unit test for module url failing
2017-10-16 16:11:42 +13:00
Loz Calver
7afab3043d Merge pull request #7461 from open-sausages/pulls/4.0/fix-icon-urls
Fix references to resource paths / urls
2017-10-10 09:08:08 +01:00
Damian Mooyman
6a55dcfc16
Fix references to resource paths / urls 2017-10-10 16:51:47 +13:00
Damian Mooyman
11b2c74533
ENHANCEMENT Improve upgrade experience for beta3 -> beta4 upgrade 2017-10-10 15:27:41 +13:00
Ingo Schommer
4a94dfe55b Remove "url" query param reliance, use index.php
See https://github.com/silverstripe/silverstripe-framework/issues/7430
2017-10-09 17:21:43 +13:00
Christopher Joe
3560a0418d rename TEMP_FOLDER to TEMP_PATH 2017-10-09 12:41:34 +13:00
Damian Mooyman
313f8c7ac3 Merge pull request #7439 from creative-commoners/pulls/4.0/trim-injector-names
FIX Trim whitespace off names in Injector
2017-10-09 12:31:11 +13:00
Robbie Averill
3bdc8c7e65 FIX Trim whitespace off names in Injector 2017-10-06 15:52:44 +13:00
Damian Mooyman
b996e2c22c
API Extensions are now stateless
ENHANCEMENT Injector now lazy-loads services more intelligently
2017-10-06 14:53:44 +13:00
Damian Mooyman
4dbd727206
BUG Config updates are now applied after middleware not before 2017-10-05 12:30:21 +13:00
Damian Mooyman
1b6d0144c5
BUG Fix resource mapping for TinyMCE
API add ModuleResource::getRelativeResource()
2017-10-04 17:44:04 +13:00
Damian Mooyman
f4a77649a4
Fix requirements tests 2017-10-03 14:21:24 +13:00
Damian Mooyman
5ffe64f024
Fix tinymce plugins 2017-10-03 14:08:24 +13:00
Damian Mooyman
f64c95b33c
Add new ModuleResourceLoader helper 2017-10-03 12:20:49 +13:00
Christopher Joe
26f7f0482c Fix typos in FilesystemCacheFactory 2017-10-02 15:10:44 +13:00
Damian Mooyman
fa57deeba4
ENHANCEMENT Allow vendor modules with url rewriting
API Introduce ModuleResource feature
2017-09-29 10:28:38 +13:00
Damian Mooyman
da27948777 Merge pull request #7373 from dhensby/pulls/4/rate-limit-security
NEW RateLimiter for Security controller
2017-09-28 11:01:37 +13:00
Daniel Hensby
51ac297c59
Fixes to ratelimiter and new features 2017-09-27 14:44:38 +01:00
Damian Mooyman
261302a121
ENHANCEMENT Don't force all class names to lowercase
Speeds up autoloading because composer psr-4 works properly now
2017-09-20 15:14:55 +12:00
Daniel Hensby
04b1bb816e
NEW RateLimiter for Security controller 2017-09-14 14:23:36 +01:00
Damian Mooyman
45998444d7
Remove redundant gc_collect_cycles()
Cleanup dead references to DataObject::$destroyed
Fixes #7326
2017-09-04 09:23:07 +12:00
Damian Mooyman
47fced8880
BUG Capture errors after a reload token redirect to login url
Fixes #7289
2017-08-24 12:55:04 +12:00
Damian Mooyman
9b4d689bb2 Lazy-load custom methods and extensions on CustomMethods and Extensible traits
No longer need constructExtensions()
2017-08-22 15:47:24 +12:00
Damian Mooyman
fc2a603915 BUG Don’t construct extension_instances on objects that never use them 2017-08-22 15:47:24 +12:00
Damian Mooyman
90ba24733d Reduce unnecessary calls to Extension and DataExtension configs 2017-08-22 15:47:24 +12:00
Sam Minnee
c50cd34df6 FIX: Prevent repeated lookup of obj.dependencies by Injector
This unnecessary repeated call to Injector slows down the construction
of frequently instantiated classes.

On admin/pages, this reduced execution from 1.67s to 1.56s, and it
reduced the impact of having an extension added to DBField by 33%
(from 100ms to 67ms)
2017-08-22 12:12:32 +12:00
Damian Mooyman
0681567102 BUG Fix flushing on live mode (#7241)
* BUG Fix flushing on live mode
Fixes #7217

* Clarify injector service documentation
2017-08-07 13:53:23 +12:00
Aaron Carlino
c9cf7b1d75 Use ClassInfo::hasMethod instead of method_exists()
This allows for setters to exist in extension instances.
2017-07-30 22:43:28 +12:00
Damian Mooyman
6fd6a38949
BUG Fix unassigned nestedFrom
Fixes #7194
2017-07-21 08:58:19 +12:00
Daniel Hensby
d7095c2213
Merge branch '3' into 4 2017-07-18 14:19:16 +01:00
Robbie Averill
ba9ad55274 FIX Base URL defaults to a slash in currentURL if not defined already 2017-07-18 21:56:21 +12:00
Robbie Averill
1a38feff22 FIX Version provider uses early bound config getter, move LeftAndMain config to admin module 2017-07-16 16:49:10 +12:00
Daniel Hensby
7fd316d405
Merge branch 3 into 4 2017-07-15 13:20:37 +01:00
Loz Calver
aafd2a573d Update Convert::memstring2bytes() logic 2017-07-14 09:16:05 +01:00
Damian Mooyman
5fcd7d084f
BUG Fix registered shutdown function not handling responsibility for outputting redirection response 2017-07-13 15:32:39 +12:00
Aaron Carlino
2b266276c2 API Implement new module sorting pattern 2017-07-13 10:27:27 +12:00
Loz Calver
e3e16fe835 Cache ClassInfo::class_name() calls 2017-07-05 15:15:08 +01:00
Damian Mooyman
b2f3b218a3
BUG Fix incorrect $database autoinit
BUG Fix missing $request in Installer bootstrapping
2017-06-28 17:59:16 +12:00
Sam Minnee
741166e369 API: ModulePath template global now takes any composer package name.
NEW: URL generation now handled by pluggable ResourceURLGenerator service.
NEW: Requirements::javascript() and Requirements::css() now support “vendor/package:resource” syntax.

These changes will make it easier to us to fully abstract:
 - file access from module location
 - file location from URL generation

API: ModulePath template global now takes any composer package name.
NEW: URL generation now handled by pluggable ResourceURLGenerator service.
NEW: Requirements::javascript() and Requirements::css() now support “vendor/package:resource” syntax.

These changes will make it easier to us to fully abstract:
 - file access from module location
 - file location from URL generation
2017-06-28 16:59:28 +12:00
Will Rossiter
ecb5d85de0 Support empty SS_DATABASE_PREFIX 2017-06-28 08:18:21 +12:00
Damian Mooyman
f699650b5f Update based on feedback 2017-06-27 13:32:39 +12:00
Damian Mooyman
d20ab50f9d API Stronger Injector service unregistration
BUG Fix up test regressions
FIX director references to request object
API Move all middlewares to common namespace
API Implement RequestHandlerMiddlewareAdapter
ENHANCEMENT Improve IP address parsing
Fix up PHPDoc / psr2 linting
BUG Fix property parsing in TrustedProxyMiddleware
BUG Fix Director::is_https()
2017-06-27 13:32:39 +12:00
Sam Minnee
e92c63c545 API: Remove $sid argument of Session::start()
NEW: Pass HTTPRequest to session
NEW: Pass HTTPReuqest optionally to Director statics

The session handler now expects to operate on a specific
HTTPRequest object.
2017-06-27 13:32:39 +12:00