diff --git a/admin/javascript/lang/hr.js b/admin/javascript/lang/hr.js
new file mode 100644
index 000000000..9762f754d
--- /dev/null
+++ b/admin/javascript/lang/hr.js
@@ -0,0 +1,30 @@
+// This file was generated by silverstripe/cow from admin/javascript/lang/src/hr.js.
+// See https://github.com/tractorcow/cow for details
+if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') {
+ if (typeof(console) !== 'undefined') { // eslint-disable-line no-console
+ console.error('Class ss.i18n not defined'); // eslint-disable-line no-console
+ }
+} else {
+ ss.i18n.addDictionary('hr', {
+ "CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
+ "CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
+ "CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
+ "CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
+ "CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
+ "CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Označili ste {num} stranicu(a).\n\nJeste li sigurni da želite odjaviti?",
+ "CMSMAIN.SELECTONEPAGE": "Molimo odaberite bar jednu stranicu",
+ "Campaigns.ADDCAMPAIGN": "Dodaj kampanju",
+ "Campaigns.ITEM_SUMMARY_PLURAL": "%s stavki",
+ "Campaigns.ITEM_SUMMARY_SINGULAR": "%s stavka",
+ "Campaigns.PUBLISHCAMPAIGN": "Objavi kampanju",
+ "Campaigns.REVERTCAMPAIGN": "Vrati",
+ "LeftAndMain.CONFIRMUNSAVED": "Jeste li sigurni da želite otići s ove stranice?\n\nUPOZORENJE: Vaše promjene nisu spremljene.\n\nPritisnike OK za nastavka, ili Odustani za ostati na trenutnoj stranici.",
+ "LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORENJE: Vaše promjene nisu spremljene.",
+ "LeftAndMain.PAGEWASDELETED": "Ova stranica je obrisana. Za uređivanje stranice, odaberite je s lijeve stranice.",
+ "ModelAdmin.DELETED": "Obrisano",
+ "ModelAdmin.REALLYDELETE": "Jeste li sigurni da želite obrisati?",
+ "ModelAdmin.SAVED": "Spremljeno",
+ "ModelAdmin.VALIDATIONERROR": "Greška validacije",
+ "SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Jeste li sigurni da želite obrisati %s grupe?"
+});
+}
\ No newline at end of file
diff --git a/admin/javascript/lang/ru.js b/admin/javascript/lang/ru.js
index c503fc19e..c2b1fc0ae 100644
--- a/admin/javascript/lang/ru.js
+++ b/admin/javascript/lang/ru.js
@@ -6,18 +6,18 @@ if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') {
}
} else {
ss.i18n.addDictionary('ru', {
- "CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
- "CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
- "CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
- "CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
- "CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
- "CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
- "CMSMAIN.SELECTONEPAGE": "Please select at least one page",
- "Campaigns.ADDCAMPAIGN": "Add campaign",
- "Campaigns.ITEM_SUMMARY_PLURAL": "%s items",
- "Campaigns.ITEM_SUMMARY_SINGULAR": "%s item",
- "Campaigns.PUBLISHCAMPAIGN": "Publish campaign",
- "Campaigns.REVERTCAMPAIGN": "Revert",
+ "CMSMAIN.BATCH_ARCHIVE_PROMPT": "Вы выбрали {num} страниц(у)\nВы уверены что хотите отправить их в архив?\n\nПубликации этих страниц и их под-страниц будут отменены и отправлены в архив. ",
+ "CMSMAIN.BATCH_DELETELIVE_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите отменить публикацию этих страниц?",
+ "CMSMAIN.BATCH_DELETE_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите их удалить?",
+ "CMSMAIN.BATCH_PUBLISH_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите их опубликовать?",
+ "CMSMAIN.BATCH_RESTORE_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите восстановить эти страницы в черновик?\n\nПод-страницы архивных страниц будут восстановлены в корень если эти страницы также не отмечены для восстановления.",
+ "CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите отменить их публикацию?",
+ "CMSMAIN.SELECTONEPAGE": "Пожалуйста, выберите хотя бы одну страницу.",
+ "Campaigns.ADDCAMPAIGN": "Добавить кампанию",
+ "Campaigns.ITEM_SUMMARY_PLURAL": "%s элементов",
+ "Campaigns.ITEM_SUMMARY_SINGULAR": "%s элемент",
+ "Campaigns.PUBLISHCAMPAIGN": "Опубликовать кампанию",
+ "Campaigns.REVERTCAMPAIGN": "Отменить",
"LeftAndMain.CONFIRMUNSAVED": "Вы действительно хотите покинуть эту страницу?\n\nВНИМАНИЕ: Ваши изменения не были сохранены.\n\nНажмите ОК, чтобы продолжить или Отмена, чтобы остаться на текущей странице.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ВНИМАНИЕ: Ваши изменения не были сохранены",
"LeftAndMain.PAGEWASDELETED": "Эта страница была удалена. Чтобы изменить страницу, выберите её из списка слева.",
diff --git a/admin/javascript/lang/src/hr.js b/admin/javascript/lang/src/hr.js
new file mode 100644
index 000000000..7909423df
--- /dev/null
+++ b/admin/javascript/lang/src/hr.js
@@ -0,0 +1,22 @@
+{
+ "CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
+ "CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
+ "CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
+ "CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
+ "CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
+ "CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Označili ste {num} stranicu(a).\n\nJeste li sigurni da želite odjaviti?",
+ "CMSMAIN.SELECTONEPAGE": "Molimo odaberite bar jednu stranicu",
+ "Campaigns.ADDCAMPAIGN": "Dodaj kampanju",
+ "Campaigns.ITEM_SUMMARY_PLURAL": "%s stavki",
+ "Campaigns.ITEM_SUMMARY_SINGULAR": "%s stavka",
+ "Campaigns.PUBLISHCAMPAIGN": "Objavi kampanju",
+ "Campaigns.REVERTCAMPAIGN": "Vrati",
+ "LeftAndMain.CONFIRMUNSAVED": "Jeste li sigurni da želite otići s ove stranice?\n\nUPOZORENJE: Vaše promjene nisu spremljene.\n\nPritisnike OK za nastavka, ili Odustani za ostati na trenutnoj stranici.",
+ "LeftAndMain.CONFIRMUNSAVEDSHORT": "UPOZORENJE: Vaše promjene nisu spremljene.",
+ "LeftAndMain.PAGEWASDELETED": "Ova stranica je obrisana. Za uređivanje stranice, odaberite je s lijeve stranice.",
+ "ModelAdmin.DELETED": "Obrisano",
+ "ModelAdmin.REALLYDELETE": "Jeste li sigurni da želite obrisati?",
+ "ModelAdmin.SAVED": "Spremljeno",
+ "ModelAdmin.VALIDATIONERROR": "Greška validacije",
+ "SecurityAdmin.BATCHACTIONSDELETECONFIRM": "Jeste li sigurni da želite obrisati %s grupe?"
+}
\ No newline at end of file
diff --git a/admin/javascript/lang/src/ru.js b/admin/javascript/lang/src/ru.js
index 48d176240..581f85b5d 100644
--- a/admin/javascript/lang/src/ru.js
+++ b/admin/javascript/lang/src/ru.js
@@ -1,16 +1,16 @@
{
- "CMSMAIN.BATCH_ARCHIVE_PROMPT": "You have {num} page(s) selected.\n\nAre you sure you want to archive these pages?\n\nThese pages and all of their children pages will be unpublished and sent to the archive.",
- "CMSMAIN.BATCH_DELETELIVE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete these pages from live?",
- "CMSMAIN.BATCH_DELETE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to delete?",
- "CMSMAIN.BATCH_PUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to publish?",
- "CMSMAIN.BATCH_RESTORE_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to restore to stage?\n\nChildren of archived pages will be restored to the root level, unless those pages are also being restored.",
- "CMSMAIN.BATCH_UNPUBLISH_PROMPT": "You have {num} page(s) selected.\n\nDo you really want to unpublish",
- "CMSMAIN.SELECTONEPAGE": "Please select at least one page",
- "Campaigns.ADDCAMPAIGN": "Add campaign",
- "Campaigns.ITEM_SUMMARY_PLURAL": "%s items",
- "Campaigns.ITEM_SUMMARY_SINGULAR": "%s item",
- "Campaigns.PUBLISHCAMPAIGN": "Publish campaign",
- "Campaigns.REVERTCAMPAIGN": "Revert",
+ "CMSMAIN.BATCH_ARCHIVE_PROMPT": "Вы выбрали {num} страниц(у)\nВы уверены что хотите отправить их в архив?\n\nПубликации этих страниц и их под-страниц будут отменены и отправлены в архив. ",
+ "CMSMAIN.BATCH_DELETELIVE_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите отменить публикацию этих страниц?",
+ "CMSMAIN.BATCH_DELETE_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите их удалить?",
+ "CMSMAIN.BATCH_PUBLISH_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите их опубликовать?",
+ "CMSMAIN.BATCH_RESTORE_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите восстановить эти страницы в черновик?\n\nПод-страницы архивных страниц будут восстановлены в корень если эти страницы также не отмечены для восстановления.",
+ "CMSMAIN.BATCH_UNPUBLISH_PROMPT": "Вы выбрали {num} страниц(у)\n\nВы уверены что хотите отменить их публикацию?",
+ "CMSMAIN.SELECTONEPAGE": "Пожалуйста, выберите хотя бы одну страницу.",
+ "Campaigns.ADDCAMPAIGN": "Добавить кампанию",
+ "Campaigns.ITEM_SUMMARY_PLURAL": "%s элементов",
+ "Campaigns.ITEM_SUMMARY_SINGULAR": "%s элемент",
+ "Campaigns.PUBLISHCAMPAIGN": "Опубликовать кампанию",
+ "Campaigns.REVERTCAMPAIGN": "Отменить",
"LeftAndMain.CONFIRMUNSAVED": "Вы действительно хотите покинуть эту страницу?\n\nВНИМАНИЕ: Ваши изменения не были сохранены.\n\nНажмите ОК, чтобы продолжить или Отмена, чтобы остаться на текущей странице.",
"LeftAndMain.CONFIRMUNSAVEDSHORT": "ВНИМАНИЕ: Ваши изменения не были сохранены",
"LeftAndMain.PAGEWASDELETED": "Эта страница была удалена. Чтобы изменить страницу, выберите её из списка слева.",
diff --git a/control/VersionedRequestFilter.php b/control/VersionedRequestFilter.php
index ea7b277e5..40b1b05a8 100644
--- a/control/VersionedRequestFilter.php
+++ b/control/VersionedRequestFilter.php
@@ -23,7 +23,7 @@ class VersionedRequestFilter implements RequestFilter {
'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.'
),
- Controller::join_links(Director::baseURL(), $request->getURL(), "?stage=Live")
+ Convert::raw2xml(Controller::join_links(Director::baseURL(), $request->getURL(), "?stage=Live"))
);
// Force output since RequestFilter::preRequest doesn't support response overriding
diff --git a/docs/en/04_Changelogs/3.3.3.md b/docs/en/04_Changelogs/3.3.3.md
new file mode 100644
index 000000000..db2dccf02
--- /dev/null
+++ b/docs/en/04_Changelogs/3.3.3.md
@@ -0,0 +1,49 @@
+# 3.3.3
+
+
+
+## Change Log
+
+### Security
+
+ * 2016-08-02 [049cdef](https://github.com/silverstripe/silverstripe-framework/commit/049cdefacfd3122d59d5488c1317f999fe8aacc4) Fix 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-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-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 [efa20d2](https://github.com/silverstripe-labs/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-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)
+
+### Bugfixes
+
+ * 2016-08-15 [a6a9cd7](https://github.com/silverstripe/silverstripe-cms/commit/a6a9cd729fd24b19f7b39fdeb867a491489687e0) Fix regression in FormField casting (Damian Mooyman)
+ * 2016-08-02 [cd80d50](https://github.com/silverstripe/silverstripe-framework/commit/cd80d501f9eb12d9aca3e65f742041b142ee659f) Fix unset config options returning isset() = true (Damian Mooyman)
+ * 2016-07-25 [3306deb](https://github.com/silverstripe/silverstripe-cms/commit/3306deb69b88473efac009f46a90cbaa6bb27351) Fix link concatenation in SilverStripeNavigator (#1560) (Damian Mooyman)
+ * 2016-07-20 [319d6d2](https://github.com/silverstripe/silverstripe-framework/commit/319d6d293e873d989c55473a0aa7ae1679010474) Fix doclink (#5827) (Damian Mooyman)
+ * 2016-07-19 [10e06dc](https://github.com/silverstripe/silverstripe-cms/commit/10e06dce507c6f9b3588e4f8669ce36ee843f79e) Fixes #1054 By preventing errors in the CMS _only_. (Russell Michell)
+ * 2016-07-15 [b3fea37](https://github.com/silverstripe/silverstripe-framework/commit/b3fea3723fae822068a6b761a682011b0970fff5) Fixes support for "inline" form actions (fixes #2534) (Loz Calver)
+ * 2016-07-12 [24efc7e](https://github.com/silverstripe/silverstripe-framework/commit/24efc7edf83bb06b5a01080d2742c07ef68d21b2) Fix sorting ArrayList with sql-like syntax (Damian Mooyman)
+ * 2016-07-12 [8123c43](https://github.com/silverstripe/silverstripe-cms/commit/8123c433f01ca1ce59062e45ad90bac13be1e990) Fix getAbsoluteLiveLink() concatenation (Damian Mooyman)
+ * 2016-07-12 [87477a1](https://github.com/silverstripe-labs/silverstripe-reports/commit/87477a1e01d03ebee7eb71c352b3da47da73a9f2) Fix incorrect url manipulation (Damian Mooyman)
+ * 2016-07-07 [4aa1fc2](https://github.com/silverstripe/silverstripe-framework/commit/4aa1fc2d2cafd1c90401896cefb03e64b530a59c) Changed form fields that call renderWith in Field() to call parent::Field() instead (#5783) (Ed Chipman)
+ * 2016-07-07 [27cea80](https://github.com/silverstripe/silverstripe-framework/commit/27cea80b15a986d43b832658b13d01c08a5cfce1) SS_ConfigStaticManifest_Parser failed to handle ::class syntax (fixes #5701) (#5781) (Loz Calver)
+ * 2016-07-01 [39238d9](https://github.com/silverstripe/silverstripe-framework/commit/39238d908e0ed077d7aaf773562749468b6827ee) falsey attribute values in shortcodes now work (Daniel Hensby)
+ * 2016-06-30 [2cdfe6c](https://github.com/silverstripe/silverstripe-framework/commit/2cdfe6cc21f0cb253401fa169b5e1c3bb8738d43) Use RAW for DBField template helpers (Daniel Hensby)
+ * 2016-06-30 [b0f237b](https://github.com/silverstripe/silverstripe-framework/commit/b0f237bb3a336eea9f3a9f9bece2b65661c03cbc) Use RAW instead of Value for parsing shortcodes (Daniel Hensby)
+ * 2016-06-13 [f0d4951](https://github.com/silverstripe/silverstripe-framework/commit/f0d49518152bb9743e32174bc870fac6951c161d) for #5683: Address security warning in CMS when attempting to access <iframe> contents (Back-porting fix from PR #5163) (Patrick Nelson)
+ * 2016-06-08 [bf00810](https://github.com/silverstripe/silverstripe-framework/commit/bf00810e1f5a7164d74ad66f3d03e813d81dfa25) Fix buttonClicked() error (Damian Mooyman)
+ * 2016-05-31 [eba89b9](https://github.com/silverstripe/silverstripe-cms/commit/eba89b9520a0103e4c0cb4b6730c3c0742f8b0d9) OldPageRedirector no longer loops infinitely if 404 thrown on existing page (Daniel Hensby)
+ * 2016-05-31 [341f49c](https://github.com/silverstripe/silverstripe-framework/commit/341f49c630c23ee665c195250c19935763172e36) Fixed lookup of next closest visible field for focus restoring (fixes #5618) (UndefinedOffset)
+ * 2016-05-27 [f1a0aef](https://github.com/silverstripe/silverstripe-framework/commit/f1a0aef0d7e18b921b53a381ff8489bc5c12740b) fix CMS_ACCESS permission being ignored if in incorrect order in array (Damian Mooyman)
+ * 2016-05-21 [decd7e5](https://github.com/silverstripe/silverstripe-framework/commit/decd7e5c57a0839cb873c86782a870326ffa175a) Fix getFinalisedQuery not including all queried columns (Damian Mooyman)
+ * 2016-05-20 [8382685](https://github.com/silverstripe/silverstripe-framework/commit/83826850346bc486bc4599dca56067897961cbfa) #5557 Tests with no DB requirements wont create test DB (Daniel Hensby)
+ * 2016-05-18 [62bd26d](https://github.com/silverstripe/silverstripe-framework/commit/62bd26d11ab9c9bf5b91ba8abb776ab3a4813a18) Fix suppression of display_errors in ErrorControlChain (Damian Mooyman)
+ * 2016-05-16 [79d0590](https://github.com/silverstripe/silverstripe-framework/commit/79d05906286698e7cf7274703088a47c54b106f2) Fix singleton('DBLocale') (Damian Mooyman)
+ * 2016-05-10 [3738d88](https://github.com/silverstripe/silverstripe-framework/commit/3738d888e0fbce48e0d88735edd3455a116937b5) Empty FROM clause (Daniel Hensby)
+ * 2016-05-10 [d1df67d](https://github.com/silverstripe/silverstripe-framework/commit/d1df67d3089a51c0db63fbaed869738453bee482) SQLSelect count methods now cast to int (fixes #5498) (Loz Calver)
+ * 2016-05-05 [cc7a2ae](https://github.com/silverstripe/silverstripe-installer/commit/cc7a2aeb1e03f3f8db67a1ca547280b05dd9372a) Add framework/admin tests (#118) (Daniel Hensby)
+ * 2016-05-02 [096f30e](https://github.com/silverstripe/silverstripe-framework/commit/096f30ebe5ff6446a399abc92813a6ff2d02e04e) Fix GridFieldAddExistingAutocompleter (Damian Mooyman)
+ * 2016-04-28 [6934083](https://github.com/silverstripe/silverstripe-framework/commit/693408330bdd235b92690912ad36ba8adbebdbef) for #5410 to help focus errors occurring on tabs within GridField controlled DataObjects (et al). (Patrick Nelson)
+ * 2016-04-19 [43dcde5](https://github.com/silverstripe/silverstripe-framework/commit/43dcde5197e0995225235f69937ed57bec0cd7e2) Hierarchy was incorrectly unexpanding nodes that had been previously expanded (madmatt)
+ * 2016-01-22 [4bd66b9](https://github.com/silverstripe/silverstripe-framework/commit/4bd66b9d3693492806bb4e9a512f8ae623c6a306) for #4909: Ensure RSSFeed_Entry is instantiated using the injector. (Patrick Nelson)
+ * 2015-04-21 [a7100e9](https://github.com/silverstripe/silverstripe-framework/commit/a7100e9006b27e7885eb2ce851d9bc0839ca4468) Object::parse_class_spec failed to parse associative arrays (Loz Calver)
diff --git a/docs/en/04_Changelogs/rc/3.3.3-rc2.md b/docs/en/04_Changelogs/rc/3.3.3-rc2.md
new file mode 100644
index 000000000..fe58f9607
--- /dev/null
+++ b/docs/en/04_Changelogs/rc/3.3.3-rc2.md
@@ -0,0 +1,19 @@
+# 3.3.3-rc2
+
+
+
+## Change Log
+
+### Security
+
+ * 2016-08-02 [049cdef](https://github.com/silverstripe/silverstripe-framework/commit/049cdefacfd3122d59d5488c1317f999fe8aacc4) Fix 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-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-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 [efa20d2](https://github.com/silverstripe-labs/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-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)
+
+### Bugfixes
+
+ * 2016-08-15 [a6a9cd7](https://github.com/silverstripe/silverstripe-cms/commit/a6a9cd729fd24b19f7b39fdeb867a491489687e0) Fix regression in FormField casting (Damian Mooyman)
diff --git a/forms/CheckboxSetField.php b/forms/CheckboxSetField.php
index 55eb8cf2b..f1ef4bbaa 100644
--- a/forms/CheckboxSetField.php
+++ b/forms/CheckboxSetField.php
@@ -132,11 +132,14 @@ class CheckboxSetField extends OptionsetField {
}
foreach($source as $value => $item) {
+ // Ensure $title is cast for template
if($item instanceof DataObject) {
$value = $item->ID;
- $title = $item->Title;
- } else {
+ $title = $item->obj('Title');
+ } elseif ($item instanceof DBField) {
$title = $item;
+ } else {
+ $title = DBField::create_field('Text', $item);
}
$itemID = $this->ID() . '_' . preg_replace('/[^a-zA-Z0-9]/', '', $value);
diff --git a/forms/OptionsetField.php b/forms/OptionsetField.php
index fb37c075b..9d9aca57b 100644
--- a/forms/OptionsetField.php
+++ b/forms/OptionsetField.php
@@ -62,6 +62,11 @@ class OptionsetField extends DropdownField {
if($source) {
foreach($source as $value => $title) {
+ // Ensure $title is safely cast
+ if ( !($title instanceof DBField) ) {
+ $title = DBField::create_field('Text', $title);
+ }
+
$itemID = $this->ID() . '_' . preg_replace('/[^a-zA-Z0-9]/', '', $value);
$odd = ($odd + 1) % 2;
$extraClass = $odd ? 'odd' : 'even';
diff --git a/javascript/lang/hr.js b/javascript/lang/hr.js
new file mode 100644
index 000000000..5770bf232
--- /dev/null
+++ b/javascript/lang/hr.js
@@ -0,0 +1,49 @@
+// This file was generated by silverstripe/cow from javascript/lang/src/hr.js.
+// See https://github.com/tractorcow/cow for details
+if (typeof(ss) === 'undefined' || typeof(ss.i18n) === 'undefined') {
+ if (typeof(console) !== 'undefined') { // eslint-disable-line no-console
+ console.error('Class ss.i18n not defined'); // eslint-disable-line no-console
+ }
+} else {
+ ss.i18n.addDictionary('hr', {
+ "FILEIFRAMEFIELD.CONFIRMDELETE": "Jeste li sigurni da želite obrisati ovu datoteku?",
+ "FILEIFRAMEFIELD.DELETEFILE": "Obriši datoteku",
+ "FILEIFRAMEFIELD.DELETEIMAGE": "Obriši sliku",
+ "FILEIFRAMEFIELD.UNATTACHFILE": "Un-Attach File",
+ "GRIDFIELD.ERRORINTRANSACTION": "An error occured while fetching data from the server\n Please try again later.",
+ "HASMANYFILEFIELD.UPLOADING": "Prebacujem... %s",
+ "HtmlEditorField.SelectAnchor": "Odaberite sidro",
+ "LOADING": "učitavam...",
+ "LeftAndMain.IncompatBrowserWarning": "Vaš browser nije kompatibilan s CMS sučeljem. Molimo koristite Internet Explorer 7+, Google Chrome 10+ ili Mozilla Firefox 3.5+.",
+ "RESTRICTEDTEXTFIELD.CHARCANTBEUSED": "The character '%s' cannot be used in this field",
+ "TABLEFIELD.DELETECONFIRMMESSAGE": "Are you sure you want to delete this record?",
+ "TreeDropdownField.ENTERTOSEARCH": "Press enter to search",
+ "TreeDropdownField.FieldTitle": "Odaberi",
+ "TreeDropdownField.OpenLink": "Otvori",
+ "TreeDropdownField.SearchFieldTitle": "Odaberi ili traži",
+ "UNIQUEFIELD.CANNOTLEAVEEMPTY": "Ovo polje ne može biti prazno",
+ "UNIQUEFIELD.ENTERNEWVALUE": "Morate unesti novu vrijednost za ovo polje",
+ "UNIQUEFIELD.SUGGESTED": "Promjenjene vrijednosti u '%s' : %s",
+ "UPDATEURL.CONFIRM": "Would you like me to change the URL to:\n\n%s/\n\nClick Ok to change the URL, click Cancel to leave it as:\n\n%s",
+ "UPDATEURL.CONFIRMURLCHANGED": "The URL has been changed to\n'%s'",
+ "UploadField.ConfirmDelete": "Are you sure you want to remove this file from the server filesystem?",
+ "UploadField.EMPTYRESULT": "Empty file upload result",
+ "UploadField.Editing": "Uređujem...",
+ "UploadField.HTML_MAXFILESIZE": "File exceeds MAX_FILE_SIZE (HTML form directive)",
+ "UploadField.INVALIDEXTENSION": "Extension is not allowed",
+ "UploadField.LOADING": "Učitavam ...",
+ "UploadField.MAXNUMBEROFFILESSIMPLE": "Maksimalan broj datoteka premašen",
+ "UploadField.NOFILEUPLOADED": "Datoteka nije uploadana",
+ "UploadField.NOTMPFOLDER": "Nedostaje privremeni direktorij",
+ "UploadField.ONLYPARTIALUPLOADED": "Datoteka je djelimično uploadana",
+ "UploadField.OVERWRITEWARNING": "File with the same name already exists",
+ "UploadField.PHP_MAXFILESIZE": "File exceeds upload_max_filesize (php.ini directive)",
+ "UploadField.STOPEDBYEXTENSION": "File upload stopped by extension",
+ "UploadField.TOOLARGE": "Veličina datoteke je prevelika",
+ "UploadField.TOOSMALL": "Veličina datoteke je premala",
+ "UploadField.UPLOADEDBYTES": "Uploaded bytes exceed file size",
+ "UploadField.Uploaded": "Prenešeno",
+ "UploadField.WRITEFAILED": "Failed to write file to disk",
+ "VALIDATOR.FIELDREQUIRED": "Please fill out \"%s\", it is required."
+});
+}
\ No newline at end of file
diff --git a/javascript/lang/src/hr.js b/javascript/lang/src/hr.js
new file mode 100644
index 000000000..797c90f51
--- /dev/null
+++ b/javascript/lang/src/hr.js
@@ -0,0 +1,41 @@
+{
+ "FILEIFRAMEFIELD.CONFIRMDELETE": "Jeste li sigurni da želite obrisati ovu datoteku?",
+ "FILEIFRAMEFIELD.DELETEFILE": "Obriši datoteku",
+ "FILEIFRAMEFIELD.DELETEIMAGE": "Obriši sliku",
+ "FILEIFRAMEFIELD.UNATTACHFILE": "Un-Attach File",
+ "GRIDFIELD.ERRORINTRANSACTION": "An error occured while fetching data from the server\n Please try again later.",
+ "HASMANYFILEFIELD.UPLOADING": "Prebacujem... %s",
+ "HtmlEditorField.SelectAnchor": "Odaberite sidro",
+ "LOADING": "učitavam...",
+ "LeftAndMain.IncompatBrowserWarning": "Vaš browser nije kompatibilan s CMS sučeljem. Molimo koristite Internet Explorer 7+, Google Chrome 10+ ili Mozilla Firefox 3.5+.",
+ "RESTRICTEDTEXTFIELD.CHARCANTBEUSED": "The character '%s' cannot be used in this field",
+ "TABLEFIELD.DELETECONFIRMMESSAGE": "Are you sure you want to delete this record?",
+ "TreeDropdownField.ENTERTOSEARCH": "Press enter to search",
+ "TreeDropdownField.FieldTitle": "Odaberi",
+ "TreeDropdownField.OpenLink": "Otvori",
+ "TreeDropdownField.SearchFieldTitle": "Odaberi ili traži",
+ "UNIQUEFIELD.CANNOTLEAVEEMPTY": "Ovo polje ne može biti prazno",
+ "UNIQUEFIELD.ENTERNEWVALUE": "Morate unesti novu vrijednost za ovo polje",
+ "UNIQUEFIELD.SUGGESTED": "Promjenjene vrijednosti u '%s' : %s",
+ "UPDATEURL.CONFIRM": "Would you like me to change the URL to:\n\n%s/\n\nClick Ok to change the URL, click Cancel to leave it as:\n\n%s",
+ "UPDATEURL.CONFIRMURLCHANGED": "The URL has been changed to\n'%s'",
+ "UploadField.ConfirmDelete": "Are you sure you want to remove this file from the server filesystem?",
+ "UploadField.EMPTYRESULT": "Empty file upload result",
+ "UploadField.Editing": "Uređujem...",
+ "UploadField.HTML_MAXFILESIZE": "File exceeds MAX_FILE_SIZE (HTML form directive)",
+ "UploadField.INVALIDEXTENSION": "Extension is not allowed",
+ "UploadField.LOADING": "Učitavam ...",
+ "UploadField.MAXNUMBEROFFILESSIMPLE": "Maksimalan broj datoteka premašen",
+ "UploadField.NOFILEUPLOADED": "Datoteka nije uploadana",
+ "UploadField.NOTMPFOLDER": "Nedostaje privremeni direktorij",
+ "UploadField.ONLYPARTIALUPLOADED": "Datoteka je djelimično uploadana",
+ "UploadField.OVERWRITEWARNING": "File with the same name already exists",
+ "UploadField.PHP_MAXFILESIZE": "File exceeds upload_max_filesize (php.ini directive)",
+ "UploadField.STOPEDBYEXTENSION": "File upload stopped by extension",
+ "UploadField.TOOLARGE": "Veličina datoteke je prevelika",
+ "UploadField.TOOSMALL": "Veličina datoteke je premala",
+ "UploadField.UPLOADEDBYTES": "Uploaded bytes exceed file size",
+ "UploadField.Uploaded": "Prenešeno",
+ "UploadField.WRITEFAILED": "Failed to write file to disk",
+ "VALIDATOR.FIELDREQUIRED": "Please fill out \"%s\", it is required."
+}
\ No newline at end of file
diff --git a/lang/cs.yml b/lang/cs.yml
index 6b774c4cc..91ffb6f88 100644
--- a/lang/cs.yml
+++ b/lang/cs.yml
@@ -210,12 +210,15 @@ cs:
JsType: 'Javascript soubor'
Mp3Type: 'MP3 audio soubor'
MpgType: 'MPEG video soubor'
+ NOFILESIZE: 'Velikost souboru je 0 bajtů.'
NOVALIDUPLOAD: 'Soubor není validní pro nahrání'
Name: Jméno
PLURALNAME: Soubory
PdfType: 'Adobe Acrobat PDF soubor'
PngType: 'PNG obrázek - vhodný jako univerzálmí formát'
SINGULARNAME: Soubor
+ TOOLARGE: 'Velikost souboru je příliš velká, povolené maximum {size}'
+ TOOLARGESHORT: 'Velikost souboru překračuje {size}'
TiffType: 'Tiff formát obrázku'
Title: Titulek
WavType: 'WAV audo soubor'
@@ -378,6 +381,8 @@ cs:
FROMWEB: 'Z webu'
FindInFolder: 'Hledat ve složce'
IMAGEALT: 'Alternativní text (alt)'
+ IMAGEALTTEXT: 'Alternativní text (alt) - ukáže se, když obrázek nemúže být zobrazen'
+ IMAGEALTTEXTDESC: 'Zobrazeno na obrazovce, anebo když obrázek nemůže být zobrazen'
IMAGEDIMENSIONS: Rozměry
IMAGEHEIGHTPX: Výška
IMAGETITLE: 'Titul text (tooltip) - další informace o obrázku'
@@ -412,10 +417,13 @@ cs:
CANCEL: Storno
CANT_REORGANISE: 'Nemáte oprávnění měnit stránky nejvyšší úrovně. Vaše změna nebyla uložena.'
DELETED: Smazáno.
+ DropdownBatchActionsDefault: Akce
HELP: Nápověda
+ PAGETYPE: 'Typ stránky'
PERMAGAIN: 'Byli jste odhlášeni z CMS. Pokud se chcete znovu přihlásit, zadejte níže své uživatelské jméno a heslo.'
PERMALREADY: 'Omlouvám se, ale nemůžete vstoupit do této části CMS. Pokud se chcete přihlásit jako někdo jiný, udělejte tak níže.'
PERMDEFAULT: 'Musíte být přihlášen/a k přístup do oblasti administrace, níže zadejte vaše přihlašovací údaje, prosím.'
+ PLEASESAVE: 'Prosím uložte stránku: Tato stránka nemohla být aktualizována, protože ještě nebyla uložena.'
PreviewButton: Náhled
REORGANISATIONSUCCESSFUL: 'Strom webu reorganizován úspěšně.'
SAVEDUP: Uloženo.
@@ -471,6 +479,7 @@ cs:
SUBJECTPASSWORDRESET: 'Nulovací odkaz pro Vaše heslo'
SURNAME: Příjmení
TIMEFORMAT: 'Formát času'
+ VALIDATIONMEMBEREXISTS: 'Již existuje člen se stejnou %s'
ValidationIdentifierFailed: 'Nemůžete přepsat existujícího člena #{id} s identickým identifikátorem ({name} = {value}))'
WELCOMEBACK: 'Vítejte zpět, {firstname}'
YOUROLDPASSWORD: 'Vaše staré heslo'
diff --git a/lang/hr.yml b/lang/hr.yml
index d213ec894..f742ff260 100644
--- a/lang/hr.yml
+++ b/lang/hr.yml
@@ -7,38 +7,96 @@ hr:
DIM: Dimenzije
FILENAME: Naziv datoteke
FOLDER: Direktorij
+ HEIGHT: Visina
LASTEDIT: 'Zadnja promjena'
OWNER: Vlasnik
SIZE: 'Veličina datoteke'
TITLE: Naslov
TYPE: 'Tip datoteke'
URL: Link
+ WIDTH: Širina
AssetUploadField:
ChooseFiles: 'Odaberite datoteke'
DRAGFILESHERE: 'Povucite datoteke ovdje'
+ DROPAREA: 'Područje ubacivanja'
EDITALL: 'Uredi sve'
EDITANDORGANIZE: 'Uredi i organiziraj'
EDITINFO: 'Uredi datoteke'
FILES: Datoteke
FROMCOMPUTER: 'Odaberite datoteke sa svog računala'
FROMCOMPUTERINFO: 'Uploadajte sa svog računala'
+ INSERTURL: 'Ubaci sa linka'
+ REMOVEINFO: 'Izbrišite ovu datoteku s ovog polja'
TOTAL: Ukupno
+ TOUPLOAD: 'Odaberite datoteke za upload...'
UPLOADINPROGRESS: 'Molim pričekajte... upload u tijeku'
UPLOADOR: ILI
BBCodeParser:
ALIGNEMENT: Poravnanje
+ BOLD: 'Bold Text'
+ BOLDEXAMPLE: Bold
+ BackLink_Button_ss:
+ Back: Nazad
BasicAuth:
ENTERINFO: 'Unesite korisničko ime i lozinu'
ERRORNOTADMIN: 'Korisnik nije administrator'
ERRORNOTREC: 'Korisničko ime / lozinka nije prepoznata'
+ Boolean:
+ ANY: Bilo koji
+ NOANSWER: 'Ne'
+ YESANSWER: 'Da'
+ CAMPAIGNS:
+ ADDTOCAMPAIGN: 'Dodaj kampanji'
+ CMSLoadingScreen_ss:
+ LOADING: učitavam...
CMSMain:
SAVE: Snimi
+ CMSMemberLoginForm:
+ BUTTONFORGOTPASSWORD: 'Zaboravljena lozinka?'
+ CMSPagesController_Tools_ss:
+ FILTER: Filter
+ CMSProfileController:
+ MENUTITLE: 'Moj profil'
+ CMSSecurity:
+ SUCCESS: Uspjeh
+ TimedOutTitleAnonymous: 'Vaša sesija je istekla.'
+ TimedOutTitleMember: 'Bok {name}!
Vaša sesija je istekla.'
+ CampaignAdmin:
+ MENUTITLE: Kampanje
+ Campaigns:
+ AddToCampaign: 'Dodaj kampanji'
ChangePasswordEmail_ss:
CHANGEPASSWORDTEXT1: 'Promjenili ste lozinku za '
CHANGEPASSWORDTEXT2: 'Za prijavu koristite slijedeće podatke'
+ CHANGEPASSWORDTEXT3: 'Promjeni lozinku'
+ EMAIL: Email
HELLO: Pozdrav
+ PASSWORD: Lozinka
+ ChangeSet:
+ DESCRIPTION_AND: '{first} i {second}'
+ DESCRIPTION_ITEM: stavka
+ DESCRIPTION_ITEMS: stavke
+ DESCRIPTION_LIST_FIRST: '{item}'
+ DESCRIPTION_LIST_LAST: '{list}, i {item}'
+ DESCRIPTION_LIST_MID: '{list}, {item}'
+ DESCRIPTION_OTHER_ITEM: 'ostala stavka'
+ DESCRIPTION_OTHER_ITEMS: 'ostale stavke'
+ NAME: Naziv
+ PLURALNAME: Kampanje
+ SINGULARNAME: Kampanja
+ STATE: Stanje
+ CheckboxField:
+ NOANSWER: 'Ne'
+ YESANSWER: 'Da'
ConfirmedPasswordField:
SHOWONCLICKTITLE: 'Promjenite lozinku'
+ CreditCardField:
+ FIRST: prvi
+ FOURTH: četvrti
+ SECOND: drugi
+ THIRD: treći
+ CurrencyField:
+ CURRENCYSYMBOL: $
DataObject:
PLURALNAME: 'Podatkovni objekti'
SINGULARNAME: 'Podatkovni objekt'
@@ -70,9 +128,37 @@ hr:
CHOOSE: (Odaberite)
EmailField:
VALIDATION: 'Molimo unesite email adresu'
+ Enum:
+ ANY: bilo koji
File:
+ AviType: 'AVI video datoteka'
+ Content: Sadržaj
+ CssType: 'CSS datoteka'
+ DocType: 'Word dokument'
+ Filename: Naziv datoteke
+ GifType: 'GIF slika - dobra za dijagrame'
+ GzType: 'GZIP komprimirana datoteka'
+ HtlType: 'HTML datoteka'
+ HtmlType: 'HTML datoteka'
+ INVALIDEXTENSION: 'Ekstenzija nije dozvoljena (valjane: {extensions}) '
+ INVALIDEXTENSIONSHORT: 'Ekstenzija nije dozvoljena'
+ IcoType: 'Slika ikone'
+ JpgType: 'JPEG slika - dobra za fotografije'
+ JsType: 'Javascript datoteka'
+ Mp3Type: 'MP3 zvuk datoteka'
+ MpgType: 'MPEG video datoteka'
+ NOVALIDUPLOAD: 'Datoteka nije valjan upload'
+ Name: Naziv
PLURALNAME: Datoteke
+ PngType: 'PNG slika - dobar generalan format'
SINGULARNAME: Datoteka
+ Title: Naslov
+ WavType: 'WAV zvuk datoteka'
+ XlsType: 'Excel tablica'
+ ZipType: 'ZIP komprimirana datoteka'
+ Folder:
+ PLURALNAME: Direktoriji
+ SINGULARNAME: Direktorij
ForgotPasswordEmail_ss:
HELLO: Pozdrav
TEXT1: 'Ovdje je Vaš'
@@ -83,22 +169,72 @@ hr:
VALIDATIONNOTUNIQUE: 'Unešena vrijednost nije unikatna'
VALIDATIONPASSWORDSDONTMATCH: 'Lozinke se ne slažu'
VALIDATIONPASSWORDSNOTEMPTY: 'Lozinke moraju imati najmanje jedan broj i jedan alfanumerički znak'
+ FormField:
+ NONE: nijedan
+ GridAction:
+ DELETE_DESCRIPTION: Obriši
+ Delete: Obriši
+ GridField:
+ Add: 'Dodaj {name}'
+ Filter: Filter
+ FilterBy: 'Filtriraj po'
+ Find: Pronađi
+ GridFieldDetailForm:
+ CancelBtn: Odustani
+ Create: Kreiraj
+ Delete: Obriši
+ DeletePermissionsFailure: 'Nema dozvole brisanja'
+ Deleted: 'Obrisano %s %s'
+ Save: Spremi
+ Saved: 'Spremljeno {name} {link}'
+ GridFieldEditButton_ss:
+ EDIT: Uredi
+ GridFieldItemEditView:
+ Go_back: 'Idi nazad'
Group:
Code: 'Krupni kod'
+ DefaultGroupTitleAdministrators: Administratori
+ DefaultGroupTitleContentAuthors: 'Autori sadržaja'
+ Description: Opis
Locked: 'Zaključano?'
+ PLURALNAME: Grupe
Parent: 'Roditeljska grupa'
+ SINGULARNAME: Grupa
has_many_Permissions: Dozvole
many_many_Members: Članovi
+ HTMLEditorField:
+ ANCHORVALUE: Sidro
+ FILE: Datoteka
+ FOLDER: Direktorij
+ IMAGEDIMENSIONS: Dimenzije
+ IMAGEHEIGHTPX: Visina
+ IMAGEWIDTHPX: Širina
+ LINK: 'Ubaci vezu'
+ LINKFILE: 'Preuzmi datoteku'
+ LINKINTERNAL: 'Stranica na ovom webu'
+ LINKOPENNEWWIN: 'Otvori link u novom prozoru?'
+ LINKTO: 'Poveži na'
+ PAGE: Stranica
+ URL: Link
HtmlEditorField:
+ ANCHORVALUE: Sidro
+ BUTTONADDURL: 'Dodaj link'
+ BUTTONINSERT: Ubaci
BUTTONINSERTLINK: 'Ubaci vezu'
BUTTONREMOVELINK: 'Obriši vezu'
+ BUTTONUpdate: Ažuriraj
CSSCLASS: 'Poravnanje / Stil'
CSSCLASSCENTER: 'Centralno'
CSSCLASSLEFT: 'Lijevo, sa okruženjem teksta.'
CSSCLASSRIGHT: 'Desno, sa okruženjem teksta'
+ DETAILS: Detalji
EMAIL: 'Email adresa'
FILE: Datoteka
FOLDER: Direktorij
+ FROMCOMPUTER: 'Sa računala'
+ FROMWEB: 'Sa weba'
+ FindInFolder: 'Pronađi u direktoriju'
+ IMAGEALT: 'Alternativni tekst (alt)'
IMAGEDIMENSIONS: Dimenzije
IMAGEHEIGHTPX: Visina
IMAGEWIDTHPX: Širina
@@ -111,18 +247,45 @@ hr:
LINKOPENNEWWIN: 'Otvori vezu (link) u novom prozoru?'
LINKTO: 'Poveži na'
PAGE: Stranica
+ Image:
+ PLURALNAME: Datoteke
+ SINGULARNAME: Datoteka
+ Image_Cached:
+ PLURALNAME: Datoteke
+ SINGULARNAME: Datoteka
Image_iframe_ss:
TITLE: 'Iframe za upload slike'
LeftAndMain:
+ CANCEL: Odustani
+ DELETED: Obrisano.
HELP: Pomoć
PERMAGAIN: 'Odjavili ste se sa sustava. Želite li se ponovno prijaviti upišite korisničko ime i lozinku.'
+ PreviewButton: Pregled
+ SAVEDUP: Spremljeno
+ ValidationError: 'Greška validacije'
+ VersionUnknown: nepoznato
+ LeftAndMain_Menu_ss:
+ Hello: Pozdrav
+ LOGOUT: 'Odjava'
+ LoginAttempt:
+ Email: 'Email adresa'
+ IP: 'IP adresa'
+ Status: Status
Member:
+ ADDGROUP: 'Dodaj grupu'
BUTTONCHANGEPASSWORD: 'Promjeni lozinku'
BUTTONLOGIN: 'Prijava'
BUTTONLOGINOTHER: 'Prijavite se kao netko drugi'
BUTTONLOSTPASSWORD: 'Zaboravljena lozinka?'
+ CANTEDIT: 'Nema prava za to'
CONFIRMNEWPASSWORD: 'Potvrdite novu lozinku'
CONFIRMPASSWORD: 'Potvrdi lozinku'
+ CURRENT_PASSWORD: 'Trenutna lozinka'
+ DATEFORMAT: 'Format datuma'
+ DefaultAdminFirstname: 'Zadani administrator'
+ DefaultDateTime: zadano
+ EDIT_PASSWORD: 'Nova lozinka'
+ EMAIL: Email
ERRORNEWPASSWORD: 'Pogrešno ste upisali novu lozinku, pokušajte ponovno.'
ERRORPASSWORDNOTMATCH: 'Vaša trenutna lozinka se ne podudara, probajte ponovno'
FIRSTNAME: 'Ime'
@@ -136,10 +299,43 @@ hr:
SURNAME: Prezime
YOUROLDPASSWORD: 'Stara lozinka'
belongs_many_many_Groups: Grupe
+ db_LastVisited: 'Datum zadnje posjete'
db_LockedOutUntil: 'Zaključano do'
+ db_Password: Lozinka
db_PasswordExpiry: 'Lozinka ističe'
MemberAuthenticator:
TITLE: 'E-mail & Lozinka'
+ MemberDatetimeOptionsetField:
+ Preview: Pregled
+ ModelAdmin:
+ IMPORT: 'Uvezi iz CSV'
+ IMPORTEDRECORDS: 'Uveženo {count} zapisa.'
+ NOCSVFILE: 'Molimo pretražite CSV datoteku za uvoz'
+ NOIMPORT: 'Ništa za uvoz'
+ RESET: Resetiraj
+ Title: 'Klasa podataka'
+ UPDATEDRECORDS: 'Osvježeno {count} zapisa.'
+ ModelAdmin_Tools_ss:
+ FILTER: Filter
+ IMPORT: Uvoz
+ ModelSidebar_ss:
+ IMPORT_TAB_HEADER: Uvoz
+ SEARCHLISTINGS: Traži
+ MoneyField:
+ FIELDLABELCURRENCY: Valuta
+ Pagination:
+ Page: Stranica
+ View: Pregled
+ Permission:
+ AdminGroup: Administrator
+ CMS_ACCESS_CATEGORY: 'CMS pristup'
+ FULLADMINRIGHTS: 'Puna administrativna prava'
+ PLURALNAME: Dozvole
+ SINGULARNAME: Dozvola
+ PermissionRole:
+ PLURALNAME: Uloge
+ SINGULARNAME: Uloga
+ Title: Naslov
PhoneNumberField:
VALIDATION: 'Molim unesite ispravan telefonski broj'
Security:
@@ -154,11 +350,37 @@ hr:
NOTEPAGESECURED: 'Ova stranica je zaštićena. Prijavite se na sustav sa svojim pristupnim podatcima i odmah ćemo vas preusmjeriti.'
NOTERESETPASSWORD: 'Unesite svoju e-mail adresu, a mi ćemo Vam poslati link putem kojega možete resetirati Vašu lozinku.'
SecurityAdmin:
+ MEMBERS: Članovi
+ MENUTITLE: Sigurnost
NEWGROUP: 'Nova Grupa'
+ PERMISSIONS: Dozvole
+ ROLES: Uloge
+ TABROLES: Uloge
+ Users: Korisnici
+ SilverStripeNavigator:
+ Auto: Aut
+ Edit: Uredi
+ EditView: 'Mod uređivanja'
+ Width: širina
SiteTree:
TABMAIN: Osnovno
+ TableListField:
+ Print: Ispiši
+ TableListField_PageControls_ss:
+ OF: od
ToggleField:
LESS: manje
MORE: više
+ UploadField:
+ ATTACHFILE: 'Dodaj datoteku'
+ ATTACHFILES: 'Dodaj datoteke'
+ AttachFile: 'Dodaj datoteku(e)'
+ CHOOSEANOTHERFILE: 'Odaberi drugu datoteku'
+ DELETE: 'Obriši iz datoteka'
+ DOEDIT: Snimi
+ EDIT: Uredi
+ EDITINFO: 'Uredi ovu datoteku'
+ FROMCOMPUTER: 'Sa računala'
+ REMOVE: Ukloni
Versioned:
has_many_Versions: Verzije
diff --git a/lang/id_ID.yml b/lang/id_ID.yml
index 2dc7ea2d9..e533e99c1 100644
--- a/lang/id_ID.yml
+++ b/lang/id_ID.yml
@@ -1,5 +1,12 @@
id_ID:
+ AddToCampaign:
+ ErrorCampaignPermissionDenied: 'Sepertinya Anda tidak memiliki ijin yang diperlukan untuk menambahkan {ObjectTitle} ke {CampaignTitle}'
+ ErrorGeneral: 'Mohon maaf, ada kesalahan'
+ ErrorNotFound: '{Type} tidak ditemukan'
+ Success: 'Berhasil menambahkan {ObjectTitle} ke {CampaignTitle}'
AssetAdmin:
+ ALLOWEDEXTS: 'Ekstensi berkas yang diperbolehkan'
+ HIDEALLOWEDEXTS: 'Sembunyikan ekstensi berkas yang diperbolehkan'
NEWFOLDER: FolderBaru
SHOWALLOWEDEXTS: 'Tampilkan ekstensi yang dibolehkan'
AssetTableField:
@@ -13,6 +20,7 @@ id_ID:
TITLE: Judul
TYPE: 'Jenis berkas'
URL: URL
+ WIDTH: Lebar
AssetUploadField:
ChooseFiles: 'Pilih berkas'
DRAGFILESHERE: 'Tarik berkas ke sini'
@@ -564,3 +572,6 @@ id_ID:
UPLOADSINTO: 'disimpan ke /{path}'
Versioned:
has_many_Versions: Versi
+ VersionedGridFieldItemRequest:
+ ARCHIVE: Arsip
+ Archived: '%s %s diarsipkan'
diff --git a/lang/ru.yml b/lang/ru.yml
index 8f2701d4c..6c63e87d4 100644
--- a/lang/ru.yml
+++ b/lang/ru.yml
@@ -1,5 +1,13 @@
ru:
+ AddToCampaign:
+ ErrorCampaignPermissionDenied: 'У вас не достаточно прав доступа для добавления {ObjectTitle} в {CampaignTitle}'
+ ErrorGeneral: 'Произошла ошибка'
+ ErrorItemPermissionDenied: 'У вас не достаточно прав доступа для добавления {ObjectTitle} к кампании'
+ ErrorNotFound: '{Type} не обнаружен'
+ Success: '{ObjectTitle} добавлен в {CampaignTitle}'
AssetAdmin:
+ ALLOWEDEXTS: 'Разрешённые расширения файлов для загрузки'
+ HIDEALLOWEDEXTS: 'Скрыть разрешенные расширения'
NEWFOLDER: Новая папка
SHOWALLOWEDEXTS: 'Показать допустимые расширения'
AssetTableField:
@@ -7,12 +15,14 @@ ru:
DIM: Размеры
FILENAME: Имя файла
FOLDER: Папка
+ HEIGHT: Высота
LASTEDIT: 'Последнее изменение'
OWNER: Владелец
SIZE: 'Размер'
TITLE: Название
TYPE: 'Тип'
URL: URL
+ WIDTH: Ширина
AssetUploadField:
ChooseFiles: 'Выберите файлы'
DRAGFILESHERE: 'Перетащите файлы сюда'
@@ -23,7 +33,10 @@ ru:
FILES: Файлы
FROMCOMPUTER: 'Выберите файлы с диска вашего компьютера'
FROMCOMPUTERINFO: 'Загрузить с диска вашего компьютера'
+ INSERTURL: 'Вставить ссылку'
+ REMOVEINFO: 'Удалить этот файл из поля'
TOTAL: Всего
+ TOUPLOAD: 'Выберите файлы для загрузки ...'
UPLOADINPROGRESS: 'Идет загрузка... Пожалуйста, подождите'
UPLOADOR: ИЛИ
BBCodeParser:
@@ -59,6 +72,10 @@ ru:
ERRORNOTREC: 'Такое имя пользователя или пароль не существует'
Boolean:
ANY: Все
+ NOANSWER: 'Нет'
+ YESANSWER: 'Да'
+ CAMPAIGNS:
+ ADDTOCAMPAIGN: 'Добавить в кампанию'
CMSLoadingScreen_ss:
LOADING: Идет загрузка...
REQUIREJS: 'Для работы с CMS у вас должен быть включен JavaScript.'
@@ -67,22 +84,69 @@ ru:
ACCESSALLINTERFACES: 'Доступ ко всему интерфейсу CMS'
ACCESSALLINTERFACESHELP: 'Отменяет индивидуальные настройки прав доступа.'
SAVE: Сохранить
+ CMSMemberLoginForm:
+ BUTTONFORGOTPASSWORD: 'Забыли пароль?'
+ BUTTONLOGIN: 'Вход'
+ BUTTONLOGOUT: 'Выход'
+ PASSWORDEXPIRED: '
Время действия вашего пароля истекло. Установите новый пароль.
' CMSPageHistoryController_versions_ss: PREVIEW: 'Предварительный просмотр сайта' + CMSPagesController_Tools_ss: + FILTER: Фильтр CMSProfileController: MENUTITLE: 'Мой профиль' + CMSSecurity: + INVALIDUSER: 'Неправильный пользователь. Войдите заново в систему чтобы продолжить.
' + LoginMessage: 'Если у вас есть что-либо несохраненное вы можете вернуться к этому войдя в систему заново с помощью формы ниже.
' + SUCCESS: Готово + SUCCESSCONTENT: 'Вы вошли в систему. Если вы не были автоматически перенаправлены нажмите здесь
' + TimedOutTitleAnonymous: 'Время вашего сеанса истекло.' + TimedOutTitleMember: '{name}!Импорт одной или нескольких групп в формате CSV (comma-separated values). Подробные сведения
' + Help2: "Импорт пользователей в формате CSV (comma-separated values). Подробные сведения
' + Help2: "