Commit graph

1438 commits

Author SHA1 Message Date
Philippe Saint-Just
be7cecbb00 Removed whitespace 2016-07-10 14:02:55 +01:00
Philippe Saint-Just
7edcdb0799 Handle plugin association consistently 2016-07-09 16:08:16 +01:00
mark_story
432eb9c432 Merge branch '2.x' into 2.next 2016-06-27 21:47:47 -04:00
mark_story
92a50d05dc Reset query timing metrics for begin/commit/insert multi calls.
Apply patch from @Mensler to reset the query metrics for transaction
operations, and for each iteration of an insertMulti call. This helps
provide more accurate query times.

Refs #9014
2016-06-22 22:20:00 -04:00
Eric Jiang
9f9ae8a9fd Ignore final hyphen in column name when requoting
An expression like "Foo"."bar"->'prop' should not be re-quoted as
"Foo"."bar-">'prop'. Bare columns cannot include hyphens in most DBs
anyways.
2016-05-19 01:56:20 -07:00
Markus Bauer
2227e01990 Fixing Sqlite's handling of datetime/timestamp columns with current_timestamp default set 2016-05-19 00:21:43 +02:00
mark_story
12c6fd4e22 Merge branch '2.x' into 2.next 2016-05-02 21:58:41 -04:00
chinpei215
1826b4cb08 Add DboSource::flushQueryCache() 2016-04-19 00:01:06 +09:00
mscherer
dda9e83ab6 Refactor Object to CakeObject for future PHP7 comp. 2016-04-08 14:33:26 +02:00
Thomas Smith
3e86de5bcd Replaced nested loop in merging hasMany children with one pass each through children and parents 2016-03-16 09:37:15 -07:00
mark_story
fef3090717 Fix incorrectly inheriting permissions.
When child inherits from a deny parent the '*' permission should reflect
permissions on all nodes not just the leaf node. Previously once a node
with all permissions set to inherit was found, the check would pass.
Instead it should cascade to the parent nodes and look for explicit
allow/deny.

Refs #8450
2016-03-11 23:18:50 -05:00
mark_story
1709f54e38 Update documentation for Model::_readDataSource()
Update sample code to generate unique keys based on association
conditions as well. Because association conditions are not part of the
'query' they need to be handled separately.

Refs #8346
2016-02-26 12:39:29 -05:00
Mark Story
ff6cdd4b73 Merge pull request #8279 from cakephp/issue-8114
Fix inherited permissions when checking the '*' permission.
2016-02-22 14:48:58 -05:00
mark_story
ee2d222b85 Correct API docs for find().
Fixes #8308
2016-02-21 22:42:24 -05:00
mark_story
4389c79442 Update tests.
The old tests were relying on the fixed inherit bug. Instead check
a specific permission which will result in a deny.

Refs #8114
2016-02-18 21:24:52 -05:00
mark_story
7a5907057a Ensure keys are strings before accessing them.
Some userland datasources (namely an oracle driver) manage to get arrays
into $stack.

Refs #8281
2016-02-18 21:03:57 -05:00
mark_story
b2509ea13d Fix inherited permissions when checking the '*' permission.
When checking inherited permissions for '*' also copy inherited
permissions onto the inherited list. By copying the inherited values, we
get the union of explit allow and inherited permissions, which if all
things go well will match the permission key list.

Refs #8114
2016-02-16 22:30:19 -05:00
Mark Story
68082fad02 Merge pull request #8207 from CakeDC/feature/uuid
Add support for Postgres native uuid datatype
2016-02-16 21:53:08 -05:00
Seth Tanner
c05835d85d refs #8027 combine if statements 2016-02-11 01:49:34 +00:00
Mark Scherer
f1bea77d74 Fix bool check and also some doc blocks. 2016-02-09 01:18:43 +01:00
mark_story
c0d897b45c Merge branch '2.x' into 2.8 2016-02-06 20:55:08 -05:00
mark_story
0309c483fb Don't make variables we never use. 2016-02-06 20:34:19 -05:00
Mark Story
41a12e9aa2 Merge pull request #8067 from cakephp/issue-7906
Make the session cacheLimiter a configuration option.
2016-02-06 20:30:48 -05:00
mark_story
d9992bcaca Use safer methods to read session configuration.
Avoid potential undefined index warnings by using read() to safely fetch
data.

Refs #8101
2016-01-30 16:21:33 -05:00
mark_story
3b5a71df37 Merge branch '2.7' into 2.8 2016-01-28 21:51:59 -05:00
Mark Story
aa449b194d Merge pull request #8125 from CakeDC/issue/7978
Add support for NOT IN in Model::find() conditions.

Refs #7978 fixing regex to take in account IN operator
2016-01-28 21:48:04 -05:00
Edgaras Janušauskas
6e54a7391c Use more specific datatypes in PHPDoc 2016-01-28 23:10:51 +02:00
Edgaras Janušauskas
fde1d08b43 Fix PHPDoc @return by replacing $this to self 2016-01-28 23:10:42 +02:00
Yevgeny Tomenko
70c4e40532 Fix value check and formatting. 2016-01-28 23:36:07 +03:00
Pedro Fernandes Steimbruch
eaeb7cea9e Refs #7978 fixing regex to take in account IN operator 2016-01-28 17:34:08 -02:00
Yevgeny Tomenko
06853a137a Merge remote-tracking branch 'remotes/origin/2.8' into feature/uuid 2016-01-28 22:08:10 +03:00
Yevgeny Tomenko
296f698db3 Added test cases covering native uuid field usage for Postgres class 2016-01-28 21:13:33 +03:00
Larry E. Masters
7c37cf5b5f Using _cookieName() instead session_name() 2016-01-19 16:29:56 -06:00
mark_story
57f620fc22 Make the session cacheLimiter a configuration option.
Instead of hardcoding to must-revalidate, developers can use a more
suitable option if they do not have to support IE8.

Refs #7096
2016-01-18 22:18:38 -05:00
Seth Tanner
47bf98cae4 refs # 7929 refactor uuid support to not break Backward Compatibility 2016-01-15 11:43:01 -08:00
Seth Tanner
66f3a7e487 refs issue #7929 add support for Postgres native uuid datatype 2016-01-14 09:37:06 -08:00
Larry E. Masters
0aa8847762 Merge pull request #7840 from cakephp/2.8-PHP7
2.8 PHP7 compatibility
2015-12-29 00:27:33 -05:00
Larry E. Masters
e7a313edee getting sloppy as I get older, fixing code sniffer errors 2015-12-29 00:06:44 -05:00
Larry E. Masters
6ee621011b Using function_exists instead of using constant 2015-12-28 23:50:35 -05:00
Larry E. Masters
bc005cd014 Fixing Undefined index: Session 2015-12-28 23:32:18 -05:00
Larry E. Masters
a1e140cbe0 Removing check for set key 2015-12-28 23:26:58 -05:00
Larry E. Masters
a966e46545 Allowing returning numeric 0 from read 2015-12-28 23:26:06 -05:00
Larry E. Masters
a02fb9e771 Fixing code sniffer errors 2015-12-28 18:40:14 -05:00
Larry E. Masters
a59ea13712 Fixes SessionComponentTest::testSessionValid. Refactored _hasSession and other erros on php 7
init would always set CakeSession::$_userAgent.
2015-12-28 17:26:35 -05:00
Larry E. Masters
c2449c9d16 Fixing Code Sniffer errors 2015-12-28 17:15:23 -05:00
Larry E. Masters
33f2f46868 Refactoring and emoving one isset check 2015-12-28 11:52:19 -05:00
Larry E. Masters
5c3bc44ef5 Initial fixes for failing session tests 2015-12-28 11:41:23 -05:00
Larry E. Masters
9abb4e19f2 Removing forced return true 2015-12-22 16:22:34 -05:00
Larry E. Masters
dd11c63069 Changing return types
read now returns empty string instead of false when read method returns an empty value.
write, destroy and gc will return boolean type
2015-12-22 16:19:51 -05:00
Larry E. Masters
577e1b089f Revert "Forcing bool return"
This reverts commit fac95baee7.
2015-12-14 19:31:08 -06:00
Larry E. Masters
dd211e9158 Revert "Changing where bool is returned"
This reverts commit 8f52cefdcc.
2015-12-14 19:30:42 -06:00
Larry E. Masters
464a266fc7 Revert "Using better way to check for active session"
This reverts commit 439a33c708.
2015-12-14 19:30:24 -06:00
Larry E. Masters
1a3598c3f4 Revert "session_status() not available until 5.4"
This reverts commit da9b6453ce.
2015-12-14 19:29:08 -06:00
Larry E. Masters
da9b6453ce session_status() not available until 5.4
Adding check for php version
2015-12-14 10:56:55 -06:00
Larry E. Masters
439a33c708 Using better way to check for active session 2015-12-14 10:42:46 -06:00
Larry E. Masters
8f52cefdcc Changing where bool is returned 2015-12-14 09:17:29 -06:00
Larry E. Masters
fac95baee7 Forcing bool return 2015-12-13 20:05:54 -06:00
chinpei215
726699ee7a Magic call with custom finders
Now we can use findListBy, etc - closes #7674
2015-11-11 22:43:19 +09:00
mark_story
8c404ad6a7 Merge branch '2.7' into 2.8 2015-10-17 21:00:26 -04:00
mark_story
e2a1094e69 Define variables before they are used.
Refs #7563
2015-10-16 23:07:25 -04:00
mark_story
707915e693 Merge branch '2.7' into 2.8 2015-10-15 22:10:56 -04:00
Marc Würth
ed410dd12c Do not mix void with other return types
Inspired by #7527
2015-10-10 15:49:00 +02:00
Marc Würth
de8aed534f Add false as return value of field()
+ improve DocBlocks
2015-10-08 16:31:01 +02:00
mark_story
ae83e197dc Merge branch '2.8' of github.com:cakephp/cakephp into 2.8 2015-09-27 11:13:12 -04:00
Mark Story
12f5aee5a2 Merge pull request #7447 from ravage84/2.7-lib-improvements
Various improvements to the CakePHP lib files
2015-09-25 12:14:00 -04:00
Marc Würth
e690662f0e Various improvments to the CakePH Plib files
Mostly CS, doc blocks and explicit returning nulls.
2015-09-25 17:11:20 +02:00
Mark Scherer
81cbb52f74 Only array-wrap 'order' if it's not already an array. 2015-09-22 13:04:28 +02:00
Mark Story
9208a0857e Merge pull request #7428 from burriko/fix-dbo-connection-issues
Fix use of $_connection in DboSource in 2.x
2015-09-21 21:38:20 -04:00
Graeme Tait
dc856b8508 Switch out is_null() 2015-09-21 17:00:20 +01:00
Graeme Tait
1b33efaad3 Check $_connection is not null before trying to use it
Stops a fatal error if calling isConnected() after disconnect().
2015-09-21 14:08:07 +01:00
Graeme Tait
8fae10a971 Set DboSource::$_connection to null on disconnect 2015-09-21 14:05:56 +01:00
Mark Scherer
97b6f8674c Fix CS 2015-09-21 13:45:18 +02:00
mark
d8a55ad065 Allow CURRENT_TIMESTAMP for datetime columns - MySQL5.6+. 2015-09-16 14:16:58 +02:00
thomasv
1dbb6dd0e4 Update DatabaseSession.php
To prevent error: "Integrity constraint violation: 1052 Column 'id' in where clause is ambiguous" when using a custom Session object in relationship with another object (belongsTo <-| hasMany)
2015-09-10 00:25:39 +02:00
mark_story
60d7bbaa10 Always update updated/modified columns when a fieldList is used.
When a fieldList is used, and updated is not in the fieldList, the
column should continue to be updated even if the column has a value from
the user. Because the field is not in the fieldList, we must assume that
the intent is for the field to update automatically, as it would have if
the updated column was not present in the save data.

Refs #7076
2015-09-05 22:01:33 -04:00
James Tancock
fdb41e01bb Alter Model::exists() to return false with no table 2015-08-18 13:07:30 +01:00
James Tancock
90a77f6ce5 Alter model exists to consider useTable 2015-08-16 19:06:12 +01:00
paolo
a7b5f8c3af DboSource now check the actual status of connection by executing a dumb query on DB
This change makes it possible for developer to build reconnection logic
on MySQL connections which frequently time out in long running CLI
processes.

Cherry picked onto 2.7 from #7190.
2015-08-07 21:59:28 -04:00
Mark Story
de4b44a37b Merge pull request #7077 from dereuromark/2.7-static
Replacing self with static due to PHP5.3+. Following #7040.
2015-07-23 22:27:37 -04:00
mark_story
c6e5026767 Fix issues saveMany & saveAssociated with boolean values.
For non-atomic, save operations that include models with boolean fields.
The first false value would cause the save to abort. This regression was
introduced in #6947. Instead of checking the data from save() we should
be boolean casting save() to capture the success/failure.

Refs #7069
2015-07-22 00:41:10 -04:00
Mark Scherer
52e79987a2 Replacing self with static due to PHP5.3+. Following #7040. 2015-07-21 10:22:53 +02:00
mark_story
47378427e3 Merge branch '2.6' into 2.7 2015-07-11 21:25:26 -04:00
mark_story
65c1745349 Add missing parameter to rawQuery()
Previously bound parameters were put in the incorrect position.

Refs #6992
2015-07-10 12:56:49 -04:00
mark_story
59a18e7709 Merge branch '2.6' into 2.7 2015-07-07 22:05:56 -04:00
hiromi2424
deb62c8887 #6935 Fix deep saving for hasMany could not handle validation errors correctly 2015-07-04 06:10:58 +00:00
Lawrence Barsanti
0b28c2e839 Added negative lookahead
It is possible to have multiple occurrences of 'as' in a field name.
Use the last occurrence of 'as' when extracting field name.

Tested with following examples:
"WeldCheck"."weld_id"
count(*) as WeldCheck__num_measurements
count(case decision when 2 then 1 else null end) as
WeldCheck__num_failures
avg(cast (WeldMeasurement.surface_indentation as bigint)) as
WeldCheck__avg_indentation
avg(cast (WeldMeasurement.circle_diameter as bigint)) as
WeldCheck__avg_diameter
2015-06-25 22:21:38 -04:00
mark_story
ae2ea1ea6c Merge branch '2.6' into 2.7 2015-06-25 21:50:47 -04:00
mark_story
2f616a9e0c Fix greedy regex operators in Postgres driver.
`*` is greedy in regex, and needs to be escaped so that SQL operators
don't cause invalid SQL conditions to be created.

Refs #6877
2015-06-24 23:39:26 -04:00
Mark Scherer
0524eb95ae Documentation update 2015-06-01 16:14:15 +02:00
Mark Scherer
4ad001b9ca Use options array. 2015-06-01 16:12:45 +02:00
Mark Scherer
670d93b6f6 Extract formatTreeList() from generateTreeList(). 2015-06-01 12:36:20 +02:00
mark_story
d7d8b90986 Merge branch '2.6' into 2.7 2015-05-28 19:34:59 -04:00
mark_story
52a0d642ec Fix incorrectly quoted table aliases in virtual fields.
DboSource::_quoteFields() is already a bit of a mess, and while I'm not
happy about having to add more regex replacement, it seems to be the
only reasonable solution given that the code is already 'parsing' SQL
to apply identifier quoting.

Fixes #6602
2015-05-20 22:40:47 -04:00
Mark Scherer
4f3602ad5f Adjust bake, docblocks and tests for notBlank. 2015-05-17 22:27:16 +02:00
mark_story
096a2ebb72 Merge branch '2.6' into 2.7
Conflicts:
	lib/Cake/Test/Case/TestSuite/ControllerTestCaseTest.php
	lib/Cake/VERSION.txt
2015-04-20 15:42:54 -04:00
mark_story
b2958dad79 Re-add call to parent destructor.
In 762ebd4 a destructor was added to DboSource, this accidentally
removed the rollback on destruct that Datasource provides. Restoring
this via a parent call allows pending transactions to be rolled back at
the end of a request.

Fixes #6251
2015-04-01 20:37:06 -04:00
mark_story
446dd408bb Renew the session even the session id is '0'.
This fixes AuthComponent not being able to log a user in when they
inadvertently change their session id to 0.

Refs #6053
2015-03-29 21:42:43 -04:00
mark_story
3151c53255 Merge branch '2.6' into 2.7 2015-03-23 22:50:09 -04:00
mark_story
827465fa30 Merge branch 'postgres_altercolum_error' into master
Merge changes from #5512 into master. This fixes changing columns in
postgres to integer from string types.
2015-03-14 22:23:43 -04:00
mark_story
c32e5559bb Add test to ensure column was converted to integer.
Refs #5512
2015-03-14 22:23:17 -04:00
mark_story
8cadb553d7 Merge branch 'master' into 2.7 2015-03-14 22:08:53 -04:00
Marc Würth
4f9d764fc2 Fixed link to cookbook 2015-03-11 11:27:30 +01:00
mark_story
0b916cedbb Merge branch 'master' into 2.7 2015-03-09 21:55:20 -04:00
mark_story
a9519d39f7 Fix whitelist being empty during afterSave.
whitelist should only be reset after afterSave event.

Refs #6028
2015-03-08 13:51:46 -04:00
ADmad
7173f21dc8 Type hint model param 2015-03-04 21:15:24 +05:30
ADmad
a1286e9e7d Prefix fields with model alias 2015-03-04 21:11:18 +05:30
ADmad
6ad68ae1e2 Allow setting level (depth) of tree nodes on save.
Backported from 3.0.
2015-02-15 22:29:19 +05:30
ADmad
18246daf17 Merge branch 'master' into 2.7 2015-02-15 21:15:02 +05:30
ADmad
bdc6a1f010 Fix CS error 2015-02-15 19:22:44 +05:30
ADmad
0750a63ed4 Make code DRYer. 2015-02-15 18:36:30 +05:30
ADmad
844b4beaa6 Reduced code nesting. 2015-02-15 16:30:43 +05:30
ADmad
54fe7ed204 Add method to get depth of tree's node.
Backported from 3.0.
2015-02-01 17:27:46 +05:30
Mark Scherer
611889235a Fix clear(). Add test cases. 2015-01-28 23:54:32 +01:00
Mark Story
35e0dc2bbd Merge pull request #5760 from cakephp/master
Merge master into 2.7
2015-01-27 20:48:15 -05:00
AD7six
5e89e893f2 Ignore counter cache also 2015-01-23 08:30:34 +00:00
AD7six
c0ee49fe88 Remove callbacks to speed up saving 2015-01-23 08:30:26 +00:00
AD7six
838d23300b Remove some exists checks by not validating 2015-01-23 08:29:59 +00:00
AD7six
51bd1d0a2b If a PDOException is thrown, try again.
This can occur if the exists check returns no rows, but before this
request inserts into the database a _different_ thread inserts a
session record.
2015-01-23 08:28:08 +00:00
Ceeram
9ce75e6fd6 No need to get the datasource if column is defined in schema. Fixes #5712 2015-01-22 00:46:55 +01:00
mark_story
511ee1f776 Fix strict error with 2.6 code. 2015-01-19 21:43:14 -05:00
mark_story
3078a1eb52 Merge branch 'master' into 2.7
Conflicts:
	lib/Cake/VERSION.txt
2015-01-16 22:22:26 -05:00
Mark Story
2a9f2d4b58 Merge pull request #5668 from cakephp/issue-5649
Fix numeric values not being quoted for MySQL set columns.
2015-01-15 21:29:57 -05:00
mark_story
d4a6d3f6c0 Fix numeric values not being quoted for MySQL set columns.
Set columns should always have their values quoted. Not quoting values
makes MySQL do bad things.

Refs #5649
2015-01-15 21:10:33 -05:00
David Steinsland
687d0b44f5 Backport of https://github.com/cakephp/cakephp/issues/5667 2015-01-15 11:00:27 +01:00
mark_story
ac9a212d44 Merge branch 'master' into 2.7
Conflicts:
	lib/Cake/Utility/String.php
2015-01-11 15:25:18 -05:00
antograssiot
c2f298a8b7 Replace our custom code fence with markdown standard fence 2015-01-09 13:47:25 +01:00
Mark Story
c4f9727720 Merge pull request #5576 from istvanp/2.7
Prevent NULL value on NOT NULL column when value is an empty string
2015-01-06 21:23:53 -05:00
Istvan Pusztai
22b0275a58 Prevent NULL value on NOT NULL column when value is an empty string (MySQL) 2015-01-05 12:04:24 -05:00
euromark
52ecccb1a2 App::uses and usage replacements for String => CakeText. 2015-01-05 01:00:57 +01:00
euromark
394da88d23 Stay 100% BC for 2.7 2015-01-04 10:52:18 +01:00
euromark
39e0ce415d Backport of 3.0 Session API hardening and clear(). 2015-01-04 01:40:09 +01:00
mark_story
4cd2c8fdcb Merge branch 'master' into 2.7 2015-01-03 14:34:55 -05:00
Mark Story
0a4cffc603 Merge pull request #5501 from cakephp/2.6-hotfix-session-tmp-dir
Also autocreate session folder in debug mode
2015-01-02 11:36:53 -05:00
Kaz Watanabe
e5fc1858f9 fix error at change type of text field to integer in PostgreSQL 2014-12-30 09:27:46 +09:00
mark_story
ec57fb4579 Fix length reflection in SQLServer
Don't reflect TEXT column lengths in SQLServer. Because SQLServer text
columns hold ~2GB of data there is no meaningful length to them.

Refs #5506
2014-12-29 16:47:50 -05:00
euromark
5aff618109 Also autocreate session folder in debug mode 2014-12-27 20:34:47 +01:00
Mark Story
7bbc3dfd90 Merge pull request #5470 from cakephp/2.7-session
Backport Session consume() to 2.x
2014-12-26 12:22:20 -05:00
euromark
813925abee Backport Session consume() 2014-12-23 03:39:05 +01:00
mark_story
c540e2b798 Merge branch 'master' into 2.6 2014-12-22 21:38:58 -05:00
Mark Story
484b114e9b Merge pull request #5384 from okinaka/fix-mysql-describe
2.5: Fixing Mysql::describe() for timestamp.
2014-12-21 21:27:27 -05:00
Rachman Chavik
45be270a7b Enable use of Containable with TreeBehaviors
This patch allows Containable use with:

- TreeBehavior::getParentNode()
- TreeBehavior::children()
- TreeBehavior::getPath()
2014-12-20 16:32:20 +07:00
mark_story
4d6611b328 Merge branch 'master' into 2.6
Conflicts:
	lib/Cake/VERSION.txt
2014-12-17 21:38:32 -05:00
OKINAKA Kenshin
8c008ad97d Update. 2014-12-11 13:55:41 +09:00
mark_story
cf108dbff3 Remove duplicate order key.
This was a mistake made in 4b6dba0.

Fixes #5376
2014-12-10 22:32:59 -05:00
OKINAKA Kenshin
5cff6aa746 Fixing Mysql::describe() for timestamp. 2014-12-11 10:31:19 +09:00
euromark
e1c128bb99 Consolidate with conditions sniff. 2014-12-09 03:17:35 +01:00
mark_story
ad2d6edda9 Merge branch 'master' into 2.6 2014-12-06 21:28:59 -05:00
Guy Warner
327fcb4846 Fix some missed doc block issues 2014-11-30 14:50:11 -07:00
Guy Warner
fb61d9393b Add @trigger doc blocks of methods triggering CakeEvent 2014-11-30 14:45:40 -07:00
mark_story
543f05e3d0 Merge branch 'master' into 2.6 2014-11-29 22:00:00 -05:00