Sam Minnee
07913e6df6
MINOR: Drop dual MYSQL/PGSQL builds for PHP7
...
We can get away with testing MySQL on PHP 5.6
and PHP 7.1 and testing PGSQL on PHP 7.0. We don’t
need a full matrix.
2017-06-28 16:57:20 +12:00
Sam Minnee
1fa712e189
MINOR: More PHP7 in travis builds
...
PHP7 is faster than PHP5.6 so we should use it for as many builds
as possible.
This leaves 1 build - the coverage build - running on PHP5.6
and puts the rest on PHP7.
2017-06-28 16:51:41 +12:00
Chris Joe
51e4e4df6d
Merge pull request #7045 from open-sausages/pulls/4.0/selective-form-unsaved-change-notification
...
BUG Add flag on form whether to notify user when there's unsaved changes
2017-06-28 15:36:33 +12:00
Damian Mooyman
a48628db20
Merge pull request #7030 from 3Dgoo/patch-1
...
Documentation link fixes
2017-06-28 12:15:42 +12:00
Damian Mooyman
2b8eb202db
Merge pull request #6687 from hailwood/patch-6
...
Do not default to locale if hasEmptyDefault is true
2017-06-28 12:12:16 +12:00
Saophalkun Ponlu
288de2eb14
BUG Add flag on form whether to notify user when there's unsaved changes
2017-06-28 11:14:12 +12:00
Damian Mooyman
2bdb72c0f3
Merge pull request #7063 from wilr/prefix-patch
...
Support empty DATABASE_PREFIX
2017-06-28 10:55:23 +12:00
Will Rossiter
ecb5d85de0
Support empty SS_DATABASE_PREFIX
2017-06-28 08:18:21 +12:00
Daniel Hensby
399c46579a
Merge branch '3.6' into 3
2017-06-27 13:15:14 +01:00
Daniel Hensby
1e5592a3d9
Merge branch '3.5' into 3.6
2017-06-27 13:14:39 +01:00
Daniel Hensby
29b9311634
Merge tag '3.6.1' into 3.6
...
Release 3.6.1
2017-06-27 12:53:55 +01:00
Daniel Hensby
ddff7c5dad
Added 3.6.1 changelog
2017-06-27 12:48:16 +01:00
Daniel Hensby
f62cba2cd8
Added 3.6.1-alpha2 changelog
2017-06-27 12:22:26 +01:00
Daniel Hensby
1d31987a9d
Merge pull request #7027 from open-sausages/pulls/3.6/revert-lang-update
2017-06-27 12:21:58 +01:00
Daniel Hensby
61fc53a556
Added 3.6.1-alpha1 changelog
2017-06-27 12:21:10 +01:00
Ingo Schommer
52841533ed
Better ErrorPage upgrading guide ( #7066 )
...
See https://github.com/silverstripe/silverstripe-framework/issues/4149
2017-06-26 21:31:31 -07:00
Damian Mooyman
cf758ddd4f
Merge pull request #7052 from sminnee/director-middleware
...
Allow application of HTTPMiddleware to Director.
2017-06-27 14:21:23 +12:00
Ingo Schommer
daed8cb056
Merge pull request #7061 from jonom/errorpage-separation
...
Removed ErrorPage
2017-06-27 14:00:43 +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
Damian Mooyman
7aa67f856b
Move files to middleware folder
2017-06-27 13:32:39 +12:00
Sam Minnee
67887febc5
fix - session now uses request
2017-06-27 13:32:39 +12:00
Sam Minnee
69fe166897
API: Director::handleRequest() is no longer static - use a Director service
...
NEW: Add HTMLMiddlewareAware trait to HTTPApplication, Director, and RequestHandler
NEW: Allow service specs to be passed to Director rules.
This refactor of the controller middlewares takes a service definition
approach rather than a static-method-and-config approach that Director
historically had.
The use of a trait for middleware means that the Middlewares array
property can be defined on RequestHandler, Director, and HTTPApplication
objects in the same way.
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
ccc86306b6
NEW: Add TrustedProxyMiddleware
...
API: SS_TRUSTED_PROXY_HOST_HEADER replace with middleware config
API: SS_TRUSTED_PROXY_PROTOCOL_HEADER replace with middleware config
API: SS_TRUSTED_PROXY_IP_HEADER replace with middleware config
API: Front-End-Https = “on” header no longer supported
This middleware replaces the TRUSTED_PROXY setting and shifts its
configuration out of the env vars and bootstrap and into the Director
flow.
2017-06-27 13:32:39 +12:00
Sam Minnee
c4d038f20d
NEW: Add HTTPRequest::getScheme()/setScheme()
...
NEW: Add HTTPRequest::setIP()
API: Rely on HTTPRequestBuilder to set scheme and IP
These changes tidy up HTTPRequest making it a container for information
and removing special logic from it.
This makes it less feature-rich: it doesn’t contain trusted-proxy logic.
This will be able to provided by a middleware.
The new getScheme() method is designed to be closish to PSR-7’s
getUri()->getScheme() equivalent.
There are no more direct $_SERVER references in HTTPRequest.
2017-06-27 13:32:39 +12:00
Sam Minnee
4d89daac78
NEW: Register Injector::inst()->get(HTTPRequest)
...
HTTPRequest is provided as a service so that global references for
session, hostname, etc can be facilitated. It’s a bit of a hack and
should be avoided but we’re unlikely to scrub it completely from the
Silverstripe 4 code.
2017-06-27 13:32:39 +12:00
Sam Minnee
10866c0809
API: Replace Director::direct() with Director::handleRequest().
...
There was no longer any code in direct() and so I opted to expose the
handleRequest() method instead.
2017-06-27 13:32:39 +12:00
Sam Minnee
72a7655e95
NEW: Moved allowed-hosts checking to a middleware.
2017-06-27 13:32:39 +12:00
Sam Minnee
db080c0603
NEW: Move session activation to SessionMiddleware.
2017-06-27 13:32:39 +12:00
Sam Minnee
254204a3a6
NEW: Replace AuthenticationRequestFilter with AuthenticationMiddleware
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
95a266c6b9
FIX: Add tests for middleware
2017-06-27 13:32:39 +12:00
Sam Minnee
c482cd673e
DOC: Documentation and upgrade notes for director middleware
2017-06-27 13:32:39 +12:00
Sam Minnee
b30f410ea0
API: Deprecate RequestFilter.
...
NEW: Allow application of HTTPMiddleware to Director.
Director can now use the same HTTPMiddleware objects as the app object.
They can be applied either globally or pre-rule.
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
0ed1750106
Merge remote-tracking branch 'origin/3'
...
# Conflicts:
# .travis.yml
# .tx/config
# _config/database.yml
# admin/code/LeftAndMain.php
# admin/code/ModelAdmin.php
# admin/code/SecurityAdmin.php
# admin/javascript/jquery-changetracker/lib/jquery.changetracker.js
# admin/javascript/lang/cs.js
# admin/javascript/lang/de.js
# admin/javascript/lang/eo.js
# admin/javascript/lang/es.js
# admin/javascript/lang/fa_IR.js
# admin/javascript/lang/fi.js
# admin/javascript/lang/fr.js
# admin/javascript/lang/hr.js
# admin/javascript/lang/id.js
# admin/javascript/lang/id_ID.js
# admin/javascript/lang/it.js
# admin/javascript/lang/ja.js
# admin/javascript/lang/lt.js
# admin/javascript/lang/mi.js
# admin/javascript/lang/nb.js
# admin/javascript/lang/nl.js
# admin/javascript/lang/pl.js
# admin/javascript/lang/ro.js
# admin/javascript/lang/ru.js
# admin/javascript/lang/sk.js
# admin/javascript/lang/sl.js
# admin/javascript/lang/sl_SI.js
# admin/javascript/lang/sr.js
# admin/javascript/lang/sr@latin.js
# admin/javascript/lang/sr_RS.js
# admin/javascript/lang/sr_RS@latin.js
# admin/javascript/lang/src/cs.js
# admin/javascript/lang/src/de.js
# admin/javascript/lang/src/eo.js
# admin/javascript/lang/src/es.js
# admin/javascript/lang/src/fa_IR.js
# admin/javascript/lang/src/fi.js
# admin/javascript/lang/src/fr.js
# admin/javascript/lang/src/hr.js
# admin/javascript/lang/src/id.js
# admin/javascript/lang/src/id_ID.js
# admin/javascript/lang/src/it.js
# admin/javascript/lang/src/ja.js
# admin/javascript/lang/src/lt.js
# admin/javascript/lang/src/mi.js
# admin/javascript/lang/src/nb.js
# admin/javascript/lang/src/nl.js
# admin/javascript/lang/src/pl.js
# admin/javascript/lang/src/ro.js
# admin/javascript/lang/src/ru.js
# admin/javascript/lang/src/sk.js
# admin/javascript/lang/src/sl.js
# admin/javascript/lang/src/sl_SI.js
# admin/javascript/lang/src/sr.js
# admin/javascript/lang/src/sr@latin.js
# admin/javascript/lang/src/sr_RS.js
# admin/javascript/lang/src/sr_RS@latin.js
# admin/javascript/lang/src/sv.js
# admin/javascript/lang/src/zh.js
# admin/javascript/lang/sv.js
# admin/javascript/lang/zh.js
# admin/templates/Includes/ModelAdmin_Content.ss
# composer.json
# control/HTTPRequest.php
# core/Config.php
# core/Core.php
# core/Diff.php
# core/Object.php
# core/PaginatedList.php
# core/TempPath.php
# core/manifest/ConfigStaticManifest.php
# dev/Profiler.php
# docs/en/00_Getting_Started/00_Server_Requirements.md
# docs/en/00_Getting_Started/03_Environment_Management.md
# docs/en/02_Developer_Guides/01_Templates/03_Requirements.md
# docs/en/02_Developer_Guides/07_Debugging/03_Template_debugging.md
# docs/en/02_Developer_Guides/13_i18n/index.md
# filesystem/File.php
# filesystem/GD.php
# filesystem/ImagickBackend.php
# filesystem/Upload.php
# forms/DatetimeField.php
# forms/FormField.php
# forms/GroupedDropdownField.php
# forms/TabSet.php
# forms/gridfield/GridFieldFilterHeader.php
# javascript/lang/es.js
# javascript/lang/src/es.js
# lang/af.yml
# lang/ar.yml
# lang/az.yml
# lang/bg.yml
# lang/bs.yml
# lang/ca.yml
# lang/cs.yml
# lang/de.yml
# lang/en.yml
# lang/eo.yml
# lang/es.yml
# lang/es_AR.yml
# lang/es_MX.yml
# lang/et_EE.yml
# lang/fa_IR.yml
# lang/fi.yml
# lang/fo.yml
# lang/fr.yml
# lang/gl_ES.yml
# lang/he_IL.yml
# lang/hr.yml
# lang/hu.yml
# lang/id.yml
# lang/id_ID.yml
# lang/is.yml
# lang/it.yml
# lang/ja.yml
# lang/lt.yml
# lang/lv.yml
# lang/mi.yml
# lang/ms.yml
# lang/nb.yml
# lang/ne.yml
# lang/nl.yml
# lang/pl.yml
# lang/pt.yml
# lang/pt_BR.yml
# lang/ro.yml
# lang/ru.yml
# lang/si.yml
# lang/sk.yml
# lang/sl.yml
# lang/sl_SI.yml
# lang/sr.yml
# lang/sr@latin.yml
# lang/sr_RS.yml
# lang/sr_RS@latin.yml
# lang/sv.yml
# lang/th.yml
# lang/tr.yml
# lang/uk.yml
# lang/zh.yml
# lang/zh_CN.yml
# lang/zh_TW.yml
# model/DataDifferencer.php
# model/DataQuery.php
# model/Image.php
# model/ManyManyList.php
# model/connect/DBSchemaManager.php
# model/connect/PDOConnector.php
# model/fieldtypes/Bigint.php
# model/fieldtypes/DBFloat.php
# model/fieldtypes/DBInt.php
# model/fieldtypes/Double.php
# model/fieldtypes/ForeignKey.php
# model/fieldtypes/PrimaryKey.php
# parsers/HTML/HTMLBBCodeParser.php
# security/Member.php
# security/MemberAuthenticator.php
# security/RandomGenerator.php
# security/Security.php
# tests/control/CookieTest.php
# tests/control/HTTPRequestTest.php
# tests/core/CoreTest.php
# tests/filesystem/UploadTest.php
# tests/forms/FormFieldTest.php
# tests/forms/FormTest.php
# tests/forms/GroupedDropdownFieldTest.php
# tests/forms/HtmlEditorFieldToolbarTest.php
# tests/forms/RequirementsTest.php
# tests/model/DBFieldTest.php
# tests/model/DataObjectTest.php
# tests/model/ManyManyListTest.php
# tests/model/VersionableExtensionsTest.php
# tests/model/VersionedTest.php
# tests/parsers/ShortcodeParserTest.php
# tests/security/MemberAuthenticatorTest.php
# tests/security/MemberTest.php
# tests/security/SecurityTest.php
# tests/view/SSViewerTest.php
# thirdparty/simpletest/encoding.php
# thirdparty/simpletest/page.php
# thirdparty/simpletest/tag.php
# thirdparty/spyc/spyc.php
# thirdparty/tinymce-spellchecker/classes/SpellChecker.php
# thirdparty/tinymce-spellchecker/classes/utils/JSON.php
# thirdparty/tinymce-spellchecker/classes/utils/Logger.php
# thirdparty/tinymce/tiny_mce.js
# thirdparty/tinymce/tiny_mce_gzip.php
# thirdparty/tinymce/tiny_mce_src.js
# view/Requirements.php
# view/SSViewer.php
# view/ViewableData.php
2017-06-27 13:27:14 +12:00
Ingo Schommer
60a3c8754a
Simplify SecurityTest redirect assertion
...
It causes inexplicable failures in the installer test,
while it's passing running in framework standalone.
This might be related to the cms module being present (with framework tests executed).
Either way, testing that FunctionalTest can follow a redirect
and correctly display the "/" homepage isn't really the point of this test. It should limit its assertion to the presence of a redirect.
See https://travis-ci.org/silverstripe/silverstripe-installer/jobs/246703789
2017-06-27 09:23:37 +12:00
Jonathon Menz
d0da319004
Removed ErrorPage
...
Removed references to ErrorPage so it can be split off in to a separate module. (#4149 )
2017-06-26 10:03:03 -07:00
Ingo Schommer
02e96bd6ef
Merge pull request #7031 from 3Dgoo/patch-2
...
_t function parameter documentation fix
2017-06-26 22:58:17 +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
Damian Mooyman
22f3d5cec0
Merge pull request #7058 from sminnee/fix-install-db
...
FIX: Allow DB::setConfig() in _config.php
2017-06-26 17:29:31 +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
Mojmir Fendek
b2d362beb9
Html editor selection is now properly stored while the dialog is open.
2017-06-26 12:55:05 +12:00
Loz Calver
f60dcba5e7
Merge pull request #7050 from dhensby/pulls/4/intervention-image
...
DOCS InterventionBackend updates
2017-06-23 12:03:23 +01:00
Daniel Hensby
fea36f2d7b
DOCS Update Image docs to reflect intervention/image changes
2017-06-23 11:18:21 +01:00
Daniel Hensby
b1d8c0308b
Remove asset cache that belongs in assets module
2017-06-23 10:45:41 +01:00
Ingo Schommer
fa568e333e
Fixed linting errors
2017-06-23 11:19:16 +12:00
Ingo Schommer
12c2edc1d5
Fix DeprecationTest
...
The $project use has changed in 3873e4ba00
.
The test isn't really reliant on $project anyway,
it just tests that any other module identifier
doesn't interfere with core notification settings.
2017-06-23 10:22:26 +12:00