Commit Graph

11922 Commits

Author SHA1 Message Date
Fabien Potencier
e19b98bc79 merged branch empire/patch-vadlidator-translation (PR #5955)
This PR was submitted for the master branch but it was merged into the 2.1 branch instead (closes #5955).

Commits
-------

c2955b7 Update src/Symfony/Component/Validator/Resources/translations/validators.fa.xlf
2dd87ae Adding new localized strings for farsi validation.

Discussion
----------

Adding new localized strings for farsi validation.

Adding new localized strings for farsi validation.
2012-11-09 09:49:39 +01:00
Hossein Zolfi
275f0946c2 Update src/Symfony/Component/Validator/Resources/translations/validators.fa.xlf
Adding missed localized string.
2012-11-09 09:49:39 +01:00
Hossein Zolfi (Ocean)
8377146ded Adding new localized strings for farsi validation. 2012-11-09 09:49:39 +01:00
Fabien Potencier
e34fb4172c [HttpFoundation] moved the HTTP protocol check from StreamedResponse to Response (closes #5937) 2012-11-09 08:57:59 +01:00
Fabien Potencier
178a73633c merged branch bschussek/issue4359 (PR #5947)
This PR was merged into the 2.1 branch.

Commits
-------

4909bc3 [Form] Fixed forms not to be marked invalid if their children are already marked invalid

Discussion
----------

[Form] Fixed forms not to be marked invalid if their children are already marked invalid

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #4359
Todo: -
License of the code: MIT
Documentation PR: -

This PR prevents unsynchronized forms from being marked invalid if any of their children is also unsynchronized (and thus also marked invalid). Displaying an invalid message twice does not help the user and, if used in conjunction with error bubbling, may lead to duplicate errors (see #4359).
2012-11-09 07:55:23 +01:00
Fabien Potencier
c290776b45 merged branch fabpot/stopwatch (PR #5944)
This PR was merged into the master branch.

Commits
-------

380cf4f [HttpKernel] added memory information in the Stopwatch

Discussion
----------

[HttpKernel] added memory information in the Stopwatch
2012-11-09 07:37:03 +01:00
Fabien Potencier
380cf4f5ec [HttpKernel] added memory information in the Stopwatch 2012-11-09 07:36:10 +01:00
Fabien Potencier
144c2d751c merged branch sun/classloader-apc-decorate (PR #5950)
This PR was merged into the master branch.

Commits
-------

d231b8f [ClassLoader] Make ApcClassLoader properly decorate ClassLoader.

Discussion
----------

[ClassLoader] Make ApcClassLoader properly decorate ClassLoader.

ApcClassLoader only implements the findFile() and loadClass() methods, but none of the other methods.  That's an implementation detail, which isn't particularly trivial.

I can't see a reason for why ApcClassLoader cannot simply decorate ClassLoader in a proper way, passing forward all unknown method calls to ClassLoader.

---------------------------------------------------------------------------

by sun at 2012-11-09T03:00:51Z

mmm, the test failures seem to be irrelevant.  It passed on the PHP 5.4 environment.  The others failed on early pre-test infrastructure operations.
2012-11-09 07:28:18 +01:00
sun
d231b8f16e [ClassLoader] Make ApcClassLoader properly decorate ClassLoader. 2012-11-09 03:26:39 +01:00
Bernhard Schussek
4909bc34b3 [Form] Fixed forms not to be marked invalid if their children are already marked invalid 2012-11-08 19:36:31 +01:00
Fabien Potencier
3d6ca62744 Merge branch '2.0' into 2.1
* 2.0:
  [Form] Excluded some tests in NumberToLocalizedStringTransformerTest which fail on ICU 4.4, but work on ICU 4.8
2012-11-08 18:38:21 +01:00
Fabien Potencier
da33e7afd3 merged branch bschussek/issue2059 (PR #5945)
This PR was merged into the 2.0 branch.

Commits
-------

8fb334f [Form] Excluded some tests in NumberToLocalizedStringTransformerTest which fail on ICU 4.4, but work on ICU 4.8

Discussion
----------

[Form] Excluded some tests in NumberToLocalizedStringTransformerTest which fail on ICU 4.4, but work on ICU 4.8

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
2012-11-08 18:37:33 +01:00
Bernhard Schussek
8fb334f7fc [Form] Excluded some tests in NumberToLocalizedStringTransformerTest which fail on ICU 4.4, but work on ICU 4.8 2012-11-08 18:34:46 +01:00
Fabien Potencier
a541363502 merged branch mborgmann/patch-1 (PR #5930)
This PR was merged into the master branch.

Commits
-------

04e93d8 Update UPGRADE-2.1.md

Discussion
----------

Update UPGRADE-2.1.md

Change on selectedchoice part, because "choice.value" wont work, but just "value" does.
2012-11-08 18:03:26 +01:00
Fabien Potencier
9c38e768d9 added missing tests from previous merge 2012-11-08 18:03:02 +01:00
Fabien Potencier
e425f6cf9a Merge branch '2.0' into 2.1
* 2.0:
  [Form] Fixed NumberToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible
  Show correct class name InputArgument in error message
  shows correct class name InputOption in error message
  The exception message should say which field is not mapped
  [HttpFoundation] Fix name sanitization after perfoming move
  Add check to Store::unlock to ensure file exists

Conflicts:
	src/Symfony/Bridge/Doctrine/Validator/Constraints/UniqueEntityValidator.php
	src/Symfony/Component/HttpFoundation/File/UploadedFile.php
	tests/Symfony/Tests/Component/Console/Input/InputArgumentTest.php
	tests/Symfony/Tests/Component/Console/Input/InputOptionTest.php
	tests/Symfony/Tests/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformerTest.php
	tests/Symfony/Tests/Component/HttpFoundation/File/FileTest.php
	tests/Symfony/Tests/Component/HttpKernel/HttpCache/StoreTest.php
2012-11-08 18:02:05 +01:00
Fabien Potencier
53f5596b77 merged branch bschussek/issue5707 (PR #5943)
This PR was merged into the master branch.

Commits
-------

c16d6bf [Form] Fixed NumberToLocalizedStringTransformer to throw an exception if numbers contain illegal characters

Discussion
----------

[Form] Fixed NumberType to fail if numbers contain letters

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5707
Todo: -
License of the code: MIT
Documentation PR: -
2012-11-08 17:47:11 +01:00
Fabien Potencier
9122260df9 merged branch bschussek/issue2059 (PR #5941)
This PR was merged into the 2.0 branch.

Commits
-------

dc80385 [Form] Fixed NumberToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible

Discussion
----------

[Form] Fixed NumberToLocalizedStringTransformer to accept both comma and dot

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #2059
Todo: -
License of the code: MIT
Documentation PR: -

The behaviour after this is as follows:

* if "grouping" (thousands separators) is disabled (the default)
  * you may use comma and dot as decimal separator in all locales
* if "grouping" is enabled
  * you may use a comma as decimal separator in all locales where the thousands separator is not a comma (e.g. "de", "fr", but not "en")
  * you may use a dot as decimal separator in all locales where the thousands separator is not a dot (e.g. "en", "fr", but not "de")

If the form is displayed again, all numbers are displayed in your locale, regardless of which decimal separator you used for input.

**Example 1 (locale "fr"):**

* you enter: "1234.56"
* after submission:
  * without grouping: "1234,56"
  * with grouping: "1 234,56"

**Example 2 (locale "en"):**

* you enter "1234,56"
* after submission:
  * without grouping: "1234.56"
  * with grouping: error (because "," is the thousands separator; "1234,560" would have been accepted)
2012-11-08 17:45:21 +01:00
Bernhard Schussek
c16d6bf611 [Form] Fixed NumberToLocalizedStringTransformer to throw an exception if numbers contain illegal characters 2012-11-08 17:14:44 +01:00
Bernhard Schussek
dc80385070 [Form] Fixed NumberToLocalizedStringTransformer to accept both comma and dot as decimal separator, if possible 2012-11-08 15:53:08 +01:00
Włodzimierz Gajda
646a714ded Fix export-ignore on Windows 2012-11-08 10:51:48 +01:00
Fabien Potencier
f307ef7637 [Security] updated CHANGELOG 2012-11-08 09:10:55 +01:00
Moritz Borgmann
04e93d82d3 Update UPGRADE-2.1.md
Change on selectedchoice part, because "choice.value" wont work, but just "value" does.
2012-11-07 13:13:48 +01:00
Fabien Potencier
224d6b7925 Merge branch '2.1'
* 2.1:
  [FrameworkBundle] Router skip defaults resolution for arrays

Conflicts:
	src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
2012-11-07 07:48:28 +01:00
Fabien Potencier
03f1ccc956 merged branch Herzult/fix/route_defaults_array (PR #5924)
This PR was merged into the 2.1 branch.

Commits
-------

208e134 [FrameworkBundle] Router skip defaults resolution for arrays

Discussion
----------

[FrameworkBundle] Router skip defaults resolution for arrays

The router should not resolve complex defaults/options parameters but it is not the case for arrays. So this small PR simply adds a check for arrays to prevent array-to-string fatal errors with deep array defaults.

```
Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: ~
Todo: ~
License of the code: MIT
Documentation PR: ~
```
2012-11-07 07:47:25 +01:00
Fabien Potencier
6035effe0e merged branch jmikola/2.2-mongodb-session (PR #5927)
This PR was merged into the master branch.

Commits
-------

ded3a83 [HttpFoundation] Document MongoDbSessionHandler changes

Discussion
----------

[HttpFoundation] Document MongoDbSessionHandler changes

```
Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
```

Documentation changes for #5916

---------------------------------------------------------------------------

by Baachi at 2012-11-06T20:41:11Z

👍
2012-11-07 07:46:50 +01:00
Jeremy Mikola
ded3a8301a [HttpFoundation] Document MongoDbSessionHandler changes 2012-11-06 14:55:32 -05:00
Antoine Hérault
208e134945 [FrameworkBundle] Router skip defaults resolution for arrays 2012-11-06 16:30:03 +01:00
Fabien Potencier
4f1547a811 merged branch fabpot/subscribers (PR #5919)
This PR was merged into the master branch.

Commits
-------

af87c2b changed the Firewall to be a proper subscriber
02bd359 changed the remember-me listener to be a proper subscriber

Discussion
----------

Changed some security classes to implement the EventSubscriberInterface interface

---------------------------------------------------------------------------

by fabpot at 2012-11-06T10:11:28Z

That could also be done in 2.1. What do you think?
2012-11-06 15:23:29 +01:00
Fabien Potencier
c2b70116c2 fixed typo 2012-11-06 12:11:11 +01:00
Fabien Potencier
f3acc069cd merged branch nicoschwartz/translation_transchoice_float_support (PR #5890)
This PR was merged into the master branch.

Commits
-------

55a0fef Float support added for transchoice in the Translation Component

Discussion
----------

Float support added for transchoice in the Translation Component

Bug fix: no
Feature addition: yes
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

---------------------------------------------------------------------------

by pborreli at 2012-11-01T23:22:50Z

👍 nice PR
2012-11-06 11:13:36 +01:00
Fabien Potencier
af87c2b00b changed the Firewall to be a proper subscriber 2012-11-06 11:06:32 +01:00
Fabien Potencier
02bd35905e changed the remember-me listener to be a proper subscriber 2012-11-06 11:02:24 +01:00
Fabien Potencier
1b53bf68e8 merged branch jmikola/2.1-mongo-session (PR #5916)
This PR was submitted for the 2.1 branch but it was merged into the master branch instead (closes #5916).

Commits
-------

917cc14 [HttpFoundation] Revise Mongo session storage

Discussion
----------

[HttpFoundation] Revise MongoDB session storage

```
Bug fix: yes
Feature addition: no
Backwards compatibility break: yes
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
```

I decided to take a look at the MongoDB session driver after reading @pgodel's [blog post](http://blog.servergrove.com/2012/11/05/storing-sessions-in-mongodb-with-symfony2/) today. This PR contains some fixes to make this session handler integrate better with MongoDB, as well as make it more in line with the work I did in zendframework/zf2/#2031:

 * Default to _id for storing session ID (BC break)
 * Use MongoDate instead of MongoTimestamp (BC break)
 * Rename default field names ("sess_" is redundant)
 * "justOne" is redundant for session removal
 * Assert true return values in method tests
 * Add note about TTL collections for gc()
 * Don't set identifier in upsert (invalid behavior)

In my opinion, the BC breaks are reasonable. `_id` is the logical field to store the session ID, as I'd expect many users may not even think to index the `sess_id` field to avoid inefficient queries otherwise. Also, MongoTimestamp should never have been used in the existing manner. Per the [documentation](http://php.net/manual/en/class.mongotimestamp.php):

> This class is not for measuring time, creating a timestamp on a document or automatically adding or updating a timestamp on a document. Unless you are writing something that interacts with the sharding internals, stop, go directly to MongoDate, do not pass go, do not collect 200 dollars. This is not the class you are looking for.

On a side note, I'm not sure why `sess_` prefixes exist for the PDO driver. It seems redundant in either case (the table/collection would logically have "session" in the name).

The fix to the update statement actually addresses a bug were `_id` to appear in the `$set` query.

I'm not sure how to document the BC breaks or changes, as the 2.1 branch's readme files look a lot sparser than those for 2.0. Let me know if there's something else to be done, though.

---------------------------------------------------------------------------

by jmikola at 2012-11-06T02:49:06Z

FYI: the Travis CI build failure looks unrelated to these changes (something to do with Form tests): https://travis-ci.org/#!/jmikola/symfony/jobs/3076587

---------------------------------------------------------------------------

by pgodel at 2012-11-06T04:27:24Z

I think the BC breaks are very mino, so there is no reason to not merge this.

---------------------------------------------------------------------------

by jmikola at 2012-11-06T07:32:44Z

Thanks, @stof. That looked like something @pborreli would have caught sooner or later :)

---------------------------------------------------------------------------

by fabpot at 2012-11-06T08:00:48Z

As there is a BC break, I'm going to merge it on master.

---------------------------------------------------------------------------

by pborreli at 2012-11-06T08:05:08Z

@jmikola merging with master you will have a little conflict as i already fixed the citeria => criteria typo :)
2012-11-06 10:46:54 +01:00
Jeremy Mikola
1d3ecd373f Revise Mongo session storage
* Default to _id for storing session ID
 * Use MongoDate instead of MongoTimestamp (BC break)
 * Rename default field names ("sess_" is redundant)
 * "justOne" is redundant for session removal
 * Assert true return values in method tests
 * Add note about TTL collections for gc()
 * Don't set identifier in upsert (invalid behavior)
2012-11-06 10:46:54 +01:00
Fabien Potencier
f32395af69 merged branch fabpot/401-status-code (PR #5882)
This PR was merged into the master branch.

Commits
-------

e193590 [Security] removed the 401 error custom status message

Discussion
----------

[Security] removed the 401 error custom status message

see fabpot/Silex#496

---------------------------------------------------------------------------

by pborreli at 2012-10-31T17:29:24Z

@fabpot please fix the test suite, if you don't know how to do it, read http://symfony.com/doc/current/contributing/code/tests.html, thx 😸
2012-11-06 09:23:46 +01:00
Fabien Potencier
e67893984c merged branch alias-mac/ticket_5897 (PR #5907)
This PR was merged into the master branch.

Commits
-------

73bb47b [Console] Fix #5897 - Console component require Shell component

Discussion
----------

[Console] Fix #5897 - Console component require Shell component

When setting the process isolation of a shell to true:
`setProcessIsolation(true)` throw a `\RuntimeException` if the Process component isn't available.

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: #5897
Todo: -
License of the code: MIT
Documentation PR: -

---------------------------------------------------------------------------

by alias-mac at 2012-11-04T17:07:59Z

I noticed that there is no Unit Testing for the Shell class. Shall I create one with the test for this fix/bug request?

---------------------------------------------------------------------------

by alias-mac at 2012-11-06T01:58:40Z

Updated based on @stof comments.

---------------------------------------------------------------------------

by alias-mac at 2012-11-06T02:11:20Z

The travis-ci build failure as nothing to do with the code. See:
https://travis-ci.org/#!/symfony/symfony/jobs/3076345
2012-11-06 09:19:04 +01:00
Fabien Potencier
e19359060f [Security] removed the 401 error custom status message 2012-11-06 09:15:19 +01:00
Filipe Guerra
73bb47b6c5 [Console] Fix #5897 - Console component require Shell component
When setting the process isolation of a shell to true:
`setProcessIsolation(true)` throw a `\RuntimeException` if the Process component isn't available.
2012-11-06 02:56:20 +01:00
Fabien Potencier
5c57bbb435 merged branch pgodel/2.0 (PR #5914)
This PR was merged into the 2.0 branch.

Commits
-------

9aec4c8 Show correct class name InputArgument in error message

Discussion
----------

[Console] Show correct class name InputArgument in error message

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT
2012-11-05 21:19:14 +01:00
Pablo Godel
9aec4c8d04 Show correct class name InputArgument in error message 2012-11-05 14:52:03 -05:00
Fabien Potencier
53fad04f3e merged branch jfsimon/accept-header-parsing (PR #5841)
This PR was squashed before being merged into the master branch (closes #5841).

Commits
-------

6b601bd [http-foudation] Better accept header parsing

Discussion
----------

[http-foudation] Better accept header parsing

Bug fix: no
Feature addition: yes
Backwards compatibility break: yes
Symfony2 tests pass: yes

**Quality:**
The special `q` item attribute represents its quality. I had to make some choices:
*  if I set `q` attribute, it's assigned to quality property, but not to attributes
*  the `__toString()` method only render `q` attribute if quality is less than 1

**BC break:**
The return of `Request::splitHttpAcceptHeader()` has changed. It's result was an array of qualities indexed by an accept value, it now returns an array of `AcceptHeaderItem` indexed by its value.

---------------------------------------------------------------------------

by jfsimon at 2012-10-26T08:35:55Z

As dicussed in https://github.com/symfony/symfony/pull/5711.

---------------------------------------------------------------------------

by Seldaek at 2012-10-27T10:35:49Z

Maybe you can pull 5e8a5267f6 into your branch (for some reason I can't send a PR to your repo, it doesn't show up in github's repo selector.. looks like they don't like projects with too many forks). It allows you to use usort() which hopefully is faster than your merge sort, though I did not bench it. I also added tests to confirm the functionality.

---------------------------------------------------------------------------

by Seldaek at 2012-10-27T10:40:27Z

Sorry please check 376dd93c56 instead, I missed a few tests in the RequestTest class.

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T16:26:03Z

@fabpot do you think the introduced BC break is acceptable?

---------------------------------------------------------------------------

by fabpot at 2012-10-29T16:37:06Z

@jfsimon Are all getAccept*() method BC?

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T16:39:26Z

@fabpot nope, just `Request::splitHttpAcceptHeader()`

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T16:43:18Z

@fabpot I think missunderstood... only `Request::splitHttpAcceptHeader()` breaks BC.

---------------------------------------------------------------------------

by fabpot at 2012-10-29T16:53:22Z

So, a BC break on just splitHttpAcceptHeader is possible... but should be documented properly. Another option would be to deprecate the current method (and keep it as is), and just use the new version everywhere. Sounds better as it won"t introduce any BC breaks.

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T16:55:57Z

@fabpot Okay, I'll update this PR according to your second option.

---------------------------------------------------------------------------

by jfsimon at 2012-10-29T20:14:46Z

@fabpot done.

As you can see here: https://github.com/symfony/symfony/pull/5841/files#L5L1029 value returned by `Request::splitHttpAcceptHeader()` is not **exactly** the same as before because all attributes are present (not only those before the `q` one).

---------------------------------------------------------------------------

by fabpot at 2012-10-30T06:16:23Z

The last thing missing before I can merge is a PR to update the documentation (should probably be just a note somewhere with the example you have in the UPGRADE file).

---------------------------------------------------------------------------

by jfsimon at 2012-10-30T07:07:08Z

@fabpot I could add this example here: http://symfony.com/doc/current/components/http_foundation/introduction.html#request after `Accessing the session`, what do you think?

---------------------------------------------------------------------------

by fabpot at 2012-10-30T07:14:10Z

Yes, looks good to me.
2012-11-05 12:25:18 +01:00
Jean-François Simon
6b601bd9a6 [http-foudation] Better accept header parsing 2012-11-05 12:25:18 +01:00
Fabien Potencier
275cf8cf00 removed unused use statements 2012-11-04 09:30:21 +01:00
Fabien Potencier
21cb792607 Merge branch '2.1'
* 2.1:
  removed unused use statements
  [Form] Adapted HTML5 format in DateTimeType as response to a closed ICU ticket
  [2.1][HttpFoundation] Fixed Php doc in Request::get
  bumped Symfony version to 2.1.4-DEV
  updated VERSION for 2.1.3
  update CONTRIBUTORS for 2.1.3
  updated CHANGELOG for 2.1.3
  merged branch jakzal/yamlDoubleQuotesDumperFix (PR #4320)

Conflicts:
	src/Symfony/Component/HttpKernel/Kernel.php
2012-11-04 09:29:56 +01:00
Fabien Potencier
3d99374014 removed unused use statements 2012-11-04 09:29:19 +01:00
Fabien Potencier
e1c031f166 merged branch pgodel/bugfix/InputOption (PR #5905)
This PR was merged into the 2.0 branch.

Commits
-------

762649f shows correct class name InputOption in error message

Discussion
----------

[Console] shows correct class name InputOption in error message

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

---------------------------------------------------------------------------

by pborreli at 2012-11-04T03:59:58Z

👍
2012-11-04 09:26:55 +01:00
Pablo Godel
762649f5c3 shows correct class name InputOption in error message 2012-11-03 23:51:02 -04:00
Fabien Potencier
313e4e5fd6 merged branch lyrixx/fix-request-get (PR #5894)
This PR was merged into the 2.1 branch.

Commits
-------

b9f6cac [2.1][HttpFoundation] Fixed Php doc in Request::get

Discussion
----------

[2.1][HttpFoundation] Fixed Php doc in Request::get

Bug fix: yes
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
License of the code: MIT

According to php code, `Request::get` method does not seek in cookies.

---------------------------------------------------------------------------

by pborreli at 2012-11-02T11:02:26Z

your PR is full of reSquest typo :)

---------------------------------------------------------------------------

by lyrixx at 2012-11-02T11:25:31Z

@pborreli Fixed
2012-11-02 19:00:55 +01:00
Fabien Potencier
c589982df6 merged branch bschussek/datetimeimpr (PR #5896)
This PR was merged into the 2.1 branch.

Commits
-------

a0af8bf [Form] Adapted HTML5 format in DateTimeType as response to a closed ICU ticket

Discussion
----------

[Form] Adapted HTML5 format in DateTimeType as response to a closed ICU ticket

Bug fix: no
Feature addition: no
Backwards compatibility break: no
Symfony2 tests pass: yes
Fixes the following tickets: -
Todo: -
License of the code: MIT
Documentation PR: -
2012-11-02 18:59:59 +01:00