diff --git a/.upgrade.yml b/.upgrade.yml index 8e06b802c..17f90e9f5 100644 --- a/.upgrade.yml +++ b/.upgrade.yml @@ -1368,3 +1368,130 @@ warnings: 'THIRDPARTY_DIR': message: 'Path constants have been deprecated. Use the Requirements and ModuleResourceLoader APIs' url: 'https://docs.silverstripe.org/en/4/changelogs/4.0.0#module-paths' +visibilities: + 'SilverStripe\ORM\DataObject::db': + visibility: private + 'SilverStripe\ORM\DataObject::singular_name': + visibility: private + 'SilverStripe\ORM\DataObject::plural_name': + visibility: private + 'SilverStripe\ORM\DataObject::api_access': + visibility: private + 'SilverStripe\ORM\DataObject::default_classname': + visibility: private + 'SilverStripe\ORM\DataObject->destroyed': + visibility: public + 'SilverStripe\ORM\DataObject->record': + visibility: protected + 'SilverStripe\ORM\DataObject->joinRecord': + visibility: protected + 'SilverStripe\ORM\DataObject->changed': + visibility: private + 'SilverStripe\ORM\DataObject->changeForced': + visibility: private + 'SilverStripe\ORM\DataObject->original': + visibility: protected + 'SilverStripe\ORM\DataObject->brokenOnDelete': + visibility: protected + 'SilverStripe\ORM\DataObject->brokenOnWrite': + visibility: protected + 'SilverStripe\ORM\DataObject::validation_enabled': + visibility: private + 'SilverStripe\ORM\DataObject::_cache_get_one': + visibility: protected + 'SilverStripe\ORM\DataObject::_cache_field_labels': + visibility: protected + 'SilverStripe\ORM\DataObject::fixed_fields': + visibility: private + 'SilverStripe\ORM\DataObject::table_name': + visibility: private + 'SilverStripe\ORM\DataObject->components': + visibility: protected + 'SilverStripe\ORM\DataObject->unsavedRelations': + visibility: protected + 'SilverStripe\ORM\DataObject::cascade_deletes': + visibility: private + 'SilverStripe\ORM\DataObject::cascade_duplicates': + visibility: private + 'SilverStripe\ORM\DataObject::sourceQueryParams': + visibility: private + 'SilverStripe\ORM\DataObject::subclass_access': + visibility: private + 'SilverStripe\ORM\DataObject::casting': + visibility: private + 'SilverStripe\ORM\DataObject::create_table_options': + visibility: private + 'SilverStripe\ORM\DataObject::indexes': + visibility: private + 'SilverStripe\ORM\DataObject::defaults': + visibility: private + 'SilverStripe\ORM\DataObject::default_records': + visibility: private + 'SilverStripe\ORM\DataObject::has_one': + visibility: private + 'SilverStripe\ORM\DataObject::belongs_to': + visibility: private + 'SilverStripe\ORM\DataObject::has_many': + visibility: private + 'SilverStripe\ORM\DataObject::many_many': + visibility: private + 'SilverStripe\ORM\DataObject::many_many_extraFields': + visibility: private + 'SilverStripe\ORM\DataObject::belongs_many_many': + visibility: private + 'SilverStripe\ORM\DataObject::default_sort': + visibility: private + 'SilverStripe\ORM\DataObject::searchable_fields': + visibility: private + 'SilverStripe\ORM\DataObject::field_labels': + visibility: private + 'SilverStripe\ORM\DataObject::summary_fields': + visibility: private + 'SilverStripe\Control\Director::rules': + visibility: private + 'SilverStripe\Control\Director::current_page': + visibility: private + 'SilverStripe\Control\Director::alternate_base_folder': + visibility: private + 'SilverStripe\Control\Director::alternate_public_dir': + visibility: private + 'SilverStripe\Control\Director::default_base_url': + visibility: private + 'SilverStripe\Forms\GridField\GridFieldPaginator::default_items_per_page': + visibility: private + 'SilverStripe\View\SSViewer::themes': + visibility: private + 'SilverStripe\View\SSViewer::current_themes': + visibility: protected + 'SilverStripe\View\SSViewer::theme': + visibility: private + 'SilverStripe\View\SSViewer::theme_enabled': + visibility: private + 'SilverStripe\View\SSViewer::global_key': + visibility: private + 'SilverStripe\View\SSViewer::source_file_comments': + visibility: private + 'SilverStripe\View\SSViewer::rewrite_hash_links': + visibility: private + 'SilverStripe\View\SSViewer::current_rewrite_hash_links': + visibility: protected + 'SilverStripe\View\SSViewer::rewriteHashlinks': + visibility: protected + 'SilverStripe\View\SSViewer::template_cache_flushed': + visibility: private + 'SilverStripe\View\SSViewer::cacheblock_cache_flushed': + visibility: private + 'SilverStripe\View\SSViewer::topLevel': + visibility: protected + 'SilverStripe\View\SSViewer::templates': + visibility: protected + 'SilverStripe\View\SSViewer::chosen': + visibility: protected + 'SilverStripe\View\SSViewer::subTemplates': + visibility: protected + 'SilverStripe\View\SSViewer::includeRequirements': + visibility: protected + 'SilverStripe\View\SSViewer::parser': + visibility: protected + 'SilverStripe\View\SSViewer::partialCacheStore': + visibility: protected diff --git a/_config/cache.yml b/_config/cache.yml index 7719370f3..c590ea354 100644 --- a/_config/cache.yml +++ b/_config/cache.yml @@ -18,20 +18,17 @@ SilverStripe\Core\Injector\Injector: factory: SilverStripe\Core\Cache\CacheFactory constructor: namespace: "VersionProvider_composerlock" - args: - disable-container: true + disable-container: true Psr\SimpleCache\CacheInterface.RateLimiter: factory: SilverStripe\Core\Cache\CacheFactory constructor: namespace: 'ratelimiter' - args: - disable-container: true + disable-container: true Psr\SimpleCache\CacheInterface.InheritedPermissions: factory: SilverStripe\Core\Cache\CacheFactory constructor: namespace: "InheritedPermissions" - args: - disable-container: true + disable-container: true Psr\SimpleCache\CacheInterface.ThemeResourceLoader: factory: SilverStripe\Core\Cache\CacheFactory constructor: diff --git a/docs/en/01_Lessons/index.md b/docs/en/01_Lessons/index.md index 6cd34fd6b..0949dbcae 100644 --- a/docs/en/01_Lessons/index.md +++ b/docs/en/01_Lessons/index.md @@ -2,24 +2,27 @@ title: Lessons introduction: The lessons take a step by step look at how to build a SilverStripe application. * [How to set up a local development environment in SilverStripe](https://vimeo.com/108861537) -* [Lesson 1: Creating your first theme](http://www.silverstripe.org/learn/lessons/creating-your-first-theme) -* [Lesson 2: Migrating static templates into your theme](http://www.silverstripe.org/learn/lessons/migrating-static-templates-into-your-theme) -* [Lesson 3: Adding dynamic content](http://www.silverstripe.org/learn/lessons/adding-dynamic-content) -* [Lesson 4: Working with multiple templates](http://www.silverstripe.org/learn/lessons/working-with-multiple-templates) -* [Lesson 5: The holder/page pattern](http://www.silverstripe.org/learn/lessons/the-holderpage-pattern) -* [Lesson 6: Adding Custom Fields to a Page](http://www.silverstripe.org/learn/lessons/adding-custom-fields-to-a-page) -* [Lesson 7: Working with Files and Images](http://www.silverstripe.org/learn/lessons/working-with-files-and-images) -* [Lesson 8: Introduction to the ORM](http://www.silverstripe.org/learn/lessons/introduction-to-the-orm) -* [Lesson 9: Data Relationships - $has_many](http://www.silverstripe.org/learn/lessons/working-with-data-relationships-has-many) -* [Lesson 10: Introduction to the ORM](http://www.silverstripe.org/learn/lessons/working-with-data-relationships-many-many) -* [Lesson 11: Introduction to frontend forms](http://www.silverstripe.org/learn/lessons/introduction-to-frontend-forms) -* [Lesson 12: Data Extensions and SiteConfig](http://www.silverstripe.org/learn/lessons/data-extensions-and-siteconfig) -* [Lesson 13: Introduction to ModelAdmin](http://www.silverstripe.org/learn/lessons/introduction-to-modeladmin) -* [Lesson 14: Controller Actions/DataObjects as Pages](http://www.silverstripe.org/learn/lessons/controller-actions-dataobjects-as-pages) -* [Lesson 15: Building a Search Form](http://www.silverstripe.org/learn/lessons/building-a-search-form) -* [Lesson 16: Lists and Pagination](http://www.silverstripe.org/learn/lessons/lists-and-pagination) -* [Lesson 17: Ajax Behaviour and Viewable Data](http://www.silverstripe.org/learn/lessons/ajax-behaviour-and-viewabledata) -* [Lesson 18: Dealing with Arbitrary Template Data](http://www.silverstripe.org/learn/lessons/dealing-with-arbitrary-template-data) +* [Lesson 1: Creating your first project](https://www.silverstripe.org/learn/lessons/v4/creating-your-first-project) +* [Lesson 2: Migrating static templates into your theme](https://www.silverstripe.org/learn/lessons/v4/migrating-static-templates-into-your-theme-1) +* [Lesson 3: Adding dynamic content](https://www.silverstripe.org/learn/lessons/v4/adding-dynamic-content-1) +* [Lesson 4: Working with multiple templates](https://www.silverstripe.org/learn/lessons/v4/working-with-multiple-templates-1) +* [Lesson 5: The holder/page pattern](https://www.silverstripe.org/learn/lessons/v4/the-holderpage-pattern-1) +* [Lesson 6: Adding Custom Fields to a Page](https://www.silverstripe.org/learn/lessons/v4/adding-custom-fields-to-a-page-1) +* [Lesson 7: Working with Files and Images](https://www.silverstripe.org/learn/lessons/v4/working-with-files-and-images-1) +* [Lesson 8: Introduction to the ORM](https://www.silverstripe.org/learn/lessons/v4/introduction-to-the-orm-1) +* [Lesson 9: Data Relationships - $has_many](https://www.silverstripe.org/learn/lessons/v4/working-with-data-relationships-has-many-1) +* [Lesson 10: Data Relationships - $many_many](https://www.silverstripe.org/learn/lessons/v4/working-with-data-relationships-many-many-1) +* [Lesson 11: Introduction to frontend forms](https://www.silverstripe.org/learn/lessons/v4/introduction-to-frontend-forms-1) +* [Lesson 12: Data Extensions and SiteConfig](https://www.silverstripe.org/learn/lessons/v4/data-extensions-and-siteconfig-1) +* [Lesson 13: Introduction to ModelAdmin](https://www.silverstripe.org/learn/lessons/v4/introduction-to-modeladmin-1) +* [Lesson 14: Controller Actions/DataObjects as Pages](https://www.silverstripe.org/learn/lessons/v4/controller-actions-dataobjects-as-pages-1) +* [Lesson 15: Building a Search Form](https://www.silverstripe.org/learn/lessons/v4/building-a-search-form-1) +* [Lesson 16: Lists and Pagination](https://www.silverstripe.org/learn/lessons/v4/lists-and-pagination-1) +* [Lesson 17: Ajax Behaviour and Viewable Data](https://www.silverstripe.org/learn/lessons/v4/ajax-behaviour-and-viewabledata-1) +* [Lesson 18: Dealing with Arbitrary Template Data](https://www.silverstripe.org/learn/lessons/v4/dealing-with-arbitrary-template-data-1) +* [Lesson 19: Creating Filtered Views](https://www.silverstripe.org/learn/lessons/v4/creating-filtered-views-1) +* [Lesson 20: Beyond the ORM: Building Custom SQL](https://www.silverstripe.org/learn/lessons/v4/beyond-the-orm-building-custom-sql-1) +* [Lesson 21: Advanced Environment Configuration](https://www.silverstripe.org/learn/lessons/v4/advanced-environment-configuration-1) ## Help: If you get stuck diff --git a/docs/en/02_Developer_Guides/08_Performance/01_Caching.md b/docs/en/02_Developer_Guides/08_Performance/01_Caching.md index 91ebcc12b..e6e5d6591 100644 --- a/docs/en/02_Developer_Guides/08_Performance/01_Caching.md +++ b/docs/en/02_Developer_Guides/08_Performance/01_Caching.md @@ -39,6 +39,13 @@ SilverStripe\Core\Injector\Injector: namespace: "myCache" ``` +
+Please note that if you have the `silverstripe/versioned` module installed (automatically installed by the +`silverstripe/cms` module), caches will automatically be segmented by current “stage”. This ensures that +any content written to the cache in the _draft_ reading mode isn’t accidentally exposed in the _live_ reading mode. +Please read the [versioned cache segmentation](#versioned-cache-segmentation) section for more information. +
+ Cache objects are instantiated through a [CacheFactory](SilverStripe\Core\Cache\CacheFactory), which determines which cache adapter is used (see "Adapters" below for details). This factory allows us you to globally define an adapter for all cache instances. @@ -209,6 +216,42 @@ SilverStripe\Core\Injector\Injector: SilverStripe\Core\Cache\CacheFactory: '%$MemcachedCacheFactory' ``` +## Versioned cache segmentation + +`SilverStripe\Core\Cache\CacheFactory` now maintains separate cache pools for each versioned stage (if you have the +`silverstripe/versioned` module installed). This prevents developers from caching draft data and then +accidentally exposing it on the live stage without potentially required authorisation checks. Unless you +rely on caching across stages, you don't need to change your own code for this change to take effect. Note +that cache keys will be internally rewritten, causing any existing cache items to become invalid when this +change is deployed. + +```php +// Before: +$cache = Injector::inst()->get(CacheInterface::class . '.myapp'); +Versioned::set_stage(Versioned::DRAFT); +$cache->set('my_key', 'Some draft content. Not for public viewing yet.'); +Versioned::set_stage(Versioned::LIVE); +$cache->get('my_key'); // 'Some draft content. Not for public viewing yet' + +// After: +$cache = Injector::inst()->get(CacheInterface::class . '.myapp'); +Versioned::set_stage(Versioned::DRAFT); +$cache->set('my_key', 'Some draft content. Not for public viewing yet.'); +Versioned::set_stage(Versioned::LIVE); +$cache->get('my_key'); // null +``` +Data that is not content sensitive can be cached across stages by simply opting out of the segmented cache +with the `disable-container` argument. + +```yaml +SilverStripe\Core\Injector\Injector: + Psr\SimpleCache\CacheInterface.myapp: + factory: SilverStripe\Core\Cache\CacheFactory + constructor: + namespace: "MyInsensitiveData" + disable-container: true +``` + ## Additional Caches Unfortunately not all caches are configurable via cache adapters. diff --git a/docs/en/04_Changelogs/3.6.7.md b/docs/en/04_Changelogs/3.6.7.md new file mode 100644 index 000000000..d4c3ebfdf --- /dev/null +++ b/docs/en/04_Changelogs/3.6.7.md @@ -0,0 +1,21 @@ +# 3.6.7 + + + +## Change Log + +### Security + + * 2019-01-10 [c44f06cdf](https://github.com/silverstripe/silverstripe-framework/commit/c44f06cdf10387a987e4efb096ff06b3bb4495ef) Patch SQL Injection vulnerability when arrays are assigned to DataObject Fields (Aaron Carlino) - See [ss-2018-021](https://www.silverstripe.org/download/security-releases/ss-2018-021) + * 2018-09-26 [598edd913](https://github.com/silverstripe/silverstripe-framework/commit/598edd91341f389d7b919ec1201e03d2aba4d284) Add confirmation token to dev/build (Loz Calver) - See [ss-2018-019](https://www.silverstripe.org/download/security-releases/ss-2018-019) + +### Bugfixes + + * 2019-01-23 [746c0679a](https://github.com/silverstripe/silverstripe-framework/commit/746c0679ad1d6ceac03d2adf167367f0ca2259cd) Injector may instantiate prototypes as if they're singletons (fixes #8567) (Loz Calver) + * 2018-11-15 [86701b8cd](https://github.com/silverstripe/silverstripe-framework/commit/86701b8cd0cd5f8de813a7c9347e7c8055d878f4) Redirect loop with multiple URL tokens (fixes #8607) (Loz Calver) + * 2018-06-04 [41e601a03](https://github.com/silverstripe/silverstripe-framework/commit/41e601a036307065d9ea2ba8862f67be738d402f) Regression from #8009 (Daniel Hensby) + * 2018-05-29 [1cbf27e0f](https://github.com/silverstripe/silverstripe-framework/commit/1cbf27e0f47c3547914b03193d0f5f77c87ff8d5) PHP 5.3 compat for referencing $this in closure, and make method public for same reason (Robbie Averill) + * 2018-04-17 [af3a9f3ec](https://github.com/silverstripe/silverstripe-framework/commit/af3a9f3ec8a5465f841c5aa8ee1faf40c1b76bf4) Duplicating many_many relationships looses the extra fields (fixes #7973) (UndefinedOffset) + * 2018-03-15 [d17d93f7](https://github.com/silverstripe/silverstripe-cms/commit/d17d93f784a6e01f3d396c55adc623d69a90261a) Remove SearchForm results() function from allowed_actions (Steve Dixon) + * 2018-02-16 [86addea1d](https://github.com/silverstripe/silverstripe-framework/commit/86addea1d2a7b2e28ae8115279ae358bcb46648a) Split HTML manipulation to onadd, so elements are not accidentally duplicated (Christopher Joe) + * 2018-02-13 [c767e472d](https://github.com/silverstripe/silverstripe-framework/commit/c767e472dc494408460ef47c27b8d34475da4ac6) DataObject singleton creation (Jonathon Menz) diff --git a/docs/en/04_Changelogs/3.7.3.md b/docs/en/04_Changelogs/3.7.3.md new file mode 100644 index 000000000..103b88c8a --- /dev/null +++ b/docs/en/04_Changelogs/3.7.3.md @@ -0,0 +1,16 @@ +# 3.7.3 + + + +## Change Log + +### Security + + * 2019-01-10 [6bf9542d6](https://github.com/silverstripe/silverstripe-framework/commit/6bf9542d664ac7935691c8055505b7ad8ea26e9a) Patch SQL Injection vulnerability when arrays are assigned to DataObject Fields (Maxime Rainville) - See [ss-2018-021](https://www.silverstripe.org/download/security-releases/ss-2018-021) + +### Bugfixes + + * 2019-01-30 [8e6e70335](https://github.com/silverstripe/silverstripe-framework/commit/8e6e70335895063c6e6cfd99cfcfb50c6f9c2ad9) Block Manifest of the compatibility class Object and lean on model/fieldtypes/compat/autoload.php (UndefinedOffset) + * 2019-01-23 [746c0679a](https://github.com/silverstripe/silverstripe-framework/commit/746c0679ad1d6ceac03d2adf167367f0ca2259cd) Injector may instantiate prototypes as if they're singletons (fixes #8567) (Loz Calver) + * 2019-01-11 [16a837d6a](https://github.com/silverstripe/silverstripe-framework/commit/16a837d6a093115755cd821c63be1e3be088645b) fix [Warning] on count() with PHP >= 7.2 (lerni) + * 2018-11-15 [86701b8cd](https://github.com/silverstripe/silverstripe-framework/commit/86701b8cd0cd5f8de813a7c9347e7c8055d878f4) Redirect loop with multiple URL tokens (fixes #8607) (Loz Calver) diff --git a/docs/en/04_Changelogs/4.0.7.md b/docs/en/04_Changelogs/4.0.7.md new file mode 100644 index 000000000..fd75c792f --- /dev/null +++ b/docs/en/04_Changelogs/4.0.7.md @@ -0,0 +1,24 @@ +# 4.0.7 + + + +## Change Log + +### Security + + * 2018-12-18 [95505db7d](https://github.com/silverstripe/silverstripe-framework/commit/95505db7d666a75f249f65cb1af74dca01d39add) Fix potential SQL vulnerability in non-scalar value hyrdation (Maxime Rainville) - See [ss-2018-021](https://www.silverstripe.org/download/security-releases/ss-2018-021) + +### Features and Enhancements + + * 2018-11-27 [a8f4f23c6](https://github.com/silverstripe/silverstripe-framework/commit/a8f4f23c660474e965b510ba1bb04bf7a145d5b0) Add visibility updates to `upgrade.yml`. (bergice) + +### Bugfixes + + * 2019-01-31 [cda9eef](https://github.com/silverstripe/silverstripe-assets/commit/cda9eef992b70fd46377be6d4459260d31ea2215) Fix for issue #212 (Joe Madden) + * 2019-01-29 [f918dcd36](https://github.com/silverstripe/silverstripe-framework/commit/f918dcd36a177adb8abee751d27a809f25a0afab) Escape wildcard characters when matching database name in databaseExists (Guy Marriott) + * 2019-01-28 [dc9d1b9cc](https://github.com/silverstripe/silverstripe-framework/commit/dc9d1b9cc0d3b14929fe2675282980a2750fb4cf) GridFieldPrintButton no longer assumes that children of GridField would implement their own print template (Robbie Averill) + * 2019-01-25 [0797ab7](https://github.com/silverstripe/silverstripe-asset-admin/commit/0797ab7762a4a64f2dc89c754a6bb04216b96fe1) Fix GraphQL FolderTypeCreator::resolveChildrenConnection on PostgreSQL (#901) (Serge Latyntcev) + * 2019-01-24 [d530bc2fb](https://github.com/silverstripe/silverstripe-framework/commit/d530bc2fb6c8c290f1f75f39bc4ec898cc326cf1) fix user feedback when jquery could not be loaded (Benedikt Seidl) + * 2019-01-13 [5c3b95ac](https://github.com/silverstripe/silverstripe-cms/commit/5c3b95ac8977f77e7d95d4da6333ca12b5ef465f) Multibyte URL routing (Ingo Schommer) + * 2019-01-11 [2cb49ea](https://github.com/silverstripe/silverstripe-versioned/commit/2cb49ea79d6babb80289f170dc6102c82f5b0d69) [Warning] on count() with PHP >= 7.2 (Lukas) + * 2018-12-12 [0491ca03c](https://github.com/silverstripe/silverstripe-framework/commit/0491ca03cfcbd81690c54cc00f6234675978ef39) prevent death on urls with querystrings & anchors (mikeyc7m) diff --git a/docs/en/04_Changelogs/4.1.5.md b/docs/en/04_Changelogs/4.1.5.md new file mode 100644 index 000000000..2d466ac54 --- /dev/null +++ b/docs/en/04_Changelogs/4.1.5.md @@ -0,0 +1,18 @@ +# 4.1.5 + + + +## Change Log + +### Security + + * 2018-12-18 [fd90cf6ce](https://github.com/silverstripe/silverstripe-framework/commit/fd90cf6ceb346142eee6ba620599ab36c2d18cbb) Fix potential SQL vulnerability in non-scalar value hyrdation (Maxime Rainville) - See [ss-2018-021](https://www.silverstripe.org/download/security-releases/ss-2018-021) +s +### Bugfixes + + * 2019-01-31 [cda9eef](https://github.com/silverstripe/silverstripe-assets/commit/cda9eef992b70fd46377be6d4459260d31ea2215) Fix for issue #212 (Joe Madden) + * 2019-01-25 [0797ab7](https://github.com/silverstripe/silverstripe-asset-admin/commit/0797ab7762a4a64f2dc89c754a6bb04216b96fe1) Fix GraphQL FolderTypeCreator::resolveChildrenConnection on PostgreSQL (#901) (Serge Latyntcev) + * 2019-01-13 [5c3b95ac](https://github.com/silverstripe/silverstripe-cms/commit/5c3b95ac8977f77e7d95d4da6333ca12b5ef465f) Multibyte URL routing (Ingo Schommer) + * 2019-01-11 [2cb49ea](https://github.com/silverstripe/silverstripe-versioned/commit/2cb49ea79d6babb80289f170dc6102c82f5b0d69) [Warning] on count() with PHP >= 7.2 (Lukas) + * 2018-12-18 [3d841a4](https://github.com/silverstripe/silverstripe-installer/commit/3d841a409c43752a8192afea5ebc48327e2ac3d3) / Behat tests (Serge Latyntcev) + * 2018-12-13 [c4a0d5f0](https://github.com/silverstripe/silverstripe-cms/commit/c4a0d5f0831f0f27022905700a0ffb86cc56aceb) Publish button text merge regression (Aaron Carlino) diff --git a/docs/en/04_Changelogs/4.2.0.md b/docs/en/04_Changelogs/4.2.0.md index 105e6509c..89213c039 100644 --- a/docs/en/04_Changelogs/4.2.0.md +++ b/docs/en/04_Changelogs/4.2.0.md @@ -204,8 +204,7 @@ SilverStripe\Core\Injector\Injector: factory: SilverStripe\Core\Cache\CacheFactory constructor: namespace: "MyInsensitiveData" - args: - disable-container: true + disable-container: true ``` ### HTTP Cache Header changes diff --git a/docs/en/04_Changelogs/4.2.4.md b/docs/en/04_Changelogs/4.2.4.md new file mode 100644 index 000000000..6bf24c1a9 --- /dev/null +++ b/docs/en/04_Changelogs/4.2.4.md @@ -0,0 +1,24 @@ +# 4.2.4 + + + +## Change Log + +### Security + + * 2018-12-18 [7cc40fe39](https://github.com/silverstripe/silverstripe-framework/commit/7cc40fe392ed907be8fbfc73579b4888840c39e6) Fix potential SQL vulnerability in non-scalar value hyrdation (Maxime Rainville) - See [ss-2018-021](https://www.silverstripe.org/download/security-releases/ss-2018-021) + +### Bugfixes + + * 2019-01-31 [cda9eef](https://github.com/silverstripe/silverstripe-assets/commit/cda9eef992b70fd46377be6d4459260d31ea2215) Fix for issue #212 (Joe Madden) + * 2019-01-25 [568be8e29](https://github.com/silverstripe/silverstripe-framework/commit/568be8e29b9a6f9205dd28a823ed5294cc95a590) Misconfiguration for versioned cache segmentation (fixes #8754) (Loz Calver) + * 2019-01-25 [0797ab7](https://github.com/silverstripe/silverstripe-asset-admin/commit/0797ab7762a4a64f2dc89c754a6bb04216b96fe1) Fix GraphQL FolderTypeCreator::resolveChildrenConnection on PostgreSQL (#901) (Serge Latyntcev) + * 2019-01-24 [d00c59c38](https://github.com/silverstripe/silverstripe-framework/commit/d00c59c383dee270c9c1753dd8b64b8cd1b15489) Fix tests not loading fixtures and loading themes in CWP recipe kitchen sink (Robbie Averill) + * 2019-01-17 [9ced2347](https://github.com/silverstripe/silverstripe-cms/commit/9ced23473f2f102de5b6d828d093be1102f8d570) Don't convert datalist to arraylist when filtering pages (Damian Mooyman) + * 2019-01-13 [5c3b95ac](https://github.com/silverstripe/silverstripe-cms/commit/5c3b95ac8977f77e7d95d4da6333ca12b5ef465f) Multibyte URL routing (Ingo Schommer) + * 2019-01-11 [2cb49ea](https://github.com/silverstripe/silverstripe-versioned/commit/2cb49ea79d6babb80289f170dc6102c82f5b0d69) [Warning] on count() with PHP >= 7.2 (Lukas) + * 2019-01-10 [34ac22802](https://github.com/silverstripe/silverstripe-framework/commit/34ac228029a4609d993e8604aad16e72bd52ac9c) Fix issue with assertListEquals() ignoring field getters (Damian Mooyman) + * 2019-01-08 [c43f4e0](https://github.com/silverstripe/silverstripe-graphql/commit/c43f4e0708fd86e8078ef3326d963005d626baf4) Ensure queries are sorted before limiting (Damian Mooyman) + * 2018-12-18 [3d841a4](https://github.com/silverstripe/silverstripe-installer/commit/3d841a409c43752a8192afea5ebc48327e2ac3d3) / Behat tests (Serge Latyntcev) + * 2018-12-13 [c4a0d5f0](https://github.com/silverstripe/silverstripe-cms/commit/c4a0d5f0831f0f27022905700a0ffb86cc56aceb) Publish button text merge regression (Aaron Carlino) + * 2018-09-27 [ce3a1ce9](https://github.com/silverstripe/silverstripe-cms/commit/ce3a1ce91307424f643a15f0c292e16b35f35873) Use correct subsites namespace in SiteTree and test classes (Robbie Averill) diff --git a/lang/da.yml b/lang/da.yml index 4fc3ade6f..e203c1876 100644 --- a/lang/da.yml +++ b/lang/da.yml @@ -84,7 +84,6 @@ da: RelationSearch: Relationssøgning ResetFilter: Nulstil SilverStripe\Forms\GridField\GridFieldDeleteAction: - DELETE_DESCRIPTION: Slet Delete: Slet DeletePermissionsFailure: 'Ingen slette rettigheder' EditPermissionsFailure: 'Ingen rettighed til at fjerne emnet' @@ -96,23 +95,12 @@ da: DeletePermissionsFailure: 'Ingen slette rettigheder' Deleted: 'Slet {type} {name}' Save: Gem - SilverStripe\Forms\GridField\GridFieldEditButton_ss: - EDIT: Rediger SilverStripe\Forms\GridField\GridFieldGroupDeleteAction: UnlinkSelfFailure: 'Kan ikke fjerne dig selv fra denne gruppe, du vil miste administrator rettigheder' SilverStripe\Forms\GridField\GridFieldPaginator: OF: af Page: Side View: Vis - SilverStripe\Forms\GridField\GridFieldVersionedState: - ADDEDTODRAFTHELP: 'Elementet er endnu ikke udgivet' - ADDEDTODRAFTSHORT: Kladde - ARCHIVEDPAGEHELP: 'Elementet er fjernet fra kladde og udgivet version' - ARCHIVEDPAGESHORT: Arkiveret - MODIFIEDONDRAFTHELP: 'Elementet har ikke udgivne ændringer' - MODIFIEDONDRAFTSHORT: Ændret - ONLIVEONLYSHORT: 'Kun på udgivet version' - ONLIVEONLYSHORTHELP: 'Elementet er udgivet, men er slette fra kladde' SilverStripe\Forms\MoneyField: FIELDLABELAMOUNT: Beløb FIELDLABELCURRENCY: Valuta @@ -331,7 +319,4 @@ da: LOGOUT: 'Log ud' LOSTPASSWORDHEADER: 'Glemt kodeord' NOTEPAGESECURED: 'Denne side er beskyttet. Indtast dine loginoplysninger herunder for at få adgang.' - NOTERESETLINKINVALID: '

Kodeordets nulstillingslink er ugyldigt eller udløbet.

Du kan anmode om et nyt link her eller skifte dit kodeord efter du er logget ind.

' NOTERESETPASSWORD: 'Indtast din email adresse, så sender vi dig et link som du kan nulstille dit kodeord med' - PASSWORDSENTHEADER: 'Link til nulstilling af kodeord er sendt til ''{email}''' - PASSWORDSENTTEXT: 'Tak for det! Et link til at nulstille kodeordet er sendt til ''{email}'', forudsat at en konto eksisterer med denne email adresse.' diff --git a/lang/de.yml b/lang/de.yml index 77e2f1584..cf8aa4518 100644 --- a/lang/de.yml +++ b/lang/de.yml @@ -1,10 +1,35 @@ de: + SilverStripe\Admin\LeftAndMain: + VersionUnknown: unbekannt + SilverStripe\AssetAdmin\Forms\UploadField: + Dimensions: Dimensionen + EDIT: Bearbeiten + EDITINFO: 'Diese Datei bearbeiten' + REMOVE: Entfernen + SilverStripe\Control\ChangePasswordEmail_ss: + CHANGEPASSWORDTEXT1: 'Sie haben Ihr Passwort geändert für' + CHANGEPASSWORDTEXT3: 'Passwort ändern' + HELLO: Hallo + SilverStripe\Control\Email\ForgotPasswordEmail_ss: + HELLO: Hallo + TEXT1: 'Hier ist Ihr' + TEXT2: 'Link zum Zurücksetzen des Passworts' + TEXT3: für + SilverStripe\Control\RequestProcessor: + INVALID_REQUEST: 'Ungültige Anfrage' + REQUEST_ABORTED: 'Anfrage abgebrochen' + SilverStripe\Core\Manifest\VersionProvider: + VERSIONUNKNOWN: Unbekannt SilverStripe\Forms\CheckboxField: NOANSWER: Nein YESANSWER: Ja + SilverStripe\Forms\CheckboxSetField_ss: + NOOPTIONSAVAILABLE: 'Keine Optionen verfügbar' SilverStripe\Forms\ConfirmedPasswordField: ATLEAST: 'Passwörter müssen mindestens {min} Zeichen lang sein.' BETWEEN: 'Passwörter müssen zwischen {min} und {max} Zeichen lang sein.' + CURRENT_PASSWORD_ERROR: 'Das derzeitige Passwort ist nicht richtig.' + CURRENT_PASSWORD_MISSING: 'Bitte geben Sie Ihr derzeitiges Passwort ein.' LOGGED_IN_ERROR: 'Sie müssen eingeloggt sein, um Ihr Passwort ändern zu können!' MAXIMUM: 'Passwörter dürfen maximal {max} Zeichen lang sein.' SHOWONCLICKTITLE: 'Passwort ändern' @@ -14,12 +39,18 @@ de: VALIDDATEFORMAT2: 'Bitte geben sie das Datum im korrekten Format ein ({format})' VALIDDATEMAXDATE: 'Ihr Datum muss vor dem erlaubtem Datum ({date}) liegen oder gleich sein' VALIDDATEMINDATE: 'Ihr Datum muss nach dem erlaubtem Datum ({date}) liegen oder gleich sein' + SilverStripe\Forms\DatetimeField: + VALIDDATEMAXDATETIME: 'Ihr Datum muss vor dem erlaubtem Datum ({datetime}) liegen oder gleich sein' + VALIDDATETIMEFORMAT: 'Bitte geben Sie ein gültiges Datums- und Zeitformat ein ({format})' + VALIDDATETIMEMINDATE: 'Ihr Datum muss nach dem erlaubtem Datum ({datetime}) liegen oder gleich sein' SilverStripe\Forms\DropdownField: CHOOSE: (Auswahl) CHOOSE_MODEL: '({name} auswählen)' SOURCE_VALIDATION: 'Bitte wählen Sie aus der Liste. {value} ist kein gültiger Wert' SilverStripe\Forms\EmailField: VALIDATION: 'Bitte geben Sie eine E-Mail-Adresse ein' + SilverStripe\Forms\FileUploadReceiver: + FIELDNOTSET: 'Dateiinformation nicht gefunden' SilverStripe\Forms\Form: CSRF_EXPIRED_MESSAGE: 'Ihre Sitzung ist abgelaufen. Bitte schicken Sie das Formular erneut ab.' CSRF_FAILED_MESSAGE: 'Es gab ein technisches Problem. Bitte versuchen Sie es erneut, nachdem sie die vorherige Seite neu geladen haben.' @@ -29,10 +60,14 @@ de: VALIDATOR: Prüfer VALIDCURRENCY: 'Bitte geben Sie einen korrekten Betrag ein' SilverStripe\Forms\FormField: + EXAMPLE: 'z.B. {format}' NONE: keine + SilverStripe\Forms\FormScaffolder: + TABMAIN: Hauptteil SilverStripe\Forms\GridField\GridField: Add: '{name} hinzufügen' CSVEXPORT: 'Als CSV-Datei exportieren' + CSVIMPORT: 'CSV importieren' Filter: Filter FilterBy: 'Filtern nach' Find: Suchen @@ -58,9 +93,18 @@ de: DeletePermissionsFailure: 'Keine Berechtigungen zum löschen' Deleted: 'Gelöscht {type} {name}' Save: Speichern + SilverStripe\Forms\GridField\GridFieldEditButton: + EDIT: Bearbeiten + SilverStripe\Forms\GridField\GridFieldPaginator: + OF: von + Page: Seite + View: Anzeigen SilverStripe\Forms\MoneyField: FIELDLABELAMOUNT: Betrag FIELDLABELCURRENCY: Währung + INVALID_CURRENCY: 'Währung {currency} ist nicht in der Liste der erlaubten Währungen' + SilverStripe\Forms\MultiSelectField: + SOURCE_VALIDATION: 'Bitte wählen Sie aus der Liste. {value} ist ungültig.' SilverStripe\Forms\NullableField: IsNullLabel: 'ist NULL' SilverStripe\Forms\NumericField: @@ -69,19 +113,45 @@ de: VALIDATEFORMAT: 'Bitte geben Sie die Uhrzeit im korrekten Format ein ({format})' SilverStripe\ORM\DataObject: PLURALNAME: DatenObjekte + PLURALS: + one: 'Ein DatenObjekt' + other: '{count} DatenObjekte' SINGULARNAME: DatenObjekt SilverStripe\ORM\FieldType\DBBoolean: ANY: alle NOANSWER: Nein YESANSWER: Ja SilverStripe\ORM\FieldType\DBDate: + DAYS_SHORT_PLURALS: + one: '{count} Tag' + other: '{count} Tage' + HOURS_SHORT_PLURALS: + one: '{count} Stunde' + other: '{count} Stunden' LessThanMinuteAgo: 'weniger als eine Minute' + MINUTES_SHORT_PLURALS: + one: '{count} Minute' + other: '{count} Minuten' + MONTHS_SHORT_PLURALS: + one: '{count} Monat' + other: '{count} Monate' + SECONDS_SHORT_PLURALS: + one: '{count} Sekunde' + other: '{count} Sekunden' TIMEDIFFAGO: 'vor {difference}' TIMEDIFFIN: 'in {difference}' + YEARS_SHORT_PLURALS: + one: '{count} Jahr' + other: '{count} Jahre' SilverStripe\ORM\FieldType\DBEnum: ANY: alle + SilverStripe\ORM\Hierarchy: + LIMITED_TITLE: 'Zu viele Kindelemente ({count})' SilverStripe\ORM\Hierarchy\Hierarchy: InfiniteLoopNotAllowed: 'Es wurde eine Endlosschleife innerhalb der "{type}"-Hierarchie gefunden. Bitte ändern Sie die übergeordnete Seite, um den Fehler zu beheben' + LIMITED_TITLE: 'Zu viele Kindelemente ({count})' + SilverStripe\ORM\ValidationException: + DEFAULT_ERROR: Validierungsfehler SilverStripe\Security\BasicAuth: ENTERINFO: 'Bitte geben Sie einen Nutzernamen und ein Passwort ein' ERRORNOTADMIN: 'Dieser Nutzer ist kein Administrator' @@ -90,28 +160,46 @@ de: PASSWORDEXPIRED: '

Ihr Passwort ist abgelaufen. Bitte wählen Sie ein neues Passwort.

' SilverStripe\Security\CMSSecurity: INVALIDUSER: '

Ungültiger Benutzer. Bitte melden Sie sich hier an um fortzufahren.

' + LOGIN_MESSAGE: '

Ihre Sitzung ist wegen Inaktivität abgelaufen.

' SUCCESS: Erfolg SUCCESSCONTENT: '

Login erfolgreich. Falls Sie nicht automatisch weitergeleitet werden, bitte hier klicken

' + SUCCESS_TITLE: 'Login erfolgreich' + SilverStripe\Security\DefaultAdminService: + DefaultAdminFirstname: Standardadmin SilverStripe\Security\Group: AddRole: 'Rolle zur Gruppe hinzufügen' Code: 'Gruppen Code' DefaultGroupTitleAdministrators: Administratoren DefaultGroupTitleContentAuthors: Inhaltsautoren Description: Beschreibung + GROUPNAME: Gruppenname GroupReminder: 'Diese Gruppe übernimmt automatisch die Rollen der Elterngruppe' HierarchyPermsError: 'Kann Berechtigungen der Eltern-Gruppe "{group}" nicht hinzufügen (erfordert Administratorrechte)' Locked: 'Gesperrt?' + MEMBERS: Mitglieder + NEWGROUP: 'Neue Gruppe' NoRoles: 'Keine Rollen gefunden' + PERMISSIONS: Berechtigungen PLURALNAME: Gruppen + PLURALS: + one: 'Eine Gruppe' + other: '{count} Gruppen' Parent: Elterngruppe + ROLES: Rollen + ROLESDESCRIPTION: 'Hier können Sie der Gruppe Rollen zuweisen.
Rollen sind logische Gruppierungen von Berechtigungen.' RolesAddEditLink: 'Rollen hinzufügen/editieren' SINGULARNAME: Gruppe Sort: Sortierreihenfolge has_many_Permissions: Berechtigungen many_many_Members: Mitglieder SilverStripe\Security\LoginAttempt: + Email: E-Mail-Adresse + EmailHashed: 'E-Mail-Adresse (gehashed)' IP: IP-Adresse PLURALNAME: Loginversuche + PLURALS: + one: 'Ein Loginversuch' + other: '{count} Loginversuche' SINGULARNAME: Loginversuch Status: Status SilverStripe\Security\Member: @@ -119,6 +207,7 @@ de: BUTTONCHANGEPASSWORD: 'Passwort ändern' BUTTONLOGIN: Einloggen BUTTONLOGINOTHER: 'Als jemand anderes einloggen' + BUTTONLOGOUT: Abmelden BUTTONLOSTPASSWORD: 'Ich habe mein Passwort vergessen' CONFIRMNEWPASSWORD: 'Neues Passwort bestätigen' CONFIRMPASSWORD: 'Passwort bestätigen' @@ -139,6 +228,10 @@ de: PASSWORD: Passwort PASSWORDEXPIRED: 'Ihr Passwort ist abgelaufen. Bitte wählen Sie ein neues Passwort.' PLURALNAME: Benutzer + PLURALS: + one: 'Ein Mitglied' + other: '{count} Mitglieder' + REMEMBERME: 'Für das nächste Mal merken? (für {count} Tage auf diesem Gerät)' SINGULARNAME: Benutzer SUBJECTPASSWORDCHANGED: 'Ihr Passwort wurde geändert' SUBJECTPASSWORDRESET: 'Ihr Link zur Passwortrücksetzung' @@ -151,8 +244,21 @@ de: db_LockedOutUntil: 'Gesperrt bis' db_Password: Passwort db_PasswordExpiry: 'Ablaufdatum des Passworts' + SilverStripe\Security\MemberAuthenticator\CMSMemberLoginForm: + AUTHENTICATORNAME: 'CMS Benutzer Login Formular' + BUTTONFORGOTPASSWORD: 'Passwort vergessen' + BUTTONLOGIN: 'Wieder einloggen' + BUTTONLOGOUT: Abmelden + SilverStripe\Security\MemberAuthenticator\MemberAuthenticator: + ERRORWRONGCRED: 'Ihre Eingaben scheinen nicht richtig zu sein. Bitte versuchen Sie es erneut.' + NoPassword: 'Dieser Benutzer hat kein Passwort.' + SilverStripe\Security\MemberAuthenticator\MemberLoginForm: + AUTHENTICATORNAME: 'E-Mail & Passwort' SilverStripe\Security\MemberPassword: PLURALNAME: Benutzerpasswörter + PLURALS: + one: 'Ein Benutzerpasswort' + other: '{count} Benutzerpasswörter' SINGULARNAME: Benutzerpasswort SilverStripe\Security\PasswordValidator: LOWCHARSTRENGTH: 'Bitte erhöhen Sie die Sicherheit des Passworts, indem Sie auch einige der folgenden Zeichen verwenden: {chars}' @@ -160,10 +266,15 @@ de: TOOSHORT: 'Das Passwort ist zu kurz, es muss mindestens {minimum} Zeichen lang sein' SilverStripe\Security\Permission: AdminGroup: Administrator + CMS_ACCESS_CATEGORY: 'CMS Zugriff' CONTENT_CATEGORY: Inhaltsberechtigungen FULLADMINRIGHTS: 'Unbeschränkte Administratorenrechte' FULLADMINRIGHTS_HELP: 'Schließt alle anderen verfügbaren Berechtigungen ein' + PERMISSIONS_CATEGORY: 'Rollen und Zugriffsberechtigungen' PLURALNAME: Berechtigungen + PLURALS: + one: 'Eine Berechtigung' + other: '{count} Berechtigungen' SINGULARNAME: Zugriffsberechtigung UserPermissionsIntro: 'Durch das Hinzufügen von Benutzern zu Gruppen, werden dessen Rechte angepasst. Mehr Informationen über die Berechtigungen der einzelnen Gruppen erhältst Du im Abschnitt Gruppen.' SilverStripe\Security\PermissionCheckboxSetField: @@ -174,12 +285,24 @@ de: SilverStripe\Security\PermissionRole: OnlyAdminCanApply: 'Nur Adminstratoren können beitreten' PLURALNAME: Rollen + PLURALS: + one: 'Eine Rolle' + other: '{count} Rollen' SINGULARNAME: Rolle Title: Titel SilverStripe\Security\PermissionRoleCode: PLURALNAME: Berechtigungsrollencodes + PLURALS: + one: 'Ein Berechtigungsrollencode' + other: '{count} Berechtigungsrollencodes' PermsError: 'Kann Berechtigungen dem Code "{code}" nicht hinzufügen (erfordert Administratorrechte)' SINGULARNAME: Berechtigungsrollencode + SilverStripe\Security\RememberLoginHash: + PLURALNAME: 'Login Hashes' + PLURALS: + one: 'Ein Login Hash' + other: '{count} Login Hashes' + SINGULARNAME: 'Login Hash' SilverStripe\Security\Security: ALREADYLOGGEDIN: 'Sie haben keinen Zugriff auf diese Seite. Wenn Sie ein anderes Konto besitzen, mit dem Sie auf diese Seite zugreifen können, melden Sie sich bitte unten an.' BUTTONSEND: 'Senden Sie mir den Link zur Passwortrücksetzung' @@ -188,6 +311,10 @@ de: ENTERNEWPASSWORD: 'Bitte geben Sie ein neues Passwort ein' ERRORPASSWORDPERMISSION: 'Sie müssen eingeloggt sein, um Ihr Passwort ändern zu können!' LOGIN: Anmelden + LOGOUT: Abmelden LOSTPASSWORDHEADER: 'Passwort vergessen' NOTEPAGESECURED: 'Diese Seite ist geschützt. Bitte melden Sie sich an und Sie werden sofort weitergeleitet.' + NOTERESETLINKINVALID: '

Der Link zum Zurücksetzen des Passworts ist entweder nicht korrekt oder abgelaufen

Sie können einen neuen Link anfordern oder Ihr Passwort nach dem einloggen ändern.

' NOTERESETPASSWORD: 'Geben Sie Ihre E-Mail-Adresse ein und wir werden Ihnen einen Link zuschicken, mit dem Sie Ihr Passwort zurücksetzen können.' + PASSWORDRESETSENTHEADER: 'Der Link zum Zurücksetzen des Passworts wurde gesendet' + PASSWORDRESETSENTTEXT: 'Vielen Dank! Wenn ein Account zu der E-Mail Adresse existiert, wurde eine E-Mail mit dem Link zum Zurücksetzen des Passworts verschickt.' diff --git a/lang/eo.yml b/lang/eo.yml index 206dffc1d..cc792bab4 100644 --- a/lang/eo.yml +++ b/lang/eo.yml @@ -84,7 +84,6 @@ eo: RelationSearch: 'Serĉi rilatojn' ResetFilter: Restartigi SilverStripe\Forms\GridField\GridFieldDeleteAction: - DELETE_DESCRIPTION: Forigi Delete: Forigi DeletePermissionsFailure: 'Mankas permeso forigi' EditPermissionsFailure: 'Mankas permeso malligi rikordon' @@ -96,23 +95,12 @@ eo: DeletePermissionsFailure: 'Mankas permeso forigi' Deleted: 'Forigita {type} {name}' Save: Konservi - SilverStripe\Forms\GridField\GridFieldEditButton_ss: - EDIT: Redakti SilverStripe\Forms\GridField\GridFieldGroupDeleteAction: UnlinkSelfFailure: 'Ne povas forigi vin el ĉi tiu grupo; vi perdus administrajn rajtojn' SilverStripe\Forms\GridField\GridFieldPaginator: OF: de Page: Paĝo View: Vido - SilverStripe\Forms\GridField\GridFieldVersionedState: - ADDEDTODRAFTHELP: 'Ero ankoraŭ estas ne publikigita' - ADDEDTODRAFTSHORT: Malneto - ARCHIVEDPAGEHELP: 'Ero estas forigita el malneta kaj publika' - ARCHIVEDPAGESHORT: Enarkivigita - MODIFIEDONDRAFTHELP: 'Ero enhavas nepublikigitajn ŝanĝojn' - MODIFIEDONDRAFTSHORT: Ŝanĝita - ONLIVEONLYSHORT: 'Nur ĉe publika' - ONLIVEONLYSHORTHELP: 'Ero estas publikigita, sed ĝi estas forigita el malneto' SilverStripe\Forms\MoneyField: FIELDLABELAMOUNT: Kvanto FIELDLABELCURRENCY: Kurzo @@ -331,7 +319,4 @@ eo: LOGOUT: Elsaluti LOSTPASSWORDHEADER: 'Perdis pasvorton' NOTEPAGESECURED: 'Tiu paĝo estas sekurigita. Enigu viajn akreditaĵojn sube kaj vi aliros pluen.' - NOTERESETLINKINVALID: '

La pasvorta reagorda ligilo estas malvalida aŭ finiĝis.

Vi povas peti novan ĉi tie aŭ ŝanĝi vian pasvorton post vi ensalutis.

' NOTERESETPASSWORD: 'Enigu vian retpoŝtan adreson kaj ni sendos al vi ligilon per kiu vi povas reagordi vian pasvorton' - PASSWORDSENTHEADER: 'Pasvorta reagorda ligilo sendiĝis al ''{email}''' - PASSWORDSENTTEXT: 'Dankon! Reagordita ligilo sendiĝis al ''{email}'', kondiĉe ke konto ekzistas por tiu retadreso.' diff --git a/lang/nl.yml b/lang/nl.yml index eae378c9d..f23bc5ef1 100644 --- a/lang/nl.yml +++ b/lang/nl.yml @@ -84,7 +84,6 @@ nl: RelationSearch: 'Zoek relatie' ResetFilter: Resetten SilverStripe\Forms\GridField\GridFieldDeleteAction: - DELETE_DESCRIPTION: Verwijder Delete: Verwijder DeletePermissionsFailure: 'Onvoldoende rechten om te verwijderen' EditPermissionsFailure: 'Geen toelating om te ontkoppelen' @@ -96,23 +95,12 @@ nl: DeletePermissionsFailure: 'Onvoldoende rechten om te verwijderen' Deleted: '{type} {name} verwijderd' Save: Opslaan - SilverStripe\Forms\GridField\GridFieldEditButton_ss: - EDIT: Edit SilverStripe\Forms\GridField\GridFieldGroupDeleteAction: UnlinkSelfFailure: 'U kunt uzelf niet verwijderen van deze groep, omdat u dan geen admin-rechten meer heeft.' SilverStripe\Forms\GridField\GridFieldPaginator: OF: van Page: Pagina View: Bekijk - SilverStripe\Forms\GridField\GridFieldVersionedState: - ADDEDTODRAFTHELP: 'Item is nog niet gepubliceerd' - ADDEDTODRAFTSHORT: Concept - ARCHIVEDPAGEHELP: 'Het item is verwijderd van de concept- en de live site' - ARCHIVEDPAGESHORT: Gearchiveerd - MODIFIEDONDRAFTHELP: 'Item heeft wijzigingen die nog niet gepubliceerd zijn' - MODIFIEDONDRAFTSHORT: Aangepast - ONLIVEONLYSHORT: 'Alleen op de live site' - ONLIVEONLYSHORTHELP: 'Item is gepubliceerd, maar verwijderd van de concept site' SilverStripe\Forms\MoneyField: FIELDLABELAMOUNT: Aantal FIELDLABELCURRENCY: Munteenheid @@ -174,8 +162,8 @@ nl: PASSWORDEXPIRED: '

Uw wachtwoord is verlopen. Kies een nieuw wachtwoord.

' SilverStripe\Security\CMSSecurity: INVALIDUSER: '

Ongeldige gebruiker Log hier opnieuw in om verder te gaan.

' - LOGIN_MESSAGE: 'Sessie is verlopen' - LOGIN_TITLE: '

U kunt verder met wat u aan het doen was, door opnieuw in te loggen.

' + LOGIN_MESSAGE: '

De browsersessie is verlopen wegens inactiviteit

' + LOGIN_TITLE: 'Log opnieuw in om verder te gaan.' SUCCESS: Succes SUCCESSCONTENT: '

U bent ingelogd. Klik hier als u niet automatisch wordt doorgestuurd.

' SUCCESS_TITLE: 'Inloggen is gelukt' @@ -331,7 +319,4 @@ nl: LOGOUT: Uitloggen LOSTPASSWORDHEADER: 'Wachtwoord vergeten' NOTEPAGESECURED: 'Deze pagina is beveiligd. Voer uw gegevens in en u wordt automatisch doorgestuurd.' - NOTERESETLINKINVALID: '

De link om uw wachtwoord te kunnen wijzigen is niet meer geldig.

U kunt een nieuwe link aanvragen of uw wachtwoord aanpassen door in te loggen.

' NOTERESETPASSWORD: 'Voer uw e-mailadres in en we sturen een link waarmee u een nieuw wachtwoord kunt instellen.' - PASSWORDSENTHEADER: 'Wachtwoord herstel link verzonden naar {email}' - PASSWORDSENTTEXT: 'Bedankt! Er is een link verstuurd naar {email} om uw wachtwoord opnieuw in te stellen, in de veronderstelling dat er een account bestaat voor dit e-mailadres.' diff --git a/src/Dev/Constraint/ViewableDataContains.php b/src/Dev/Constraint/ViewableDataContains.php index c26084509..6665c0f46 100644 --- a/src/Dev/Constraint/ViewableDataContains.php +++ b/src/Dev/Constraint/ViewableDataContains.php @@ -64,7 +64,7 @@ class ViewableDataContains extends PHPUnit_Framework_Constraint implements TestO $success = true; foreach ($this->match as $fieldName => $value) { - if ($other->getField($fieldName) != $value) { + if ($other->$fieldName != $value) { $success = false; break; } diff --git a/src/Dev/Install/Installer.php b/src/Dev/Install/Installer.php index dbcf39080..0f1358903 100644 --- a/src/Dev/Install/Installer.php +++ b/src/Dev/Install/Installer.php @@ -611,7 +611,7 @@ TEXT;
  • Testing...