Commit graph

3117 commits

Author SHA1 Message Date
mark_story
c26b381469 Make words ending in data uninflected.
Since both metadata and word ending in metadata have caused issues in
the past, uninflecting them seems like the best option. This will also
cover cases like ProfileData not being inflected to ProfileDatum which
seems like an improvement to me.

Fixes #4419
2014-08-30 20:27:37 -04:00
Jeremy Harris
66b2173566 Made AuthComponent::mapActions() act as a getter refs #3331 2014-08-29 08:23:41 -05:00
Jeremy Harris
2dac6d29c2 Clearing HABTM (unique) when HABTM array is empty, refs #2461 2014-08-28 17:52:13 -05:00
chinpei215
010bbc6764 Resolve ambiguous column names for Sqlite 2014-08-27 16:06:28 +09:00
chinpei215
c06b7162ef Resolve ambiguous column names 2014-08-27 15:32:57 +09:00
chinpei215
31204832c2 Ensure that afterFind is called when using 'joins' with 'recursive' = -1 2014-08-27 15:16:13 +09:00
chinpei215
b74774bb0c hasOne/belongsTo associations should contain associated records in afterFind
Before 1fe943d6f1,
afterFind() is called twice with belongsTo/hasOne associations.
Although $results also doesn't contain associated records on first time,
it contains them on second time.

After 1fe943d6f1,
it doesn't work if associated records are used in afterFind.
This commit fixes it.
2014-08-27 09:32:00 +09:00
Stefan Dickmann
66ccfaf5e2 session bugfix 2014-08-26 17:47:45 +02:00
ADmad
ff3273d8eb Merge pull request #4386 from cakephp/issue-4184
Fix CURRENT_TIMESTAMP being stored as a default value.
2014-08-25 21:06:41 +05:30
euromark
cc0acd1556 Fix CS. 2014-08-25 16:54:12 +02:00
mark_story
7936b5e764 Fix CURRENT_TIMESTAMP being stored as a default value.
When reflecting timestamp columns in MySQL current_timestamp comes back
as the default value. This causes insertion errors later on as
'current_timestamp' is an invalid value for timestamp columns.

Refs #4184
2014-08-25 11:17:11 +02:00
Mark Story
7a8cb4315e Merge pull request #4366 from hmic/ticket#2707
Fixed i18n __*() bug
2014-08-24 17:25:30 +02:00
Hans-Joachim Michl
b4620b4c6c Fixes #2707
When the first variable argument = null, but there are more arguments given.
Added testcases to show the change (to fail before the fix)
2014-08-24 14:27:49 +00:00
mathieu strauch
85cd11384a fix failing testLogError 2014-08-24 15:46:44 +02:00
mark_story
f0f1531fac Add test for #4309
The Router internals don't handle // which is good.
2014-08-24 12:13:05 +02:00
mark_story
4a805af5c6 Merge branch 'master' into 2.6 2014-08-23 09:20:19 +02:00
Jeremy Harris
8f420d74fa HttpSocket: not overwriting auth header if it is set in request configuration 2014-08-21 11:24:10 -05:00
mark_story
0400a63004 Forward port fixes for #4294 from 1.3 to 2.x
CakeTime was broken in the same way as TimeHelper was in 1.x. Getting
1969 on invalid input can be very confusing and un-helpful.

Refs #4294
2014-08-20 00:25:01 +02:00
Marc Würth
edc6490f11 Removed Vendor folder from plugin baking task, updated test 2014-08-18 18:55:17 +02:00
Marc Würth
6e1b8f3ce8 Added missing folders to plugin baking task, updated test 2014-08-18 18:54:48 +02:00
ADmad
9d53a1e9ce Merge branch 'master' into 2.6 2014-08-15 12:37:13 +05:30
Brian Porter
9b9600fe18 CakeSchema naming fallback.
Abstracts the `require_once` of the schema file so it can be done twice. The added second call is a fallback for the previous APP_DIR-based naming to provide backwards compatibility.

Removes now-obsolete CakeSchema tests that involved `Configure::read('App.dir')`. The CakeSchema::name is now always static (and predictable) in the default case.
2014-08-11 10:40:57 -05:00
chinpei215
c246695518 Fix different format of $results in afterFind
Refs #2529

As of this commit, we can get consistent format of $resutls in afterFind.
And we can keep backward compatibility if Model::$useConsistentAfterFind is set to false.
2014-08-11 01:19:40 +09:00
chinpei215
c227c14bf2 Fix afterFind() called twice with hasMany relationship
It occurs when a model and the children models are related to a same model.
For example, such as the following:

* User hasMany Comment
* User hasMany Article
* Article hasMany Comment
2014-08-11 00:12:03 +09:00
mark_story
9c3089796f Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/Model/Model.php
2014-08-08 23:28:06 -04:00
mark_story
d114fa1431 Update join building to not error out on empty conditions.
When conditions are empty we can assume one of two things:

* The person made a mistake.
* The person is doing the join conditions in the where clause.

In both cases we should attempt to generate proper SQL.

Fixes #4189
2014-08-08 10:02:09 -04:00
José Lorenzo Rodríguez
64e74cbaac Merge pull request #4175 from chinpei215/master-issue2268-fix
Fix afterFind() called twice with belongsTo and hasOne relationships
2014-08-06 10:48:45 +02:00
Mark Story
221fc862aa Merge pull request #4140 from chinpei215/master-issue2849-fix
Fix transactions do not get rollbacked in saveAssociated/saveMany.

Fixes #2849
2014-08-05 20:05:15 -04:00
chinpei215
1fe943d6f1 Fix afterFind() called twice with belongsTo and hasOne relationships
Refs #2268
2014-08-06 07:27:04 +09:00
euromark
9ef7b5713a CS fixes. 2014-08-04 13:53:52 +02:00
chinpei215
cb376bf420 Add some more transaction tests
And remove 2 else clauses.
2014-08-03 22:34:11 +09:00
ADmad
713f430fc4 Merge branch 'master' into 2.6 2014-08-03 01:05:36 +05:30
chinpei215
799500ce6d Fix transactions do not get rollbacked in saveAssociated/saveMany
Refs #2849
2014-08-02 10:12:33 +09:00
chinpei215
3d77ce5d34 Fix serveral tests pass regardless of whether data is valid or not 2014-08-02 09:55:29 +09:00
chinpei215
f3e1a18740 Fix a fatal error occurs in combination with a scaffold error. 2014-07-31 05:49:23 +09:00
mark_story
f9785042bc Fix indentation.
Refs #4108
2014-07-29 21:53:55 -04:00
Steve Tauber
e6f6ded334 Adding unit test for HTTP DELETE and RequestHandlerComponent::requestedWith 2014-07-29 16:34:11 +02:00
ADmad
4e52941f59 Fix CS errors. 2014-07-27 12:54:15 +05:30
ADmad
9e21d048ce Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/VERSION.txt
2014-07-27 12:29:39 +05:30
euromark
b188d670b7 Make year range validation less strict by default. 2014-07-26 04:06:26 +02:00
Mark Story
adf739b893 Merge pull request #4011 from ndm2/stmp-auth-reponse-evaluation-fix
Make SMTP auth reply code checks work properly.
2014-07-24 08:42:22 -04:00
Rachman Chavik
aad89444d1 Fix: Blackholed request when POSTing to a URL with space
Eg:

Actual Posted URL:
    /admin/settings/settings/prefix/Access%20Control
$_GET value:
    /admin/settings/settings/prefix/Access_Control

Since $unsetUrl differs, the $_GET value will get copied in to
CakeRequest::$query, causing CakeRequest::here() to return:

    /admin/settings/settings/prefix/Access%20Control?%2Fadmin%2Fsettings%2Fsettings%2Fprefix%2FAccess_Control=

This confuses SecurityComponent in the following line:

    f23d811ff5/lib/Cake/Controller/Component/SecurityComponent.php (L514)
2014-07-24 16:25:03 +07:00
David Steinsland
6e777a54a3 Mocking _sendHeader instead of send() 2014-07-22 15:05:06 +02:00
David Steinsland
d98abc58d1 Added test case for CakeResponse::send() and ajaxLogin 2014-07-22 14:45:18 +02:00
Denys Kyselov
79dc624062 Add removeSubcommand in ConsoleOptionParser 2014-07-21 23:55:42 -04:00
mark_story
0d14bf7cc8 Update doc blocks.
There were a few trailing comments in #3706 that have now been
addressed.
2014-07-20 22:00:07 -04:00
Mark Story
7ef7ce2dbb Merge pull request #3706 from MelvinRoss/httpsocketheader
Add support for specifying protocol in Cakesocket/HttpSocket.  Add HEAD function to HttpSocket
2014-07-20 21:58:37 -04:00
mark_story
0dfce1abf3 Add . to the list of allowed characters.
This was missed when the email validation rules were relaxed in
dc34d80f6f.

Fixes #4027
2014-07-19 19:57:33 -04:00
Mark Story
dbe7329e54 Merge pull request #3703 from MMS-Projects/i18n-context-2.6
Basic support for I18n contexts as requested by #2063
2014-07-18 21:48:19 -04:00
ndm2
f03bf8067c Add some more exception message checks 2014-07-18 14:56:10 +02:00
ndm2
bf7d01ac66 Make SMTP auth reply code checks work properly. 2014-07-18 14:53:22 +02:00
Mark Story
d62d6061b2 Merge pull request #3906 from ravage84/hash-nest-exception
Hash::nest() should throw an exception instead of returning an empty arr...
2014-07-17 09:27:38 -04:00
Marlin Cremers
b47f91c47c Add context support to the I18n class which resolves cakephp/cakephp#2063
This change adds Gettext context support to the I18n class. This
allows custom translations for verbs and nouns and more.
2014-07-17 11:01:11 +02:00
mark_story
051d78c1a5 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/Model/Model.php
2014-07-16 23:11:58 -04:00
Melvin Ross
09a7020119 Fix spacing to conform to coding standards 2014-07-14 14:54:26 -05:00
Melvin Ross
0eaf650d9f Test for new HEAD function inside HttpSocket 2014-07-14 14:34:27 -05:00
chinpei215
ca93bbcd15 Fix CS 2014-07-14 01:21:09 +09:00
chinpei215
ace30fdd8a Fix a race condition problem
Prevents Model::save() from generating a query with WHERE 1 = 1 on race condition.

Refs #3857
2014-07-12 23:27:39 +09:00
mark_story
03c2a8b722 Unify datetime column default values between MySQL and Postgres.
Datetime columns should have 'default' => null, in both Postgres and
MySQL.

Fixes #3837
2014-07-11 23:10:16 -04:00
mark_story
9fd1a51a52 Merge branch 'master' into 2.6 2014-07-10 14:39:32 -04:00
mark_story
a098d96c94 Remove flaky test that was of questionable value. 2014-07-10 14:39:20 -04:00
euromark
ac0053d660 Added a shorthand stackTrace() method 2014-07-10 01:49:28 +02:00
mark_story
3a70d9c033 Merge branch 'master' into 2.6 2014-07-09 10:17:05 -04:00
chinpei215
0c1fc36b14 Fix an infinite recursion caused by missing plugin
When a MissingPluginException has caught when rendering an exception,
we should disable the plugin as needed to prevent an infinite recursion.
2014-07-09 15:55:41 +09:00
Marc Würth
c321a8fa93 Hash::nest() should throw an exception instead of returning an empty array
Refs: https://github.com/cakephp/cakephp/pull/3498#issuecomment-48316204
2014-07-08 13:01:02 +02:00
Schlaefer
1e961a8aac increases time window in CSRF token expiry tests to 2 seconds
travis-cs failed with 1 second margin
2014-07-06 13:54:24 +02:00
Schlaefer
9fa7afa354 fixes #3887 CSRF reusable token expires 2014-07-06 10:39:00 +02:00
José Lorenzo Rodríguez
396725dc8c Merge pull request #3880 from markstory/incorrect-validation
Fix issues with Validation::inList() and SecurityComponent
2014-07-05 14:41:15 +02:00
ADmad
1eccec02e4 Merge pull request #3872 from CostaC/response-sharable-fix
Fix for CakeResponse::sharable() header to include private caches
2014-07-04 10:32:51 +05:30
mark_story
3936cce4b8 Disallow hexadecimal input with inList.
Instead of turning on/off strict mode based on the user supplied input,
cast everything to strings and always use a strict check. This avoids
the potential issue of a bad user using hexadecimal when they should not
be allowed to do so. Thanks to 'Kurita Takashi' for pointing this out.
2014-07-03 22:10:49 -04:00
Costa Caruso
4f559f5cc9 Fixed failing test for CakeResponse::sharable + spacing 2014-07-03 15:03:48 -04:00
ADmad
e410501791 Fix CS errors. 2014-07-03 23:13:55 +05:30
mark_story
2bcd817367 Merge branch 'master' into 2.6 2014-07-03 11:13:06 -04:00
euromark
974ca851c2 Correct doc blocks according to cs guidelines.
Remove superfluous empty lines.
2014-07-03 15:36:42 +02:00
mark_story
b1610c145e Merge branch 'master' into 2.6 2014-07-02 23:39:16 -04:00
mark_story
adcf9ab723 Fix failing test.
CakeEmail now has a default validation pattern.

Refs #3742
2014-06-30 13:29:39 -04:00
mark_story
dc34d80f6f Relax email validation rules even more.
While filter_var() allows a number of email addresses that
Validation::email() does not, it misses out of email address that
contain IDN host names, and unicode mailboxes. Both of these are
generally deliverable, and should be permitted. filter_var() also fails
on local mailboxes like `root@localhost` which is useful in the context
of cron jobs.

Fixes #3742
2014-06-30 10:42:37 -04:00
mark_story
30952f2b64 Merge branch '2.6' of github.com:cakephp/cakephp into 2.6 2014-06-29 22:57:59 -04:00
Derek Perkins
b1a3ab9e64 Added unit test for CakeRequest::setInput
Don't use mocks as the tests weren't really testing anything when mocks
were involved.

Refs #3764
2014-06-29 22:55:38 -04:00
ADmad
607200fa7b Add pluralization rule for "stadia".
Refs #3830
2014-06-29 14:51:23 +05:30
Mark Story
187272c06a Merge pull request #3824 from NickBeeuwsaert/element_events
Added view type getter and ensured element render events would get the proper type
2014-06-28 06:21:46 -04:00
Nick Beeuwsaert
733a610bf7 More coding standard fixes 2014-06-27 18:03:29 +00:00
Nick Beeuwsaert
6623a8a7f4 Adhering to CakePHP coding standards 2014-06-27 17:28:43 +00:00
Nick Beeuwsaert
f9aa954562 Changed Event names back, added view type getter
Changed `Element.beforeRender` and `Element.afterRender` back to
`View.beforeRender` and `View.afterRender` Also added a getter for
`View::_currentType`.
Added more tests to make sure that things were getting reset right
And also that View::render and View::element events were working
As expected

Changed Event names back, added view type getter

Changed `Element.beforeRender` and `Element.afterRender` back to
`View.beforeRender` and `View.afterRender` Also added a getter and
setter for `View::_currentType`.
Added more tests to make sure that things were getting reset right
And also that View::render and View::element events were working
As expected
2014-06-27 15:40:12 +00:00
Bryan Crowe
a1ae31e554 Fix identifier typos 2014-06-26 23:06:08 -04:00
Renan Gonçalves
1a89a3cb9d Exiting with 1 when Exception::getCode() returns non-integer values.
From php.net/exception.getcode
> Returns the exception code as integer in Exception but possibly as other type in Exception descendants (for example as string in PDOException).
2014-06-26 13:26:20 +02:00
Nick Beeuwsaert
7cef19fe96 Changed View::element() to have an appropriately named event
And also made it so when the event fires the subjects type is
`View::TYPE_ELEMENT`. Wrote some tests which I hope are done right I
don't really know the bes way to write a test for a event listener
2014-06-25 22:08:59 -05:00
mark_story
a2673d8bf0 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/Core/App.php
2014-06-25 09:22:10 -04:00
mark_story
a40fa5cae9 Add test for #3754 2014-06-25 09:19:24 -04:00
José Lorenzo Rodríguez
3df972faa2 Merge pull request #3782 from cakephp/issue-3779
Whitelist more URL-y characters in digest parsing.
2014-06-24 21:56:40 +02:00
euromark
26fe1265ab Mark App::pluginPath as deprecated and don't use it anymore. 2014-06-24 11:52:29 +02:00
mark_story
b4bcd74e60 Whitelist more URL-y characters in digest parsing.
Android clients include a full URL instead of just the URI. Also handle
situations where URLencoded bytes and document fragments are used.

Refs #3779
2014-06-23 14:39:35 -04:00
ADmad
9a1a965b1c Update isAbsolute() to recognize stream wrapper paths.
This has the benefit that the realpath() method is not applied to a
registered stream wrapper in the constructor of the Folder class.
Using the realpath() method will break the stream.

Thank "davalb" for the original patch.
2014-06-22 13:43:14 +05:30
mark_story
497ecd3f80 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/VERSION.txt
2014-06-19 21:41:02 -04:00
mark_story
9136f63874 Fix autoLinkEmail() not working when emails are adjacent to HTML.
When an email address is adjacent to HTML it should be autolinked
correctly.

Refs #3656
2014-06-16 21:48:30 -04:00
mark_story
74d8e9ea40 Convert test to use a dataprovider instead of multiple calls.
Dataproviders are generally a bit easier to work with in the future.
2014-06-16 21:46:34 -04:00
mark_story
fa19c34580 Fix Hash::extract() not matching 1/0 to true/false.
Historically [prop=1] has matched prop=true as well. This restores that
and also fixes [prop=0] not finding falsey values.

This makes the typing less strict in Hash::extract() but I don't think
it is unreasonable given PHP's type juggling.

Refs #3288
2014-06-12 11:30:48 -04:00
Melvin Ross
ad4dbdcee5 Fix HttpSocket test to actually reset protocols for correct test. Modify HttpSocket so that Https with non-passed in protocol doesn't set it to tcp and fail test. 2014-06-12 09:37:03 -05:00
Melvin Ross
86923e3593 Modify CakeSocket and HttpSocket so that the "protocol" parameter can be used to specify which protocol to use for creating sockets. These are protcols in the php "[a-z]://" wrapper sense. I also modified the test for these two files respectively to accomodate these new changes.
Unrelated to this bug, I added a "head" function inside of HttpSocket to go along with the GET/POST/PUT/DELETE/PATCH combination that's already present. Came in handy for me for deciding if I wanted to hit a resource with HttpSocket or not.
2014-06-11 19:04:58 -05:00
José Lorenzo Rodríguez
91224b0ec1 Merge pull request #3653 from markstory/2.6-html-css
Add once option to css().
2014-06-06 09:55:06 +02:00