Commit graph

741 commits

Author SHA1 Message Date
Phally
9260a78ea3 Fixes last items for #1665.
- Changes double quotes to single quotes.
- Documents and tests array-based string replace.
- Rewrites test case.

Rewrites the test case because the tests didn't work as well as
they should be. The test file copied itself to the tmp directory,
did some string replace stuff on it and then loaded the data to
test its contents. However in those contents were also the
expectations, so assertContains() would always see the string in
the file... even if the replacing didn't work.

Closes #1665.
2013-10-26 14:50:42 +02:00
rooseveltrp
98e11cea5d Adds File::replaceText().
Added File::replace()

Searches for a given text and replaces the text if found

Renamed File::replace() to File::replaceText()

Updated the replaceText() method to utilize File Locking

Updated File::replaceText()

1. Method now checks if the lock is not identical to null
2. Since the method uses File::read() to get the contents of the file,
there is no need for a temporary file. Removed the temporary file
creation

File::replaceText() update

Opening file with r+ mode
2013-10-26 14:05:12 +02:00
euromark
4048c686b7 coding standards 2013-10-25 19:29:33 +02:00
mark_story
1ae470a284 Fix inflection rules for curves.
Remove curve from the uninflected list and update rules so it, wolves,
and lives are still properly handled.

Fixes #2148
2013-10-17 12:15:56 -04:00
mark_story
935a51c892 Add tests for curve<->curves
Closes #2148
2013-10-17 12:10:49 -04:00
mark_story
5c8eb5c5a7 Add test cases for pluralization/singularlization of quota.
Closes #2077
2013-10-15 17:48:26 -04:00
mark_story
5a394c379a Merge branch 'master' into 2.5 2013-10-14 22:57:50 -04:00
euromark
afb6471128 Make tests pass on win. 2013-10-14 23:59:14 +02:00
euromark
ed2054f4f2 Allow international domains to pass validation. Fixes #1763 2013-10-13 23:43:29 +02:00
Jose Lorenzo Rodriguez
df549898ad Merge remote-tracking branch 'origin/2.5' into k-halaburda-master 2013-10-12 01:05:02 +02:00
mark_story
5aa8a458b1 Update UUID pattern to accept the 'nil' UUID.
Fixes #4133
2013-10-10 21:11:55 -04:00
euromark
7b57df5554 Correct method names and missing parent calls. 2013-10-07 20:24:28 +02:00
mark_story
60b0893c79 Merge branch 'master' into 2.5 2013-10-06 23:49:32 -03:00
Bryan Crowe
b9003e5f7c Allow Folder::addPathElement() to accept arrays, also corrected docblock 2013-10-02 22:45:22 -04:00
Renan Gonçalves
a73e926467 Make String::wrap() unicode aware. Solves #3981. 2013-10-01 22:35:11 +02:00
mark_story
cc5795c67d Merge branch 'master' into 2.5 2013-09-26 10:07:10 -04:00
Mark Story
ce9f547175 Merge pull request #1655 from dereuromark/2.5-inlist-clean
2.5 inList(), multiple() and case sensitivity
2013-09-25 11:45:29 -07:00
Bryan Crowe
3e05ab897c Missed a couple instanceOf asserations 2013-09-24 22:12:51 -04:00
Bryan Crowe
9a1170cd2b Replaced true asserations with instanceOf asserations in test cases 2013-09-24 22:10:36 -04:00
Bryan Crowe
7d7954ce18 Replaced all is_a() calls with instanceof operator 2013-09-24 21:08:06 -04:00
euromark
f7e507145c Case insensitive validation inList option. Resolves ticket 3521. Added two tests to proof the faulty behavior of $strict here. Also address the faulty behavior in multiple() and replace it with case sensitivity. 2013-09-24 02:01:50 +02:00
mark_story
d2577fac60 Merge branch 'master' into 2.5 2013-09-21 20:01:50 -04:00
mark_story
a30f861f2c Use array_key_exists instead of isset()
This allows contains() to work with null values.

Fixes #4083
2013-09-19 21:44:09 -04:00
euromark
17bd465cae simplify tests 2013-09-19 00:17:21 +02:00
mark_story
a7a6fcae8a Merge branch 'master' into 2.5
Conflicts:
	lib/Cake/VERSION.txt
2013-09-17 10:11:24 -04:00
euromark
382f75dbfc cs corrections, bool to boolean and int to integer. 2013-09-17 14:44:34 +02:00
mark_story
7379d32b59 Simplify & fix phone number validation.
The changes made in fa3d4a0bb5 tightened
the area code validation too much and excluded at least one valid area
code. This change replaces that with a more generic solution that does
not attempt to exclude non-allocated but potentially valid area codes.

Fixes #4066
2013-09-13 23:05:40 -04:00
mark_story
f22c4cf90b Merge branch 'master' into 2.5 2013-09-05 10:21:41 -04:00
Rob McVey
7f44cc01b5 Plural of breif is breifs not breives 2013-09-04 09:20:32 +01:00
mark_story
4c92cdcada Reorder inflection rules.
Place rules for words like 'archives' and 'relatives' before words like
'knives'.

Fixes #4040
2013-09-03 12:50:02 -04:00
mark_story
59bb05b433 Merge branch 'master' into 2.5
Conflicts:
	lib/Cake/VERSION.txt
2013-09-02 11:35:09 -04:00
mark_story
95ad5f5c78 Add hmac to encrypted data.
Using an HMAC ensures that the ciphertext has not been
modified.
2013-08-29 14:40:01 -04:00
mark_story
b8320fdbb7 Load helpers at View construction.
Loading helpers earlier in View's lifecycle allows for the removal of
many duplicated code segments and a now useless property. It slightly
modifies how View behaves in a test case, but that issue is easily
remedied by calling loadHelpers() a second time.

This primarily fixes issues where helpers may not be loaded in View
subclasses if they override any of View's methods. This is particularly
problematic when aliased helpers are involved.

Refs #4030
2013-08-28 12:27:07 -04:00
mark_story
c5092851d1 Fix compatibility with PHP 5.2 2013-08-27 23:03:08 -04:00
mark_story
215d43eb06 Add encrypt() and decrypt() methods.
These methods use AES-256 and provide a simple to use API with easy to
remember names.
2013-08-27 21:20:22 -04:00
Chen Cohen
a0014e7a30 Ticket 4011 - Adding matchers support for Hash::remove() and Hash::insert() 2013-08-24 02:02:01 +03:00
mark_story
0f2d59d987 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Network/CakeResponse.php
	lib/Cake/TestSuite/CakeTestCase.php
2013-08-18 23:10:08 -04:00
Phally
524aaf3449 Makes PHPCS pass again. 2013-08-18 16:12:23 +02:00
mark_story
a140b30435 Add a test for Hash::sort()
Closes #3956
2013-08-17 17:16:33 -04:00
euromark
6a14f37b74 a few more orders in test case corrected 2013-08-16 20:55:17 +02:00
mark_story
3244b9e3d7 Merge branch 'master' into 2.4 2013-08-16 14:47:01 -04:00
ADmad
8428928fd6 Merge pull request #1528 from mvdriel/caketime-fix
Added workaround for strtotime("0000-00-00 00:00:00") returning -6216995...
2013-08-15 10:55:03 -07:00
Mark van Driel
1595287290 Added workaround for strtotime("0000-00-00 00:00:00") returning -62169955200 on a 64 bit system 2013-08-15 08:58:05 +02:00
Frank de Graaf
33f7de0072 Merge pull request #1520 from mvdriel/cakenumber-fix
Cakenumber fix
2013-08-14 13:41:53 -07:00
Mark van Driel
559fb5805b Fix formatting with locales using , as decimal separator
No double number formatting for readable size

Fixed testPrecisionLocalized for travis (when locale is missing?)

Switched locale to nl_NL and fixed test

Skip test when locale is not available
2013-08-14 22:19:38 +02:00
Phally
6f74e1958b Makes the locale test not always pass, be verbose when it is skipped. 2013-08-14 21:00:31 +02:00
mark_story
26769edd04 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Utility/CakeTime.php
	lib/Cake/VERSION.txt
2013-08-12 14:39:02 -04:00
ankr
1cb41294b8 Making CakeTime display 'about X ago' when time passed is lower than accuracy
Removing unnecessary else

Also support 'about' times for future times

Make 'about' times translateable in all languages
2013-08-12 10:01:38 -04:00
José Lorenzo Rodríguez
789400ac44 Merge pull request #1409 from cdburgess/phone-validation-update
Phone validation update
2013-08-11 14:37:05 -07:00
Jose Lorenzo Rodriguez
9d07fc4330 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Console/ShellDispatcher.php
	lib/Cake/Utility/CakeNumber.php
	lib/Cake/View/Elements/sql_dump.ctp
2013-08-11 23:31:10 +02:00
euromark
e7e5f46916 prevent rtrim to remove whitespace from test 2013-08-08 01:14:31 +02:00
euromark
1339a9dfe1 coding standards according to new sniffer rules 2013-08-08 01:03:21 +02:00
Tigran Gabrielyan
2150e8dce5 Added case for unknown type. Fixes #3966 2013-08-06 18:30:00 -07:00
Mark Story
33af7e2e52 Merge pull request #1426 from dereuromark/2.4-currency-fraction
Fix currency output for fraction values.

Fixes #1329
2013-08-06 18:19:01 -07:00
euromark
ad6fcd43d7 Fix currency output for fraction values using fractionExponent option. 2013-08-07 00:36:37 +02:00
ADmad
38b050a711 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Console/Command/ConsoleShell.php
2013-08-04 19:26:55 +05:30
Marc Würth
1cac1846a3 Added missing calls to setUp & tearDown in tests 2013-07-29 01:52:39 +02:00
mark_story
7b5122adb1 Fix pluralization of Objective.
Fixes #3921
2013-07-17 10:04:29 -04:00
euromark
22d6625872 fix test 2013-07-17 12:18:06 +02:00
euromark
13ee5b7338 ability to provide custom strings for timeAgoInWords() 2013-07-16 15:16:30 +02:00
Christian Winther
532b2099e5 Merge pull request #1410 from Phally/2.x-3814
LH#3814 CakeNumber::toPercentage() should return percentage
2013-07-15 10:44:41 -07:00
ADmad
d161b21ae1 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Controller/Component/AuthComponent.php
2013-07-14 10:58:55 +05:30
Mark Story
1ecc921e13 Merge pull request #1412 from wernerhp/master
Inflector pluralize and singularize update
2013-07-10 08:59:03 -07:00
Werner Pieterson
3d83c628eb Added more words to InflectorTest 2013-07-10 17:49:18 +02:00
Werner Pieterson
a27499d88a Updated Inflector's 'pluralize and singularize to correctly handle addisional words.
Updated InflectorTest to test new words.
2013-07-10 17:46:01 +02:00
Phally
e35bd80dfb Adds option to multiply decimal percentages. Fixes #3814 2013-07-10 14:37:57 +02:00
Charles Burgess
fa3d4a0bb5 Updating the phone validation routine.
According to NANPA, there are area codes and exchanges that are invalid or reserved and not available for assignment. This would make those phone numbers invalid. For example:

- area-codes: 555, N11, N9X, 37X, 96X
- exchanges: N11
- numbers: 555-0100 thru 555-0199

You could also say 555-1212 is invalid as it is assigned as information for the US.

I changed the tests where 555 as an area code was being used as the assertion will give it a false on the area code and not the exchange as intended.
2013-07-09 09:54:18 -06:00
ADmad
4ded269549 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Controller/Component/Auth/BlowfishAuthenticate.php
	lib/Cake/VERSION.txt
2013-07-07 12:22:12 +05:30
euromark
af455b4121 correct return types in doc blocks 2013-07-05 17:19:22 +02:00
euromark
ba02678693 doc block corrections 2013-07-05 16:17:23 +02:00
mark_story
cd3c54bb9d Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/VERSION.txt
2013-06-10 22:12:10 -04:00
euromark
42777b7809 incorrect tab to space - whitespace coding standards 2013-06-09 21:01:01 +02:00
euromark
4518624187 more whitespace coding standard corrections 2013-06-09 17:39:48 +02:00
euromark
a6f065e7a2 coding standards whitespace and single quote 2013-06-09 17:20:08 +02:00
ADmad
636cc8c103 Merge branch 'master' into 2.4 2013-06-09 18:08:32 +05:30
Aymeric Derbois
0cfdb87cdf Fix a problem of tag values which is not taken into account
(when equal to zero) when passing an array to XML object.
2013-06-09 00:52:06 +02:00
mark_story
e527eab5aa Add missing call to parent::setUp() 2013-06-08 09:47:46 -04:00
Mark Story
5cdd11cb38 Merge pull request #1336 from djbobke/caketimetest-locale
Fix locale for CakeTimeTest when configured different locale in app
2013-06-08 06:45:20 -07:00
Rik van der Heijden
0946a7799a Fix locale for CakeTimeTest when configured different locale in app 2013-06-08 10:25:28 +02:00
euromark
394bf1054d remove name attribute where not necessary, clean up doc blocks 2013-06-08 04:29:08 +02:00
ADmad
3303a2cda1 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Console/Templates/skel/Config/Schema/db_acl.php
	lib/Cake/Console/Templates/skel/Config/Schema/i18n.php
	lib/Cake/Console/Templates/skel/Config/Schema/sessions.php
	lib/Cake/Console/Templates/skel/Config/acl.ini.php
	lib/Cake/Console/Templates/skel/Config/acl.php
	lib/Cake/Console/Templates/skel/Config/bootstrap.php
	lib/Cake/Console/Templates/skel/Config/core.php
	lib/Cake/Console/Templates/skel/Config/database.php.default
	lib/Cake/Console/Templates/skel/Config/email.php.default
	lib/Cake/Console/Templates/skel/Config/routes.php
	lib/Cake/Console/Templates/skel/Console/Command/AppShell.php
	lib/Cake/Console/Templates/skel/Console/cake.bat
	lib/Cake/Console/Templates/skel/Console/cake.php
	lib/Cake/Console/Templates/skel/Controller/AppController.php
	lib/Cake/Console/Templates/skel/Controller/PagesController.php
	lib/Cake/Console/Templates/skel/Model/AppModel.php
	lib/Cake/Console/Templates/skel/View/Errors/error400.ctp
	lib/Cake/Console/Templates/skel/View/Errors/error500.ctp
	lib/Cake/Console/Templates/skel/View/Helper/AppHelper.php
	lib/Cake/Console/Templates/skel/View/Layouts/Emails/html/default.ctp
	lib/Cake/Console/Templates/skel/View/Layouts/ajax.ctp
	lib/Cake/Console/Templates/skel/View/Layouts/default.ctp
	lib/Cake/Console/Templates/skel/View/Layouts/error.ctp
	lib/Cake/Console/Templates/skel/View/Layouts/flash.ctp
	lib/Cake/Console/Templates/skel/View/Pages/home.ctp
	lib/Cake/Console/Templates/skel/index.php
	lib/Cake/Console/Templates/skel/webroot/index.php
	lib/Cake/Console/Templates/skel/webroot/test.php
2013-06-02 18:03:59 +05:30
Marc Würth
4c9f0414cb Improved the DocBlocks and other code cleanup
Fixed @license tag, url comes first
Whitespace and other minor code cleanup
Added some docblocks
2013-05-31 00:11:19 +02:00
Marc Würth
2bbd391972 Synced PHP version annotations
CakePHP seems to be just "PHP 5" as opposed to the PEAR header comment standard "PHP version 5"
http://pear.php.net/manual/en/standards.header.php
2013-05-29 20:19:14 +02:00
mark_story
cce9e84907 Merge branch 'master' into 2.4 2013-05-28 22:40:32 -04:00
mark_story
7334643b55 Fix issues with getting Xml as SimpleXmlElement and invalid Xml.
Fixes #3855
2013-05-27 13:22:14 -04:00
ADmad
fb86859585 Merge branch 'master' into 2.4 2013-05-19 14:37:41 +05:30
euromark
97c2cb367d CS fixes 2013-05-17 10:36:17 +02:00
mark_story
df872dde28 Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/VERSION.txt
2013-05-10 21:58:48 -04:00
Mark Story
94ff1b20e2 Merge pull request #1276 from aymericderbois/2.3-XmlFixZeroValueProblem
Fix bug in Xml::_toArray Method
2013-05-07 19:03:18 -07:00
Derbois Aymeric
ca6612bc8b Fix a problem of tag values which is not taken into account
(when equal to zero) when passing an XML object to an array.
2013-05-08 00:56:17 +02:00
ADmad
a10275fb8b Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Test/Case/Model/Datasource/Database/PostgresTest.php
2013-05-05 14:36:46 +05:30
mark_story
2b0e10eebb Exclude domain names starting with -
Related to 479aefc438

Refs #3414
2013-04-29 21:31:30 -04:00
spiliot
dbe90cae71 removed duplicate test case
```$this->assertFalse(Validation::money('text'));```
is now tested only once
2013-04-29 00:20:35 +03:00
spiliot
2d7f6fc707 Added tests 2013-04-22 03:42:19 +03:00
ADmad
79ad8ab95a Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Utility/File.php
2013-04-14 00:05:18 +05:30
ADmad
ba56fb7064 Fixed issue where incorrect cached filesize was reported when appending to file. 2013-04-13 19:45:20 +05:30
mark_story
8bd1980dd4 DateTime::getTimestamp() is PHP5.3+ 2013-04-11 13:39:05 -04:00
mark_story
5c83bc177d Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Model/Model.php
	lib/Cake/VERSION.txt
2013-04-09 22:09:56 -04:00
mark_story
0e646a2a4d Fix incorrect timestamp values when using fromString()
When using fromString() on DateTime objects that were in the global
timezone, an incorrect value would be returned.

Fixes #3743
2013-04-09 21:30:20 -04:00
mark_story
d28c2f8e72 Fix code & tests for isPast() and isFuture()
The methods and tests now follow coding standards and work.
2013-03-30 22:24:14 -04:00
Roberto Frega
632c4feb5d Adds two new time testing methods: 'isFuture' and 'isPast'
TestCases included
2013-03-30 22:24:08 -04:00
mark_story
041c2d289f Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Console/Shell.php
2013-03-26 20:31:54 -04:00
euromark
3a1ff36d5e correct coding standards 2013-03-25 13:06:38 +01:00
mark_story
5d6a6fa203 Fix error when generating Xml.
Fix warnings/un-escaped entities with deeply nested elements.

Fixes #3718
2013-03-21 21:12:21 -04:00
mark_story
83de70efcf Tighten Canadian postal code validation.
D, F, I, O, Q, U should not be valid anywhere in a canadian postal code.

Fixes #3708
2013-03-17 18:14:56 -04:00
mark_story
e97b3acebb Merge branch 'master' into 2.4 2013-03-14 20:54:42 -04:00
mark_story
246c09ae40 Allow character classes in attribute patterns.
Fixes #3706
2013-03-14 12:55:03 -04:00
Yuya Takeyama
14c81fe052 Fix alphaNumeric validation 2013-03-14 20:10:17 +09:00
Ceeram
f6477d58df change formatOutput option name to pretty 2013-03-13 15:44:59 +01:00
Ceeram
fc34d9fe7f Add formatoutput option to Xml::fromArray 2013-03-13 13:07:36 +01:00
euromark
f633241775 fix spacing error 2013-03-10 18:26:58 +01:00
euromark
a9bbaed3d6 fix coding standards 2013-03-10 18:11:50 +01:00
euromark
eb874f87a3 Top 6 world currencies and make them utf8 per default 2013-03-06 23:35:18 +01:00
mark_story
00edc594bf Fix failing test. 2013-02-28 21:31:09 -05:00
mark_story
d1c88ebf8a Merge branch 'master' into 2.4
Conflicts:
	lib/Cake/Log/Engine/FileLog.php
	lib/Cake/Utility/Validation.php
	lib/Cake/View/Helper/HtmlHelper.php
2013-02-24 20:24:26 -05:00
Marc Würth
33fbace4c7 Added 'ym'- & 'y'-date validation
Added regex in validation
Added tests analog to 'my'-date validation tests, extended the new tests even further
2013-02-15 14:35:20 +01:00
euromark
111366d5c8 == to === and != to !== where applicable 2013-02-12 03:38:08 +01:00
mark_story
974ac44fb4 Use random iv values in rijndael.
Using fixed iv values has a number of known problems like dictionary
attacks against the cipher key. Use a random iv value for all future
encrpyted values. Provide backwards compatibility for values encrypted
with fixed iv's, and silently upgrade values for enhanced security.
2013-02-09 20:48:27 -05:00
ADmad
431e610317 Fix broken tests 2013-02-08 19:04:41 +05:30
Graham Weldon
66d856d883 Added extra line for referencing license file for copyright 2013-02-08 21:22:51 +09:00
Graham Weldon
7b860debe4 This commit is dedicated to Mark Story, who has put in much dedicated time and effort into CakePHP over the years.
I just wanted to ruin his evening, because this change needs to be merged into CakePHP 3.0.
2013-02-08 20:59:49 +09:00
mark_story
4af6039107 Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/Console/Command/Task/ModelTask.php
	lib/Cake/Model/Model.php
2013-01-26 21:16:26 -05:00
Majna
5250c92635 Fix Hash::sort() 'natural' type fallback on PHP < 5.4 2013-01-25 01:07:45 +01:00
Ceeram
16be9d4990 remove unused local vars 2013-01-23 17:22:06 +01:00
mark_story
0cdef75060 Fix failing tests.
I have no idea why the updated session test was expected to fail as the
data was written to the session.

Refs #3551
2013-01-21 21:13:35 -05:00
mark_story
75495705a6 Fix Hash::get($data, '0')
Fixes #3555
2013-01-21 20:50:46 -05:00
mark_story
ad0d6644c4 Partially revert default niceShortFormat
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
2013-01-14 21:12:11 -05:00
dogmatic69
bcb3eb89dc Before this change 0.00 and '0.00' are treated differently. Floats from the database are returned as the string
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') -> &#163;0.00
	Number::currency('0.00', 'GBP') -> 0p

Both versions will return `&#163;0.00` (or whatever 0 is configured to return).
2013-01-11 17:00:06 +00:00
euromark
11a88042bd fix doc block endings 2013-01-11 15:06:54 +01:00
Ceeram
92d9b11aee fix double semicolon 2013-01-11 11:15:15 +01:00
mark_story
7008b812be Fix string '0' not being exported correctly.
Fixes #3518
2013-01-09 23:04:58 -05:00
mark_story
735517ade1 Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/VERSION.txt
2013-01-08 22:27:17 -05:00
mark_story
e3692225ff Fix lint errors. 2013-01-08 22:26:43 -05:00
mark_story
d0d13acaf4 Merge branch 'master' into 2.3 2013-01-08 20:15:46 -05:00
mark_story
c2e087dc9b Add test for recursion issues in Hash::expand().
Refs #3080
2013-01-08 19:42:12 -05:00
José Lorenzo Rodríguez
a8bd7c6678 Merge pull request #961 from dereuromark/2.3-unify-object-collection
2.3 unify object collection
2012-12-22 14:24:26 -08:00
ADmad
a340c19c08 Added support for php.ini style values 2012-12-23 02:25:59 +05:30
dogmatic69
2266292594 fixing bug in Hash where array is not similar to the path required 2012-12-14 22:45:52 +00:00
mark_story
6f5ff4d7dd Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/Model/CakeSchema.php
	lib/Cake/Test/Case/Model/Datasource/Database/MysqlTest.php
2012-12-13 20:20:42 -05:00
mark_story
1e49be3472 Fix stack traces not being highlighted correctly.
Fixes #3439
2012-12-08 20:48:45 -05:00
dogmatic69
85de93a4a7 fixing issue where merge is renumbering array keys 2012-12-07 01:26:14 +00:00
Jose Lorenzo Rodriguez
0f5fa290ed Merge remote-tracking branch 'origin/master' into 2.3 2012-12-01 23:19:53 +01:00
mark_story
479aefc438 Update TLD validation to accept gTLD variations
The upcoming gTLD extensions will allow much more variety in TLD names.
Loosen the validation to better accept different length TLDs.

Fixes #3414
2012-11-30 22:11:57 -05:00
mark_story
889c1ebc09 Fix sorting empty data with Hash & Set.
Fixes #3420
2012-11-30 13:05:14 -05:00
Ceeram
eadc3a75e5 fix coding standards 2012-11-21 15:39:03 +01:00
mark_story
27d7e2865e Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/Console/Command/ConsoleShell.php
	lib/Cake/Network/CakeSocket.php
	lib/Cake/Network/Http/HttpResponse.php
	lib/Cake/Utility/Folder.php
	lib/Cake/View/MediaView.php
	lib/Cake/basics.php
2012-11-20 23:02:33 -05:00
mark_story
fb275c5fa2 Fix warnings from file_get_contents() in Xml::build()
Use HttpSocket to get proper exceptions when trying to load XML from
remote servers.

Fixes #3379
2012-11-19 14:46:45 -05:00
mark_story
6b4afb989e Fix Set::merge() failing to merge correctly.
When merging 3 values, and the 2nd was empty, the resulting
merge was incorrect.

Fixes #3384
2012-11-19 14:03:03 -05:00
euromark
8acdb129b2 unify object load/unload and loaded methods 2012-11-16 12:14:28 +01:00
mark_story
d95ef5d5e8 Fix failing tests. 2012-11-11 21:57:52 -05:00
mark_story
e0aab77dab Merge branch 'master' into 2.3
Conflicts:
	app/Config/Schema/i18n.php
	lib/Cake/I18n/Multibyte.php
	lib/Cake/Test/Case/Log/CakeLogTest.php
	lib/Cake/Test/Case/Routing/DispatcherTest.php
2012-11-10 21:33:26 -05:00
mark_story
8b7b139353 Fix failing tests using chr(226) instead of unicode codes. 2012-11-09 22:32:29 -05:00
Ber Clausen
8b2b077119 Set::flatten() fails to generate keys when 'tip' value is an empty
array.
2012-11-02 19:23:55 -03:00
Ceeram
0196c6f686 code optimizing and simplify _crypt(), see PR #853 2012-11-01 14:15:52 +01:00
mark_story
478461d301 Merge branch 'master' into 2.3 2012-10-28 21:42:48 -04:00
mark_story
94bd2cedcf Fix more off by a second errors 2012-10-28 16:15:20 -04:00
mark_story
c794e295a0 Merge branch 'master' into 2.3 2012-10-27 22:50:02 -04:00
mark_story
667dfd308f DateTime::getTimestamp() only exists in PHP > 5.3.0 2012-10-27 22:49:43 -04:00
mark_story
c24bec679b Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/View/Helper/FormHelper.php
2012-10-27 21:13:53 -04:00
mark_story
e8f727fe68 Using fixed points in time.
This avoids lulz when the United Kingdom changes change to/from DST at
a different time than your local timezone.
2012-10-27 21:12:34 -04:00
Ber Clausen
a7d9422c09 Test all empty array with assertSame() because assertEquals() does not check the type. 2012-10-26 19:21:51 -03:00
Ceeram
f4f4aa4a2a Squashed commit of the following:
commit 22311a1e62934da757d53d7aecfce884f5a1ca10
Merge: fda331e d051b69
Author: Ceeram <c33ram@gmail.com>
Date:   Fri Oct 26 14:40:24 2012 +0200

    Merge branch '2.3' into currency

commit fda331eab169068763717f88838032b7c0c02c29
Author: Ceeram <c33ram@gmail.com>
Date:   Sun Oct 7 23:53:03 2012 +0200

    NumberHelper now also uses the default currency from CakeNumber, instead of default argument value

commit 967bf8e27ea2438f1972390b7ef78ae62e17a762
Author: Ceeram <c33ram@gmail.com>
Date:   Sun Oct 7 18:01:35 2012 +0200

    Adding feature to set default currency on CakeNumber, to make repetetive calls to CakeNumber::currency() more DRY
2012-10-26 19:32:39 +02:00
ADmad
1763f46340 Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/bootstrap.php
2012-10-23 16:53:01 +05:30
Jose Lorenzo Rodriguez
1c0c8604c8 Pushed before fxing error in test case, I suck. Refs #3291 2012-10-22 23:09:31 +02:00
Jose Lorenzo Rodriguez
9dc3b243ac Correct inflection rules for cookies, fixes fixes #3291 2012-10-22 23:07:42 +02:00
mark_story
0b0b361e48 Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/Test/Case/Model/Behavior/ContainableBehaviorTest.php
2012-10-20 20:48:11 -04:00
mark_story
307759516b Try to make tests less fragile. 2012-10-15 22:54:03 -04:00
euromark
7bf08fdcc7 default value null makes more sense. add test cases for false. 2012-10-12 16:03:05 +02:00
ADmad
ce9ad1f2ed Fix failing tests 2012-10-01 20:22:41 +05:30
euromark
7383298410 making messages() and errors() reset themselves by default 2012-10-01 14:20:53 +02:00
mark_story
59e948fb1b Merge branch 'master' into 2.3 2012-09-28 21:20:24 -04:00
mark_story
eed59a95ad Fix whitespace. 2012-09-27 21:42:15 -04:00
mark_story
99edef0abc Re-order assertions.
Group the true/false assertions.
2012-09-27 21:39:14 -04:00
mark_story
76d21c6d56 Try to fix another test failure caused by blowfish.
travis ci seems to have wonky hashing with blowfish on the 5.2 boxes.
Skip tests when we know blowfish is messed up.
2012-09-26 22:25:05 -04:00
Jose Lorenzo Rodriguez
047ffd1530 Removing variable from dump test as it does not exist anymore 2012-09-25 17:01:06 +02:00
Jose Lorenzo Rodriguez
d5c9d97dc1 Merge remote-tracking branch 'origin/master' into 2.3
Conflicts:
	lib/Cake/Model/Behavior/TranslateBehavior.php
	lib/Cake/Model/CakeSchema.php
	lib/Cake/Utility/CakeTime.php
	lib/Cake/Utility/ClassRegistry.php
	lib/Cake/View/MediaView.php
2012-09-25 16:36:03 +02:00
Jose Lorenzo Rodriguez
b0822d2246 Introducing failing test case to prove issue in CakeTime 2012-09-25 15:23:19 +02:00
mark_story
d3ba9703a5 Try to make some time related test failures go away. 2012-09-20 21:07:14 -04:00
euromark
0be1943bcd adding basic test 2012-09-20 01:56:52 +02:00
euromark
3fa6b96ad0 adding CakeNumber::formatDelta() and fixing issue with near-zero values and format() 2012-09-20 01:41:41 +02:00
Ceeram
ff676b5ea4 allow for lowercase as well, also strip the unit part off before pow() 2012-09-18 17:15:33 +02:00
Mark Story
07c5102de5 Merge pull request #850 from ceeram/2.2-filesize
Add CakeNumber::fromReadableSize() and Validation::filesize()
2012-09-17 17:55:23 -07:00
Ceeram
9530e68ae6 add default return value as parameter to use when size can not be determined 2012-09-17 13:21:50 +02:00
Mark Story
cdfead0feb Merge pull request #849 from dogmatic69/rijndael-fatal-error
skipping the rijndael test if mcrypt_encrypt() is not available
2012-09-15 18:00:07 -07:00
dogmatic69
26934236b1 skipping the rijndael test if mcrypt_encrypt() is not available 2012-09-15 11:43:39 +01:00
dogmatic69
4899b5b91b changing is_writeable() to is_writable() 2012-09-15 11:17:35 +01:00
mark_story
ccd33782da Fix whitespace errors. 2012-09-14 22:37:39 -04:00
euromark
2d9d400ecb correct spelling 2012-09-10 23:08:14 +02:00
euromark
f7acab7cae doc block update 2012-09-10 19:20:15 +02:00
euromark
37068539bd allow Folder to merge recursivly and add scheme option 2012-09-10 10:23:52 +02:00
mark_story
e8c1140fc8 Fix notice error. 2012-09-09 21:08:21 -04:00
mark_story
6664acba79 Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/VERSION.txt
2012-09-05 20:15:36 -04:00
Kyle Robinson Young
a214fcd992 Remove never reached code in Debugger::trimPath and test more results 2012-09-05 15:57:53 -07:00
mark_story
571c8bc08c Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/Console/Command/Task/TestTask.php
2012-09-01 13:51:40 +01:00
mark_story
474e42cc08 Switch File::info() tests to use a different file.
text/php files are not detected reliably across platforms. Use a plain
text file instead.  This should fix builds on travis.ci
2012-09-01 12:40:05 +01:00
mark_story
d3105332dc Fix coding standards errors. 2012-09-01 12:14:15 +01:00
mark_story
728300786b Merge branch 'master' into 2.3 2012-08-30 19:43:11 +01:00
Ber Clausen
63548267e9 Refactor Validator::decimal() to be more flexible with decimal
separators and PHP magic.
Lots of testing added.
2012-08-27 23:25:17 -03:00
mark_story
934838f77c Fix whitespace. 2012-08-26 22:17:36 -04:00
mark_story
d66d37c92b Merge branch 'master' into 2.3 2012-08-24 22:50:29 -04:00
Ber Clausen
b75a6b440a Treat float numbers with trailing zeroes removed by PHP, accordingly.
Revert #2800 (28bd6880df) regex changes. Also add more tests.

Signed-off-by: mark_story <mark@mark-story.com>
2012-08-24 22:22:12 -04:00
euromark
07d92ef678 correcting test 2012-08-17 14:02:20 +02:00
euromark
7969062614 legacy support with test cases 2012-08-17 13:57:47 +02:00
euromark
40398429ff coding standards 2012-08-17 13:37:04 +02:00
euromark
f201684873 use html ellipsis if possible (only a single char and therefore does not line break or mess up the strlen count for length) 2012-08-17 13:31:01 +02:00
Mark Story
9e96c473f4 Merge pull request #752 from dereuromark/2.3-truncate-tail
String::tail()
2012-08-16 11:02:06 -07:00
mark_story
4487673060 Merge branch 'master' into 2.3 2012-08-09 20:43:47 -04:00
mark_story
dca050fbd6 Fix errors with recursion in debug()
Fixes #3102
2012-08-08 22:30:27 -04:00
mark_story
57c495f53a Enabled Debugger::exportVar() to display private & protected properties.
This will only work in PHP >= 5.3. Patch originally created
by 'dereuromark'.
2012-08-06 13:32:52 -04:00
euromark
2a570e639c ellipsis instead of ending/beginning for core wide consistency 2012-08-04 19:58:23 +02:00
euromark
917d912a43 String::tail() 2012-08-02 13:21:31 +02:00
mark_story
d94cdc67fe Merge branch 'master' into 2.3 2012-07-27 22:38:24 -04:00
mark_story
f963e378b5 Fix coding standards errors. 2012-07-26 21:22:50 -04:00
mark_story
70c714d600 Fix incorrect context being used for excerpt.
Fixes #3064
2012-07-24 23:37:37 -04:00
mark_story
162d3bcb29 Fix whitespace errors. 2012-07-23 22:44:05 -04:00
mark_story
2359fb7e2e Simplify number formatting. 2012-07-22 21:28:49 -04:00
Heath Nail
434d3a7137 Add bcrypt support to Security::hash() 2012-07-22 21:15:00 -04:00
mark_story
468302b526 Merge branch 'master' into 2.3 2012-07-21 20:59:56 -04:00
U-Zyn Chua
e7c4064a69 Fix URL validation to allow underscores in subdomain. 2012-07-19 20:51:33 +08:00
mark_story
3c6b50953b Merge branch 'master' into 2.3
Conflicts:
	lib/Cake/VERSION.txt
2012-07-18 22:12:51 -04:00
mark_story
fb92bde0fe Loosen exception types. 2012-07-14 16:18:21 -04:00
mark_story
22d4cb3794 Allow warnings for Xml entities.
For some installations libxml_use_internal_errors() does not work,
a warning is another way to measure the entities not being loaded.
2012-07-14 16:08:54 -04:00
mark_story
6c905411ba Fix XML decoding attack via external entities. 2012-07-14 11:53:37 -04:00
mark_story
369bbcc964 Fix failing tests.
* New properties on view caused fails in Debugger.
* Element cache keys have changed with the new refactoring.
2012-07-07 01:08:39 -04:00
Ceeram
6ec0afcf5d Add CakeNumber::fromReadableSize() and Validation::filesize() 2012-06-26 12:17:25 +02:00
mark_story
ad5345887a Refactor tests.
Use generators to reduce some duplication.
2012-06-24 21:57:00 -04:00
mark_story
3f78216e96 Revert changes in behavior made to timeAgoInWords()
Changes made in [0729aca706] changed
the generated text to not match the behavior in 2.1.
2012-06-24 20:54:47 -04:00
ADmad
b2ccdd46e5 Fixed test failing when server's timezone is not UTC 2012-06-24 23:11:52 +05:30
Jelle Henkens
db7d5426ec CakeTime no longer sets the timezone out of its scope on the date object 2012-06-24 11:10:55 +01:00
Jose Lorenzo Rodriguez
03d31b57f7 Merge remote-tracking branch 'origin/2.1' into 2.2 2012-06-19 19:28:20 -04:30
Ceeram
cd209ce099 Avoid using LC_ALL, on some installs this would cause error:
"setlocale(): Specified locale name is too long"
2012-06-19 23:20:08 +02:00
Ceeram
03e2263b69 Merge branch '2.1' into 2.2 2012-06-19 18:35:36 +02:00
mark_story
89b2eddf0b Try regexp as not all locales are available. 2012-06-18 23:45:44 -04:00
mark_story
6a1e9e80b2 Try LC_ALL instead. 2012-06-18 23:31:10 -04:00
mark_story
77fc8a9d33 Switch to de_DE
nl_NL doesn't seem to exist on the ci server.
2012-06-18 23:25:42 -04:00
mark_story
001e89bf3f Fix formatting with locales using , as decimal separator
Fixes #2958
2012-06-18 23:13:09 -04:00
Ceeram
74a0bd98c2 throw exception in Validation::mimeType() if PHP has nothing to provide the mimetype 2012-06-14 19:01:41 +02:00
mark_story
76dd49145a Merge branch '2.1' into 2.2 2012-06-10 20:34:20 -04:00
mark_story
b2e82871f1 Attempt to fix failing build. 2012-06-10 20:08:17 -04:00
mark_story
7ae660c779 Merge branch '2.1' into 2.2
Conflicts:
	lib/Cake/Cache/Engine/XcacheEngine.php
2012-06-10 20:05:25 -04:00
mark_story
0a182b918f Fix $depth being decremented by 2.
$depth should only be decremented once for each step-in.
Add special text when values are being elided by maximum nesting level.

Fixes #2946
2012-06-10 20:00:34 -04:00
mark_story
454fae9bd0 Fix Validation::ip() not respecting type.
Apply patch from 'Xavier Franquet' to fix ip(), so that
it does not always validate both IP versions.

Fixes #2944
2012-06-10 19:37:44 -04:00
Jose Lorenzo Rodriguez
0d013f8da5 Fixing CakeTime, the actual params for format() is $date and $format,
and not the other way around :)
2012-06-09 08:28:39 -04:30
Jose Lorenzo Rodriguez
51635c2ca6 Merge remote-tracking branch 'origin/2.1' into 2.2
Conflicts:
	lib/Cake/Model/Model.php
	lib/Cake/Test/Case/Model/ModelValidationTest.php
2012-06-06 11:06:06 -04:30
Rachman Chavik
8966f1b324 create CakeRequest in View instead of in CakeEmail 2012-06-04 22:21:41 +07:00
Mark Story
085ad0bb42 Merge pull request #672 from sitedyno/cookie-encryption-#471
Add stronger encryption, and make it available in cookiecomponent.

Fixes #471
Fixes #176
Fixes #2043
Fixes #1524
2012-05-31 17:44:49 -07:00
mark_story
01b3135a63 You should be able to regex match null/''
Fixes #2926
2012-05-30 21:28:18 -04:00
mark_story
9a8ceaeba6 Merge branch '2.1' into 2.2
Conflicts:
	lib/Cake/Test/Case/View/XmlViewTest.php
2012-05-30 21:20:56 -04:00
mark_story
fb0cc50700 Allow Set::extract() to match null.
Fixes #2926
2012-05-30 21:19:46 -04:00
Heath Nail
304d001dfb Implement rijndael optional cookie encryption. 2012-05-30 03:49:25 -04:00
Florian Krämer
e3a6e9e169 Adding uploadError() and mimeType() to the Validation class 2012-05-28 00:32:30 +02:00
Mark Story
4485f597b7 Merge pull request #662 from jellehenkens/2.2-validation-natural-number
Adding validation rule for natural numbers
2012-05-27 11:01:31 -07:00
mark_story
4b8c469004 Merge branch '2.1' into 2.2
Conflicts:
	lib/Cake/VERSION.txt
2012-05-26 21:11:36 -04:00
José Lorenzo Rodríguez
33eb46cd87 Merge pull request #666 from boast/patch-1
Fixed XmlArticle and XmlUser Models associations.
2012-05-22 21:41:04 -07:00
David Thalmann
81fedbba9c Fixed XmlArticle and XmlUser Models associations. Fixes failing testWithModel test and does no longer try to use the 'default' datasource. 2012-05-23 07:19:06 +03:00
mark_story
5270721ade Remove bonus intval()
It caused issues when getting numeric keys that
exceeded PHP_INT_MAX.

Fixes #2897
2012-05-22 22:33:46 -04:00
Jelle Henkens
7d080ea2d1 Adding an assert to check for zero prefixed numbers 2012-05-22 16:32:16 +01:00
Jelle Henkens
7546be6394 Adding a validation rule for checking natural numbers 2012-05-21 13:39:31 +01:00
ADmad
cfd9d8a815 Added CakeTime::listIdentifiers() 2012-05-21 03:05:42 +05:30
Jelle Henkens
97ebbc8e23 Fixing coding conventions 2012-05-19 16:08:40 +01:00
Jelle Henkens
5fe22cfc8d Adding support for DateTime objects in the CakeTime Utility class 2012-05-17 19:31:30 +01:00
Rachman Chavik
f89bc6503a CakeTime::format crashed when timezone is passed 2012-05-17 19:05:45 +07:00
mark_story
4dc07b6d39 Merge branch '2.1' into 2.2 2012-05-16 21:08:06 -04:00
mark_story
c6258fa68c HTML escape context variables.
When creating HTML or js errors the context should be
escaped, as it is very possible that the context vars will contain
HTML.

Clean up some internals in Debugger::outputError().  There were
a few duplicate data structures, and $$ variables.

Fixes #2884
2012-05-16 21:07:45 -04:00
Jelle Henkens
0d9506fa2e Fixing issue where nice and niceShort did not use the timezone if no dateString is passed 2012-05-13 13:43:06 +01:00
mark_story
d9244048b6 Fix hard coded date. 2012-05-12 23:25:11 -04:00
mark_story
683146de14 Add a few more tests. 2012-05-12 22:26:34 -04:00
mark_story
ca8046bfea Fix whitespace and formatting. 2012-05-12 22:26:33 -04:00
mark_story
a80a7dadf8 Re-factor element generation.
Add the ability for arbitrary attributes.
Use built-in methods for attribute generation.
Add tests for element generation.
2012-05-12 22:26:33 -04:00
mark_story
fd5a8a8d6b Fix code standards.
Remove failing test, and fix coding standards.
2012-05-12 22:26:33 -04:00
Magnus Johansson
9fa531d6e3 Added test cases for new features. 2012-05-12 22:26:33 -04:00
ADmad
14b7210d2b Fixed server offset calculation 2012-05-13 06:20:29 +05:30
Rachman Chavik
edb44aadea Merge branch '2.1' into 2.2 2012-05-11 12:34:26 +07:00
Rachman Chavik
15a74722b3 use LOGS constant 2012-05-11 08:33:53 +07:00
Ceeram
fe0c7d348a add strict parameter to inList() and multiple() 2012-05-07 16:29:13 +02:00
mark_story
7b5e45b965 Merge branch '2.1' into 2.2
Conflicts:
	lib/Cake/Model/Datasource/DataSource.php
	lib/Cake/VERSION.txt
2012-05-03 21:06:35 -04:00
mark_story
4ab6d37abb Update assertions.
Use assertXmlStringEqualsXmlString() it gives
better error reporting.  Also update string concat
into heredocs.
2012-05-03 21:00:52 -04:00
mark_story
73b0345ff4 Fix issue with non-sequential array keys.
Xml::fromArray() should not cause errors with non-sequential
numeric array keys.

Fixes #2580
2012-05-03 20:35:01 -04:00
Jose Lorenzo Rodriguez
bf0f5ab118 Merge remote-tracking branch 'origin/2.1' into 2.2 2012-04-29 20:05:39 -04:30
Kyle Robinson Young
b8488b8dfe Update 1.x @link in docblocks 2012-04-26 19:49:18 -07:00
euromark
ba8a3c5f07 added missing utf8_encode to pass tests on windows 2012-04-27 02:39:32 +02:00
Rachman Chavik
2f87992d15 File::create() does not need to change umask
umask(0) causes all files to be created with 666 permission.
After input from jrbasso and AD7six, this was found to be an
additional code to support caching using file engine.

FileEngine has since moved to SplFile since 2.x and thus umask
juggling is not required anymore.

Refs: f9f1c4df5
Cherrypicked from 2.2 branch.
2012-04-24 23:35:32 +07:00
Rachman Chavik
74830b9b93 File::create() does not need to change umask
umask(0) causes all files to be created with 666 permission.
After input from jrbasso and AD7six, this was found to be an
additional code to support caching using file engine.

FileEngine has since moved to SplFile since 2.x and thus umask
juggling is not required anymore.

Refs: f9f1c4df5
2012-04-24 23:17:28 +07:00
mark_story
b6de177ffa Merge branch '2.1' into 2.2 2012-04-23 21:50:36 -04:00
mark_story
13468937cc Fix singularization of databases.
Fixes #2822
2012-04-23 21:01:03 -04:00
ADmad
058d57a85a Added function to convert time from user timezone to server timezone. 2012-04-22 01:59:26 +05:30
ADmad
ebf304927b Added "Config.timezone" config param to avoid having to specify timezone in each function call. 2012-04-22 01:59:26 +05:30
ADmad
d34f0c2bd8 CakeTime functions can now use timezone string or DateTimeZone object for user offsets. (Passing numeric offsets has been kept for BC) 2012-04-22 01:59:08 +05:30
euromark
8a52a77cbc correct argument order for phpunit asserts 2012-04-21 15:19:57 +02:00
euromark
bc2cd00123 cake 2.2 test case fixes (assert corrections, correct class names) 2012-04-21 15:02:35 +02:00
mark_story
21ba5bf04a Merge branch '2.1' into 2.2 2012-04-17 21:47:24 -04:00
Cauan Cabral
18aa5a040f Include test to .0 and .00 decimals 2012-04-17 20:22:32 -04:00
Cauan Cabral
28bd6880df Make Validation::decimal accept integers
Fix #2800
Force locale of ValidationTests with en_US to ensure decimal dot separator
2012-04-17 20:22:22 -04:00
mark_story
72c3059d94 Add missing parent calls.
Fixes piles of failing tests.
2012-04-15 22:20:34 -04:00
mark_story
f677bfea7d Remove duplicated test code. 2012-04-10 22:26:33 -04:00
mark_story
a4f0399f74 Fix coding standards warnings. 2012-04-10 22:16:14 -04:00
mark_story
9f9feec222 Merge branch '2.2-hash' into 2.2
Conflicts:
	lib/Cake/Test/Case/Model/Datasource/DboSourceTest.php
	lib/Cake/View/Helper/FormHelper.php
2012-04-10 21:32:37 -04:00
mark_story
15c94dee4d Fix whitespace and remove duplicate method calls. 2012-04-07 14:42:25 -04:00
mark_story
a24aca6ffc Fix a few code standards errors. 2012-04-06 22:56:01 -04:00
Ceeram
7700a0261b only use and test SORT_NATURAL on PHP 5.4 2012-04-04 18:21:52 +02:00