Partially revert default niceShortFormat
The changes introduced in 2.2 dramatically changed the output from 2.1, this change attempts to be a compromise between the 2.1 format and the 2.2 format.
Fixes#3533
bake often guesses wrong when it comes to habtm. Only add associations
we're highly confident of. This includes tables where the foreign table
also exists.
Refs #3532
In 9fa531d6e3 the default niceShortFormat
was changed, which has been interpreted as a regression in #3533.
This change partially reverts the previous change and tries to strike
a balance between the old behavior and new.
Refs #3533
The table structure of:
- packages
- userpackages
- georegions
- userpackages_georegions
Should not create a habtm between packages & georegions.
Fixes#3532
version while doing calculations will normally end up as floats.
This causes output differences on pages like order totals or invoices where there is a mix of calculated values
and database values.
Number::currency(0.00, 'GBP') -> £0.00
Number::currency('0.00', 'GBP') -> 0p
Both versions will return `£0.00` (or whatever 0 is configured to return).
Hash::flatten has a bug which causes an endless loop when try to flatten an integer key.
Probably the $data array pointer won't reset itself when doing:
$data = $element
and
list($data, $path) = array_pop($stack)
The solution is to reset the pointer after the assignments.
Boolean values should be cast to integer equivalents, which allows
for correct handling of boolean columns and their string equivalents
used in form options.
Fixes#3512
The urls were being HTML & URL encoded, this causes issues with URL's
containing query string parameters. Remove HTML entities as they aren't
required in the Javascript context.
Fixes#3495
When a user requests the blackhole callback as an action we should
blackhole that request. The blackhole callback should not be URL
accessible.
Fixes#3496
When Router::parseExtensions() is enabled for a file extension
that does not map to a view an infinite loop of attempting to render
View/$ext/error500.ctp will be entered. When catching
a MissingViewException check if we were trying to render an
error500. If we were, revert to safe rendering as we might enter a loop.