summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOwen Winkler <a_github@midnightcircus.com>2013-08-09 16:05:01 -0700
committerOwen Winkler <a_github@midnightcircus.com>2013-08-09 16:05:01 -0700
commit4128561f2265938fb4de4ed34873c594919dca35 (patch)
tree1c8778926a2e36f7a3e86273795ad0b5118b9355
parent4c0ec974b9a8b97625695edd136e1f805af0bf31 (diff)
parent0e3dea7111e66c3619c6fe989e79ff80fb18e2b3 (diff)
downloadnextcloud-server-4128561f2265938fb4de4ed34873c594919dca35.tar.gz
nextcloud-server-4128561f2265938fb4de4ed34873c594919dca35.zip
Merge pull request #4360 from owncloud/format-date-numeric-strings
Do not pass numeric strings to strtotime() when formatting dates.
-rw-r--r--lib/l10n.php3
-rw-r--r--tests/lib/l10n.php12
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/l10n.php b/lib/l10n.php
index d2da302b644..f93443b886a 100644
--- a/lib/l10n.php
+++ b/lib/l10n.php
@@ -386,8 +386,7 @@ class OC_L10N {
case 'time':
if($data instanceof DateTime) {
return $data->format($this->localizations[$type]);
- }
- elseif(is_string($data)) {
+ } elseif(is_string($data) && !is_numeric($data)) {
$data = strtotime($data);
}
$locales = array(self::findLanguage());
diff --git a/tests/lib/l10n.php b/tests/lib/l10n.php
index dfc5790c2e7..12eac818f84 100644
--- a/tests/lib/l10n.php
+++ b/tests/lib/l10n.php
@@ -52,4 +52,16 @@ class Test_L10n extends PHPUnit_Framework_TestCase {
$this->assertEquals('5 oken', (string)$l->n('%n window', '%n windows', 5));
}
+ /**
+ * Issue #4360: Do not call strtotime() on numeric strings.
+ */
+ public function testNumericStringToDateTime() {
+ $l = new OC_L10N('test');
+ $this->assertSame('February 13, 2009 23:31', $l->l('datetime', '1234567890'));
+ }
+
+ public function testNumericToDateTime() {
+ $l = new OC_L10N('test');
+ $this->assertSame('February 13, 2009 23:31', $l->l('datetime', 1234567890));
+ }
}