Commit Graph

987 Commits

Author SHA1 Message Date
Damian Mooyman
1e612607aa Suggested improvements / test case fixes 2014-10-10 09:28:11 +13:00
Daniel Hensby
3b9056fc01 NEW Cookie_Backend for managing cookie state
I've decoupled `Cookie` from the actual act of setting and getting
cookies. Currently there are a few limitations to how Cookie works that
this change mitigates:

0. `Cookie` currently changes the super global `$_COOKIE` when setting
to make the state of an application a bit more managable, but this is
bad because we shouldn't be modifying super globals
0. One can't actually change the `$cookie_class` once the
`Cookie::$inst` has been instantiated
0. One can't test cookies as there is no class that holds the state of
the cookies (it's just held in the super global which is reset as part
of `Director::test()`
0. One can't tell the origin of a cookie (eg: did the application set it
and it needs to be sent, or did we receive it from the browser?)
0. `time()` was used, so testing was made difficult
0. There was no way to get all the cookies at once (without accessing
the super global)

Todos are on the phpdoc and I'd like to write some tests for the backend
as well as update the docs (if there are any) around cookies.
DOCS Adding `Cookie` docs

Explains basic usage of `Cookie` as well as how the `Cookie_Backend`
controls the setting and getting of cookies and manages state of sent vs
received cookies
Fixing `Cookie` usage

`Cookie` is being used inconsistently with the API throughout framework.
Either by not using `force_expiry` to expire cookies or setting them to
null and then expiring them (which is redundant).
NEW `Director::test()` takes `Cookie_Backend` rather than `array` for `$cookies` param
2014-10-06 17:44:51 +13:00
Damian Mooyman
eb069e605d Remove all redundant whitespace 2014-08-19 09:17:15 +12:00
Sean Harvey
404478b07f Removing @deprecated 3.1 functionality and classes.
Changelog has been updated to include what was removed in terms of
major functionality, and what to use as a replacement.
2014-08-18 16:00:13 +12:00
Mateusz Uzdowski
8bf3853887 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	docs/en/misc/contributing/issues.md
	docs/en/reference/uploadfield.md
	forms/HtmlEditorField.php
	i18n/i18n.php
	javascript/HtmlEditorField.js
	model/DB.php
	model/Image.php
	model/SQLQuery.php
2014-08-14 09:08:26 +12:00
Simon Welsh
61395b5618 Merge pull request #3238 from mparkhill/3.1
FIX declarations matching PHPUnit_Framework_Assert
2014-08-07 21:30:04 +10:00
Simon Welsh
a0a2aac6df Merge pull request #3094 from dhensby/patch-3
Use Config nesting in `SapphireTest::useTestTheme()`
2014-08-07 20:50:16 +10:00
Damian Mooyman
08c58844ac PHPDoc cleanup 2014-07-29 12:43:43 +12:00
Damian Mooyman
0433ba1642 BUG Revert some changes to ManyManyList
BUG Fix incompatibility in Member_GroupList
Fix regressions in merges from 3.1
BUG Fix Security failing on test classes
BUG Fix postgresql compatibility
Clarify sql encoding of table names
2014-07-23 12:38:41 +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
Simon Welsh
cc9603d6a2 Fatal errors should always return false
This allows PHP to set the exit code on fatals.
2014-07-16 21:03:55 +10:00
Sean Harvey
3c0967efc0 Fixing function that should be declared as static. 2014-07-11 15:23:44 +12: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
3c5e51a9f1 API Debug::dump in CLI no longer generates HTML. Uses colours.
API Column size is configurable in DebugView
2014-07-05 14:37:06 +12:00
Michael Parkhill
19e0d5e3d5 FIX declarations matching PHPUnit_Framework_Assert
FIX for phpunit error message: ERROR [Strict Notice]: Declaration of SapphireTest::assertNotContains() should be compatible with PHPUnit_Framework_Assert::assertNotContains, and the same error for assertContains()
2014-06-27 16:05:40 +12:00
Damian Mooyman
6ff1d3ccbc Merge pull request #3225 from halkyon/log_constants
Adding some more commonly used SS_Log priority constants.
2014-06-23 13:15:45 +12:00
Sean Harvey
9c2ddd4850 Adding some more commonly used SS_Log priority constants. 2014-06-23 11:50:05 +12:00
Sean Harvey
0ee3a683a5 Better support for overloading start and destroy methods in Session
Move functionality from static start and destroy functions into instance
methods, allowing these to be overloaded. This works the same way as
calling Session::set() which then in turn calls inst_set()

Additionally use Injector to create the default Session instance to
allow the class to be swapped out.
2014-06-20 10:35:53 +12:00
Hamish Friedlander
a263bed937 Merge pull request #3091 from willmorgan/pulls/testrunner-suites
TestRunner: allow test suite running
2014-05-22 10:32:21 +12:00
Damian Mooyman
ec578e5c8a Merge remote-tracking branch 'origin/3.1' 2014-05-12 11:32:22 +12:00
Will Morgan
8335de49b3 FIX remove redundant DB name switch in TestRunner
From what I can see, this doesn't actually do anything, except cause an error with cookie setting after HTTP body is sent when tests fail.
2014-05-09 10:15:53 +01:00
Will Morgan
d01cbbbdc7 TestRunner: allow test suite running 2014-05-09 10:03:59 +01:00
Damian Mooyman
e9c3ff933f Merge remote-tracking branch 'origin/3.1'
Conflicts:
	.travis.yml
	composer.json
2014-05-06 10:22:09 +12:00
Damian Mooyman
d9bc352271 Path resolution cleanup
[ref: CWPBUG-158]
2014-05-05 14:52:41 +12:00
Simon Welsh
9116e40eb8 Don't add the class manifest with tests as an exclusive manifest 2014-05-04 11:46:06 +10:00
Daniel Hensby
5298371282 Use Config nesting in SapphireTest::useTestTheme()
Using the Config nesting functionality to restore variables
2014-05-02 15:25:31 +01:00
Will Morgan
bec8927a08 BUG Allow PHPUnit installation with composer / Fix travis 2014-05-02 18:22:04 +12:00
Damian Mooyman
982ad569b9 Merge remote-tracking branch 'origin/3.1' 2014-04-22 12:09:51 +12:00
Stevie Mayhew
a261f223e4 BUG Delete Character \x01 2014-04-11 14:51:52 +12:00
Damian Mooyman
997077ae83 API Security.remember_username to disable login form autocompletion 2014-04-11 09:05:25 +12:00
Simon Welsh
1d5706f15c Correct line length and indentation 2014-03-30 21:11:56 +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
Damian Mooyman
7c60c73dbb API Polymorphic has_one behaviour 2014-03-18 09:18:04 +13:00
Simon Welsh
8f31352039 Merge remote-tracking branch 'origin/3.1'
Conflicts:
	.travis.yml
2014-03-16 09:36:48 +13:00
Loz Calver
454412905c Make default PHP error handler fatal 2014-03-15 11:52:01 +00:00
Simon Welsh
7ee70cec0b Merge pull request #2778 from grooverdan/patch-1
Update install.php5 - error handling on getDatabaseConfigurationHelper
2014-03-15 21:17:30 +13:00
Simon Welsh
dbb6ba82f8 Handle special characters in error messages when html_errors is Off
Fixes #1538
2014-03-15 14:38:54 +13:00
Simon Welsh
d431e98ecf Merge branch '3.1'
Conflicts:
	forms/Form.php
	forms/FormField.php
	security/Member.php
	security/MemberLoginForm.php
2014-03-10 22:58:49 +13:00
Damian Mooyman
0cbad41d3b Rewrote usages of error suppression operator 2014-03-05 15:48:55 +13:00
Simon Welsh
ccb791995e Merge pull request #2894 from wilr/3.1-manymanyyaml
Add support for many_many_extraField in YAML
2014-03-04 11:35:58 +13:00
Will Rossiter
8b92300622 Add support for many_many_extraField in YAML
Format is

RelationName:
  - =>Obj.name:
    ExtraFieldName: "Foo"
2014-02-24 22:03:53 +13:00
Ingo Schommer
8ab0fd879d Merge pull request #2892 from silverstripe/log_formatter_defaults
Adding defaults for unhandled event priorities in log formatters.
2014-02-24 21:48:10 +13:00
Sean Harvey
af01d7f024 Adding defaults for unhandled event priorities in log formatters.
Unhandled types wouldn't show up in the error format message, and a
notice "undefined $errtype" is displayed on these cases.
2014-02-24 15:41:03 +13:00
Thomas Speak
437cbe0d91 DOC: SapphireTest objFromFixture
The current docs for `objFromFixture` cause PHPStorm to generate an error because of the mismatched data types.

`$product = $this->objFromFixture('ProductPage', 'StandardSpecs');`

Causes: `Expected The, got string`.
2014-02-21 10:21:18 +00:00
Sean Harvey
9048eab4a2 Merge branch '3.1' 2014-02-12 11:06:54 +13:00
Ingo Schommer
caaf286767 Merge pull request #2821 from silverstripe-rebelalliance/rfc4180
BUG: Fixed out of date RFC 4180 URL
2014-02-07 17:51:03 +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
Ingo Schommer
db07a8e1df Fix $disable_themes test state
Wasn't resetting the value after using it
2014-02-07 16:38:41 +13:00
Kirk Mayo
4b2352afcf NEW: Correcting the JSRunnerTest template comments 2014-02-07 10:40:28 +13:00