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
Sam Minnee
e855622890
NEW: Replace FlushRequestFilter with FlushMiddleware
2017-06-27 13:32:39 +12:00
Sam Minnee
26b9bf11ed
NEW: Allow “%$” prefix in Injector::get()
...
Injector::get() looks up services by name. In yaml config it can make
things clearer to prefix service names by %$, which is how they must
be prefixed when referencing nested services within service definitions.
This change means that any other system referencing services will
support an optional prefix without needing to specifically code support
in themselves.
2017-06-27 13:32:39 +12:00
Damian Mooyman
17c8e913bc
Merge pull request #7053 from creative-commoners/pulls/4.0/restore-extension-constructor
...
NEW restored Extension::__construct()
2017-06-26 21:39:55 +12:00
Franco Springveldt
d3d426bdfc
NEW restored Extension::__construct()
2017-06-26 17:34:43 +12:00
Sam Minnee
3c35d25a64
FIX: Allow DB::setConfig() in _config.php
...
This wasn’t working because the database was being validated before
_config.php was loaed.
This is how the installer sets config so this is an important fix.
2017-06-26 14:04:20 +12:00
Damian Mooyman
3873e4ba00
API Refactor bootstrap, request handling
...
See https://github.com/silverstripe/silverstripe-framework/pull/7037
and https://github.com/silverstripe/silverstripe-framework/issues/6681
Squashed commit of the following:
commit 8f65e56532
Author: Ingo Schommer <me@chillu.com>
Date: Thu Jun 22 22:25:50 2017 +1200
Fixed upgrade guide spelling
commit 76f95944fa
Author: Damian Mooyman <damian@silverstripe.com>
Date: Thu Jun 22 16:38:34 2017 +1200
BUG Fix non-test class manifest including sapphiretest / functionaltest
commit 9379834cb4
Author: Damian Mooyman <damian@silverstripe.com>
Date: Thu Jun 22 15:50:47 2017 +1200
BUG Fix nesting bug in Kernel
commit 188ce35d82
Author: Damian Mooyman <damian@silverstripe.com>
Date: Thu Jun 22 15:14:51 2017 +1200
BUG fix db bootstrapping issues
commit 7ed4660e7a
Author: Damian Mooyman <damian@silverstripe.com>
Date: Thu Jun 22 14:49:07 2017 +1200
BUG Fix issue in DetailedErrorFormatter
commit 738f50c497
Author: Damian Mooyman <damian@silverstripe.com>
Date: Thu Jun 22 11:49:19 2017 +1200
Upgrading notes on mysite/_config.php
commit 6279d28e5e
Author: Damian Mooyman <damian@silverstripe.com>
Date: Thu Jun 22 11:43:28 2017 +1200
Update developer documentation
commit 5c90d53a84
Author: Damian Mooyman <damian@silverstripe.com>
Date: Thu Jun 22 10:48:44 2017 +1200
Update installer to not use global databaseConfig
commit f9b2ba4755
Author: Damian Mooyman <damian@silverstripe.com>
Date: Wed Jun 21 21:04:39 2017 +1200
Fix behat issues
commit 5b59a912b6
Author: Damian Mooyman <damian@silverstripe.com>
Date: Wed Jun 21 17:07:11 2017 +1200
Move HTTPApplication to SilverStripe\Control namespace
commit e2c4a18f63
Author: Damian Mooyman <damian@silverstripe.com>
Date: Wed Jun 21 16:29:03 2017 +1200
More documentation
Fix up remaining tests
Refactor temp DB into TempDatabase class so it’s available outside of unit tests.
commit 5d235e64f3
Author: Damian Mooyman <damian@silverstripe.com>
Date: Wed Jun 21 12:13:15 2017 +1200
API HTTPRequestBuilder::createFromEnvironment() now cleans up live globals
BUG Fix issue with SSViewer
Fix Security / View tests
commit d88d4ed4e4
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 20 16:39:43 2017 +1200
API Refactor AppKernel into CoreKernel
commit f7946aec33
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 20 16:00:40 2017 +1200
Docs and minor cleanup
commit 12bd31f936
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 20 15:34:34 2017 +1200
API Remove OutputMiddleware
API Move environment / global / ini management into Environment class
API Move getTempFolder into TempFolder class
API Implement HTTPRequestBuilder / CLIRequestBuilder
BUG Restore SS_ALLOWED_HOSTS check in original location
API CoreKernel now requires $basePath to be passed in
API Refactor installer.php to use application to bootstrap
API move memstring conversion globals to Convert
BUG Fix error in CoreKernel nesting not un-nesting itself properly.
commit bba9791146
Author: Damian Mooyman <damian@silverstripe.com>
Date: Mon Jun 19 18:07:53 2017 +1200
API Create HTTPMiddleware and standardise middleware for request handling
commit 2a10c2397b
Author: Damian Mooyman <damian@silverstripe.com>
Date: Mon Jun 19 17:42:42 2017 +1200
Fixed ORM tests
commit d75a8d1d93
Author: Damian Mooyman <damian@silverstripe.com>
Date: Mon Jun 19 17:15:07 2017 +1200
FIx i18n tests
commit 06364af3c3
Author: Damian Mooyman <damian@silverstripe.com>
Date: Mon Jun 19 16:59:34 2017 +1200
Fix controller namespace
Move states to sub namespace
commit 2a278e2953
Author: Damian Mooyman <damian@silverstripe.com>
Date: Mon Jun 19 12:49:45 2017 +1200
Fix forms namespace
commit b65c21241b
Author: Damian Mooyman <damian@silverstripe.com>
Date: Thu Jun 15 18:56:48 2017 +1200
Update API usages
commit d1d4375c95
Author: Damian Mooyman <damian@silverstripe.com>
Date: Thu Jun 15 18:41:44 2017 +1200
API Refactor $flush into HTPPApplication
API Enforce health check in Controller::pushCurrent()
API Better global backup / restore
Updated Director::test() to use new API
commit b220534f06
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 13 22:05:57 2017 +1200
Move app nesting to a test state helper
commit 603704165c
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 13 21:46:04 2017 +1200
Restore kernel stack to fix multi-level nesting
commit 2f6336a15b
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 13 17:23:21 2017 +1200
API Implement kernel nesting
commit fc7188da7d
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 13 15:43:13 2017 +1200
Fix core tests
commit a0ae723514
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 13 15:23:52 2017 +1200
Fix manifest tests
commit ca03395251
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 13 15:00:00 2017 +1200
API Move extension management into test state
commit c66d433977
Author: Damian Mooyman <damian@silverstripe.com>
Date: Tue Jun 13 14:10:59 2017 +1200
API Refactor SapphireTest state management into SapphireTestState
API Remove Injector::unregisterAllObjects()
API Remove FakeController
commit f26ae75c6e
Author: Damian Mooyman <damian@silverstripe.com>
Date: Mon Jun 12 18:04:34 2017 +1200
Implement basic CLI application object
commit 001d559662
Author: Damian Mooyman <damian@silverstripe.com>
Date: Mon Jun 12 17:39:38 2017 +1200
Remove references to SapphireTest::is_running_test()
Upgrade various code
commit de079c041d
Author: Damian Mooyman <damian@silverstripe.com>
Date: Wed Jun 7 18:07:33 2017 +1200
API Implement APP object
API Refactor of Session
2017-06-22 22:50:45 +12:00
Christopher Joe
7178caf4a9
Enhancement show the path which threw the error
2017-06-12 10:08:12 +12:00
Andrew Aitken-Fincham
8f44b8f0ba
move trusted_proxy_ips below .env loader
2017-05-30 12:18:47 +01:00
Damian Mooyman
29f450b1e1
Revert injector type hint to Injector
2017-05-25 11:06:48 +12:00
Damian Mooyman
fba8e2c245
API Remove Object class
...
API DataObjectSchema::manyManyComponent() return array is now associative array
2017-05-23 13:50:35 +12:00
Damian Mooyman
7e2f8d1f2d
Merge pull request #6951 from sminnee/fix-2494
...
FIX: Don’t assume posix_getpwuid is available.
2017-05-23 13:10:56 +12:00
Sam Minnee
09164e7e2a
FIX: Better error checking for non-writable temp paths
...
Fixes https://github.com/silverstripe/silverstripe-framework/issues/1666
2017-05-23 10:06:48 +12:00
Sam Minnee
40d9bbfd69
FIX: Don’t assume posix_getpwuid is available.
...
Fixes https://github.com/silverstripe/silverstripe-framework/issues/2494
In Silverstripe 3.1, on some shared hosts the following bug can occur:
Warning: posix_getpwuid() has been disabled for security reasons
2017-05-23 10:00:36 +12:00
Ingo Schommer
a433e5f4a8
Find root modules with _config.php
...
When modules are installed as the webroot,
manifest generation should behave the same way as when they're in a subfolder.
Which means accepting the module folder both with a _config/ folder
and a _config.php file present.
2017-05-22 12:16:57 +12:00
Damian Mooyman
2aa3b5d5fa
Merge pull request #6934 from robbieaverill/pulls/4.0/consistent-instance-method
...
API Consistent use of inst() naming across framework
2017-05-22 11:57:20 +12:00
Robbie Averill
f2cbe86f03
Remove CustomMethods::createMethod and create_function implementations, replace with closures
2017-05-19 15:56:44 +12:00
Robbie Averill
ad43a82923
API Consistent use of inst() naming across framework
2017-05-19 14:38:06 +12:00
Ingo Schommer
100048da33
API PSR-11 compliance ( fixes #6594 ) ( #6931 )
...
Note that our usage of `$asSingleton` in `get()` is fine. Quote from the PSR:
> Two successive calls to get with the same identifier SHOULD return the same value. However, depending on the implementor design and/or user configuration, different values might be returned, so user SHOULD NOT rely on getting the same value on 2 successive calls.
2017-05-19 13:45:07 +12:00
Damian Mooyman
259f957ce8
API Rename services to match FQN of interface / classes
2017-05-16 14:15:49 +12:00
Damian Mooyman
8b9f41d4f4
BUG Fix ApcuCache and MemCache namespace
2017-05-04 12:17:33 +12:00
Damian Mooyman
2548bfba1e
API Replace SS_HOST with SS_BASE_URL
...
API Remove Director::$test_servers / $dev_servers
API Remove MODULES_PATH / MODULES_DIR constants
ENHANCEMENT Injector backtick syntax now supports environment variables as well as constants
Fixes #6588
2017-04-20 22:28:57 +12:00
Ingo Schommer
ac9d645e4e
Root-level module support in Module->getResourcePath()
...
See https://github.com/silverstripe/silverstripe-framework/pull/6733
2017-03-29 10:19:31 +13:00
Ingo Schommer
e08948480c
Remove File dependency from Module class
2017-03-28 17:26:23 +13:00
Ingo Schommer
556c9a537e
Module->getResourcePath()
...
Based on Sam's feedback in https://github.com/silverstripe/silverstripe-framework/pull/6733
2017-03-28 17:22:30 +13:00
Damian Mooyman
874c6ccdd4
API Add experimental getResource() to Module
2017-03-28 14:13:47 +13:00
Damian Mooyman
dae6d5902f
API Split SilverStripe\Assets into separate module
2017-03-21 11:12:51 +13:00
Damian Mooyman
54ba08a306
API Replace ManifestCache with ManifestCacheFactory
...
API Remove lots of deprecated module code from ClassManifest
2017-03-21 09:43:48 +13:00
Damian Mooyman
ce14060913
API Apply default logger to all caches
...
API Rename ‘Logger’ service name to ‘Psr\Log\LoggerInterface’
API DefaultCacheFactory constructor now takes an array of default arguments
2017-03-15 15:31:24 +13:00
Damian Mooyman
8f0f9fa119
API Apply logging to config cache
2017-03-15 15:31:24 +13:00
Damian Mooyman
810dcab748
Simplify config for admin removal
2017-03-14 10:22:45 +13:00
Damian Mooyman
0c41a97a8b
API Refactor Form request handling into FormRequestHandler
...
API Add HasRequestHandler interface
API Refactor Link() and url handling behaviour from Controller into RequestHandler
API RequestHandler classes now must define url_segment to have a default Link()
API Clean up redirectBack()
2017-03-10 15:04:33 +13:00
Daniel Hensby
cdb4a86e1c
PHPParser optimisations and update
2017-03-06 10:35:25 +00:00
Loz Calver
f8e3443c89
Initial PHP Parser implementation
2017-03-06 10:19:00 +00:00