Commit Graph

2894 Commits

Author SHA1 Message Date
Damian Mooyman
510c556739 API File has Versioned extension
API Improved support for versioned DataObject
API GridField extensions for versioned dataobjects
API De-couple File and ErrorPage
API File::handle_shortcode now respects canView()
API AssetControlExtension is now able to delete, publish, or protect files
API Upload now protects new assets by default
2016-02-23 13:46:28 +13:00
Damian Mooyman
65a0981c08 BUG Correct behaviour of publish with $createNewVersion = true
Fixes #5040
Cleanup code to make behaviour more apparent
2016-02-23 10:15:49 +13:00
Damian Mooyman
f20ad434ce API Update TinyMCE to 4.x
API Allow HtmlEditorField to be individually configured
BUG Fix incorrect change detection
BUG Fix missing i18n files
2016-02-23 10:10:02 +13:00
Damian Mooyman
56e92f5a32 [ss-2016-002] Ensure Gridfield actions respect CSRF 2016-02-18 17:28:54 +13:00
Damian Mooyman
829135a85a API remove Object::useCustomClass
API Broke out Injectable, Configurable, and Extensible from Object into traits
BUG Fix missing extraDataObjects in tests
2016-02-17 10:22:04 +13:00
Jean-Fabien Barrois
bab1f230bf NEW Cross device "Remember Me" feature
At the moment, using the "Remember me" function on more than one device will only work with the last device used. Previous devices will not auto login.
This PR introduces a new DataObject for storing hashed tokens against multiple devices. Developers can configure if logging out should discard all tokens, or only the one used on the device logging out; token expiry date is 90 days by default but configurable. For added security, the old behaviour can still be enforced if multiple tokens are not desired.
See silverstripe#1574 for additional background
2016-02-10 09:42:08 +13:00
Mark Stephens
3fcf1e2c98 BUG edge case on many many extra fields (fixes 4991)
Fixes an edge case where extraFields are not returned if
one side of a many many is added via extension (although this
may not be the only failure case). Fixes a
downstream issue with dms breaking the CMS on framework 3.2.

The bug is where a many many relationship exists on a class,
and a sub-class attempts to get the extra fields of the
relationship. The change fixes the test for exact matching of
the relationship class to the instance class, to checking if
the instance is the class or a subclass of the relationship.

The unit tests check the dms failure case, which is a more
complex failure case.
2016-02-04 12:47:07 +13:00
Damian Mooyman
6cebffd89b BUG Fix SSViewerTest not restoring old requirements
BUG Fix incorrect js path in UploadField.php
Restore changes missing from merge
2016-01-26 11:39:53 +13:00
David Craig
2140025c20 Implement RFC-7 JavaScript module loader
- Adds ES6 support via Babel
- Transforms existing JavaScript to UMD modules
- Adds module bundling via Browserify
- Existing JavaScript converted to UMD modules
- lib.js and leftandmain.js are bundled using browserify
- JavaScript minifying of bundles handed by gulp
2016-01-26 11:39:20 +13:00
Daniel Hensby
e74665b639 Merge pull request #4964 from tractorcow/pulls/4.0/tomap-standardise
API Standardise SS_List::map() implementation
2016-01-25 13:31:05 +00:00
Damian Mooyman
69c9ad1428 Merge remote-tracking branch 'origin/3'
# Conflicts:
#	admin/css/ie8.css.map
#	admin/css/screen.css
#	admin/css/screen.css.map
#	admin/scss/_style.scss
#	css/AssetUploadField.css
#	css/GridField.css.map
#	docs/en/02_Developer_Guides/00_Model/08_SQL_Select.md
#	lang/fi.yml
2016-01-25 16:15:41 +13:00
Damian Mooyman
e091bb8474 Merge remote-tracking branch 'origin/3.3' into 3
# Conflicts:
#	admin/scss/_forms.scss
#	admin/scss/_style.scss
#	tests/model/VersionedTest.yml
2016-01-25 15:57:37 +13:00
Damian Mooyman
7c448bb4a2 Merge remote-tracking branch 'origin/3.2' into 3.3
# Conflicts:
#	tests/model/DataObjectLazyLoadingTest.php
#	tests/model/VersionedTest.yml
2016-01-25 14:11:37 +13:00
Damian Mooyman
e77389d0c8 API Standardise SS_List::map() implementation
Fixes #1593
2016-01-25 10:22:47 +13:00
Damian Mooyman
f8ce2d7631 Merge pull request #4973 from dhensby/pulls/multibyte-char-fix
Remove question marks, equal signs and hashes
2016-01-25 10:00:07 +13:00
assertchris
c66f973fce Replaced obsolete mime types 2016-01-24 18:15:47 +13:00
Daniel Hensby
119bd2f873 Merge pull request #4845 from tractorcow/pulls/3/extension-hook-byref
API before/afterExtend now support parameters passed by reference
2016-01-22 16:08:20 +00:00
Damian Mooyman
bf8bf5e4d5 BUG Prevent Versioned::doRollbackTo from creating incorrect versions on subclasses of Versioned DataObjects
Document correct configuration of Versioned DataObjects
Fixes #4936
2016-01-22 15:35:58 +13:00
Daniel Hensby
612772728e Merge pull request #4962 from tractorcow/pulls/4.0/defaultclass
API Refactor out Page default classname hack
2016-01-21 22:40:28 +00:00
Jarkko Linnanvirta
cf8e9f2427 Test removing some bad characters when multibyte is allowed 2016-01-21 12:57:50 +02:00
Damian Mooyman
5138bf1b7f API Refactor out Page default classname hack
Fixes #1932
2016-01-21 17:12:55 +13:00
Damian Mooyman
bdb1a95758 API Cleanup and refactor of select fields
API Standardise Relation interface
2016-01-21 15:40:19 +13:00
Damian Mooyman
df76d783fe BUG Fix VersionedTest sometimes failing given certain querystring arguments 2016-01-20 14:49:46 +13:00
Damian Mooyman
e6b877df27 Merge remote-tracking branch 'origin/3'
# Conflicts:
#	control/Director.php
#	control/HTTP.php
#	core/startup/ParameterConfirmationToken.php
#	docs/en/00_Getting_Started/01_Installation/05_Common_Problems.md
#	docs/en/00_Getting_Started/04_Directory_Structure.md
#	docs/en/00_Getting_Started/05_Coding_Conventions.md
#	docs/en/01_Tutorials/01_Building_A_Basic_Site.md
#	docs/en/01_Tutorials/02_Extending_A_Basic_Site.md
#	docs/en/01_Tutorials/03_Forms.md
#	docs/en/01_Tutorials/04_Site_Search.md
#	docs/en/01_Tutorials/05_Dataobject_Relationship_Management.md
#	docs/en/02_Developer_Guides/12_Search/01_Searchcontext.md
#	docs/en/02_Developer_Guides/13_i18n/index.md
#	docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/06_Javascript_Development.md
#	docs/en/03_Upgrading/index.md
#	docs/en/changelogs/index.md
#	docs/en/howto/customize-cms-menu.md
#	docs/en/howto/navigation-menu.md
#	docs/en/index.md
#	docs/en/installation/index.md
#	docs/en/installation/windows-manual-iis-6.md
#	docs/en/misc/contributing/code.md
#	docs/en/misc/contributing/issues.md
#	docs/en/misc/module-release-process.md
#	docs/en/reference/dataobject.md
#	docs/en/reference/execution-pipeline.md
#	docs/en/reference/grid-field.md
#	docs/en/reference/modeladmin.md
#	docs/en/reference/rssfeed.md
#	docs/en/reference/templates.md
#	docs/en/topics/commandline.md
#	docs/en/topics/debugging.md
#	docs/en/topics/email.md
#	docs/en/topics/forms.md
#	docs/en/topics/index.md
#	docs/en/topics/module-development.md
#	docs/en/topics/modules.md
#	docs/en/topics/page-type-templates.md
#	docs/en/topics/page-types.md
#	docs/en/topics/search.md
#	docs/en/topics/testing/index.md
#	docs/en/topics/testing/testing-guide-troubleshooting.md
#	docs/en/topics/theme-development.md
#	docs/en/tutorials/1-building-a-basic-site.md
#	docs/en/tutorials/2-extending-a-basic-site.md
#	docs/en/tutorials/3-forms.md
#	docs/en/tutorials/4-site-search.md
#	docs/en/tutorials/5-dataobject-relationship-management.md
#	docs/en/tutorials/building-a-basic-site.md
#	docs/en/tutorials/dataobject-relationship-management.md
#	docs/en/tutorials/extending-a-basic-site.md
#	docs/en/tutorials/forms.md
#	docs/en/tutorials/index.md
#	docs/en/tutorials/site-search.md
#	main.php
#	model/SQLQuery.php
#	security/ChangePasswordForm.php
#	security/MemberLoginForm.php
#	tests/control/ControllerTest.php
#	tests/core/startup/ParameterConfirmationTokenTest.php
#	tests/model/SQLQueryTest.php
#	tests/security/SecurityTest.php
#	tests/view/SSViewerTest.php
#	view/SSTemplateParser.php
#	view/SSTemplateParser.php.inc
#	view/SSViewer.php
2016-01-20 13:16:27 +13:00
Damian Mooyman
8e4db95f72 Fix merge regressions 2016-01-19 17:08:40 +13:00
Damian Mooyman
8c1cafd1a0 Merge remote-tracking branch 'origin/3.3' into 3
# Conflicts:
#	admin/scss/_forms.scss
#	admin/scss/_style.scss
#	admin/scss/_tree.scss
#	javascript/TreeDropdownField.js
2016-01-19 17:08:26 +13:00
Damian Mooyman
5d240feaec Merge remote-tracking branch 'origin/3.2' into 3.3 2016-01-19 15:08:24 +13:00
Damian Mooyman
46cbe809ac Merge remote-tracking branch 'origin/3.1' into 3.2
# Conflicts:
#	docs/en/02_Developer_Guides/09_Security/04_Secure_Coding.md
#	docs/en/02_Developer_Guides/14_Files/01_Image.md
#	docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/How_Tos/Customise_CMS_Menu.md
#	docs/en/03_Upgrading/index.md
#	docs/en/05_Contributing/01_Code.md
#	forms/TreeMultiselectField.php
#	security/Permission.php
2016-01-19 14:00:19 +13:00
Damian Mooyman
8e1ae55ff6 API Enable single javascript files to declare that they include other files 2016-01-15 09:49:28 +13:00
Damian Mooyman
738e1db756 Update Nginx rules
Prevent disclosure of secure assets
2016-01-13 18:18:22 +13:00
Damian Mooyman
037467beae API Asset Access Control implementation 2016-01-13 18:18:22 +13:00
Daniel Hensby
2dd8d5e518 Fixing anchor selection 2016-01-12 17:35:06 +00:00
Sam Minnee
4aa50534d5 FIX: Fixes needed to adapt to whitespace changes.
API: Whitespace trimmed from custom form field templates

The introduction of trailing newlines on all template files introduced
some changes that needed to be made.

Notably, whitespace has been trimmed from rendered form field templates.
This is the minimal impact to SilverStripe developers, as it preserves
the behaviour of the default field types, but I’ve still noted as a
change.
2016-01-07 14:17:57 +13:00
Sam Minnee
3ee8f505b7 MINORE: Remove training whitespace.
The main benefit of this is so that authors who make use of
.editorconfig don't end up with whitespace changes in their PRs.

Spaces vs. tabs has been left alone, although that could do with a
tidy-up in SS4 after the switch to PSR-1/2.

The command used was this:

for match in '*.ss' '*.css' '*.scss' '*.html' '*.yml' '*.php' '*.js' '*.csv' '*.inc' '*.php5'; do
	find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" -exec sed -E -i '' 's/[[:space:]]+$//' {} \+
	find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" | xargs perl -pi -e 's/ +$//'
done
2016-01-07 10:15:54 +13:00
Loz Calver
c9ba0e48fc NEW: Add ViewableData::setFailover() to refresh detected methods when changing failover 2016-01-06 15:19:33 +00:00
Daniel Hensby
4335d8ed22 FIX Members with no ID inherit logged in user permission 2016-01-05 08:16:18 +00:00
Damian Mooyman
bb09340605 Merge pull request #4876 from SilbinaryWolf/remove-validation-from-lookupfield
Added unit test to ensure LookupField can't save into a DataObject
2016-01-05 10:18:36 +13:00
Jake Ben
c07dcaa3af Added unit test to ensure LookupField can't save into a DataObject 2015-12-24 14:30:50 +11:00
Damian Mooyman
fce82519bd BUG Workaround for issues in testing version 2015-12-22 17:47:53 +13:00
Damian Mooyman
19b10044ec Merge remote-tracking branch 'origin/3.2' into 3 2015-12-22 17:05:07 +13:00
Damian Mooyman
66b3a6a2c5 Merge pull request #4840 from mateusz/guard
BUG Guard against users being added to all groups on unsaved Group.
2015-12-22 16:29:09 +13:00
Damian Mooyman
48a30909f3 Merge remote-tracking branch 'origin/3.2' into 3
# Conflicts:
#	admin/javascript/LeftAndMain.BatchActions.js
#	css/UploadField.css
#	forms/HtmlEditorField.php
2015-12-22 14:07:52 +13:00
Loz Calver
d265c9b733 FIX: Allow omitting a value for OptionsetField submissions (fixes #4824) 2015-12-14 16:50:22 +00:00
Loz Calver
9467ab9a7e NEW: Implement unshift() in field list classes (closes #4834) 2015-12-14 16:18:57 +00:00
Damian Mooyman
62f183d037 API before/afterExtend now support parameters passed by reference
Closes #4810
2015-12-14 10:10:45 +13:00
Mateusz Uzdowski
5a21b2fb15 BUG Guard against users being added to all groups on unsaved Group.
If ->Members()->add() is called on an unsaved group (with ID 0), the
collateFamilyIDs() will errorneously return all root Groups thinking
it's looking for Groups with ParentID=0. As a result, the Member will be
added to all root groups, instead of just the selected group and all its
children.
2015-12-11 14:51:51 +13:00
Ingo Schommer
0175167761 Merge pull request #4830 from open-sausages/pulls/3/fix-querystring-stage
API Disable unauthenticated get parameter access to site stage mode
2015-12-10 10:44:43 +13:00
Damian Mooyman
fa0160a874 BUG Fix regression in canViewStage 2015-12-09 14:53:21 +13:00
Hamish Friedlander
1eda9151a4 Merge pull request #4831 from open-sausages/pulls/3/fix-versioned-canview
API Create default security permission model for versioned data objects
2015-12-09 14:17:27 +13:00
Damian Mooyman
6089a7c5bd API Create default security permission model for versioned data objects 2015-12-09 11:33:53 +13:00
Marcus Nyeholt
fc5e584201 Format for SS3 using tabs instead of spaces 2015-12-08 15:19:24 +11:00
Damian Mooyman
38e154af0a API Disable get parameter access to site stage mode
BUG Fix missing and undocumented response from Security::permissionFailure()
2015-12-07 17:39:18 +13:00
Marcus Nyeholt
f7c270a3ba NEW Use Config for determining Vary header
Existing implementation hardcodes the Vary header; swap to using Config layer
instead

Added test for changing the variable from config
2015-12-02 10:28:24 +11:00
Daniel Hensby
b694829084 Merge pull request #4812 from tractorcow/pulls/4.0/api-composite-sort
API Enable DataList::sort to support composite field names
2015-11-30 23:54:45 +00:00
Damian Mooyman
c13b5d989f API Enable advanced configuration options for requirements combined files
API Enable relative root paths for the default Flysystem AssetAdapter
2015-12-01 11:07:13 +13:00
Damian Mooyman
641c26299c API Enable linear-only restriction for DataList::applyRelation
API Remove DataList::getRelation
2015-12-01 09:58:27 +13:00
Damian Mooyman
2b1e5ee071 API Enable DataList::sort to support composite field names (similar to filter) 2015-12-01 09:35:33 +13:00
Damian Mooyman
ce28259c5f API Replace CacheGeneratedAssetHandler with FlysystemGeneratedAssetHandler
API Reduce GeneratedAssetHandler API
API Re-introduce Requirements::delete_all_combined_files();
API Re-introduce Requirements::flush()
API Combined files now uses new filenames distinguished by sha1 of sources
2015-11-26 16:12:05 +13:00
Christopher Darling
e9b833f5f0 FIX: ConfirmedPassword field correctly reports mismatching passwords
added testFormValidation to prove #4780
2015-11-20 15:56:27 +00:00
Loz Calver
68d99be24b FIX: Hidden errors for composite fields nested inside FieldGroups (fixes #4773) 2015-11-17 16:34:17 +00:00
Damian Mooyman
fd6ae72e1d Merge remote-tracking branch 'origin/3.2.1' into 3.2 2015-11-16 16:39:15 +13:00
Hamish Friedlander
b61d6dcd57 [ss-2015-027]: FIX HtmlEditorField_Toolbar#viewfile not whitelisting URLs 2015-11-13 15:20:09 +13:00
Damian Mooyman
fea1158d19 BUG Fix print button only displaying first page 2015-11-12 14:59:08 +13:00
Damian Mooyman
245e0aae2f [ss-2015-026]: BUG Fix FormField error messages not being encoded safely 2015-11-11 17:50:02 +13:00
Ingo Schommer
ac4342d81d [ss-2015-022]: XML escape RSSFeed $link parameter 2015-11-11 17:46:39 +13:00
Damian Mooyman
97f21fddb3 [ss-2015-021] Fix rewrite hash links XSS 2015-11-11 17:46:27 +13:00
Damian Mooyman
bc1b2893ac [ss-2015-026]: BUG Fix FormField error messages not being encoded safely 2015-11-11 16:56:19 +13:00
Ingo Schommer
4f55b6a115 [ss-2015-022]: XML escape RSSFeed $link parameter 2015-11-11 16:54:04 +13:00
Damian Mooyman
132e9b3e2f [ss-2015-021] Fix rewrite hash links XSS 2015-11-11 16:52:53 +13:00
Damian Mooyman
0272e443f4 BUG Prevent dev/build continually regenerating Number field type 2015-11-11 09:21:50 +13:00
Daniel Hensby
d380252488 Merge pull request #4760 from tractorcow/pulls/3.2/fix-empty-filter
BUG Correct behaviour for empty filter array (as per 3.1)
2015-11-10 01:48:47 +00:00
muskie9
603caccb90 ENHANCEMENT CurrencyField to use Currency.currency_symbol
fixes #4035

I have limited experience with regex, so I hope I did it correctly. I was able to save/save & publish with the curent regex and the values look good.
2015-11-09 19:38:51 -06:00
Damian Mooyman
732e705bbf BUG Correct behaviour for empty filter array (as per 3.1) 2015-11-10 14:24:45 +13:00
Will Morgan
6d85d618b6 Merge pull request #4751 from dhensby/pulls/plural-fix
Fixing issue where words ending ay/ey/iy/oy/uy are not pluralised correctly
2015-11-06 16:55:25 +00:00
Daniel Hensby
dad3784621 Fixing issue where words ending ay/ey/iy/oy/uy are not pluralised correctly 2015-11-06 16:23:45 +00:00
Daniel Hensby
ef35c2bb6b Merge pull request #4457 from tractorcow/pulls/4.0/no-query
API Remove SQLQuery
2015-11-03 16:41:07 +00:00
Garion Herman
6a1a3bf182 Corrected TotalItems() method to use Count(). Added test coverage. (fixes #4646) 2015-11-04 00:20:45 +13:00
Damian Mooyman
1e1a7a345c Merge remote-tracking branch 'origin/3'
Conflicts:
	control/Director.php
	filesystem/File.php
	filesystem/GD.php
	filesystem/ImagickBackend.php
	forms/HtmlEditorField.php
	javascript/UploadField_uploadtemplate.js
	model/Image.php
	model/Image_Backend.php
	model/fieldtypes/Enum.php
	templates/AssetUploadField.ss
	tests/model/ImageTest.php
	tests/search/FulltextFilterTest.php
2015-11-03 14:23:16 +13:00
Damian Mooyman
c4dc10b255 Merge remote-tracking branch 'origin/3.2' into 3
Conflicts:
	forms/DropdownField.php
	tests/model/ImageTest.php
2015-11-03 13:06:39 +13:00
Damian Mooyman
2813f94124 BUG Ensure that filters on any fixed field are scoped to the base data table
Fixes #4700
2015-10-30 16:26:14 +13:00
Damian Mooyman
db16248b9a BUG Fix broken InlineFormAction 2015-10-29 10:48:49 +13:00
Damian Mooyman
d1ea74e40d API Implement AssetField to edit DBFile fields 2015-10-23 16:57:44 +13:00
Damian Mooyman
3e7eecf978 API Remove SQLQuery 2015-10-23 16:26:04 +13:00
Damian Mooyman
e17a49f8a5 API Restore JS Minification
BUG Fix incorrect cache on CacheGeneratedAssetHandler
2015-10-23 14:14:38 +13:00
Ingo Schommer
f252cfad20 Merge pull request #4680 from open-sausages/features/dbfile-generated-files
API Generated files API
2015-10-23 13:19:56 +13:00
Damian Mooyman
fe3d23f0d4 BUG Fix GeneratedAssetHandler crashing on expired resources 2015-10-23 11:46:58 +13:00
Damian Mooyman
f9892c628c API Generated files API
API Refactor Requirements_Backend to use new APL
2015-10-23 10:07:48 +13:00
Loz Calver
977642daa9 Remove Spyc YAML library
Also had to fix some fixture files - none of the YAML spec versions actually support tabs anyway
2015-10-19 17:07:34 +01:00
Daniel Hensby
1974e79d71 Allow multi-line enum declarations 2015-10-15 16:23:19 +01:00
Damian Mooyman
d884c859d1 BUG Fix file link tracking for new asset abstraction 2015-10-15 12:15:00 +13:00
Damian Mooyman
be239896d3 API Refactor of File / Folder to use DBFile
API Remove filesystem sync
API to handle file manipulations
2015-10-13 11:57:39 +13:00
Patrick Nelson
f192a6ecaf FIX #4392: Ensure headers are checked first before being clobbered by globally maintained state. Also ensuring tests utilize separate responses for isolation. 2015-10-09 13:50:33 -04:00
Daniel Hensby
95ae107c4c Merge pull request #4486 from uniun/patch-2
BUGFIX. FulltextFilter requires table identifiers in match query
2015-10-07 10:28:15 +01:00
Elvinas L.
630062c0e0 Removed whitespaces 2015-10-07 09:33:02 +03:00
Elvinas L.
19c754bf9a Fixed tests 2015-10-06 18:59:39 +03:00
Damian Mooyman
df805af67b BUG Imagick tests compare image dimensions rather than image hashes 2015-10-06 16:35:44 +13:00
Damian Mooyman
b8335793d6 Merge pull request #4620 from kinglozzer/pulls/manymanyextrafields-compat
FIX: GridFieldDetailForm failing to save many_many relations
2015-10-06 11:49:56 +13:00
Loz Calver
1aa1d65932 Merge pull request #4610 from tractorcow/pulls/3/suppress-custom-theme
Minor: Suppress custom themes in Formtest
2015-09-24 16:17:11 +01:00
Sam Minnée
9fdd8f43db Merge pull request #4627 from tractorcow/pulls/4.0/trait-autoloading
API Support trait loading
2015-09-24 15:02:14 +12:00
Damian Mooyman
ac27836d2b API Implementation of RFC-1 Asset Abstraction 2015-09-24 12:57:28 +12:00