Commit Graph

2465 Commits

Author SHA1 Message Date
Damian Mooyman
14761a9246
Remove mcrypt
Use session for alternativeDatabaseName instead
Fixes #7280
2017-08-23 12:13:32 +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
Daniel Hensby
c0211927aa
Merge branch '3' into 4 2017-08-14 21:18:03 +01:00
Saophalkun Ponlu
29cb4f2f07 Provide information related to recipe 2017-08-14 10:24:48 +12:00
Damian Mooyman
323644c7bb
API Implement cascade_deletes 2017-08-09 15:14:00 +12:00
Robbie Averill
5d5fac7450 FIX Throw exception when "value" is used to define indexes. Update docs. 2017-08-09 09:17:28 +12:00
Damian Mooyman
364a14da1d Merge pull request #7248 from open-sausages/pulls/4.0/remove-3.0-api-docs
MINOR: Clean up code references in docs
2017-08-08 09:41:29 +12:00
Damian Mooyman
b26f1b0cc8 Merge pull request #7252 from open-sausages/pull/4.0/no-in-ten-tion
Fix reference to IE10 when it should be IE11
2017-08-08 09:27:34 +12:00
John
10bf2286a5 Add SSL Documentation to docs (fixes #7253) 2017-08-07 16:32:54 +08:00
Christopher Joe
c164fcfe54 Fix reference to IE10 when it should be IE11 2017-08-07 15:39:08 +12:00
Aaron Carlino
50c8a02bff remove tabs 2017-08-07 15:11:17 +12:00
Damian Mooyman
73e1919b8f Added 4.0.0-beta2 changelog 2017-08-07 15:08:32 +12:00
Aaron Carlino
5d6b7c85d7 Deprecate SS_TemplateManifest 2017-08-07 14:51:27 +12:00
Damian Mooyman
d0814c0766 Added 4.0.0-beta2 changelog 2017-08-07 14:50:49 +12:00
Aaron Carlino
e4935123d8 Remove a few more references 2017-08-07 14:01:38 +12:00
Aaron Carlino
6c0629f025 Remove more deprecated APIs 2017-08-07 14:01:38 +12:00
Aaron Carlino
e4fba5a7b1 add use statements 2017-08-07 14:01:38 +12:00
Aaron Carlino
84feab5a68 Yeah psr2 functions 2017-08-07 14:01:38 +12:00
Aaron Carlino
4c7a068b28 classes psr2 2017-08-07 14:01:38 +12:00
Aaron Carlino
2414eaeafd Yay, clean arrays 2017-08-07 14:01:38 +12:00
Aaron Carlino
eb1695c03d Replace all legacy ::: syntax with GFMD tags 2017-08-07 14:01:38 +12:00
Aaron Carlino
16407b9185 first pass 2017-08-07 14:01:38 +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
dd189b917e Documentation updates for new Injector / FormStateManager API 2017-07-31 16:55:44 +12:00
Daniel Hensby
884f53e0f2
Merge branch '3' into 4 2017-07-25 16:17:44 +01:00
Mat Munn
7abc57d4c6 Update 01_Linux_Unix.md
Fixed a typo
2017-07-20 14:30:54 +10:00
Daniel Hensby
2bd24e0f98 Merge pull request #7169 from open-sausages/pulls/4.0/upgrade-docs-need-an-upgrade
Upgrade the upgrading docs
2017-07-19 18:31:21 +01:00
Daniel Hensby
79c74006fd Merge pull request #7146 from robbieaverill/pulls/4.0/middleware-docs
DOCS Fix typos and formatting in middleware documentation
2017-07-19 15:20:45 +01:00
Daniel Hensby
c3269e2d15 Merge pull request #7147 from robbieaverill/pulls/4.0/minor-docs-fixes
DOCS Update requirements and error handling, fix typos and markdown rendering bugs
2017-07-19 15:20:23 +01:00
Daniel Hensby
9b3cfdca87
DOCS typo 2017-07-19 14:25:46 +01:00
Aaron Carlino
73652df3c5
Revisions per Robbie, Ingo 2017-07-19 12:17:58 +01:00
Damian Mooyman
844462108e
Fix diff reference 2017-07-19 12:17:51 +01:00
Damian Mooyman
75a6a188e4
Create guide for namespacing user-code
Rewrite of outdated api references
Improve documentation for logging
2017-07-19 12:17:44 +01:00
Aaron Carlino
4f3d090020
revisions per damian, robbie 2017-07-19 12:17:34 +01:00
Aaron Carlino
dcb2424b05
Docs for ownership API 2017-07-19 12:17:27 +01:00
Aaron Carlino
2b9369895d
First pass at upgrade docs 2017-07-19 12:17:22 +01:00
Daniel Hensby
7fd316d405
Merge branch 3 into 4 2017-07-15 13:20:37 +01:00
Aaron Carlino
2b266276c2 API Implement new module sorting pattern 2017-07-13 10:27:27 +12:00
Robbie Averill
ee0bd1a541 DOCS Update requirements and error handling, fix typos and markdown rendering bugs 2017-07-10 11:00:25 +12:00
Robbie Averill
a7bf0e49ec DOCS Fix typos and formatting in middleware documentation 2017-07-10 10:19:17 +12:00
Damian Mooyman
7032c4a478
Update sapphiretest docs 2017-07-07 10:45:39 +12:00
Aaron Carlino
2b1587894a
Documentation updates for new form injector API 2017-07-05 11:09:18 +01:00
Andrew Aitken-Fincham
7812f34a2d remove info div to fix formatting 2017-07-04 12:50:57 +01:00
Damian Mooyman
14db11b1cd Added 4.0.0-beta1 changelog 2017-07-03 17:41:25 +12:00
Damian Mooyman
6f24a16dcd Update docs for new service aliases 2017-07-03 16:04:30 +12:00
Saophalkun Ponlu
63ba092765 FIX Add namespaces in markdown docs (#7088)
* FIX Add namespaces in markdown docs

* FIX Convert doc [link] to [link-text](link-uri)
2017-07-03 13:22:12 +12:00
Ingo Schommer
a37672f4df Merge pull request #7097 from open-sausages/pulls/4.0/source-docs
DOCS Update notes on —prefer-source/dist
2017-06-30 13:23:29 +12:00
Damian Mooyman
60303571e4 DOCS Update notes on —prefer-source/dist
Fixes https://github.com/silverstripe/silverstripe-installer/issues/186
2017-06-30 13:19:51 +12:00
Ingo Schommer
3ffc6ebcd7 Consistent 4.0 changelog docs formatting
Added diff styling, requires merge of https://github.com/silverstripe/silverstripe-docsviewer/pull/134.
2017-06-30 13:13:26 +12:00
Damian Mooyman
ac4a6c06a7 Merge pull request #7076 from open-sausages/pulls/4.0/resource-loading-upgrade-docs
Docs for resource loading upgrade path
2017-06-30 09:27:29 +12:00
Ingo Schommer
24957418ed Docs for resource loading upgrade path
See https://github.com/silverstripe/silverstripe-framework/pull/7065
2017-06-30 08:51:56 +12:00
Andrew Aitken-Fincham
ef8e04a83e Add $fixture_file to the fixtures docs
Currently no mention of it.
2017-06-29 13:58:37 +01:00
Aaron Carlino
ad9d4e6820 Pulls/4.0/shortcode namespacing (#7085)
* New shortcode providers, update config, docs

* Use new ImageShortcodeProvider

* Move tests

* New shortcodes namespace

* Move file and image shortcode registrations from framework to assets
2017-06-29 18:45:17 +12:00
Damian Mooyman
3e0b7bde9c
DOCS Add link to silverstripe npm account 2017-06-29 13:37:17 +12:00
Jonathon Menz
b60ccd11c3 DOCS clarify $force_resample behaviour
Fixes https://github.com/silverstripe/silverstripe-assets/issues/21
2017-06-28 14:40:18 -07:00
Daniel Hensby
e7df10dc52
Merge branch '3' 2017-06-28 18:59:08 +01:00
Chris Joe
9a98655124 Custom redux state in injector, updated docs (#7042)
* Update docs for new Injector js structure and description for injector reducer API

* Injector documentation updates

* updates per ingo

* Update examples and some notes based on feedback

* Updates per ingo

* documentation updates to reflect new injector.component

* Minor doc updates
2017-06-28 21:35:04 +12:00
Damian Mooyman
a48628db20 Merge pull request #7030 from 3Dgoo/patch-1
Documentation link fixes
2017-06-28 12:15:42 +12:00
Daniel Hensby
399c46579a
Merge branch '3.6' into 3 2017-06-27 13:15:14 +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
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
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
e855622890 NEW: Replace FlushRequestFilter with FlushMiddleware 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
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
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
Daniel Hensby
fea36f2d7b
DOCS Update Image docs to reflect intervention/image changes 2017-06-23 11:18:21 +01: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
David Alexander
3b812417ad Update 03_Environment_Management.md
@dhensby I thought I saw a recent merge making PDO the default.
2017-06-20 10:12:55 +12:00
3Dgoo
1e887c0631 Future proofing api link 2017-06-19 07:09:41 +09:30
Chris Joe
102eaed36c Merge pull request #6722 from open-sausages/pulls/4.0/requirements-html-cleanup
Better HTML generation behaviour for Requirements_Backend
2017-06-16 13:52:06 +12:00
Damian Mooyman
dd4eb6ce44 Merge pull request #6960 from open-sausages/pulls/4.0/security-process-docs
Internal security process docs
2017-06-16 13:50:58 +12:00
Damian Mooyman
64e802f795
API Move createTag to HTML class
ENHANCEMENT Better HTML generation behaviour for Requirements_Backend
2017-06-16 12:22:05 +12:00
3Dgoo
a128941d66 Documentation link fixes
Removing defunct silverstripe-labs github link. Fixing up some broken links. Making links https if they can be https.
2017-06-16 06:38:53 +09:30
Damian Mooyman
62d095305b
API Update DefaultAdmin services
API Improve validation of authentication process
2017-06-15 15:53:57 +12:00
Daniel Hensby
215ff8ab55 Added 3.6.1-alpha1 changelog 2017-06-14 14:33:35 +01:00
Daniel Hensby
6f2b08b962
Merge branch '3.6' into 3 2017-06-14 12:02:27 +01:00
3Dgoo
f0c00bfb78 Fixing language typo in docs 2017-06-13 05:37:07 +09:30
Simon Erkelens
2b26cafcff Separate out the log-out handling.
Repairing tests and regressions
Consistently use `Security::getCurrentUser()` and `Security::setCurrentUser()`
Fix for the logout handler to properly logout, some minor wording updates
Remove the login hashes for the member when logging out.
BasicAuth to use `HTTPRequest`
2017-06-07 21:11:58 +12:00
Antony Thorpe
6348f2e3e8 Updated Form.php & 04_Form_Security.md
Changed the `strictFormMethodCheck` protected property from false to true to step out on the front foot with this security setting.  In the documentation under the title [Cross-Site Request Forgery](https://github.com/silverstripe/silverstripe-framework/blob/master/docs/en/02_Developer_Guides/09_Security/04_Secure_Coding.md#cross-site-request-forgery-csrf) it states, "it is also recommended to limit form submissions to the intended HTTP verb (mostly GET or POST) through [api:Form::setStrictFormMethodCheck()]."  The same advice is noted in [Form Security](c2292a4cc1/docs/en/02_Developer_Guides/03_Forms/04_Form_Security.md (strict-form-submission)).

Why not make this the default behaviour?  Is there a scenario where this would cause a problem?  Have manually tested in the CMS (alpha7) and is working fine.

Note: Original commit that establised the API Form::setStrictFormMethodCheck is 14c59be8.
2017-06-06 21:10:49 +12:00
Damian Mooyman
9b965ed5fa
Add in missing changelog notes 2017-06-06 11:08:05 +12:00
Ingo Schommer
b137e91998 Internal security process docs 2017-06-02 11:30:12 +12:00
Justin Brown
ac08e16720 Update to 00_CSV_Import.md
Adding further explanation for using a custom CsvBulkLoader in ModelAdmin instead of the default one. I think some people might be able to guess at this, but others (like me) might benefit from making things a bit more explicit. This a follow up from my [question on StackOverflow](https://stackoverflow.com/questions/44271755/adding-custom-csvbulkuploader-to-modeladmin-in-silverstripe).
2017-05-31 09:05:05 -06:00
Ed Linklater
f007fca51f Docs: Correct Stevie's name on committers page 2017-05-31 12:27:06 +12:00
Daniel Hensby
21d2e5cad1
Merge branch '3.6' into 3 2017-05-31 00:12:14 +01:00
Daniel Hensby
becb769167
Merge branch '3.5' into 3.6 2017-05-31 00:11:48 +01:00
Daniel Hensby
294df1320f
Merge branch '3.4' into 3.5 2017-05-31 00:11:18 +01:00
Daniel Hensby
143c4a63cf
Added 3.6.0 changelog 2017-05-30 22:11:03 +00:00
Daniel Hensby
2f7f761a9c
Added 3.5.4 changelog 2017-05-30 22:03:17 +00:00
Daniel Hensby
deca99a5fe
Added 3.4.6 changelog 2017-05-30 21:58:52 +00:00
Damian Mooyman
e7d87add9f API Remove legacy HTMLEditor classes 2017-05-30 11:01:28 +12:00
Nick
318b0248b7 Update 05_Dataobject_Relationship_Management.md
Correct a naffed up code block and a typo
2017-05-29 20:54:50 +12:00
Daniel Hensby
659053a256
Added 3.6.0-rc1 changelog 2017-05-29 00:36:04 +00:00
Daniel Hensby
cda7e8dc39
Merge remote-tracking branch 'security/3.5.4' into 3.6.0 2017-05-29 01:29:05 +01:00
Daniel Hensby
9a38bedd18
Added 3.5.4-rc1 changelog 2017-05-29 00:08:27 +00:00
Daniel Hensby
24166700e8
Merge remote-tracking branch 'security/3.4.6' into 3.5.4 2017-05-29 01:02:35 +01:00
Daniel Hensby
b5ad4bdcc6
Added 3.4.6-rc2 changelog 2017-05-28 23:49:04 +00:00
Daniel Hensby
eeb549faf3
Added 3.4.6-rc1 changelog 2017-05-28 21:34:38 +00:00
Aaron Carlino
06615e3d76 Resample doc images for react di 2017-05-26 11:08:07 +12:00
Chris Joe
5ec8d40c19 Merge pull request #6957 from open-sausages/pulls/4/react-di-documentation
Docs for React DI
2017-05-26 10:59:42 +12:00
Daniel Hensby
893f19a5ea
DOCS Updating index definition examples 2017-05-25 23:29:12 +01:00
Aaron Carlino
bfc373cf0f update docs with new api 2017-05-25 16:34:32 +12:00
Aaron Carlino
75981989b0 Docs for React DI 2017-05-25 14:58:55 +12:00
Christopher Joe
e327bf3c70 Enhancement add contribution notes about releasing to NPM 2017-05-24 17:07:05 +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
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
Damian Mooyman
4197090e11 Merge pull request #6940 from kinglozzer/randomgenerator
Only use random_bytes() for RandomGenerator (closes #6397)
2017-05-22 10:29:55 +12:00
Loz Calver
e653e90997 Only use random_bytes() for RandomGenerator (closes #6397) 2017-05-19 11:18:56 +01: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
Daniel Hensby
283e3279be
Merge branch '3.6' into 3 2017-05-18 13:55:07 +01:00
Loz Calver
471166c15e Merge pull request #6169 from open-sausages/pulls/4.0/duplicate-manymany-option
API Duplication of many_many relationships now defaults to many_many only
2017-05-17 09:31:09 +01:00
Damian Mooyman
f5f6fdce12
API Duplication of many_many relationships now defaults to many_many only
Fixes https://github.com/silverstripe/silverstripe-cms/issues/1453
2017-05-16 23:26:39 +12:00
Colm McBarron
8666d4abb2 Update YAML format to use namespace 2017-05-16 11:49:39 +01:00
Damian Mooyman
259f957ce8 API Rename services to match FQN of interface / classes 2017-05-16 14:15:49 +12:00
Damian Mooyman
0b70b008b3 API Implement InheritedPermission calculator (#6877)
* API Implement InheritedPermission calculator

* API Rename RootPermissions to DefaultPermissionChecker
API Refactor inherited permission fields into InheritedPermissionExtension
API Introduce PermissionChecker interface
2017-05-11 21:07:27 +12:00
Aaron Carlino
7fa47e234f New API for minified files using injectable service 2017-05-11 10:14:16 +12:00
Daniel Hensby
9bdce9790d
Added 3.6.0-beta2 changelog 2017-05-10 21:55:25 +01:00
Ingo Schommer
da3236b0e7 Merge pull request #6887 from open-sausages/pulls/4.0/docs-calendar-year-format
Doc dateformats with calendar year
2017-05-09 23:07:25 +12:00
Loz Calver
7ae203908f Merge pull request #6882 from robbieaverill/patch-6
DOCS Fix broken markdown rendering in 03_Template_debugging.md
2017-05-09 09:38:28 +01:00
Sam Minnée
33119a1f36 Merge branch 'master' into pulls/4.0/remove-deprecated-methods 2017-05-09 15:31:53 +12:00
Ingo Schommer
7c2f49d443 API Removed RootURLController:set_default_homepage_link() 2017-05-09 11:38:35 +12:00
Ingo Schommer
cec983b628 API Removed deprecated ModelAsController::find_old_page() 2017-05-09 11:38:35 +12:00
Ingo Schommer
5784a7d2d7 API Removed deprecated Security::set_login_recording() 2017-05-09 11:38:35 +12:00
Ingo Schommer
2a7c76e9e9 API Removed deprecated DatabaseAdmin#clearAllData() 2017-05-09 11:38:35 +12:00
Ingo Schommer
81e5c7ac40 API Removed deprecated Session::set_config() 2017-05-09 11:38:35 +12:00
Ingo Schommer
1d438d3fb5 API Remove deprecated FormAction::createTag() 2017-05-09 11:38:35 +12:00
Ingo Schommer
0d9b383631 API Removed legacy form fields (fixes #6099) 2017-05-09 11:16:41 +12:00
Ingo Schommer
20e57e9dec Doc dateformats with calendar year
https://github.com/silverstripe/silverstripe-framework/issues/3749
http://stackoverflow.com/questions/1978051/zend-datetostring-outputs-the-wrong-year-bug-in-my-code-or-zend-date
https://en.wikipedia.org/wiki/ISO_week_date#Disadvantages
2017-05-08 22:08:14 +12:00
Jake Bentvelzen
ecefcc8f0e DOC Add documentation for how to use alternate ConfigStaticManifest 2017-05-08 17:52:13 +12:00
Robbie Averill
f2b21fb828 DOCS Fix broken markdown rendering in 03_Template_debugging.md 2017-05-08 17:40:02 +12:00
Damian Mooyman
942c0257b7 API Upgrade to behat 3 2017-05-05 14:32:07 +12:00
Damian Mooyman
edcb46bd3a Merge pull request #6836 from sminnee/cli-error-fix
FIX: Show detailed errors on CLI for live environments
2017-05-03 15:49:09 +12:00
Aaron Carlino
dd7777321f Added 4.0.0-alpha7 changelog 2017-05-02 13:16:17 +12:00
Sam Minnee
4c772c80c3 FIX: Show detailed errors on CLI for live environments
API: Add HTTPOutputHandler::setCLIFormatter

Fixes https://github.com/silverstripe/silverstripe-framework/issues/6835

This provides detailed errors (but not warnings or notices) in CLI calls
on live environments.

It does this by adding a 2nd argument to our output handler,
CliFormatter. This formatter will be used when Director::is_cli() is
true.
2017-05-01 15:28:48 +12:00
Damian Mooyman
61388b153f API Rewrite Date and Time fields to support HTML5 2017-04-28 10:06:37 +12:00
Ingo Schommer
a73abbfcb8 unit test cleanup 2017-04-27 09:18:38 +12:00
Ingo Schommer
1ec2abe75f Fixed timezone and normalised ISO handling
A few observations:
- ISO says “T” is optional (https://en.wikipedia.org/wiki/ISO_8601#cite_note-21),
- WHATWG says in the HTML5 spec that it’s optional (https://html.spec.whatwg.org/multipage/infrastructure.html#local-dates-and-times)
- W3C says it’s reqiured in 1997 (https://www.w3.org/TR/NOTE-datetime), but then later says it’s optional in its HTML5 spec (https://www.w3.org/TR/html5/infrastructure.html#floating-dates-and-times).
- Chrome doesn’t parse values with whitespace separators (requires "T")
- DataObject DBDatetime values and database columns use whitespace separators (and will have many devs relying on this format)
- MySQL only supports whitespace separators (https://dev.mysql.com/doc/refman/5.7/en/datetime.html)
- SQLite can parse both ways (https://sqlite.org/lang_datefunc.html)

So the goal here is to retain ORM/database compatibility with 3.x (whitespace separator),
while exposing "T" separators to the browser in HTML5 mode.

Regarding timezones, this fixes a regression where setValue() would not actually
apply the timezone (last $value assignment is ineffective now that sub fields are removed).
2017-04-26 22:55:29 +12:00
Saophalkun Ponlu
507add8566 Update changelogs 2017-04-26 22:45:07 +12:00
Robbie Averill
0391596786 DOCS Remove tabs from JSON examples to fix code blocks 2017-04-23 21:14:12 +12:00
Simon Erkelens
ff3ad6eb6b Use Config for authenticator settings 2017-04-22 14:48:56 +12:00
root
96d323fba1 Added 3.6.0-beta1 changelog 2017-04-21 11:49:44 +01:00
Damian Mooyman
c21f71405f Merge pull request #6823 from open-sausages/pulls/4.0/remove-TeamCityListener
Removed TeamCityListener
2017-04-21 15:56:20 +12:00
Damian Mooyman
629465584e Merge pull request #6825 from open-sausages/pulls/4.0/skip-without-phpunit
Don't fail dev/build without phpunit
2017-04-21 15:38:22 +12:00
Chris Joe
430c7ad79a Merge pull request #6824 from micmania1/patch-13
DOCS Corrected logger documentation
2017-04-21 15:18:22 +12:00
Ingo Schommer
0a55ff9f8c API Remove SapphireTestReporter and CliTestReporter
Was missed from the removal of PHPUnitWrapper:
a16588aac3

Original reason for this: Don't fail dev/build without phpunit
When you install a SilverStripe project with "composer install --no-dev",
the PHPUnit dependency gets skipped. Which means the PHPUnit_Framework_TestListener
interface doesn't exist. The SilverStripe Classloader might still include
SapphireTestReporter which relies on this interface, which then breaks execution.

SS3 fixed this by NOT defining the class in the first place.
This has been removed in 2fdc96a0de (diff-82b3f89e8e5ae090c93e9c3a2ba8aa36L3),
as part of a PHPUnit version upgrade - but without an apparent fix to replace this.
2017-04-21 15:11:59 +12:00
Michael Strong
484e15807c DOCS Corrected logger documentation 2017-04-21 13:15:14 +12:00
Ingo Schommer
60e4c011de Removed TeamCityListener 2017-04-21 12:13:13 +12:00
Michael Strong
649dad526b DOCS Fixed namespace for factory 2017-04-21 10:54:21 +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
Aaron Carlino
fdd9ad6dbc MINOR: Add documentation for aggregate filters (#6796)
* MINOR: Add documentation for aggregate filters

* Update 01_Data_Model_and_ORM.md

* Update 01_Data_Model_and_ORM.md
2017-04-19 15:44:00 +12:00
Sam Minnee
9b1baa9503 DOCS: API changes from f862ce71d5 2017-04-18 17:04:40 +12:00
Damian Mooyman
e2b0c56175 Merge pull request #6791 from caffeineinc/master
Documentation: Updated Index & Secure Coding Practices
2017-04-18 11:24:25 +12:00
Damian Mooyman
136b67f597
API Major refactor of Hierarchy into MarkedSet 2017-04-13 16:27:13 +12:00
Damian Mooyman
22b6835537 Move cache upgrade instructions into Upgrading Guide section 2017-04-13 16:23:05 +12:00
Simon Gow
5f82997690 Secure Coding - Security Headers, Force HTTPS and Cookies
- Amending best practices for secure coding to enforce HTTPS
- Add security headers to enforce HTTPS
- Ensure secure cookies are used.
- Added links for testing, changed documentation as part of peer review.
- Arrange headers to work with HTTP interface.
- fixed Cache-Control case
- Added reference to Secure Sessions.
- Replaced Cardinality with unique
- Fixed innacurate reference to decendant.
- Consistent spelling
- Databases over DBMSs
2017-04-13 13:59:02 +12:00
Simon Gow
8d2a1ba8be Index documentation
- updating index documentation to give a better description of how to improve performance with silverstripe applications
2017-04-07 11:27:07 +12:00
Damian Mooyman
92a5e4a057
API Refactor CMS-specific code out of LeftAndMain 2017-04-06 13:26:32 +12:00
Damian Mooyman
5c50ab5884 Added 4.0.0-alpha6 changelog 2017-04-05 16:17:48 +12:00
Damian Mooyman
ed9b2edf7d Added 4.0.0-alpha6 changelog 2017-04-05 16:13:01 +12:00
Sam Minnee
061b71328b Update docs. 2017-04-05 11:06:10 +10:00
Nic
091d355059 DOCS update example to use Config::modify 2017-04-04 19:18:23 -05:00
Damian Mooyman
24d1207eb9 Merge pull request #6769 from sminnee/mssql-community-support
NEW: Downgrade MSSQL from commercially supported to community supported
2017-04-05 10:23:26 +12:00
Ingo Schommer
5b2106ad8a Corrected i18n docs 2017-04-03 20:04:43 +12:00
Sam Minnee
bb880a3257 FIX: Clarify PHP 5.6 support for 4.x 2017-04-03 12:29:34 +12:00
Sam Minnee
8b1c020b9f NEW: Downgrade MSSQL from commercially supported to community supported
As of SS4 I recommend that we clarify the level of support we provide
for MSSQL. The testing coverage of MSSQL and production use of it in
systems supported by the core team both seems very low.

MSSQL support was a lot more important in a pre-cloud-hosting world, but
these days our recommendation is to run SilverStripe on a stack that its
designed to work with rather than trying to fit it into your existing
hosting infrastructure.
2017-04-03 12:29:23 +12:00
Ingo Schommer
3b94d14e42 MERGE 2017-04-03 12:11:21 +12:00
Ingo Schommer
326aa37ea4 API HTML5 date/time fields, remove member prefs (fixes #6626) 2017-03-31 15:21:47 +13:00
Ingo Schommer
4b79940368 API Drop IE10 support (fixes #6321) 2017-03-31 10:50:42 +13:00
Daniel Hensby
ac075eaf0b Remove TestListener and rely on PHPUnits APIs 2017-03-30 11:46:58 +13:00
Ingo Schommer
dfc0dec7b3 Require LICENSE in supported modules (no *.md)
It's more standard to have this file in the webroot.
It's technically markdown compatible text (e.g. asterisk bullet points),
but there's not much point in rendering it via markdown.

If you use the Github "new repo" dialog, it'll create the file without
an extension, so that's pretty much considered the standard.
2017-03-28 16:12:24 +13:00
Sam Minnée
cfa6a36697 Merge pull request #6706 from open-sausages/pulls/4.0/manifest-cache
API Build new ManifestCache based on PSR-16 SimpleCache
2017-03-21 10:29:03 +13:00
Damian Mooyman
480597e5ff Add missing docs to upgrading guide for cache config 2017-03-21 09:43:49 +13:00
Damian Mooyman
3a0099161b API Remove Log class 2017-03-21 09:43:49 +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
Ingo Schommer
1efa22f9bb Reinstate 7.0 support, clarify policy
We’ve discussed dropping support for 5.6 once it’s EOL on https://github.com/silverstripe/silverstripe-framework/issues/6705.
The same question needs to be asked for 7.0, which goes EOL in the same month. And should be generalised to future PHP versions.
Follow up to https://github.com/silverstripe/silverstripe-framework/pull/6718/
2017-03-21 08:28:08 +13:00
Ingo Schommer
6e58408806 Drop PHP 5.5 support, limit PHP 5.6 to 2018
Fixes #6705
2017-03-20 10:34:24 +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
Ingo Schommer
e4daf70b27 Merge pull request #6695 from open-sausages/pulls/4.0/admin-module
API Move admin to separate module
2017-03-15 11:59:51 +13:00
Ingo Schommer
3ec5a5b035 Fixed upgrading path references 2017-03-15 11:08:28 +13:00
Damian Mooyman
9f953770f5 API Move CMSPreviewable to framework module
Remove or soft-link dependency on admin module
2017-03-14 10:22:45 +13:00
Jack O'Connor
100e9bf59c Correcting typo 2017-03-13 12:15:07 +00: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
Damian Mooyman
23b92c8187
Documentation and linting updates 2017-03-10 11:59:38 +13:00
Christopher Joe
466c50b302 API Switch from npm4 and shrinkwrap to npm6 and yarn 2017-03-10 11:38:26 +13:00
Damian Mooyman
bf3383731d Upgrading guide for uploadfield 2017-03-09 13:33:00 +13:00
Christopher Joe
50deb17763 API remove UploadField, AssetField and associated files
Fixes #6481
2017-03-09 10:16:46 +13:00
Ingo Schommer
97a29c1ee2 Add Chris to core committers list 2017-03-08 14:50:24 +13:00
Ingo Schommer
06ec59b4f2 Sort core committers alphabetically 2017-03-08 14:50:24 +13:00
Damian Mooyman
53cad18fd7 Added 4.0.0-alpha5 changelog 2017-03-01 15:01:48 +13:00
Damian Mooyman
09f47789b7 Added 4.0.0-alpha5 changelog 2017-03-01 14:27:17 +13:00
Loz Calver
b9da55c8ab Merge pull request #6659 from robbieaverill/bugfix/quote-constants-in-yaml
FIX Add quotes to constants in YAML to ensure syntax validity
2017-02-28 09:19:22 +00:00
Robbie Averill
badf7d3a73 FIX Add quotes to constants in YAML to ensure syntax validity 2017-02-27 21:48:42 +13:00