Daniel Hensby
eaec2ad9a8
Safe unnesting of Config and Injector
2015-06-15 00:23:40 +01:00
Damian Mooyman
8331171f2c
Merge remote-tracking branch 'origin/3.1' into 3
...
Conflicts:
.scrutinizer.yml
admin/javascript/LeftAndMain.Panel.js
core/startup/ParameterConfirmationToken.php
dev/Debug.php
dev/FixtureBlueprint.php
docs/en/00_Getting_Started/05_Coding_Conventions.md
docs/en/00_Getting_Started/index.md
docs/en/02_Developer_Guides/01_Templates/01_Syntax.md
filesystem/File.php
filesystem/Folder.php
forms/FieldList.php
forms/LabelField.php
forms/MoneyField.php
forms/TextField.php
forms/TreeDropdownField.php
forms/Validator.php
forms/gridfield/GridField.php
forms/gridfield/GridFieldExportButton.php
lang/de.yml
lang/fi.yml
model/DataObject.php
model/SQLQuery.php
parsers/ShortcodeParser.php
security/ChangePasswordForm.php
security/Security.php
tests/control/DirectorTest.php
tests/core/startup/ParameterConfirmationTokenTest.php
tests/dev/FixtureBlueprintTest.php
tests/forms/FieldListTest.php
tests/forms/MoneyFieldTest.php
tests/model/SQLQueryTest.php
tests/security/SecurityTest.php
2015-06-02 19:13:38 +12:00
Damian Mooyman
0319f7855b
FIX Incorrect env setting in 3.1.13
2015-06-02 12:27:08 +12:00
Marcus Nyeholt
9c8fa51321
FIX Allow users to specify allowed hosts
...
Allow users to explicitly state which Hosts are allowed to be requested via
this application instance to avoid Host: header forgery attacks.
2015-05-28 15:58:39 +10:00
Damian Mooyman
a978b891e1
BUG Fix handling of empty parameter token
2015-05-28 10:13:10 +12:00
Damian Mooyman
75137dbab2
Ensure only trusted proxy servers have control over certain HTTP headers
2015-05-28 10:12:46 +12:00
Loz Calver
a7100e9006
FIX: Object::parse_class_spec failed to parse associative arrays
2015-05-06 18:29:51 +01:00
Stevie Mayhew
0d94cf15a5
UPDATE: change all instances of $this->request to use appropriate getter/setter
2015-04-30 11:04:08 +12:00
Damian Mooyman
43f49e8434
Merge remote-tracking branch 'origin/3.1' into 3
...
Conflicts:
admin/code/ModelAdmin.php
control/Director.php
model/SQLQuery.php
security/Member.php
tests/control/HTTPTest.php
tests/model/SQLQueryTest.php
tests/security/SecurityTest.php
tests/view/SSViewerTest.php
2015-03-31 19:54:15 +13:00
Damian Mooyman
7f983c2bae
BUG Fix SS-2014-017
2015-03-20 18:27:30 +13:00
Damian Mooyman
db54125262
Deprecate stripslashes_recursively and magic quotes
...
This code is removed from 4.0
2015-03-14 21:24:11 +13:00
Damian Mooyman
319b96b48b
Merge remote-tracking branch 'origin/3.1' into 3
...
Conflicts:
docs/en/02_Developer_Guides/09_Security/04_Secure_Coding.md
docs/en/05_Contributing/01_Code.md
forms/TreeDropdownField.php
model/DataObject.php
security/Member.php
tests/model/DataObjectTest.php
2015-03-11 11:40:06 +13:00
Daniel Hensby
ef818b3b7b
Merge pull request #3970 from tractorcow/pulls/3.2/api-zero-pagination
...
API enable PaginatedList to be disabled by setting page length to 0
2015-03-09 11:28:36 +00:00
Loz Calver
93dca9aabd
Merge pull request #3934 from dhensby/pulls/cofig-lru-fix
...
Change the LRU cache to a simple in-memory model
2015-03-09 09:31:04 +00:00
Simon Welsh
1d135552cf
Change the LRU cache to a simple in-memory model
...
Slight memory increase when there are lots of additions for much better performance in every case.
2015-03-09 02:01:24 +00:00
Damian Mooyman
9367fd2456
API enable PaginatedList to be disabled by setting page length to 0
2015-03-05 12:07:14 +13:00
micmania1
6e0afd5b3c
FIX Prevent unnecessary call to config system which doesn't exist yet
...
By passing the Config instantiation through the Injector and service configuration we're unnecessarily calling Config::inst()->get() on a config system which doesn't yet exist.
More specifically it calls Config::inst()->get('Config', 'dependencies') here: 4ae0d90c55/control/injector/Injector.php (L660)
which in turn calls Config::inst()->get('Config', 'extensions').
This jumps through hoops trying to find the cached config for this class using the current Config_LRU class. When it doesn't find it, it then tries to look through the manifests which don't get created or brought from cache until later on in Core.php. Eventually this returns null for both Config::inst()->get() calls.
I ran a quick performance test before and after on an ec2 t2.micro box using siege (concurrency 5, 10 repetitions) and saved 400ms on average response times on a default installation - it would be awesome if somebody could confirm this is actually the case?
2015-03-03 11:35:26 +00:00
Daniel Hensby
bee642a6b9
FIX make class loader classExists check interface_exists as per docs
2015-03-03 00:22:15 +00:00
Will Rossiter
ddec797c1c
Correct PHPDoc for classExists ( Fixes #3904 )
...
classExists() doesn't check for interfaces, comment shouldn't say it does.
2015-03-02 20:15:26 +13:00
Damian Mooyman
dff65867cc
Merge remote-tracking branch 'origin/3.1' into 3
...
Conflicts:
control/HTTP.php
control/HTTPResponse.php
docs/en/05_Contributing/01_Code.md
forms/CompositeField.php
forms/FormAction.php
forms/FormField.php
forms/InlineFormAction.php
forms/NumericField.php
forms/TreeDropdownField.php
forms/TreeMultiselectField.php
templates/forms/TreeDropdownField.ss
tests/core/CoreTest.php
tests/forms/NumericFieldTest.php
tests/model/DataDifferencerTest.php
2015-02-20 10:17:19 +13:00
Zauberfisch
aa77e126c7
Fixed infinity loop when searching _ss_environment
2015-02-17 04:33:40 +00:00
zauberfisch
eb98b003b7
Fixed looking for _ss_environment.php in root dir and removed redundant code
2015-02-13 23:30:29 +00:00
JorisDebonnet
047fe3a410
BUG Include php version in default cache folder name
...
Update CoreTest.php
2015-02-12 17:29:45 +13:00
Loz Calver
eed709384d
FIX: dev/build not flushing manifests if site is in a subfolder
2015-02-11 19:59:22 +00:00
Damian Mooyman
88fdc75456
Merge remote-tracking branch 'composer/3.1' into 3
...
Conflicts:
.editorconfig
docs/en/00_Getting_Started/00_Server_Requirements.md
docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_IIS7.md
docs/en/00_Getting_Started/01_Installation/04_Other_installation_Options/Windows_Platform_Installer.md
docs/en/00_Getting_Started/04_Directory_Structure.md
docs/en/00_Getting_Started/index.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/01_Tutorials/index.md
docs/en/02_Developer_Guides/00_Model/01_Data_Model_and_ORM.md
docs/en/02_Developer_Guides/00_Model/11_Scaffolding.md
docs/en/02_Developer_Guides/01_Templates/06_Themes.md
docs/en/02_Developer_Guides/03_Forms/How_Tos/Simple_Contact_Form.md
docs/en/02_Developer_Guides/05_Extending/05_Injector.md
docs/en/02_Developer_Guides/09_Security/04_Secure_Coding.md
docs/en/02_Developer_Guides/10_Email/index.md
docs/en/02_Developer_Guides/11_Integration/01_RestfulService.md
docs/en/02_Developer_Guides/12_Search/01_Searchcontext.md
docs/en/02_Developer_Guides/14_Files/index.md
docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/03_CMS_Layout.md
docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/06_Javascript_Development.md
docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/How_Tos/Customise_CMS_Tree.md
docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/How_Tos/Customise_Site_Reports.md
docs/en/02_Developer_Guides/18_Cookies_And_Sessions/01_Cookies.md
docs/en/04_Changelogs/3.1.9.md
docs/en/05_Contributing/00_Issues_and_Bugs.md
docs/en/05_Contributing/02_Release_Process.md
docs/en/05_Contributing/03_Documentation.md
filesystem/File.php
filesystem/GD.php
model/DataDifferencer.php
model/Versioned.php
security/BasicAuth.php
security/Member.php
tests/filesystem/FileTest.php
tests/forms/uploadfield/UploadFieldTest.php
tests/model/VersionedTest.php
tests/security/BasicAuthTest.php
2015-01-15 18:52:46 +13:00
Damian Mooyman
19549d620f
Moved deprecation of SQLQuery to 4.0
2014-12-04 09:30:50 +13:00
Jonathon Menz
01989aac4e
FIX: Manifest flushing
...
Fixes silverstripe/silverstripe-framework#2325
Fixes silverstripe/silverstripe-framework#3093
Static manifest was not being flushed during a dev/build on some environments (without ?flush in URL) and template manifest was never being flushed during a dev/build.
2014-11-26 10:15:09 +10:30
Damian Mooyman
0b1f297873
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
.travis.yml
README.md
admin/code/LeftAndMain.php
admin/css/screen.css
admin/scss/screen.scss
api/RestfulService.php
conf/ConfigureFromEnv.php
control/injector/ServiceConfigurationLocator.php
control/injector/SilverStripeServiceConfigurationLocator.php
core/ClassInfo.php
core/Object.php
css/AssetUploadField.css
css/ComplexTableField_popup.css
dev/CSSContentParser.php
dev/DevelopmentAdmin.php
docs/en/changelogs/index.md
docs/en/misc/contributing/code.md
docs/en/reference/execution-pipeline.md
filesystem/GD.php
filesystem/ImagickBackend.php
filesystem/Upload.php
forms/Form.php
forms/FormField.php
forms/HtmlEditorConfig.php
forms/gridfield/GridFieldDetailForm.php
forms/gridfield/GridFieldSortableHeader.php
lang/en.yml
model/Aggregate.php
model/DataList.php
model/DataObject.php
model/DataQuery.php
model/Image.php
model/MySQLDatabase.php
model/SQLQuery.php
model/fieldtypes/HTMLText.php
model/fieldtypes/Text.php
scss/AssetUploadField.scss
search/filters/SearchFilter.php
security/Authenticator.php
security/LoginForm.php
security/Member.php
security/MemberAuthenticator.php
security/MemberLoginForm.php
security/Security.php
tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php
tests/control/HTTPTest.php
tests/control/RequestHandlingTest.php
tests/filesystem/UploadTest.php
tests/forms/FormTest.php
tests/forms/NumericFieldTest.php
tests/model/DataListTest.php
tests/model/DataObjectTest.php
tests/model/TextTest.php
tests/security/MemberAuthenticatorTest.php
tests/security/SecurityDefaultAdminTest.php
tests/view/SSViewerCacheBlockTest.php
tests/view/SSViewerTest.php
2014-11-18 12:45:54 +13:00
Damian Mooyman
0a04e2e77b
Merge pull request #3484 from dnadesign/object_has_extension_fix
...
fixed and tested object has_extension
2014-10-24 17:20:00 +13:00
John Milmine
62658a6cca
fixed and tested object has_extension
2014-10-24 16:58:50 +13:00
Damian Mooyman
db0cad4616
BUG ErrorControlChain now supports exception handling
2014-09-26 16:54:34 +12:00
Sean Harvey
f7af0d8955
Merge pull request #3398 from dnadesign/fixsortableheader
...
API: Add ClassInfo::table_for_object_field to return the table name for ...
2014-09-26 11:14:33 +12:00
Will Rossiter
920978df99
API: Add ClassInfo::table_for_object_field
...
Returns the table name for a field in a class hierarchy.
This issue raised itself with GridFieldSortableHeader not supporting sorting on fields from parent class fields.
2014-09-26 10:38:31 +12:00
Sean Harvey
99f8fb29b5
Merge pull request #3507 from tractorcow/pulls/fix-mailer
...
API / FIX / Cleanup - Mailer and Convert::html2raw
2014-09-26 10:15:18 +12:00
Damian Mooyman
bf4e9eb044
API Singleton method allowing type inference
...
This pattern improves over the current usage of singleton by allowing type inference.
This also better supports refactor, code usage detection, and auto-completion of classes.
2014-09-26 09:10:25 +12:00
Damian Mooyman
29e3347562
API Convert::html2raw no longer wraps text automatically
...
BUG Convert::html2raw now correctly decodes single quotes
2014-09-25 16:04:48 +12:00
Sean Harvey
07eef2ece2
Removing deprecated class/functions marked for deprecation in 3.0/3.1
2014-08-25 12:06:05 +12:00
Sean Harvey
2b316e79e5
NEW Provide a consistent way of triggering flush
...
Provides an interface for classes to implement their own flush()
functionality. This function gets called early in a request on
all implementations of Flushable when flush=1|all is requested in the
URL.
This fix came out of an issue where Requirements combined files were not
being cleaned up after dev/build?flush=1, due to the fact that flush
would only occur when you called it while on a page that used those
combined files, but not in any other contexts. This will now call flush
on any implementors of Flushable regardless of the context of where
flush was called.
2014-08-22 09:24:27 +12:00
Damian Mooyman
eb069e605d
Remove all redundant whitespace
2014-08-19 09:17:15 +12:00
Will Morgan
807755f002
FIX TemplateManifest prevent cache collision
2014-07-28 08:52:11 +12:00
Simon Welsh
c14d58f585
Merge branch '3.1'
...
Conflicts:
.travis.yml
model/ManyManyList.php
model/fieldtypes/DBField.php
2014-07-16 21:24:02 +10:00
Damian Mooyman
d8e9af8af8
API New Database abstraction layer. Ticket #7429
...
Database abstraction broken up into controller, connector, query builder, and schema manager, each independently configurable via YAML / Injector
Creation of new DBQueryGenerator for database specific generation of SQL
Support for parameterised queries, move of code base to use these over escaped conditions
Refactor of SQLQuery into separate query classes for each of INSERT UPDATE DELETE and SELECT
Support for PDO
Installation process upgraded to use new ORM
SS_DatabaseException created to handle database errors, maintaining details of raw sql and parameter details for user code designed interested in that data.
Renamed DB static methods to conform correctly to naming conventions (e.g. DB::getConn -> DB::get_conn)
3.2 upgrade docs
Performance Optimisation and simplification of code to use more concise API
API Ability for database adapters to register extensions to ConfigureFromEnv.php
2014-07-09 18:04:05 +12:00
Damian Mooyman
c26df0b3c6
Revert "BUG Config::merge_array_low_into_high() ignores falsey values"
2014-07-09 09:57:25 +12:00
Sean Harvey
16e546300f
BUG Config::merge_array_low_into_high() ignores falsey values
...
Specific case: LeftAndMain::$session_keepalive_ping = true cannot be
set to false in config.yml for some cases because the value is ignored
when merge_array_low_into_high() is processing the config arrays.
2014-07-08 15:18:26 +12:00
Damian Mooyman
c30111eee3
Better encoding of javascript
...
Fixes #2988
2014-07-07 09:01:53 +12:00
Damian Mooyman
d3c7e41419
BUG using isDev or isTest query string no longer triggers basic auth
2014-07-02 11:51:51 +12:00
Damian Mooyman
ef03dfdd5b
Merge remote-tracking branch 'origin/3.1'
2014-06-17 18:17:24 +12:00
Loz Calver
3d71a22a98
FIX: ClassManifest errors if files contain duplicate class names ( fixes #3210 )
2014-06-16 22:18:18 +01:00
Ingo Schommer
bb03f6ba2f
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
forms/HtmlEditorField.php
2014-06-15 22:50:20 +12:00
Ingo Schommer
ec325a3c7f
API Fix HTTPS proxy header detection
...
Didn't use the de facto standard HTTP_X_FORWARDED_PROTO or the less standard HTTP_FRONT_END_HTTPS.
Removed the 'X-Forwarded-Proto', since PHP should prefix/underscore all HTTP headers before it hits $_SERVER.
References:
- https://docs.djangoproject.com/en/1.4/ref/settings/#secure-proxy-ssl-header
- https://drupal.org/node/1859252
- https://drupal.org/node/313145
- http://scottwb.com/blog/2013/02/06/always-on-https-with-rails-behind-an-elb/
2014-05-22 18:34:15 +12:00
Damian Mooyman
ec578e5c8a
Merge remote-tracking branch 'origin/3.1'
2014-05-12 11:32:22 +12:00
Ingo Schommer
a05d8113af
Merge pull request #3103 from simonwelsh/configstatic_nextstring
...
Adds to nextString() method to ConfigStaticManifest
2014-05-09 16:08:19 +12:00
Simon Welsh
3602ce2db8
Adds to nextString() method to ConfigStaticManifest
...
This is used to get the classname out of the tokens, rather than assuming that
the class name is a single T_STRING.
2014-05-06 15:35:37 +10:00
Will Morgan
9cbfd14d9d
FIX TemplateManifest prevent cache collision
2014-05-02 17:57:28 +01:00
Damian Mooyman
d06d5c113b
API Injector supports nesting
...
BUG Resolve issue with DirectorTest breaking RequestProcessor
Injector::nest and Injector::unnest are introduced to better support sandboxing of testings.
Injector and Config ::nest and ::unnest support chaining
Test cases for both Injector::nest and Config::nest
2014-04-29 08:59:33 +12:00
Simon Welsh
1d5706f15c
Correct line length and indentation
2014-03-30 21:11:56 +13:00
Simon Welsh
dde90dc346
Correct line length and endings
2014-03-30 19:51:38 +13:00
Simon Welsh
2566795b59
Merge branch '3.1'
...
Conflicts:
view/SSViewer.php
2014-03-30 19:39:18 +13:00
Simon Welsh
ac1546eb97
Correct line length and indentation
2014-03-30 19:37:54 +13:00
Simon Welsh
fe8dc50ffc
Merge branch '3.1'
...
Conflicts:
tests/view/SSViewerTest.php
2014-03-30 18:17:24 +13:00
Ingo Schommer
023641e263
Merge pull request #2776 from ryanwachtl/fix-get-candidate-template
...
FIX Overriding of theme templates in project folder
2014-03-25 23:08:36 +13:00
Sam Minnee
346d3edb37
Merge branch '3.1'
2014-02-13 17:58:30 +13:00
Ingo Schommer
5e29249593
Merge remote-tracking branch 'origin/3.0' into 3.1
...
Conflicts:
search/filters/PartialMatchFilter.php
2014-02-12 15:18:27 +13:00
Ingo Schommer
4af9143d3b
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
docs/en/misc/contributing/code.md
2014-02-07 16:43:22 +13:00
Nik Rolls
d1c68e6020
Fix autocompletion on ::create and ::strong_create
...
This ties in with IDEs that can autocomplete the LSB class when you @return static.
2014-02-04 15:36:24 +13:00
Ingo Schommer
457ec9446b
Merge pull request #2700 from ajshort/injector-factory
...
Injector Factory
2014-02-03 16:50:15 -08:00
Simon Welsh
ed4d32581d
$manifest needs to be global for Deprecation.
2014-02-04 12:26:28 +13:00
Ingo Schommer
0d7e9a9692
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
_config/routes.yml
docs/en/topics/datamodel.md
forms/DropdownField.php
2014-02-04 08:19:04 +13:00
Andrew Short
4ac5a749b0
Register config as a service.
2014-02-03 11:30:39 +11:00
Simon Erkelens
412cbbccc8
Don't show next for anything above TotalPages
...
Bots often have the habit of trying a next page, even if there isn't one.
Thus, using CurrentPage < TotalPages, prevents from unwanted next-links being shown.
2014-02-02 21:13:48 +01:00
Ingo Schommer
ab070944d5
Merge branch 'pulls/apidocs-package-list' of https://github.com/madmatt/silverstripe-framework into madmatt-pulls/apidocs-package-list
...
Conflicts:
view/SSTemplateParser.php
view/SSTemplateParser.php.inc
2014-01-31 15:15:59 +13:00
Ryan Wachtl
5f87d344f1
FIX Overriding of theme templates in project folder
...
Fixes issue of templates not being found when a Page's main/Layout templates are split between the project and theme folders. Adds more expansive testing for template loading.
2014-01-14 15:05:24 -06:00
Andrew Short
b7b041b435
FIX: Only unregister the relevant class when adding an extension.
...
This fixes an issue where the Config instance could not be injected, as
it would be immediately cleared.
2013-12-01 22:25:19 +11:00
madmatt
bebe0f6e37
Updating @package and @subpackage doc tags
2013-11-29 17:49:30 +13:00
Daniel Hensby
be4ff501f7
Making ConfigStaticManifest::parseStatic error more meaningful
...
The error thrown by `parseStatic` when there's an unexpected token is now more meaningful as it states the type of token that was encountered as well as the class that it was found in.
2013-11-13 10:49:55 +00:00
Andrew Short
bedf292612
Merge branch '3.1'
...
Conflicts:
docs/en/reference/execution-pipeline.md
lang/nl.yml
2013-11-11 18:18:25 +11:00
Hamish Friedlander
e161439340
Merge pull request #2470 from sunnysideup/patch-19
...
more meaningful error message in ConfigStaticManifest.php (depth < 0)
2013-11-04 17:58:10 -08:00
Sean Harvey
07b15db3eb
Allow ASSETS_PATH to be overridden like ASSETS_PATH (via jthomerson)
2013-11-01 11:27:03 +13:00
Will Morgan
ceab35a0be
Strict type check for null cache values
...
Previously, generated cache results that returned 0, '', array() etc
were being ignored. This change narrows it down to just false.
Ideally we would use a EmptyCacheHit object to be very specific for
these cases, but perhaps this approach is a bit overkill.
2013-10-24 18:01:20 +01:00
Ingo Schommer
b56ca812dc
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
tests/security/MemberTest.php
2013-10-23 14:53:29 +02:00
Will Morgan
18cb8d721c
Making cacheToFile key more resilient against mixed/nested types
2013-10-17 17:36:07 +01:00
Craig Lyons
27b139bc75
Add backwards compatibility for has_extension
2013-10-11 10:18:00 -04:00
Damian Mooyman
f67b549b77
BUG Fixed cross-platform issues with test cases and file utilities
2013-10-04 13:54:33 +13:00
Damian Mooyman
4b850fb41c
BUG Fixed cross-platform issues with test cases and file utilities
2013-10-03 14:49:18 +13:00
Damian Mooyman
fb5bb646fe
BUG Fixed cross-platform issues with test cases and file utilities
2013-10-02 17:31:06 +13:00
Nicolaas
5af97aa885
more meaningful error message in ConfigStaticManifest.php (depth < 0)
...
Changed error from: Fatal error: Hmm - depth calc wrong, hit negatives in /var/www/tangoio.maori.nz/framework/core/manifest/ConfigStaticManifest.php on line 242
... to ....
Fatal error: Hmm - depth calc wrong, hit negatives, see: /var/www/mysite.maori.nz/mymodule/code/MyClass.php in /var/www/mysite.maori.nz/framework/core/manifest/ConfigStaticManifest.php on line 240
The first error is completely meaningless and impossible to debug...
2013-09-30 16:02:11 -10:00
Ingo Schommer
455e550d9a
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
docs/en/topics/testing/create-silverstripe-test.md
forms/Form.php
i18n/i18n.php
model/Image.php
2013-09-27 19:22:14 +02:00
Ingo Schommer
07db2e1fd1
Only allow positive start values in PaginatedList
...
Otherwise the ORM query will fail.
2013-08-28 17:34:40 +02:00
Ingo Schommer
a4c6ae3e90
Merge remote-tracking branch 'origin/3.1'
2013-08-22 13:56:33 +02:00
Ingo Schommer
a592c36adf
Merge remote-tracking branch 'origin/3.0' into 3.1.0
...
Conflicts:
docs/en/changelogs/index.md
2013-08-20 20:49:01 +02:00
Hamish Friedlander
4a7aef0e25
FIX Double slashes in ParameterConfirmationToken
2013-08-19 11:35:34 +12:00
Ingo Schommer
2a35f2f928
Merge remote-tracking branch 'origin/3.1'
2013-08-07 17:34:11 +02:00
Hamish Friedlander
2110493466
Merge branch '3.0' into 3.1
2013-08-07 09:43:52 +12:00
Hamish Friedlander
5f9387c42c
FIX Constants magic_quotes handling needs function from Core
2013-08-05 14:58:44 +12:00
Hamish Friedlander
041466fe02
FIX Token redirect where in IIS a / needs adding between host & url
2013-08-05 09:15:11 +12:00
Hamish Friedlander
342058742c
FIX Flush on memory exhaustion and headers sent
2013-08-02 09:41:16 +12:00
Hamish Friedlander
d44024b1cf
Merge branch 'origin/3.1'
2013-07-24 13:29:55 +12:00
Hamish Friedlander
541436feb0
Merge branch 'origin/3.0' into 3.1
2013-07-24 12:09:44 +12:00
Hamish Friedlander
a1ea905ca8
FIX Nice errors and allows flush on module removal
2013-07-24 09:57:01 +12:00
Hamish Friedlander
84011aa736
FIX Only suppress fatal errors
2013-07-22 14:48:16 +12:00
Hamish Friedlander
604d9bf7dc
Split Core.php into Constants.php and Core.php and adjust main.php startup
...
The recent flush filter fix had a problem that you couldnt set a custom
BASE_PATH in _ss_environment because that file didnt get included until
after checking the confirmation token. This patch pulls the part of Core.php
that defines BASE_PATH into a seperate file that can be included earlier
in the startup sequence so that ParameterConfirmationToken can access it.
Core.php includes Constants.php with a require_once call, so for startup
scripts that dont pull in Constants.php themselves (like cli-script.php)
no change is needed.
2013-07-22 13:52:00 +12:00
Hamish Friedlander
0a79ac3592
Merge branch 'origin/3.1'
...
Conflicts:
templates/forms/CheckboxSetField.ss
templates/forms/FormField_holder.ss
templates/forms/OptionsetField.ss
2013-07-19 16:25:38 +12:00
Hamish Friedlander
bed25a7a79
Merge branch 'origin/3.0' into 3.1
2013-07-19 15:51:54 +12:00
Hamish Friedlander
a312cd08e1
FIX: Ignore invalid tokens instead of throwing 403
2013-07-19 14:47:05 +12:00
Hamish Friedlander
036c36a7dd
FIX: Have ParameterConfirmationToken work regardless of include path
2013-07-19 14:33:56 +12:00
Hamish Friedlander
d38bd7d5cb
Merge branch 'origin/3.0' into 3.1
2013-07-19 14:18:49 +12:00
Hamish Friedlander
1298d4a5bd
FIX Prevent DOS by checking for env and admin on ?flush=1 ( #1692 )
2013-07-19 12:24:32 +12:00
Andrew Short
8a62593754
Merge branch '3.1'
2013-07-10 18:27:19 +10:00
Cam Spiers
b44641336b
FIX ConfigManifest regenerating every request if variantKeySpec is an empty array()
2013-07-10 11:53:44 +12:00
Andrew Short
bfdf14fafa
Merge branch '3.1'
2013-07-09 13:42:32 +10:00
Cam Spiers
2d30592f72
Improve memory performance when generating config static and class caches
2013-07-08 21:24:14 +12:00
Cam Spiers
0aeb2293bb
Allow module directories to be named with more valid characters ensuring that module names in fragment meta-data are correct.
...
Unit tests for ConfigManifest reference path parsing
2013-07-06 14:16:59 +12:00
Simon Welsh
fbce9fd7cd
Merge branch '3.1'
...
Conflicts:
.travis.yml
docs/en/misc/contributing/code.md
javascript/HtmlEditorField.js
2013-07-05 10:22:58 +12:00
Simon Welsh
9deb11f9a0
Use preg_replace_callback over preg_replace with e modifier
2013-07-05 09:08:58 +12:00
Hamish Friedlander
5484283a25
FIX changing environment in config.php changes matched yaml rules
2013-07-02 13:21:27 +12:00
Hamish Friedlander
e74c002647
FIX Only and Except rules in Configs not working
2013-07-01 15:47:37 +12:00
Hamish Friedlander
03aa9e4b41
FIX ConfigManifest caching to not use existing cache from wrong $base
2013-06-28 11:25:14 +12:00
Simon Welsh
e55be50783
FIX: ConfigStaticManifest not handling multipart namespaces
...
Fixes #2126
2013-06-26 16:01:55 +12:00
micmania1
49835c3bb1
Updated calls to methods instead of firect properties in PaginatedList
2013-06-23 13:20:38 +01:00
Ingo Schommer
94b4237372
Merge remote-tracking branch 'origin/3.1'
2013-06-19 11:17:33 +02:00
Ingo Schommer
690f1c1570
BUG Manually require SS_DAG in Core.php
...
Avoids errors when manifest needs to be built,
e.g. after faulty test runs. SS_DAG is depended on by ConfigManifest.
2013-06-18 23:00:32 +02:00
Ingo Schommer
5a1d476e8d
Merge branch 'idvalidattr' of git://github.com/wilr/sapphire into wilr-idvalidattr
2013-05-31 19:27:19 +02:00
Will Rossiter
736bde8fe5
FEATURE Add Convert::raw2htmlid()
2013-05-26 11:11:53 +12:00
Jeremy Thomerson
071d5b6fa0
FIX: error message doesn't always include class name
...
When a method was not found on UnsavedRelationList I was getting the following error:
Object->__call(): the method 'nameOfMethod' does not exist on ''
(nameOfMethod has been replaced here since it was a method I added via an extension)
2013-05-25 14:43:40 +12:00
Stephen Shkardoon
aa3699ff0a
Deprecate magic_quotes and fix bad install opts
...
Change the in_array call to not do bad things with strict casting off
Add a deprecated message if you run with magic_quotes on
Change the requirement for magic_quotes to an error
2013-05-25 12:42:52 +12:00
Daniel Hensby
bc9567c9ef
FIX Environment file finder logic
...
Fixing the logic that searches for environment files so that warnings
due to open_basedir are suppressed and both the 'realdir' and the server
path are spidered for the environment file.
2013-05-22 14:35:33 +01:00
Will Rossiter
ddcfcf7bed
Update @package, @subpackage labels
...
Cleanup of framework's use of @package and @subpackage labels and additional of labels for classes missing packages.
Moved all GridField related components to the one name.
Countless spelling fixes, grammar for other comments.
Link ClassName references in file headers.
2013-05-21 22:24:41 +12:00
Damian Mooyman
6e0e3564e1
NEW Added beforeExtending, afterExtending, and beforeUpdateCMSFields to allow user code better control over interaction with extending methods
2013-05-16 10:34:45 +12:00
Sam Minnee
b401d39aec
NEW: Move temp data into a user-specific subfolder, to stop temp-permission bugs from occurring.
...
Anyone who has run "sudo -u www-data ./framework/sake dev/build" knows that SilverStripe's temp
folder permissions can be very brittle. This patch resolves this by making the temp folder
user-specific.
To minimise directory pollution it first creates a chmod 777 parent folder with the same name
as the current folder. It then creates a subfolder of this with the same name as the current
user.
The positive impact of this change is that sake can be used without fear of messing up file
permissions. This means, among other things, that we can put a Composer post-update-cmd into
the installer to run dev/build. Progress!
The negative impact is that you will get two caches if you run sake as a different user. However,
that is much better than the current situation - which is a bunch of bugs - and if you're concerned
about that, you still have the option of running sake as www-data.
2013-05-15 12:54:55 +02:00
Daniel Hensby
9a6a6ec75d
Arbitrary placement of _ss_environment.php in parent folders
...
Removes hardcoding to three levels
2013-05-14 13:39:43 +02:00
Will Rossiter
718108969b
API: Add ArrayLib::flatten($array, $preserveKeys)
2013-05-11 00:00:31 +12:00
Will Rossiter
7a9f142c97
FIX: ensure config variables exist
2013-05-08 21:36:49 +12:00
Loz Calver
429ac17a0f
NEW Allow setting of ASSETS_DIR in _ss_environment.php
2013-05-07 10:06:34 +02:00
Simon Welsh
835aefbe83
FIX Handle PHP 5.4's short array notation everywhere arrays are parsed.
2013-05-05 13:27:42 +12:00
Ingo Schommer
5efae23cb2
FIX Template discovery on themed Layout templates
...
Was failing when 'main' template only exists in theme,
but 'Layout' template only exists in module.
2013-04-30 15:41:26 +02:00
Loz Calver
0384369acb
FIX: _config/ directories are now correctly detected as modules ( fixes #1762 )
...
DO NOT MERGE: to be reviewed. Only i18n & Deprecation classes use
->getModules() as far as I can see. Given that the method still simply
returns an array of modulename => modulepath, I don't think it's really
an API change
2013-04-18 14:08:03 +01:00
Ingo Schommer
ae09301c8c
Revert deprecation of Object::add_extension() usage
...
This reverts commit 14b997eea3
.
Its just not practical to use the Config API as it stands,
the add_extension() wrapper does more than just a Config->update().
Most use cases can be covered via YML, but any conditional
additions (e.g. in unit tests) can still benefit from the
add_extensions() shorthand.
2013-04-11 11:40:53 +02:00
Ingo Schommer
14b997eea3
API Deprecated Object::add_extension() usage (as of 3.2)
2013-04-09 15:00:34 +02:00
Ingo Schommer
1cfc159f1a
Un-deprecated Object::add_extension() non-LSB usage ( fixes #1710 )
...
Its usage is too common to force-remove it just for a shortcut.
We still recommend adding extensions through YAML of course.
2013-04-09 14:56:26 +02:00
Will Rossiter
1427a0637b
FIX: remove_extension should work on parameterized extensions
2013-04-06 19:29:03 +13:00
Ingo Schommer
ebca1a64ed
Merge pull request #1299 from silverstripe/user-specific-temp-folder
...
NEW: Move temp data into a user-specific subfolder, to stop temp-permission bugs from occurring.
2013-04-02 02:44:53 -07:00
Ingo Schommer
a415db91d4
FIX Clone Config_LRU incl. objects in array
...
Caused key confusions when using Config::nest()/unnest()
2013-03-26 12:47:52 +01:00
Hamish Friedlander
600d9cff53
API Make Object::config use late static binding
...
Can now be used in instance scope, like:
$this->config()->db
and in static scope, like:
Page::config()->db
2013-03-26 00:37:47 +01:00
Ingo Schommer
4ea98ae440
Removed Object::*_extension() non-LSB deprecation
...
Its just a simplication, and unnecessarily complicates
module compatibilities.
2013-03-26 00:31:25 +01:00
Ingo Schommer
3334eafcb1
API Marked statics private, use Config API instead ( #8317 )
...
See "Static configuration properties are now immutable, you must use Config API." in the 3.1 change log for details.
2013-03-24 17:20:53 +01:00
Ingo Schommer
69ae1f338f
FIX Clean cache on Config->remove()
2013-03-24 17:20:36 +01:00
Ingo Schommer
bb52f2a214
FIX Allow FALSE in Config API, call remove() will NULL key on update()
2013-03-24 17:20:36 +01:00
Sam Minnee
5779097939
NEW: Move temp data into a user-specific subfolder, to stop temp-permission bugs from occurring.
...
Anyone who has run "sudo -u www-data ./framework/sake dev/build" knows that SilverStripe's temp
folder permissions can be very brittle. This patch resolves this by making the temp folder
user-specific.
To minimise directory pollution it first creates a chmod 777 parent folder with the same name
as the current folder. It then creates a subfolder of this with the same name as the current
user.
The positive impact of this change is that sake can be used without fear of messing up file
permissions. This means, among other things, that we can put a Composer post-update-cmd into
the installer to run dev/build. Progress!
The negative impact is that you will get two caches if you run sake as a different user. However,
that is much better than the current situation - which is a bunch of bugs - and if you're concerned
about that, you still have the option of running sake as www-data.
2013-03-24 18:39:50 +13:00
Ingo Schommer
bfab74ac6e
Merge pull request #1321 from silverstripe-rebelalliance/feature/config
...
FIX ConfigStaticManifest persisting access level after parsing a static
2013-03-22 02:25:54 -07:00
Sean Harvey
9f35b13b48
Merge pull request #1322 from ajshort/pulls/class-spec-parsing
...
FIX Incorrect parsing of T_STRING values in class spec parsing
2013-03-21 21:20:35 -07:00