diff --git a/admin/javascript/lang/fi.js b/admin/javascript/lang/fi.js index a1c1d4bf3..3700fb43c 100644 --- a/admin/javascript/lang/fi.js +++ b/admin/javascript/lang/fi.js @@ -8,7 +8,7 @@ if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') { ss.i18n.addDictionary('fi', { "CMSMAIN.BATCH_ARCHIVE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti arkistoida nämä sivut?\n\nValitut sivut ja kaikki niiden alasivut poistetaan julkaisusta sekä siirretään arkistoon.", "CMSMAIN.BATCH_DELETELIVE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa nämä sivut näkyvistä?", - "CMSMAIN.BATCH_DELETE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa?", + "CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?", "CMSMAIN.BATCH_PUBLISH_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti julkaista?", "CMSMAIN.BATCH_RESTORE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti palauttaa sivut?\n\nArkistoitujen sivujen alasivut palautetaan juuritasolle, jos niitä sivuja ei palauteta.", "CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa julkaisusta?", diff --git a/admin/javascript/lang/src/fi.js b/admin/javascript/lang/src/fi.js index 66d4bc088..d50d1dbc4 100644 --- a/admin/javascript/lang/src/fi.js +++ b/admin/javascript/lang/src/fi.js @@ -1,7 +1,7 @@ { "CMSMAIN.BATCH_ARCHIVE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti arkistoida nämä sivut?\n\nValitut sivut ja kaikki niiden alasivut poistetaan julkaisusta sekä siirretään arkistoon.", "CMSMAIN.BATCH_DELETELIVE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa nämä sivut näkyvistä?", - "CMSMAIN.BATCH_DELETE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa?", + "CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?", "CMSMAIN.BATCH_PUBLISH_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti julkaista?", "CMSMAIN.BATCH_RESTORE_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti palauttaa sivut?\n\nArkistoitujen sivujen alasivut palautetaan juuritasolle, jos niitä sivuja ei palauteta.", "CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Sinulla on {num} sivu(a) valittuna.\n\nHaluatko varmasti poistaa julkaisusta?", diff --git a/docs/en/04_Changelogs/3.1.21.md b/docs/en/04_Changelogs/3.1.21.md new file mode 100644 index 000000000..0deb6741b --- /dev/null +++ b/docs/en/04_Changelogs/3.1.21.md @@ -0,0 +1,16 @@ +# 3.1.21 + + + +## Change Log + +### Security + + * 2016-11-11 [4440b88](https://github.com/silverstripe/silverstripe-framework/commit/4440b887304fe80ca77366800457cbc2ac705654) Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-11-11 [61e4055](https://github.com/silverstripe/silverstripe-framework/commit/61e4055bdb13e37df6aa0d8edca0bf5d9345dc7e) Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-10-27 [17097a4](https://github.com/silverstripe/silverstripe-framework/commit/17097a4d11274b157eadf64f32708acef204d510) Properly escape backURL for template injection (Daniel Hensby) - See [ss-2016-016](http://www.silverstripe.org/download/security-releases/ss-2016-016) + * 2016-07-14 [04b4453](https://github.com/silverstripe/silverstripe-cms/commit/04b4453e041c2520d3658be1585146f79dca09d8) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + +### Bugfixes + + * 2016-09-12 [a14df0b](https://github.com/silverstripe/silverstripe-framework/commit/a14df0bc2d08f953ff7dd6f57899dbf260ab13a5) Force line endings to LF on sake file (Daniel Hensby) diff --git a/docs/en/04_Changelogs/3.2.6.md b/docs/en/04_Changelogs/3.2.6.md new file mode 100644 index 000000000..90931122b --- /dev/null +++ b/docs/en/04_Changelogs/3.2.6.md @@ -0,0 +1,29 @@ +# 3.2.6 + + + +## Change Log + +### Security + + * 2016-11-11 [4440b88](https://github.com/silverstripe/silverstripe-framework/commit/4440b887304fe80ca77366800457cbc2ac705654) Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-11-11 [61e4055](https://github.com/silverstripe/silverstripe-framework/commit/61e4055bdb13e37df6aa0d8edca0bf5d9345dc7e) Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-10-27 [17097a4](https://github.com/silverstripe/silverstripe-framework/commit/17097a4d11274b157eadf64f32708acef204d510) Properly escape backURL for template injection (Daniel Hensby) - See [ss-2016-016](http://www.silverstripe.org/download/security-releases/ss-2016-016) + * 2016-08-02 [62a2421](https://github.com/silverstripe/silverstripe-framework/commit/62a242154ec3508fe9b174a40713c8520ac1684c) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015) + * 2016-07-25 [1c7d5de](https://github.com/silverstripe/silverstripe-framework/commit/1c7d5de51bcdf16ebb21c5a0ebe5fe9e31f9a822) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014) + * 2016-07-22 [6817c57](https://github.com/silverstripe/silverstripe-framework/commit/6817c57f64b9eb2b271b81662cd83b074a3daee4) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013) + * 2016-07-15 [298f615](https://github.com/silverstripe/silverstripe-framework/commit/298f61521c55b07e5c898a92264dbe111735a87a) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008) + * 2016-07-14 [6606d98](https://github.com/silverstripe/silverstripe-framework/commit/6606d986634f5b5dec16462acaa8d9a513c29fec) ChangePasswordForm does not check $member->canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011) + * 2016-07-14 [ca526b0](https://github.com/silverstripe/silverstripe-reports/commit/ca526b08c32ffe171368c1f6e456a8bfffa287d7) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [5f73d34](https://github.com/silverstripe/silverstripe-cms/commit/5f73d3454ecbc4850e91a0a3007102f6d4d9b853) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [04b4453](https://github.com/silverstripe/silverstripe-cms/commit/04b4453e041c2520d3658be1585146f79dca09d8) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + +### Bugfixes + + * 2016-11-03 [edfe514](https://github.com/silverstripe/silverstripe-framework/commit/edfe514540aae0772f49225f3614ce045ad9e1d4) Ensure that builds use the 3.4 dependencies. (Sam Minnee) + * 2016-09-12 [a14df0b](https://github.com/silverstripe/silverstripe-framework/commit/a14df0bc2d08f953ff7dd6f57899dbf260ab13a5) Force line endings to LF on sake file (Daniel Hensby) + * 2016-09-06 [e7ecf6c](https://github.com/silverstripe/silverstripe-framework/commit/e7ecf6cf15d4b3d4adaf0a415a5c4f9f2a15a003) Bad strpos call in HTTP::register_etag() (Daniel Hensby) + * 2016-08-22 [59be597](https://github.com/silverstripe/silverstripe-cms/commit/59be597004da21064e51c6237fbb451628bebf66) #1052 (Daniel Hensby) + * 2016-08-22 [4998b80](https://github.com/silverstripe/silverstripe-framework/commit/4998b8044530a83c617194d544b76a98f742386e) ArrayList sorting now caseinsensitive (Daniel Hensby) + * 2016-08-15 [95c640a](https://github.com/silverstripe/silverstripe-cms/commit/95c640ae6b5620be83d38e8060317554bc0820ed) Fix regression in FormField casting (Damian Mooyman) + * 2016-07-28 [56f0b72](https://github.com/silverstripe/silverstripe-framework/commit/56f0b72e8dbf5b7205ae12c80e0f4c9a0614d1a2) ETag header now properly quoted (Daniel Hensby) diff --git a/docs/en/04_Changelogs/3.3.4.md b/docs/en/04_Changelogs/3.3.4.md new file mode 100644 index 000000000..615d93df8 --- /dev/null +++ b/docs/en/04_Changelogs/3.3.4.md @@ -0,0 +1,36 @@ +# 3.3.4 + + + +## Change Log + +### Security + + * 2016-11-11 [4440b88](https://github.com/silverstripe/silverstripe-framework/commit/4440b887304fe80ca77366800457cbc2ac705654) Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-11-11 [61e4055](https://github.com/silverstripe/silverstripe-framework/commit/61e4055bdb13e37df6aa0d8edca0bf5d9345dc7e) Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-10-27 [17097a4](https://github.com/silverstripe/silverstripe-framework/commit/17097a4d11274b157eadf64f32708acef204d510) Properly escape backURL for template injection (Daniel Hensby) - See [ss-2016-016](http://www.silverstripe.org/download/security-releases/ss-2016-016) + * 2016-08-02 [12a6b35](https://github.com/silverstripe/silverstripe-framework/commit/12a6b357e761f09d818fd0013eb2d85014de79a0) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015) + * 2016-08-02 [62a2421](https://github.com/silverstripe/silverstripe-framework/commit/62a242154ec3508fe9b174a40713c8520ac1684c) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015) + * 2016-07-25 [1c7d5de](https://github.com/silverstripe/silverstripe-framework/commit/1c7d5de51bcdf16ebb21c5a0ebe5fe9e31f9a822) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014) + * 2016-07-25 [b1f4497](https://github.com/silverstripe/silverstripe-framework/commit/b1f449762b5d11658b11d5036d5ae361a95fd61e) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014) + * 2016-07-22 [6817c57](https://github.com/silverstripe/silverstripe-framework/commit/6817c57f64b9eb2b271b81662cd83b074a3daee4) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013) + * 2016-07-22 [281b0de](https://github.com/silverstripe/silverstripe-framework/commit/281b0de571fe0ae159ac47891c02acf2214fa619) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013) + * 2016-07-15 [298f615](https://github.com/silverstripe/silverstripe-framework/commit/298f61521c55b07e5c898a92264dbe111735a87a) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008) + * 2016-07-15 [dc47f7e](https://github.com/silverstripe/silverstripe-framework/commit/dc47f7ec9adf67a3f31887467de5b110e8e5b285) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008) + * 2016-07-14 [2b30ade](https://github.com/silverstripe/silverstripe-framework/commit/2b30ade44d333a4da4d13b31ffa28d0a34597442) ChangePasswordForm does not check $member->canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011) + * 2016-07-14 [6606d98](https://github.com/silverstripe/silverstripe-framework/commit/6606d986634f5b5dec16462acaa8d9a513c29fec) ChangePasswordForm does not check $member->canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011) + * 2016-07-14 [ca526b0](https://github.com/silverstripe/silverstripe-reports/commit/ca526b08c32ffe171368c1f6e456a8bfffa287d7) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [cff2ea9](https://github.com/silverstripe/silverstripe-reports/commit/cff2ea9a98f592d80083633aef6bd082480281d9) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [5f73d34](https://github.com/silverstripe/silverstripe-cms/commit/5f73d3454ecbc4850e91a0a3007102f6d4d9b853) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [04b4453](https://github.com/silverstripe/silverstripe-cms/commit/04b4453e041c2520d3658be1585146f79dca09d8) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + +### Bugfixes + + * 2016-11-03 [edfe514](https://github.com/silverstripe/silverstripe-framework/commit/edfe514540aae0772f49225f3614ce045ad9e1d4) Ensure that builds use the 3.4 dependencies. (Sam Minnee) + * 2016-09-12 [a14df0b](https://github.com/silverstripe/silverstripe-framework/commit/a14df0bc2d08f953ff7dd6f57899dbf260ab13a5) Force line endings to LF on sake file (Daniel Hensby) + * 2016-09-06 [e7ecf6c](https://github.com/silverstripe/silverstripe-framework/commit/e7ecf6cf15d4b3d4adaf0a415a5c4f9f2a15a003) Bad strpos call in HTTP::register_etag() (Daniel Hensby) + * 2016-08-22 [59be597](https://github.com/silverstripe/silverstripe-cms/commit/59be597004da21064e51c6237fbb451628bebf66) #1052 (Daniel Hensby) + * 2016-08-22 [4998b80](https://github.com/silverstripe/silverstripe-framework/commit/4998b8044530a83c617194d544b76a98f742386e) ArrayList sorting now caseinsensitive (Daniel Hensby) + * 2016-08-15 [5ad8157](https://github.com/silverstripe/silverstripe-cms/commit/5ad8157655a5dd581cbc90a95e8588907794a9c9) Fix regression in FormField casting (Damian Mooyman) + * 2016-08-15 [95c640a](https://github.com/silverstripe/silverstripe-cms/commit/95c640ae6b5620be83d38e8060317554bc0820ed) Fix regression in FormField casting (Damian Mooyman) + * 2016-07-28 [56f0b72](https://github.com/silverstripe/silverstripe-framework/commit/56f0b72e8dbf5b7205ae12c80e0f4c9a0614d1a2) ETag header now properly quoted (Daniel Hensby) diff --git a/docs/en/04_Changelogs/3.4.2.md b/docs/en/04_Changelogs/3.4.2.md new file mode 100644 index 000000000..7396d0db7 --- /dev/null +++ b/docs/en/04_Changelogs/3.4.2.md @@ -0,0 +1,67 @@ +# 3.4.2 + + + +## Change Log + +### Security + + * 2016-11-11 [4440b88](https://github.com/silverstripe/silverstripe-framework/commit/4440b887304fe80ca77366800457cbc2ac705654) Form@httpSubmission will no longer load submitted data to disabled or readonly fields (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-11-11 [61e4055](https://github.com/silverstripe/silverstripe-framework/commit/61e4055bdb13e37df6aa0d8edca0bf5d9345dc7e) Cast FormField values as Text to prevent readonly fields embeding rogue HTML (Daniel Hensby) - See [ss-2016-010](http://www.silverstripe.org/download/security-releases/ss-2016-010) + * 2016-10-27 [17097a4](https://github.com/silverstripe/silverstripe-framework/commit/17097a4d11274b157eadf64f32708acef204d510) Properly escape backURL for template injection (Daniel Hensby) - See [ss-2016-016](http://www.silverstripe.org/download/security-releases/ss-2016-016) + * 2016-08-02 [62a2421](https://github.com/silverstripe/silverstripe-framework/commit/62a242154ec3508fe9b174a40713c8520ac1684c) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015) + * 2016-08-02 [12a6b35](https://github.com/silverstripe/silverstripe-framework/commit/12a6b357e761f09d818fd0013eb2d85014de79a0) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015) + * 2016-08-02 [049cdef](https://github.com/silverstripe/silverstripe-framework/commit/049cdefacfd3122d59d5488c1317f999fe8aacc4) value / title escaping in CheckboxSetField and OptionsetField (Damian Mooyman) - See [ss-2016-015](http://www.silverstripe.org/download/security-releases/ss-2016-015) + * 2016-07-25 [fa7f5af](https://github.com/silverstripe/silverstripe-framework/commit/fa7f5af8618a83c865b11fd6cc981ad9661046e6) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014) + * 2016-07-25 [1c7d5de](https://github.com/silverstripe/silverstripe-framework/commit/1c7d5de51bcdf16ebb21c5a0ebe5fe9e31f9a822) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014) + * 2016-07-25 [b1f4497](https://github.com/silverstripe/silverstripe-framework/commit/b1f449762b5d11658b11d5036d5ae361a95fd61e) Autologin cookies are ignored if autologin is disabled (Daniel Hensby) - See [ss-2016-014](http://www.silverstripe.org/download/security-releases/ss-2016-014) + * 2016-07-22 [6817c57](https://github.com/silverstripe/silverstripe-framework/commit/6817c57f64b9eb2b271b81662cd83b074a3daee4) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013) + * 2016-07-22 [281b0de](https://github.com/silverstripe/silverstripe-framework/commit/281b0de571fe0ae159ac47891c02acf2214fa619) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013) + * 2016-07-22 [83e3302](https://github.com/silverstripe/silverstripe-framework/commit/83e3302c0425d9b0e4fe42e82e3df03379f4dca5) Uncasted member name (Daniel Hensby) - See [ss-2016-013](http://www.silverstripe.org/download/security-releases/ss-2016-013) + * 2016-07-15 [f85dea2](https://github.com/silverstripe/silverstripe-framework/commit/f85dea2e6d5b303abd43b5e5efc07c66c8d2acf4) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008) + * 2016-07-15 [dc47f7e](https://github.com/silverstripe/silverstripe-framework/commit/dc47f7ec9adf67a3f31887467de5b110e8e5b285) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008) + * 2016-07-15 [298f615](https://github.com/silverstripe/silverstripe-framework/commit/298f61521c55b07e5c898a92264dbe111735a87a) Reset `Member::Salt` on password change (Daniel Hensby) - See [ss-2016-008](http://www.silverstripe.org/download/security-releases/ss-2016-008) + * 2016-07-14 [6d41db7](https://github.com/silverstripe/silverstripe-framework/commit/6d41db77fa78f473db7bcff389456c980ef4e412) ChangePasswordForm does not check $member->canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011) + * 2016-07-14 [6606d98](https://github.com/silverstripe/silverstripe-framework/commit/6606d986634f5b5dec16462acaa8d9a513c29fec) ChangePasswordForm does not check $member->canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011) + * 2016-07-14 [2b30ade](https://github.com/silverstripe/silverstripe-framework/commit/2b30ade44d333a4da4d13b31ffa28d0a34597442) ChangePasswordForm does not check $member->canLogin before login (Daniel Hensby) - See [ss-2016-011](http://www.silverstripe.org/download/security-releases/ss-2016-011) + * 2016-07-14 [cff2ea9](https://github.com/silverstripe/silverstripe-reports/commit/cff2ea9a98f592d80083633aef6bd082480281d9) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [ca526b0](https://github.com/silverstripe/silverstripe-reports/commit/ca526b08c32ffe171368c1f6e456a8bfffa287d7) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [efa20d2](https://github.com/silverstripe/silverstripe-reports/commit/efa20d2da03f80758cce7fe697c62f7f42fe098a) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [04b4453](https://github.com/silverstripe/silverstripe-cms/commit/04b4453e041c2520d3658be1585146f79dca09d8) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-07-14 [5f73d34](https://github.com/silverstripe/silverstripe-cms/commit/5f73d3454ecbc4850e91a0a3007102f6d4d9b853) Missing ACL check on ReportAdmin (Daniel Hensby) - See [ss-2016-012](http://www.silverstripe.org/download/security-releases/ss-2016-012) + * 2016-05-03 [3fa84cf](https://github.com/silverstripe/silverstripe-framework/commit/3fa84cf0c64a539d78600c36364817a8e38411d8) Encode user supplied URL for embeding into page (Daniel Hensby) - See [ss-2016-007](http://www.silverstripe.org/download/security-releases/ss-2016-007) + +### API Changes + + * 2016-09-05 [c6457c5](https://github.com/silverstripe/silverstripe-framework/commit/c6457c50e970654b43ff009933a80a1a493186fb) Allow has_many fixtures to be declared with array format as well as many_many (#5944) (Damian Mooyman) + +### Bugfixes + + * 2016-11-09 [ebae480](https://github.com/silverstripe/silverstripe-framework/commit/ebae480c662032d58a14f44055428b9309563874) Fix regression in aggregate column lookup from #6199 (Damian Mooyman) + * 2016-11-09 [6bf36fb](https://github.com/silverstripe/silverstripe-framework/commit/6bf36fbd30c9d0e1375430e692b0e50206a0cfcb) Correct return type for Member::currentUser() (Loz Calver) + * 2016-11-03 [edfe514](https://github.com/silverstripe/silverstripe-framework/commit/edfe514540aae0772f49225f3614ce045ad9e1d4) Ensure that builds use the 3.4 dependencies. (Sam Minnee) + * 2016-11-03 [135a647](https://github.com/silverstripe/silverstripe-framework/commit/135a64761fac74cc7ac75640551c5a14874ade95) Ensure that builds use the 3.4 dependencies. (Sam Minnee) + * 2016-10-30 [747bd4c](https://github.com/silverstripe/silverstripe-framework/commit/747bd4cac00383fffea66dea75f7e21e13df7088) filterAny error message now refers to correct method name (Daniel Hensby) + * 2016-10-22 [bec5adf](https://github.com/silverstripe/silverstripe-framework/commit/bec5adf09b733904a4e8d0aa55bdc337489af533) Versioned sort by ID (Jonathon Menz) + * 2016-10-19 [b0445f7](https://github.com/silverstripe/silverstripe-framework/commit/b0445f72e4cce324308bb32384d578e43753cd6d) Ambiguous column SQL error (Jonathon Menz) + * 2016-10-16 [fe81607](https://github.com/silverstripe/silverstripe-framework/commit/fe816076fc5a2b3b1e497b8c51c76430311eea2c) Make simplexml_load_file work on shared php-fpm (Nicola Fontana) + * 2016-10-11 [7368dec](https://github.com/silverstripe/silverstripe-framework/commit/7368deca8f409c5aba94a6b646d7c0ac4fbd452f) Fix issue with SS_List as datasource for dropdown field (Damian Mooyman) + * 2016-10-07 [ae83b7b](https://github.com/silverstripe/silverstripe-cms/commit/ae83b7b5ef28df5f5b3f752435f3b36b078f619a) History controller now shows right comparison versions (Daniel Hensby) + * 2016-10-04 [797be6a](https://github.com/silverstripe/silverstripe-framework/commit/797be6ac82f6938af06c24c99150648ff214f797) Revert natural sort (Jonathon Menz) + * 2016-10-04 [6dde5ce](https://github.com/silverstripe/silverstripe-framework/commit/6dde5ce5718911d8e405eb590c68036ceaa6e608) Absolute alternate_base_url no longer breaks session cookies (Daniel Hensby) + * 2016-10-03 [98d95cd](https://github.com/silverstripe/silverstripe-cms/commit/98d95cd70708ae1f15a9bf5c5a661cd66f449f2f) Sort order for duplicated child pages is now retained (Daniel Hensby) + * 2016-09-29 [ae4108b](https://github.com/silverstripe/silverstripe-framework/commit/ae4108bf00e9503c5748c4129df7e1c3ea8c8b5f) Content-Disposition header breaks in Firefox (#4087) (Anton Smith) + * 2016-09-19 [32d1856](https://github.com/silverstripe/silverstripe-framework/commit/32d1856d40416438c52b8eb0651814a0fd32c0eb) Debug::caller() will now handle errors from outside function calls (#6029) (Daniel Hensby) + * 2016-09-19 [d2d770c](https://github.com/silverstripe/silverstripe-framework/commit/d2d770c6fbaeb3ea209853dd44017198a6232c01) Frontend UploadField wouldn't call ssdialog (Cristian Torres) + * 2016-09-14 [cd8904e](https://github.com/silverstripe/silverstripe-framework/commit/cd8904e0454617b243c8e89c06c694844817f212) ing button destroy bug (3Dgoo) + * 2016-09-12 [a14df0b](https://github.com/silverstripe/silverstripe-framework/commit/a14df0bc2d08f953ff7dd6f57899dbf260ab13a5) Force line endings to LF on sake file (Daniel Hensby) + * 2016-09-06 [e7ecf6c](https://github.com/silverstripe/silverstripe-framework/commit/e7ecf6cf15d4b3d4adaf0a415a5c4f9f2a15a003) Bad strpos call in HTTP::register_etag() (Daniel Hensby) + * 2016-09-01 [f2ed59e](https://github.com/silverstripe/silverstripe-framework/commit/f2ed59e1851b4506f02994dd4a1f3ffa86938cb9) Empty dmyfields on DateField now validate as true (Daniel Hensby) + * 2016-08-22 [59be597](https://github.com/silverstripe/silverstripe-cms/commit/59be597004da21064e51c6237fbb451628bebf66) #1052 (Daniel Hensby) + * 2016-08-22 [4998b80](https://github.com/silverstripe/silverstripe-framework/commit/4998b8044530a83c617194d544b76a98f742386e) ArrayList sorting now caseinsensitive (Daniel Hensby) + * 2016-08-15 [95c640a](https://github.com/silverstripe/silverstripe-cms/commit/95c640ae6b5620be83d38e8060317554bc0820ed) Fix regression in FormField casting (Damian Mooyman) + * 2016-08-15 [5ad8157](https://github.com/silverstripe/silverstripe-cms/commit/5ad8157655a5dd581cbc90a95e8588907794a9c9) Fix regression in FormField casting (Damian Mooyman) + * 2016-08-15 [a6a9cd7](https://github.com/silverstripe/silverstripe-cms/commit/a6a9cd729fd24b19f7b39fdeb867a491489687e0) Fix regression in FormField casting (Damian Mooyman) + * 2016-08-11 [d4114b3](https://github.com/silverstripe/silverstripe-framework/commit/d4114b3dce73ffaf786af7ce76f2e1c6f1483d47) include related fields on canFilter() check (Jonathon Menz) + * 2016-08-09 [63fc4db](https://github.com/silverstripe/silverstripe-cms/commit/63fc4dbcaebcc7063f8075681d8b1f09608afe1c) Fix extra border in page settings (Damian Mooyman) + * 2016-07-28 [56f0b72](https://github.com/silverstripe/silverstripe-framework/commit/56f0b72e8dbf5b7205ae12c80e0f4c9a0614d1a2) ETag header now properly quoted (Daniel Hensby) diff --git a/forms/UploadField.php b/forms/UploadField.php index 847ecd25c..164a24ac1 100644 --- a/forms/UploadField.php +++ b/forms/UploadField.php @@ -220,11 +220,6 @@ class UploadField extends FileField { $this->getValidator()->setAllowedExtensions( array_filter(Config::inst()->get('File', 'allowed_extensions')) ); - - // get the lower max size - $maxUpload = File::ini2bytes(ini_get('upload_max_filesize')); - $maxPost = File::ini2bytes(ini_get('post_max_size')); - $this->getValidator()->setAllowedMaxFileSize(min($maxUpload, $maxPost)); } /** diff --git a/javascript/lang/fi.js b/javascript/lang/fi.js index 1b3ee4e3c..1e3e76967 100644 --- a/javascript/lang/fi.js +++ b/javascript/lang/fi.js @@ -50,4 +50,4 @@ if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') { "UploadField.WRITEFAILED": "Tiedoston kirjoittaminen levylle epäonnistui", "VALIDATOR.FIELDREQUIRED": "Syötä \"%s\", se on vaadittu tieto." }); -} \ No newline at end of file +} diff --git a/javascript/lang/hr.js b/javascript/lang/hr.js index b9a6808f5..89919733b 100644 --- a/javascript/lang/hr.js +++ b/javascript/lang/hr.js @@ -50,4 +50,4 @@ if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') { "UploadField.WRITEFAILED": "Nije uspjelo zapisati datoteku na disk", "VALIDATOR.FIELDREQUIRED": "Molimo popunite \"%s\", obavezno je." }); -} \ No newline at end of file +} diff --git a/javascript/lang/src/fi.js b/javascript/lang/src/fi.js index c6fc19b4c..cac07892c 100644 --- a/javascript/lang/src/fi.js +++ b/javascript/lang/src/fi.js @@ -42,4 +42,4 @@ "UploadField.Uploaded": "Ladattu", "UploadField.WRITEFAILED": "Tiedoston kirjoittaminen levylle epäonnistui", "VALIDATOR.FIELDREQUIRED": "Syötä \"%s\", se on vaadittu tieto." -} \ No newline at end of file +} diff --git a/javascript/lang/src/hr.js b/javascript/lang/src/hr.js index 6c8eba286..a6920d605 100644 --- a/javascript/lang/src/hr.js +++ b/javascript/lang/src/hr.js @@ -42,4 +42,4 @@ "UploadField.Uploaded": "Prenešeno", "UploadField.WRITEFAILED": "Nije uspjelo zapisati datoteku na disk", "VALIDATOR.FIELDREQUIRED": "Molimo popunite \"%s\", obavezno je." -} \ No newline at end of file +} diff --git a/lang/en.yml b/lang/en.yml index 69dc3676f..a44296d60 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -1,156 +1,156 @@ en: AddToCampaign: - ErrorCampaignPermissionDenied: 'It seems you don''t have the necessary permissions to add {ObjectTitle} to {CampaignTitle}' - ErrorGeneral: 'We apologise, but there was an error' - ErrorItemPermissionDenied: 'It seems you don''t have the necessary permissions to add {ObjectTitle} to a campaign' - ErrorNotFound: 'That {Type} couldn''t be found' - Success: 'Successfully added {ObjectTitle} to {CampaignTitle}' + ErrorCampaignPermissionDenied: "It seems you don't have the necessary permissions to add {ObjectTitle} to {CampaignTitle}" + ErrorGeneral: "We apologise, but there was an error" + ErrorItemPermissionDenied: "It seems you don't have the necessary permissions to add {ObjectTitle} to a campaign" + ErrorNotFound: "That {Type} couldn't be found" + Success: "Successfully added {ObjectTitle} to {CampaignTitle}" AssetAdmin: - ALLOWEDEXTS: 'Allowed file upload extensions' - HIDEALLOWEDEXTS: 'Hide allowed extensions' + ALLOWEDEXTS: "Allowed file upload extensions" + HIDEALLOWEDEXTS: "Hide allowed extensions" NEWFOLDER: NewFolder - SHOWALLOWEDEXTS: 'Show allowed extensions' + SHOWALLOWEDEXTS: "Show allowed extensions" AssetTableField: - CREATED: 'First uploaded' + CREATED: "First uploaded" DIM: Dimensions FILENAME: Filename FOLDER: Folder HEIGHT: Height - LASTEDIT: 'Last changed' + LASTEDIT: "Last changed" OWNER: Owner PATH: Path - SIZE: 'File size' + SIZE: "File size" TITLE: Title - TYPE: 'File type' + TYPE: "File type" URL: URL WIDTH: Width AssetUploadField: - ChooseFiles: 'Choose files' - DRAGFILESHERE: 'Drag files here' - DROPAREA: 'Drop Area' - EDITALL: 'Edit all' - EDITANDORGANIZE: 'Edit & organize' - EDITINFO: 'Edit files' + ChooseFiles: "Choose files" + DRAGFILESHERE: "Drag files here" + DROPAREA: "Drop Area" + EDITALL: "Edit all" + EDITANDORGANIZE: "Edit & organize" + EDITINFO: "Edit files" FILES: Files - FROMCOMPUTER: 'Choose files from your computer' - FROMCOMPUTERINFO: 'Upload from your computer' - INSERTURL: 'Insert from URL' - REMOVEINFO: 'Remove this file from this field' + FROMCOMPUTER: "Choose files from your computer" + FROMCOMPUTERINFO: "Upload from your computer" + INSERTURL: "Insert from URL" + REMOVEINFO: "Remove this file from this field" TOTAL: Total - TOUPLOAD: 'Choose files to upload...' - UPLOADINPROGRESS: 'Please wait… upload in progress' + TOUPLOAD: "Choose files to upload..." + UPLOADINPROGRESS: "Please wait… upload in progress" UPLOADOR: OR BBCodeParser: ALIGNEMENT: Alignment - ALIGNEMENTEXAMPLE: 'right aligned' - BOLD: 'Bold Text' + ALIGNEMENTEXAMPLE: "right aligned" + BOLD: "Bold Text" BOLDEXAMPLE: Bold - CODE: 'Code Block' - CODEDESCRIPTION: 'Unformatted code block' - CODEEXAMPLE: 'Code block' - COLORED: 'Colored text' - COLOREDEXAMPLE: 'blue text' - EMAILLINK: 'Email link' - EMAILLINKDESCRIPTION: 'Create link to an email address' + CODE: "Code Block" + CODEDESCRIPTION: "Unformatted code block" + CODEEXAMPLE: "Code block" + COLORED: "Colored text" + COLOREDEXAMPLE: "blue text" + EMAILLINK: "Email link" + EMAILLINKDESCRIPTION: "Create link to an email address" IMAGE: Image - IMAGEDESCRIPTION: 'Show an image in your post' - ITALIC: 'Italic Text' + IMAGEDESCRIPTION: "Show an image in your post" + ITALIC: "Italic Text" ITALICEXAMPLE: Italics - LINK: 'Website link' - LINKDESCRIPTION: 'Link to another website or URL' - STRUCK: 'Struck-out Text' + LINK: "Website link" + LINKDESCRIPTION: "Link to another website or URL" + STRUCK: "Struck-out Text" STRUCKEXAMPLE: Struck-out - UNDERLINE: 'Underlined Text' + UNDERLINE: "Underlined Text" UNDERLINEEXAMPLE: Underlined - UNORDERED: 'Unordered list' - UNORDEREDDESCRIPTION: 'Unordered list' - UNORDEREDEXAMPLE1: 'unordered item 1' + UNORDERED: "Unordered list" + UNORDEREDDESCRIPTION: "Unordered list" + UNORDEREDEXAMPLE1: "unordered item 1" BackLink_Button_ss: Back: Back BasicAuth: - ENTERINFO: 'Please enter a username and password.' - ERRORNOTADMIN: 'That user is not an administrator.' - ERRORNOTREC: 'That username / password isn''t recognised' + ENTERINFO: "Please enter a username and password." + ERRORNOTADMIN: "That user is not an administrator." + ERRORNOTREC: "That username / password isn't recognised" Boolean: ANY: Any - NOANSWER: 'No' - YESANSWER: 'Yes' + NOANSWER: "No" + YESANSWER: "Yes" CAMPAIGNS: - ADDTOCAMPAIGN: 'Add to Campaign' + ADDTOCAMPAIGN: "Add to Campaign" CMSLoadingScreen_ss: LOADING: Loading... - REQUIREJS: 'The CMS requires that you have JavaScript enabled.' + REQUIREJS: "The CMS requires that you have JavaScript enabled." CMSMain: - ACCESS: 'Access to ''{title}'' section' - ACCESSALLINTERFACES: 'Access to all CMS sections' - ACCESSALLINTERFACESHELP: 'Overrules more specific access settings.' + ACCESS: "Access to '{title}' section" + ACCESSALLINTERFACES: "Access to all CMS sections" + ACCESSALLINTERFACESHELP: "Overrules more specific access settings." SAVE: Save CMSMemberLoginForm: - BUTTONFORGOTPASSWORD: 'Forgot password?' - BUTTONLOGIN: 'Log back in' - BUTTONLOGOUT: 'Log out' - PASSWORDEXPIRED: '

Your password has expired. Please choose a new one.

' + BUTTONFORGOTPASSWORD: "Forgot password?" + BUTTONLOGIN: "Log back in" + BUTTONLOGOUT: "Log out" + PASSWORDEXPIRED: "

Your password has expired. Please choose a new one.

" CMSPageHistoryController_versions_ss: - PREVIEW: 'Website preview' + PREVIEW: "Website preview" CMSPagesController_Tools_ss: FILTER: Filter CMSProfileController: - MENUTITLE: 'My Profile' + MENUTITLE: "My Profile" CMSSecurity: - INVALIDUSER: '

Invalid user. Please re-authenticate here to continue.

' - LoginMessage: '

If you have any unsaved work you can return to where you left off by logging back in below.

' + INVALIDUSER: "

Invalid user. Please re-authenticate here to continue.

" + LoginMessage: "

If you have any unsaved work you can return to where you left off by logging back in below.

" SUCCESS: Success - SUCCESSCONTENT: '

Login success. If you are not automatically redirected click here

' - TimedOutTitleAnonymous: 'Your session has timed out.' - TimedOutTitleMember: 'Hey {name}!
Your session has timed out.' + SUCCESSCONTENT: "

Login success. If you are not automatically redirected click here

" + TimedOutTitleAnonymous: "Your session has timed out." + TimedOutTitleMember: "Hey {name}!
Your session has timed out." CampaignAdmin: - ACCESS_HELP: 'Allow viewing of the campaign publishing section.' + ACCESS_HELP: "Allow viewing of the campaign publishing section." MENUTITLE: Campaigns Campaigns: - AddToCampaign: 'Add To Campaign' - AddToCampaignFormFieldLabel: 'Select a Campaign' + AddToCampaign: "Add To Campaign" + AddToCampaignFormFieldLabel: "Select a Campaign" ChangePasswordEmail_ss: - CHANGEPASSWORDFOREMAIL: 'The password for account with email address {email} has been changed. If you didn''t change your password please change your password using the link below' - CHANGEPASSWORDTEXT1: 'You changed your password for' - CHANGEPASSWORDTEXT2: 'You can now use the following credentials to log in:' - CHANGEPASSWORDTEXT3: 'Change password' + CHANGEPASSWORDFOREMAIL: "The password for account with email address {email} has been changed. If you didn't change your password please change your password using the link below" + CHANGEPASSWORDTEXT1: "You changed your password for" + CHANGEPASSWORDTEXT2: "You can now use the following credentials to log in:" + CHANGEPASSWORDTEXT3: "Change password" EMAIL: Email HELLO: Hi PASSWORD: Password ChangeSet: - DESCRIPTION_AND: '{first} and {second}' + DESCRIPTION_AND: "{first} and {second}" DESCRIPTION_ITEM: item DESCRIPTION_ITEMS: items - DESCRIPTION_LIST_FIRST: '{item}' - DESCRIPTION_LIST_LAST: '{list}, and {item}' - DESCRIPTION_LIST_MID: '{list}, {item}' - DESCRIPTION_OTHER_ITEM: 'other item' - DESCRIPTION_OTHER_ITEMS: 'other items' + DESCRIPTION_LIST_FIRST: "{item}" + DESCRIPTION_LIST_LAST: "{list}, and {item}" + DESCRIPTION_LIST_MID: "{list}, {item}" + DESCRIPTION_OTHER_ITEM: "other item" + DESCRIPTION_OTHER_ITEMS: "other items" NAME: Name PLURALNAME: Campaigns SINGULARNAME: Campaign STATE: State ChangeSetItem: - PLURALNAME: 'Change Set Items' - SINGULARNAME: 'Change Set Item' + PLURALNAME: "Change Set Items" + SINGULARNAME: "Change Set Item" CheckboxField: - NOANSWER: 'No' - YESANSWER: 'Yes' + NOANSWER: "No" + YESANSWER: "Yes" CheckboxFieldSetField: - SOURCE_VALIDATION: 'Please select a value within the list provided. {value} is not a valid option' + SOURCE_VALIDATION: "Please select a value within the list provided. {value} is not a valid option" CheckboxSetField: - SOURCE_VALIDATION: 'Please select a value within the list provided. ''{value}'' is not a valid option' + SOURCE_VALIDATION: "Please select a value within the list provided. '{value}' is not a valid option" ConfirmedPasswordField: - ATLEAST: 'Passwords must be at least {min} characters long.' - BETWEEN: 'Passwords must be {min} to {max} characters long.' - CURRENT_PASSWORD_ERROR: 'The current password you have entered is not correct.' - CURRENT_PASSWORD_MISSING: 'You must enter your current password.' - LOGGED_IN_ERROR: 'You must be logged in to change your password.' - MAXIMUM: 'Passwords must be at most {max} characters long.' - SHOWONCLICKTITLE: 'Change Password' + ATLEAST: "Passwords must be at least {min} characters long." + BETWEEN: "Passwords must be {min} to {max} characters long." + CURRENT_PASSWORD_ERROR: "The current password you have entered is not correct." + CURRENT_PASSWORD_MISSING: "You must enter your current password." + LOGGED_IN_ERROR: "You must be logged in to change your password." + MAXIMUM: "Passwords must be at most {max} characters long." + SHOWONCLICKTITLE: "Change Password" ContentController: - DRAFT_SITE_ACCESS_RESTRICTION: 'You must log in with your CMS password in order to view the draft or archived content. Click here to go back to the published site.' - NOTLOGGEDIN: 'Not logged in' + DRAFT_SITE_ACCESS_RESTRICTION: "You must log in with your CMS password in order to view the draft or archived content. Click here to go back to the published site." + NOTLOGGEDIN: "Not logged in" CreditCardField: FIRST: first FOURTH: fourth @@ -159,261 +159,261 @@ en: CurrencyField: CURRENCYSYMBOL: $ DataObject: - PLURALNAME: 'Data Objects' - SINGULARNAME: 'Data Object' + PLURALNAME: "Data Objects" + SINGULARNAME: "Data Object" Date: DAY: day DAYS: days HOUR: hour HOURS: hours - LessThanMinuteAgo: 'less than a minute' + LessThanMinuteAgo: "less than a minute" MIN: min MINS: mins MONTH: month MONTHS: months SEC: sec SECS: secs - TIMEDIFFAGO: '{difference} ago' - TIMEDIFFIN: 'in {difference}' + TIMEDIFFAGO: "{difference} ago" + TIMEDIFFIN: "in {difference}" YEAR: year YEARS: years DateField: - NOTSET: 'not set' + NOTSET: "not set" TODAY: today - VALIDDATEFORMAT2: 'Please enter a valid date format ({format})' - VALIDDATEMAXDATE: 'Your date has to be older or matching the maximum allowed date ({date})' - VALIDDATEMINDATE: 'Your date has to be newer or matching the minimum allowed date ({date})' + VALIDDATEFORMAT2: "Please enter a valid date format ({format})" + VALIDDATEMAXDATE: "Your date has to be older or matching the maximum allowed date ({date})" + VALIDDATEMINDATE: "Your date has to be newer or matching the minimum allowed date ({date})" DatetimeField: - NOTSET: 'Not set' + NOTSET: "Not set" Director: - INVALID_REQUEST: 'Invalid request' + INVALID_REQUEST: "Invalid request" DropdownField: CHOOSE: (Choose) - CHOOSESEARCH: '(Choose or Search)' - CHOOSE_MODEL: '(Choose {name})' - SOURCE_VALIDATION: 'Please select a value within the list provided. {value} is not a valid option' + CHOOSESEARCH: "(Choose or Search)" + CHOOSE_MODEL: "(Choose {name})" + SOURCE_VALIDATION: "Please select a value within the list provided. {value} is not a valid option" EmailField: - VALIDATION: 'Please enter an email address' + VALIDATION: "Please enter an email address" Enum: ANY: Any File: - AviType: 'AVI video file' + AviType: "AVI video file" Content: Content - CssType: 'CSS file' + CssType: "CSS file" DRAFT: Draft - DmgType: 'Apple disk image' - DocType: 'Word document' + DmgType: "Apple disk image" + DocType: "Word document" Filename: Filename - GifType: 'GIF image - good for diagrams' - GzType: 'GZIP compressed file' - HtlType: 'HTML file' - HtmlType: 'HTML file' - INVALIDEXTENSION: 'Extension is not allowed (valid: {extensions})' - INVALIDEXTENSIONSHORT: 'Extension is not allowed' - INVALIDEXTENSION_SHORT: 'Extension is not allowed' - IcoType: 'Icon image' - JpgType: 'JPEG image - good for photos' - JsType: 'Javascript file' + GifType: "GIF image - good for diagrams" + GzType: "GZIP compressed file" + HtlType: "HTML file" + HtmlType: "HTML file" + INVALIDEXTENSION: "Extension is not allowed (valid: {extensions})" + INVALIDEXTENSIONSHORT: "Extension is not allowed" + INVALIDEXTENSION_SHORT: "Extension is not allowed" + IcoType: "Icon image" + JpgType: "JPEG image - good for photos" + JsType: "Javascript file" MODIFIED: Modified - Mp3Type: 'MP3 audio file' - MpgType: 'MPEG video file' - NOFILESIZE: 'File size is zero bytes.' - NOVALIDUPLOAD: 'File is not a valid upload' + Mp3Type: "MP3 audio file" + MpgType: "MPEG video file" + NOFILESIZE: "Filesize is zero bytes." + NOVALIDUPLOAD: "File is not a valid upload" Name: Name PLURALNAME: Files - PdfType: 'Adobe Acrobat PDF file' - PngType: 'PNG image - good general-purpose format' + PdfType: "Adobe Acrobat PDF file" + PngType: "PNG image - good general-purpose format" SINGULARNAME: File - TOOLARGE: 'File size is too large, maximum {size} allowed' - TOOLARGESHORT: 'File size exceeds {size}' - TiffType: 'Tagged image format' + TOOLARGE: "Filesize is too large, maximum {size} allowed" + TOOLARGESHORT: "Filesize exceeds {size}" + TiffType: "Tagged image format" Title: Title - WavType: 'WAV audo file' - XlsType: 'Excel spreadsheet' - ZipType: 'ZIP compressed file' + WavType: "WAV audo file" + XlsType: "Excel spreadsheet" + ZipType: "ZIP compressed file" Filesystem: - SYNCRESULTS: 'Sync complete: {createdcount} items created, {deletedcount} items deleted' + SYNCRESULTS: "Sync complete: {createdcount} items created, {deletedcount} items deleted" Folder: PLURALNAME: Folders SINGULARNAME: Folder ForgotPasswordEmail_ss: HELLO: Hi - TEXT1: 'Here is your' - TEXT2: 'password reset link' + TEXT1: "Here is your" + TEXT2: "password reset link" TEXT3: for Form: - CSRF_EXPIRED_MESSAGE: 'Your session has expired. Please re-submit the form.' - CSRF_FAILED_MESSAGE: 'There seems to have been a technical problem. Please click the back button, refresh your browser, and try again.' - FIELDISREQUIRED: '{name} is required' + CSRF_EXPIRED_MESSAGE: "Your session has expired. Please re-submit the form." + CSRF_FAILED_MESSAGE: "There seems to have been a technical problem. Please click the back button, refresh your browser, and try again." + FIELDISREQUIRED: "{name} is required" SubmitBtnLabel: Go - VALIDATIONCREDIT: 'Please ensure you have entered the credit card number correctly' - VALIDATIONCREDITNUMBER: 'Please ensure you have entered the {number} credit card number correctly' - VALIDATIONNOTUNIQUE: 'The value entered is not unique' - VALIDATIONPASSWORDSDONTMATCH: 'Passwords don''t match' - VALIDATIONPASSWORDSNOTEMPTY: 'Passwords can''t be empty' - VALIDATIONSTRONGPASSWORD: 'Passwords must have at least one digit and one alphanumeric character' + VALIDATIONCREDIT: "Please ensure you have entered the credit card number correctly" + VALIDATIONCREDITNUMBER: "Please ensure you have entered the {number} credit card number correctly" + VALIDATIONNOTUNIQUE: "The value entered is not unique" + VALIDATIONPASSWORDSDONTMATCH: "Passwords don't match" + VALIDATIONPASSWORDSNOTEMPTY: "Passwords can't be empty" + VALIDATIONSTRONGPASSWORD: "Passwords must have at least one digit and one alphanumeric character" VALIDATOR: Validator - VALIDCURRENCY: 'Please enter a valid currency' + VALIDCURRENCY: "Please enter a valid currency" FormField: - Example: 'e.g. %s' + Example: "e.g. %s" NONE: none GridAction: DELETE_DESCRIPTION: Delete Delete: Delete UnlinkRelation: Unlink GridField: - Add: 'Add {name}' + Add: "Add {name}" Filter: Filter - FilterBy: 'Filter by ' + FilterBy: "Filter by " Find: Find - LEVELUP: 'Level up' - LinkExisting: 'Link Existing' - NewRecord: 'New %s' - NoItemsFound: 'No items found' - PRINTEDAT: 'Printed at' - PRINTEDBY: 'Printed by' - PlaceHolder: 'Find {type}' - PlaceHolderWithLabels: 'Find {type} by {name}' - RelationSearch: 'Relation search' + LEVELUP: "Level up" + LinkExisting: "Link Existing" + NewRecord: "New %s" + NoItemsFound: "No items found" + PRINTEDAT: "Printed at" + PRINTEDBY: "Printed by" + PlaceHolder: "Find {type}" + PlaceHolderWithLabels: "Find {type} by {name}" + RelationSearch: "Relation search" ResetFilter: Reset GridFieldAction_Delete: - DeletePermissionsFailure: 'No delete permissions' - EditPermissionsFailure: 'No permission to unlink record' + DeletePermissionsFailure: "No delete permissions" + EditPermissionsFailure: "No permission to unlink record" GridFieldDetailForm: CancelBtn: Cancel Create: Create Delete: Delete - DeletePermissionsFailure: 'No delete permissions' - Deleted: 'Deleted %s %s' + DeletePermissionsFailure: "No delete permissions" + Deleted: "Deleted %s %s" Save: Save - Saved: 'Saved {name} {link}' + Saved: "Saved {name} {link}" GridFieldEditButton_ss: EDIT: Edit GridFieldItemEditView: - Go_back: 'Go back' + Go_back: "Go back" Group: - AddRole: 'Add a role for this group' - Code: 'Group Code' + AddRole: "Add a role for this group" + Code: "Group Code" DefaultGroupTitleAdministrators: Administrators - DefaultGroupTitleContentAuthors: 'Content Authors' + DefaultGroupTitleContentAuthors: "Content Authors" Description: Description - GroupReminder: 'If you choose a parent group, this group will take all it''s roles' - HierarchyPermsError: 'Can''t assign parent group "%s" with privileged permissions (requires ADMIN access)' - Locked: 'Locked?' - NoRoles: 'No roles found' + GroupReminder: "If you choose a parent group, this group will take all it's roles" + HierarchyPermsError: "Can't assign parent group \"%s\" with privileged permissions (requires ADMIN access)" + Locked: Locked? + NoRoles: "No roles found" PLURALNAME: Groups - Parent: 'Parent Group' - RolesAddEditLink: 'Manage roles' + Parent: "Parent Group" + RolesAddEditLink: "Manage roles" SINGULARNAME: Group - Sort: 'Sort Order' + Sort: "Sort Order" has_many_Permissions: Permissions many_many_Members: Members GroupImportForm: - Help1: '

Import one or more groups in CSV format (comma-separated values). Show advanced usage

' - Help2: '

Advanced usage

' - ResultCreated: 'Created {count} groups' - ResultDeleted: 'Deleted %d groups' - ResultUpdated: 'Updated %d groups' + Help1: "

Import one or more groups in CSV format (comma-separated values). Show advanced usage

" + Help2: "

Advanced usage

" + ResultCreated: "Created {count} groups" + ResultDeleted: "Deleted %d groups" + ResultUpdated: "Updated %d groups" HTMLEditorField: - ANCHORSCANNOTACCESSPAGE: 'You are not permitted to access the content of the target page.' - ANCHORSPAGENOTFOUND: 'Target page not found.' + ANCHORSCANNOTACCESSPAGE: "You are not permitted to access the content of the target page." + ANCHORSPAGENOTFOUND: "Target page not found." ANCHORVALUE: Anchor - BUTTONADDURL: 'Add url' - CAPTIONTEXT: 'Caption text' - CSSCLASS: 'Alignment / style' - CSSCLASSCENTER: 'Centered, on its own.' - CSSCLASSLEFT: 'On the left, with text wrapping around.' - CSSCLASSLEFTALONE: 'On the left, on its own.' - CSSCLASSRIGHT: 'On the right, with text wrapping around.' + BUTTONADDURL: "Add url" + CAPTIONTEXT: "Caption text" + CSSCLASS: "Alignment / style" + CSSCLASSCENTER: "Centered, on its own." + CSSCLASSLEFT: "On the left, with text wrapping around." + CSSCLASSLEFTALONE: "On the left, on its own." + CSSCLASSRIGHT: "On the right, with text wrapping around." DETAILS: Details - EMAIL: 'Email address' + EMAIL: "Email address" FILE: SilverStripe\Assets\File FOLDER: Folder - IMAGEALT: 'Alternative text (alt)' - IMAGEALTTEXT: 'Alternative text (alt) - shown if image can''t be displayed' - IMAGEALTTEXTDESC: 'Shown to screen readers or if image can''t be displayed' + IMAGEALT: "Alternative text (alt)" + IMAGEALTTEXT: "Alternative text (alt) - shown if image can't be displayed" + IMAGEALTTEXTDESC: "Shown to screen readers or if image can't be displayed" IMAGEDIMENSIONS: Dimensions IMAGEHEIGHTPX: Height - IMAGETITLE: 'Title text (tooltip) - for additional information about the image' - IMAGETITLETEXT: 'Title text (tooltip)' - IMAGETITLETEXTDESC: 'For additional information about the image' + IMAGETITLE: "Title text (tooltip) - for additional information about the image" + IMAGETITLETEXT: "Title text (tooltip)" + IMAGETITLETEXTDESC: "For additional information about the image" IMAGEWIDTHPX: Width - INSERTMEDIA: 'Insert media from' - LINK: 'Insert Link' - LINKANCHOR: 'Link to an anchor on this page' - LINKDESCR: 'Link description' - LINKDETAILS: 'Link details' - LINKEMAIL: 'Link to an email address' - LINKEXTERNAL: 'Link to another website' - LINKFILE: 'Link to download a file' - LINKINTERNAL: 'Link to a page on this site' - LINKOPENNEWWIN: 'Open link in a new window?' - LINKTO: 'Link type' + INSERTMEDIA: "Insert media from" + LINK: "Insert Link" + LINKANCHOR: "Link to an anchor on this page" + LINKDESCR: "Link description" + LINKDETAILS: "Link details" + LINKEMAIL: "Link to an email address" + LINKEXTERNAL: "Link to another website" + LINKFILE: "Link to download a file" + LINKINTERNAL: "Link to a page on this site" + LINKOPENNEWWIN: "Open link in a new window?" + LINKTO: "Link type" PAGE: Page - SUBJECT: 'Email subject' + SUBJECT: "Email subject" URL: URL - URLDESCRIPTION: 'Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.

Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page.' - URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.' - UpdateMEDIA: 'Update media' + URLDESCRIPTION: "Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.

Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page." + URLNOTANOEMBEDRESOURCE: "The URL '{url}' could not be turned into a media resource." + UpdateMEDIA: "Update media" HTMLEditorField_Toolbar: - ERROR_ABSOLUTE: 'Only absolute urls can be embedded' - ERROR_HOSTNAME: 'This file hostname is not included in the whitelist' - ERROR_ID: 'Need either "ID" or "FileURL" parameter to identify the file' - ERROR_NOTFOUND: 'Unable to find file to view' - ERROR_OEMBED_REMOTE: 'Embed is only compatible with remote files' - ERROR_SCHEME: 'This file scheme is not included in the whitelist' + ERROR_ABSOLUTE: "Only absolute urls can be embedded" + ERROR_HOSTNAME: "This file hostname is not included in the whitelist" + ERROR_ID: "Need either \"ID\" or \"FileURL\" parameter to identify the file" + ERROR_NOTFOUND: "Unable to find file to view" + ERROR_OEMBED_REMOTE: "Embed is only compatible with remote files" + ERROR_SCHEME: "This file scheme is not included in the whitelist" Hierarchy: - InfiniteLoopNotAllowed: 'Infinite loop found within the "{type}" hierarchy. Please change the parent to resolve this' + InfiniteLoopNotAllowed: "Infinite loop found within the \"{type}\" hierarchy. Please change the parent to resolve this" HtmlEditorField: - ADDURL: 'Add URL' - ADJUSTDETAILSDIMENSIONS: 'Details & dimensions' - ANCHORSCANNOTACCESSPAGE: 'You are not permitted to access the content of the target page.' - ANCHORSPAGENOTFOUND: 'Target page not found.' + ADDURL: "Add URL" + ADJUSTDETAILSDIMENSIONS: "Details & dimensions" + ANCHORSCANNOTACCESSPAGE: "You are not permitted to access the content of the target page." + ANCHORSPAGENOTFOUND: "Target page not found." ANCHORVALUE: Anchor - BUTTONADDURL: 'Add url' + BUTTONADDURL: "Add url" BUTTONINSERT: Insert - BUTTONINSERTLINK: 'Insert link' - BUTTONREMOVELINK: 'Remove link' + BUTTONINSERTLINK: "Insert link" + BUTTONREMOVELINK: "Remove link" BUTTONUpdate: Update - CAPTIONTEXT: 'Caption text' - CSSCLASS: 'Alignment / style' - CSSCLASSCENTER: 'Centered, on its own.' - CSSCLASSLEFT: 'On the left, with text wrapping around.' - CSSCLASSLEFTALONE: 'On the left, on its own.' - CSSCLASSRIGHT: 'On the right, with text wrapping around.' + CAPTIONTEXT: "Caption text" + CSSCLASS: "Alignment / style" + CSSCLASSCENTER: "Centered, on its own." + CSSCLASSLEFT: "On the left, with text wrapping around." + CSSCLASSLEFTALONE: "On the left, on its own." + CSSCLASSRIGHT: "On the right, with text wrapping around." DETAILS: Details - EMAIL: 'Email address' + EMAIL: "Email address" FILE: File FOLDER: Folder - FROMCMS: 'From the CMS' - FROMCOMPUTER: 'From your computer' - FROMWEB: 'From the web' - FindInFolder: 'Find in Folder' - IMAGEALT: 'Alternative text (alt)' - IMAGEALTTEXT: 'Alternative text (alt) - shown if image can''t be displayed' - IMAGEALTTEXTDESC: 'Shown to screen readers or if image can''t be displayed' + FROMCMS: "From the CMS" + FROMCOMPUTER: "From your computer" + FROMWEB: "From the web" + FindInFolder: "Find in Folder" + IMAGEALT: "Alternative text (alt)" + IMAGEALTTEXT: "Alternative text (alt) - shown if image cannot be displayed" + IMAGEALTTEXTDESC: "Shown to screen readers or if image can not be displayed" IMAGEDIMENSIONS: Dimensions IMAGEHEIGHTPX: Height - IMAGETITLE: 'Title text (tooltip) - for additional information about the image' - IMAGETITLETEXT: 'Title text (tooltip)' - IMAGETITLETEXTDESC: 'For additional information about the image' + IMAGETITLE: "Title text (tooltip) - for additional information about the image" + IMAGETITLETEXT: "Title text (tooltip)" + IMAGETITLETEXTDESC: "For additional information about the image" IMAGEWIDTHPX: Width - INSERTMEDIA: 'Insert Media' - LINK: 'Insert Link' - LINKANCHOR: 'Anchor on this page' - LINKDESCR: 'Link description' - LINKEMAIL: 'Email address' - LINKEXTERNAL: 'Another website' - LINKFILE: 'Download a file' - LINKINTERNAL: 'Page on the site' - LINKOPENNEWWIN: 'Open link in a new window?' - LINKTO: 'Link to' + INSERTMEDIA: "Insert Media" + LINK: "Insert Link" + LINKANCHOR: "Anchor on this page" + LINKDESCR: "Link description" + LINKEMAIL: "Email address" + LINKEXTERNAL: "Another website" + LINKFILE: "Download a file" + LINKINTERNAL: "Page on the site" + LINKOPENNEWWIN: "Open link in a new window?" + LINKTO: "Link to" PAGE: Page - SUBJECT: 'Email subject' + SUBJECT: "Email subject" URL: URL - URLDESCRIPTION: 'Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.

Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page.' - URLNOTANOEMBEDRESOURCE: 'The URL ''{url}'' could not be turned into a media resource.' - UpdateMEDIA: 'Update Media' + URLDESCRIPTION: "Insert videos and images from the web into your page simply by entering the URL of the file. Make sure you have the rights or permissions before sharing media directly from the web.

Please note that files are not added to the file store of the CMS but embeds the file from its original location, if for some reason the file is no longer available in its original location it will no longer be viewable on this page." + URLNOTANOEMBEDRESOURCE: "The URL '{url}' could not be turned into a media resource." + UpdateMEDIA: "Update Media" Image: PLURALNAME: Files SINGULARNAME: File @@ -421,135 +421,135 @@ en: PLURALNAME: Files SINGULARNAME: File Image_iframe_ss: - TITLE: 'Image Uploading Iframe' + TITLE: "Image Uploading Iframe" LeftAndMain: CANCEL: Cancel - CANT_REORGANISE: 'You do not have permission to alter Top level pages. Your change was not saved.' + CANT_REORGANISE: "You do not have permission to alter Top level pages. Your change was not saved." DELETED: Deleted. - DropdownBatchActionsDefault: 'Choose an action...' + DropdownBatchActionsDefault: Actions HELP: Help - PAGETYPE: 'Page type' - PERMAGAIN: 'You have been logged out of the CMS. If you would like to log in again, enter a username and password below.' - PERMALREADY: 'I''m sorry, but you can''t access that part of the CMS. If you want to log in as someone else, do so below.' - PERMDEFAULT: 'You must be logged in to access the administration area; please enter your credentials below.' - PLEASESAVE: 'Please Save Page: This page could not be updated because it hasn''t been saved yet.' + PAGETYPE: "Page type: " + PERMAGAIN: "You have been logged out of the CMS. If you would like to log in again, enter a username and password below." + PERMALREADY: "I'm sorry, but you can't access that part of the CMS. If you want to log in as someone else, do so below." + PERMDEFAULT: "You must be logged in to access the administration area; please enter your credentials below." + PLEASESAVE: "Please Save Page: This page could not be upated because it hasn't been saved yet." PreviewButton: Preview - REORGANISATIONSUCCESSFUL: 'Reorganised the site tree successfully.' + REORGANISATIONSUCCESSFUL: "Reorganised the site tree successfully." SAVEDUP: Saved. - ShowAsList: 'show as list' - TooManyPages: 'Too many pages' - ValidationError: 'Validation error' + ShowAsList: "show as list" + TooManyPages: "Too many pages" + ValidationError: "Validation error" VersionUnknown: unknown LeftAndMain_Menu_ss: Hello: Hi - LOGOUT: 'Log out' + LOGOUT: "Log out" ListboxField: - SOURCE_VALIDATION: 'Please select a value within the list provided. %s is not a valid option' + SOURCE_VALIDATION: "Please select a value within the list provided. %s is not a valid option" LoginAttempt: - Email: 'Email Address' - IP: 'IP Address' - PLURALNAME: 'Login Attempts' - SINGULARNAME: 'Login Attempt' + Email: "Email Address" + IP: "IP Address" + PLURALNAME: "Login Attempts" + SINGULARNAME: "Login Attempt" Status: Status Member: - ADDGROUP: 'Add group' - BUTTONCHANGEPASSWORD: 'Change Password' - BUTTONLOGIN: 'Log in' - BUTTONLOGINOTHER: 'Log in as someone else' - BUTTONLOSTPASSWORD: 'I''ve lost my password' - CANTEDIT: 'You don''t have permission to do that' - CONFIRMNEWPASSWORD: 'Confirm New Password' - CONFIRMPASSWORD: 'Confirm Password' - CURRENT_PASSWORD: 'Current Password' - DATEFORMAT: 'Date format' - DefaultAdminFirstname: 'Default Admin' + ADDGROUP: "Add group" + BUTTONCHANGEPASSWORD: "Change Password" + BUTTONLOGIN: "Log in" + BUTTONLOGINOTHER: "Log in as someone else" + BUTTONLOSTPASSWORD: "I've lost my password" + CANTEDIT: "You don't have permission to do that" + CONFIRMNEWPASSWORD: "Confirm New Password" + CONFIRMPASSWORD: "Confirm Password" + CURRENT_PASSWORD: "Current Password" + DATEFORMAT: "Date format" + DefaultAdminFirstname: "Default Admin" DefaultDateTime: default - EDIT_PASSWORD: 'New Password' + EDIT_PASSWORD: "New Password" EMAIL: Email - EMPTYNEWPASSWORD: 'The new password can''t be empty, please try again' - ENTEREMAIL: 'Please enter an email address to get a password reset link.' - ERRORLOCKEDOUT2: 'Your account has been temporarily disabled because of too many failed attempts at logging in. Please try again in {count} minutes.' - ERRORNEWPASSWORD: 'You have entered your new password differently, try again' - ERRORPASSWORDNOTMATCH: 'Your current password does not match, please try again' - ERRORWRONGCRED: 'The provided details don''t seem to be correct. Please try again.' - FIRSTNAME: 'First Name' - INTERFACELANG: 'Interface Language' - INVALIDNEWPASSWORD: 'We couldn''t accept that password: {password}' - KEEPMESIGNEDIN: 'Keep me signed in' - LOGGEDINAS: 'You''re logged in as {name}.' - NEWPASSWORD: 'New Password' - NoPassword: 'There is no password on this member.' + EMPTYNEWPASSWORD: "The new password can't be empty, please try again" + ENTEREMAIL: "Please enter an email address to get a password reset link." + ERRORLOCKEDOUT2: "Your account has been temporarily disabled because of too many failed attempts at logging in. Please try again in {count} minutes." + ERRORNEWPASSWORD: "You have entered your new password differently, try again" + ERRORPASSWORDNOTMATCH: "Your current password does not match, please try again" + ERRORWRONGCRED: "The provided details don't seem to be correct. Please try again." + FIRSTNAME: "First Name" + INTERFACELANG: "Interface Language" + INVALIDNEWPASSWORD: "We couldn't accept that password: {password}" + KEEPMESIGNEDIN: "Keep me signed in" + LOGGEDINAS: "You're logged in as {name}." + NEWPASSWORD: "New Password" + NoPassword: "There is no password on this member." PASSWORD: Password - PASSWORDEXPIRED: 'Your password has expired. Please choose a new one.' + PASSWORDEXPIRED: "Your password has expired. Please choose a new one." PLURALNAME: Members - REMEMBERME: 'Remember me next time?' + REMEMBERME: "Remember me next time?" SINGULARNAME: Member - SUBJECTPASSWORDCHANGED: 'Your password has been changed' - SUBJECTPASSWORDRESET: 'Your password reset link' + SUBJECTPASSWORDCHANGED: "Your password has been changed" + SUBJECTPASSWORDRESET: "Your password reset link" SURNAME: Surname - TIMEFORMAT: 'Time format' - VALIDATIONMEMBEREXISTS: 'A member already exists with the same {identifier}' - ValidationIdentifierFailed: 'Can''t overwrite existing member #{id} with identical identifier ({name} = {value}))' - WELCOMEBACK: 'Welcome Back, {firstname}' - YOUROLDPASSWORD: 'Your old password' + TIMEFORMAT: "Time format" + VALIDATIONMEMBEREXISTS: "A member already exists with the same %s" + ValidationIdentifierFailed: "Can't overwrite existing member #{id} with identical identifier ({name} = {value}))" + WELCOMEBACK: "Welcome Back, {firstname}" + YOUROLDPASSWORD: "Your old password" belongs_many_many_Groups: Groups - db_LastVisited: 'Last Visited Date' - db_Locale: 'Interface Locale' - db_LockedOutUntil: 'Locked out until' - db_NumVisit: 'Number of Visits' + db_LastVisited: "Last Visited Date" + db_Locale: "Interface Locale" + db_LockedOutUntil: "Locked out until" + db_NumVisit: "Number of Visits" db_Password: Password - db_PasswordExpiry: 'Password Expiry Date' + db_PasswordExpiry: "Password Expiry Date" MemberAuthenticator: - TITLE: 'E-mail & Password' + TITLE: "E-mail & Password" MemberDatetimeOptionsetField: - AMORPM: 'AM (Ante meridiem) or PM (Post meridiem)' + AMORPM: "AM (Ante meridiem) or PM (Post meridiem)" Custom: Custom - DATEFORMATBAD: 'Date format is invalid' - DAYNOLEADING: 'Day of month without leading zero' - DIGITSDECFRACTIONSECOND: 'One or more digits representing a decimal fraction of a second' - FOURDIGITYEAR: 'Four-digit year' - FULLNAMEMONTH: 'Full name of month (e.g. June)' - HOURNOLEADING: 'Hour without leading zero' - HOURNOLEADING24: 'Hour without leading zero, 24 hour format' - MINUTENOLEADING: 'Minute without leading zero' - MONTHNOLEADING: 'Month digit without leading zero' + DATEFORMATBAD: "Date format is invalid" + DAYNOLEADING: "Day of month without leading zero" + DIGITSDECFRACTIONSECOND: "One or more digits representing a decimal fraction of a second" + FOURDIGITYEAR: "Four-digit year" + FULLNAMEMONTH: "Full name of month (e.g. June)" + HOURNOLEADING: "Hour without leading zero" + HOURNOLEADING24: "Hour without leading zero, 24 hour format" + MINUTENOLEADING: "Minute without leading zero" + MONTHNOLEADING: "Month digit without leading zero" Preview: Preview - SHORTMONTH: 'Short name of month (e.g. Jun)' - TWODIGITDAY: 'Two-digit day of month' - TWODIGITHOUR: 'Two digits of hour (00 through 23)' - TWODIGITMINUTE: 'Two digits of minute (00 through 59)' - TWODIGITMONTH: 'Two-digit month (01=January, etc.)' - TWODIGITSECOND: 'Two digits of second (00 through 59)' - TWODIGITYEAR: 'Two-digit year' - Toggle: 'Show formatting help' + SHORTMONTH: "Short name of month (e.g. Jun)" + TWODIGITDAY: "Two-digit day of month" + TWODIGITHOUR: "Two digits of hour (00 through 23)" + TWODIGITMINUTE: "Two digits of minute (00 through 59)" + TWODIGITMONTH: "Two-digit month (01=January, etc.)" + TWODIGITSECOND: "Two digits of second (00 through 59)" + TWODIGITYEAR: "Two-digit year" + Toggle: "Show formatting help" MemberImportForm: - Help1: '

Import users in CSV format (comma-separated values). Show advanced usage

' - Help2: '

Advanced usage

' - ResultCreated: 'Created {count} members' - ResultDeleted: 'Deleted %d members' - ResultNone: 'No changes' - ResultUpdated: 'Updated {count} members' + Help1: "

Import users in CSV format (comma-separated values). Show advanced usage

" + Help2: "

Advanced usage

" + ResultCreated: "Created {count} members" + ResultDeleted: "Deleted %d members" + ResultNone: "No changes" + ResultUpdated: "Updated {count} members" MemberPassword: - PLURALNAME: 'Member Passwords' - SINGULARNAME: 'Member Password' + PLURALNAME: "Member Passwords" + SINGULARNAME: "Member Password" MemberTableField: - APPLY_FILTER: 'Apply Filter' + APPLY_FILTER: "Apply Filter" ModelAdmin: DELETE: Delete - DELETEDRECORDS: 'Deleted {count} records.' - EMPTYBEFOREIMPORT: 'Replace data' - IMPORT: 'Import from CSV' - IMPORTEDRECORDS: 'Imported {count} records.' - NOCSVFILE: 'Please browse for a CSV file to import' - NOIMPORT: 'Nothing to import' + DELETEDRECORDS: "Deleted {count} records." + EMPTYBEFOREIMPORT: "Replace data" + IMPORT: "Import from CSV" + IMPORTEDRECORDS: "Imported {count} records." + NOCSVFILE: "Please browse for a CSV file to import" + NOIMPORT: "Nothing to import" RESET: Reset - Title: 'Data Models' - UPDATEDRECORDS: 'Updated {count} records.' + Title: "Data Models" + UPDATEDRECORDS: "Updated {count} records." ModelAdmin_ImportSpec_ss: - IMPORTSPECFIELDS: 'Database columns' - IMPORTSPECLINK: 'Show Specification for %s' + IMPORTSPECFIELDS: "Database columns" + IMPORTSPECLINK: "Show Specification for %s" IMPORTSPECRELATIONS: Relations - IMPORTSPECTITLE: 'Specification for %s' + IMPORTSPECTITLE: "Specification for %s" ModelAdmin_Tools_ss: FILTER: Filter IMPORT: Import @@ -560,100 +560,100 @@ en: FIELDLABELAMOUNT: Amount FIELDLABELCURRENCY: Currency MultiSelectField: - SOURCE_VALIDATION: 'Please select values within the list provided. Invalid option(s) {value} given' + SOURCE_VALIDATION: "Please select values within the list provided. Invalid option(s) {value} given" NullableField: - IsNullLabel: 'Is Null' + IsNullLabel: "Is Null" NumericField: - VALIDATION: '''{value}'' is not a number, only numbers can be accepted for this field' + VALIDATION: "'{value}' is not a number, only numbers can be accepted for this field" Pagination: Page: Page View: View PasswordValidator: - LOWCHARSTRENGTH: 'Please increase password strength by adding some of the following characters: %s' - PREVPASSWORD: 'You''ve already used that password in the past, please choose a new password' - TOOSHORT: 'Password is too short, it must be %s or more characters long' + LOWCHARSTRENGTH: "Please increase password strength by adding some of the following characters: %s" + PREVPASSWORD: "You've already used that password in the past, please choose a new password" + TOOSHORT: "Password is too short, it must be %s or more characters long" Permission: AdminGroup: Administrator - CMS_ACCESS_CATEGORY: 'CMS Access' - FULLADMINRIGHTS: 'Full administrative rights' - FULLADMINRIGHTS_HELP: 'Implies and overrules all other assigned permissions.' + CMS_ACCESS_CATEGORY: "CMS Access" + FULLADMINRIGHTS: "Full administrative rights" + FULLADMINRIGHTS_HELP: "Implies and overrules all other assigned permissions." PLURALNAME: Permissions SINGULARNAME: Permission PermissionCheckboxSetField: - AssignedTo: 'assigned to "{title}"' - FromGroup: 'inherited from group "{title}"' - FromRole: 'inherited from role "{title}"' - FromRoleOnGroup: 'inherited from role "%s" on group "%s"' + AssignedTo: "assigned to \"{title}\"" + FromGroup: "inherited from group \"{title}\"" + FromRole: "inherited from role \"{title}\"" + FromRoleOnGroup: "inherited from role \"%s\" on group \"%s\"" PermissionRole: - OnlyAdminCanApply: 'Only admin can apply' + OnlyAdminCanApply: "Only admin can apply" PLURALNAME: Roles SINGULARNAME: Role Title: Title PermissionRoleCode: - PLURALNAME: 'Permission Role Codes' - PermsError: 'Can''t assign code "%s" with privileged permissions (requires ADMIN access)' - SINGULARNAME: 'Permission Role Code' + PLURALNAME: "Permission Role Codes" + PermsError: "Can't assign code \"%s\" with privileged permissions (requires ADMIN access)" + SINGULARNAME: "Permission Role Code" Permissions: - PERMISSIONS_CATEGORY: 'Roles and access permissions' - UserPermissionsIntro: 'Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups.' + PERMISSIONS_CATEGORY: "Roles and access permissions" + UserPermissionsIntro: "Assigning groups to this user will adjust the permissions they have. See the groups section for details of permissions on individual groups." PhoneNumberField: - VALIDATION: 'Please enter a valid phone number' + VALIDATION: "Please enter a valid phone number" RememberLoginHash: - PLURALNAME: 'Remember Login Hashs' - SINGULARNAME: 'Remember Login Hash' + PLURALNAME: "Remember Login Hashs" + SINGULARNAME: "Remember Login Hash" Security: - ALREADYLOGGEDIN: 'You don''t have access to this page. If you have another account that can access that page, you can log in again below.' - BUTTONSEND: 'Send me the password reset link' - CHANGEPASSWORDBELOW: 'You can change your password below.' - CHANGEPASSWORDHEADER: 'Change your password' - ENTERNEWPASSWORD: 'Please enter a new password.' - ERRORPASSWORDPERMISSION: 'You must be logged in in order to change your password!' - LOGGEDOUT: 'You have been logged out. If you would like to log in again, enter your credentials below.' - LOGIN: 'Log in' - LOSTPASSWORDHEADER: 'Lost Password' - NOTEPAGESECURED: 'That page is secured. Enter your credentials below and we will send you right along.' - NOTERESETLINKINVALID: '

The password reset link is invalid or expired.

You can request a new one here or change your password after you logged in.

' - NOTERESETPASSWORD: 'Enter your e-mail address and we will send you a link with which you can reset your password' - PASSWORDSENTHEADER: 'Password reset link sent to ''{email}''' - PASSWORDSENTTEXT: 'Thank you! A reset link has been sent to ''{email}'', provided an account exists for this email address.' + ALREADYLOGGEDIN: "You don't have access to this page. If you have another account that can access that page, you can log in again below." + BUTTONSEND: "Send me the password reset link" + CHANGEPASSWORDBELOW: "You can change your password below." + CHANGEPASSWORDHEADER: "Change your password" + ENTERNEWPASSWORD: "Please enter a new password." + ERRORPASSWORDPERMISSION: "You must be logged in in order to change your password!" + LOGGEDOUT: "You have been logged out. If you would like to log in again, enter your credentials below." + LOGIN: "Log in" + LOSTPASSWORDHEADER: "Lost Password" + NOTEPAGESECURED: "That page is secured. Enter your credentials below and we will send you right along." + NOTERESETLINKINVALID: "

The password reset link is invalid or expired.

You can request a new one here or change your password after you logged in.

" + NOTERESETPASSWORD: "Enter your e-mail address and we will send you a link with which you can reset your password" + PASSWORDSENTHEADER: "Password reset link sent to '{email}'" + PASSWORDSENTTEXT: "Thank you! A reset link has been sent to '{email}', provided an account exists for this email address." SecurityAdmin: - ACCESS_HELP: 'Allow viewing, adding and editing users, as well as assigning permissions and roles to them.' - APPLY_ROLES: 'Apply roles to groups' - APPLY_ROLES_HELP: 'Ability to edit the roles assigned to a group. Requires the "Access to ''Users'' section" permission.' - EDITPERMISSIONS: 'Manage permissions for groups' - EDITPERMISSIONS_HELP: 'Ability to edit Permissions and IP Addresses for a group. Requires the "Access to ''Security'' section" permission.' - GROUPNAME: 'Group name' - IMPORTGROUPS: 'Import groups' - IMPORTUSERS: 'Import users' + ACCESS_HELP: "Allow viewing, adding and editing users, as well as assigning permissions and roles to them." + APPLY_ROLES: "Apply roles to groups" + APPLY_ROLES_HELP: "Ability to edit the roles assigned to a group. Requires the \"Access to 'Users' section\" permission." + EDITPERMISSIONS: "Manage permissions for groups" + EDITPERMISSIONS_HELP: "Ability to edit Permissions and IP Addresses for a group. Requires the \"Access to 'Security' section\" permission." + GROUPNAME: "Group name" + IMPORTGROUPS: "Import groups" + IMPORTUSERS: "Import users" MEMBERS: Members MENUTITLE: Security - MemberListCaution: 'Caution: Removing members from this list will remove them from all groups and the database' - NEWGROUP: 'New Group' + MemberListCaution: "Caution: Removing members from this list will remove them from all groups and the database" + NEWGROUP: "New Group" PERMISSIONS: Permissions ROLES: Roles - ROLESDESCRIPTION: 'Roles are predefined sets of permissions, and can be assigned to groups.
They are inherited from parent groups if required.' + ROLESDESCRIPTION: "Roles are predefined sets of permissions, and can be assigned to groups.
They are inherited from parent groups if required." TABROLES: Roles Users: Users SecurityAdmin_MemberImportForm: - BtnImport: 'Import from CSV' - FileFieldLabel: 'CSV File (Allowed extensions: *.csv)' + BtnImport: "Import from CSV" + FileFieldLabel: "CSV File (Allowed extensions: *.csv)" SilverStripeNavigator: Auto: Auto - ChangeViewMode: 'Change view mode' + ChangeViewMode: "Change view mode" Desktop: Desktop - DualWindowView: 'Dual Window' + DualWindowView: "Dual Window" Edit: Edit - EditView: 'Edit mode' + EditView: "Edit mode" Mobile: Mobile - PreviewState: 'Preview State' - PreviewView: 'Preview mode' + PreviewState: "Preview State" + PreviewView: "Preview mode" Responsive: Responsive - SplitView: 'Split mode' + SplitView: "Split mode" Tablet: Tablet - ViewDeviceWidth: 'Select a preview width' + ViewDeviceWidth: "Select a preview width" Width: width SilverStripe\Admin\CMSProfileController: - MENUTITLE: 'My Profile' + MENUTITLE: "My Profile" SilverStripe\Admin\CampaignAdmin: MENUTITLE: Campaigns SilverStripe\Admin\SecurityAdmin: @@ -668,26 +668,26 @@ en: PLURALNAME: Images SINGULARNAME: Image SilverStripe\ORM\DataObject: - PLURALNAME: 'Data Objects' - SINGULARNAME: 'Data Object' + PLURALNAME: "Data Objects" + SINGULARNAME: "Data Object" SilverStripe\ORM\Versioning\ChangeSet: PLURALNAME: Campaigns SINGULARNAME: Campaign SilverStripe\ORM\Versioning\ChangeSetItem: - PLURALNAME: 'Change Set Items' - SINGULARNAME: 'Change Set Item' + PLURALNAME: "Change Set Items" + SINGULARNAME: "Change Set Item" SilverStripe\Security\Group: PLURALNAME: Groups SINGULARNAME: Group SilverStripe\Security\LoginAttempt: - PLURALNAME: 'Login Attempts' - SINGULARNAME: 'Login Attempt' + PLURALNAME: "Login Attempts" + SINGULARNAME: "Login Attempt" SilverStripe\Security\Member: PLURALNAME: Members SINGULARNAME: Member SilverStripe\Security\MemberPassword: - PLURALNAME: 'Member Passwords' - SINGULARNAME: 'Member Password' + PLURALNAME: "Member Passwords" + SINGULARNAME: "Member Password" SilverStripe\Security\Permission: PLURALNAME: Permissions SINGULARNAME: Permission @@ -695,64 +695,64 @@ en: PLURALNAME: Roles SINGULARNAME: Role SilverStripe\Security\PermissionRoleCode: - PLURALNAME: 'Permission Role Codes' - SINGULARNAME: 'Permission Role Code' + PLURALNAME: "Permission Role Codes" + SINGULARNAME: "Permission Role Code" SilverStripe\Security\RememberLoginHash: - PLURALNAME: 'Remember Login Hashs' - SINGULARNAME: 'Remember Login Hash' + PLURALNAME: "Remember Login Hashs" + SINGULARNAME: "Remember Login Hash" SiteTree: TABMAIN: Main TableListField: - CSVEXPORT: 'Export to CSV' + CSVEXPORT: "Export to CSV" Print: Print TableListField_PageControls_ss: OF: of TextField: - VALIDATEMAXLENGTH: 'The value for {name} must not exceed {maxLength} characters in length' + VALIDATEMAXLENGTH: "The value for {name} must not exceed {maxLength} characters in length" TimeField: - VALIDATEFORMAT: 'Please enter a valid time format ({format})' + VALIDATEFORMAT: "Please enter a valid time format ({format})" ToggleField: LESS: less MORE: more UploadField: - ATTACHFILE: 'Attach a file' - ATTACHFILES: 'Attach files' - AttachFile: 'Attach file(s)' - CHOOSEANOTHERFILE: 'Choose another file' - CHOOSEANOTHERINFO: 'Replace this file with another one from the file store' - DELETE: 'Delete from files' - DELETEINFO: 'Permanently delete this file from the file store' + ATTACHFILE: "Attach a file" + ATTACHFILES: "Attach files" + AttachFile: "Attach file(s)" + CHOOSEANOTHERFILE: "Choose another file" + CHOOSEANOTHERINFO: "Replace this file with another one from the file store" + DELETE: "Delete from files" + DELETEINFO: "Permanently delete this file from the file store" DOEDIT: Save - DROPFILE: 'drop a file' - DROPFILES: 'drop files' + DROPFILE: "drop a file" + DROPFILES: "drop files" Dimensions: Dimensions EDIT: Edit - EDITINFO: 'Edit this file' - FIELDNOTSET: 'File information not found' - FROMCOMPUTER: 'From your computer' - FROMCOMPUTERINFO: 'Select from files' - FROMFILES: 'From files' - HOTLINKINFO: 'Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so.' - MAXNUMBEROFFILES: 'Max number of {count} file(s) exceeded.' - MAXNUMBEROFFILESONE: 'Can only upload one file' - MAXNUMBEROFFILESSHORT: 'Can only upload {count} files' - OVERWRITEWARNING: 'File with the same name already exists' + EDITINFO: "Edit this file" + FIELDNOTSET: "File information not found" + FROMCOMPUTER: "From your computer" + FROMCOMPUTERINFO: "Select from files" + FROMFILES: "From files" + HOTLINKINFO: "Info: This image will be hotlinked. Please ensure you have permissions from the original site creator to do so." + MAXNUMBEROFFILES: "Max number of {count} file(s) exceeded." + MAXNUMBEROFFILESONE: "Can only upload one file" + MAXNUMBEROFFILESSHORT: "Can only upload {count} files" + OVERWRITEWARNING: "File with the same name already exists" REMOVE: Remove - REMOVEINFO: 'Remove this file from here, but do not delete it from the file store' - STARTALL: 'Start all' + REMOVEINFO: "Remove this file from here, but do not delete it from the file store" + STARTALL: "Start all" Saved: Saved - UPLOADSINTO: 'saves into /{path}' + UPLOADSINTO: "saves into /{path}" Versioned: - INFERRED_TITLE: 'Generated by publish of ''{title}'' at {created}' + INFERRED_TITLE: "Generated by publish of '{title}' at {created}" has_many_Versions: Versions VersionedGridFieldItemRequest: ARCHIVE: Archive - Archived: 'Archived %s %s' - BUTTONARCHIVEDESC: 'Unpublish and send to archive' + Archived: "Archived %s %s" + BUTTONARCHIVEDESC: "Unpublish and send to archive" BUTTONPUBLISH: Publish BUTTONUNPUBLISH: Unpublish - BUTTONUNPUBLISHDESC: 'Remove this record from the published site' - Published: 'Published {name} {link}' - Unpublished: 'Unpublished %s %s' + BUTTONUNPUBLISHDESC: "Remove this record from the published site" + Published: "Published {name} {link}" + Unpublished: "Unpublished %s %s" i18n: - PLURAL: '{number} {form}' + PLURAL: "{number} {form}" diff --git a/parsers/ShortcodeParser.php b/parsers/ShortcodeParser.php index 6ea8867cb..db69e677e 100644 --- a/parsers/ShortcodeParser.php +++ b/parsers/ShortcodeParser.php @@ -606,9 +606,9 @@ class ShortcodeParser extends Object { if(!empty($tag['attrs']['location'])) $class = $tag['attrs']['location']; else if(!empty($tag['attrs']['class'])) $class = $tag['attrs']['class']; - $location = self::INLINE; - if($class == 'left' || $class == 'right') $location = self::BEFORE; - if($class == 'center' || $class == 'leftALone') $location = self::SPLIT; + $location = self::INLINE; + if($class == 'left' || $class == 'right') $location = self::BEFORE; + if($class == 'center' || $class == 'leftAlone') $location = self::SPLIT; if(!$parent) { if($location !== self::INLINE) {