diff --git a/docs/en/04_Changelogs/rc/4.0.1-rc1.md b/docs/en/04_Changelogs/rc/4.0.1-rc1.md new file mode 100644 index 000000000..88a726556 --- /dev/null +++ b/docs/en/04_Changelogs/rc/4.0.1-rc1.md @@ -0,0 +1,88 @@ +# 4.0.1-rc1 + + + +## Change Log + +### Security + + * 2017-11-30 [f1dd3d6f0]() Prevent disclosure of sensitive information via LoginAttempt (Damian Mooyman) - See [ss-2017-009](http://www.silverstripe.org/download/security-releases/ss-2017-009) + * 2017-11-29 [cfe1d4f48]() Ensure xls formulae are safely sanitised on output (Damian Mooyman) - See [ss-2017-007](http://www.silverstripe.org/download/security-releases/ss-2017-007) + * 2017-11-27 [7a79cd039]() Prevent install.php from disclosing system passwords (Damian Mooyman) - See [ss-2017-010](http://www.silverstripe.org/download/security-releases/ss-2017-010) + * 2017-11-20 [099a5a3c2]() SQL injection in full text search (Damian Mooyman) - See [ss-2017-008](http://www.silverstripe.org/download/security-releases/ss-2017-008) + +### API Changes + + * 2017-11-07 [96dfc95](https://github.com/silverstripe/silverstripe-versioned/commit/96dfc951c7bb76a112cb49af7f0aebf75bd29af4) Remove MemberExtension, functionality is replaced by framework update (Robbie Averill) + +### Features and Enhancements + + * 2017-12-04 [8ee35f4](https://github.com/silverstripe/silverstripe-asset-admin/commit/8ee35f46cbc9ae96e7927af46ea7ca8f067e55e1) added loadComponent fix for asset-admin entwine components (Christopher Joe) + * 2017-12-01 [259ae3f78]() Add ViewableData::getViewerTemplates() (Loz Calver) + * 2017-11-27 [b418616](https://github.com/silverstripe/silverstripe-admin/commit/b4186162769cee0c4fe7ab2df50781241b4e17ad) Use recipes for test configuration (Damian Mooyman) + * 2017-11-27 [33a39666b]() Promote portugese (portugal) as primary locale (Damian Mooyman) + * 2017-11-20 [3d5f4b3](https://github.com/silverstripe/silverstripe-assets/commit/3d5f4b38952d3b4d9fbf3a53767a942065490a0d) Hide Image_Backend construction behind image manipulations to improve performance (Damian Mooyman) + * 2017-11-20 [dea77c7](https://github.com/silverstripe/silverstripe-assets/commit/dea77c7792f9ee92f6c2ac600978c16cf7bf222c) Disable force_resample by default (Damian Mooyman) + * 2017-11-20 [0a37ff3](https://github.com/silverstripe/silverstripe-asset-admin/commit/0a37ff30c0d747e89dbcbd1a2a42411392aeb118) Don't request unused width / height from graphql (Damian Mooyman) + * 2017-11-15 [6a6cf2f9e]() Raise warning if DBField::create_field() would behave unpredictably and improve PHPDoc (Damian Mooyman) + * 2017-11-15 [8b063026f]() Ensure that non-writable assets files are notified during install (Damian Mooyman) + +### Bugfixes + + * 2017-12-05 [7efe667a](https://github.com/silverstripe/silverstripe-cms/commit/7efe667a487b4551dc21c0435b83cdced6290fc6) VirtualPage not using target page's template (fixes #2039) (#2041) (Loz Calver) + * 2017-12-03 [9fcebe7](https://github.com/silverstripe/silverstripe-asset-admin/commit/9fcebe7f317d2bdc7c1371ec4b4f6f20f6687e02) Fix unit tests (Christopher Joe) + * 2017-12-02 [3a4c6705c]() db autodiscover comment on loading behavior. (Russell Maclean) + * 2017-12-01 [91bd92df3]() Remove some unnecessary ClassInfo calls in DataObjectSchema (Loz Calver) + * 2017-12-01 [69295a6e2]() Ensure that all tinymce_lang mappings are valid (Damian Mooyman) + * 2017-11-28 [b3a51aa8d]() Fix broken scrutinizer (Damian Mooyman) + * 2017-11-28 [0de9b07](https://github.com/silverstripe/silverstripe-admin/commit/0de9b074fe6ac1e2d44c67b16f76fe3e01224131) Fix typo in Menu.scss (Damian Mooyman) + * 2017-11-27 [c4b366828]() Restore BackURL preservation on log out (closes #7636) (Loz Calver) + * 2017-11-27 [83cf147](https://github.com/silverstripe/silverstripe-admin/commit/83cf147649095f35ea6421a583153587c4afd8d9) Issue where logging out from the CMS presents you with a login form with no BackURL (Daniel Hensby) + * 2017-11-27 [b7ea05900]() Support self::class text collection (Robbie Averill) + * 2017-11-27 [cc72b5c85]() Added warning for auto-generated table_name for non-test classes (Christopher Joe) + * 2017-11-24 [09a003bc1]() deprecated usage of getMock in unit tests (Daniel Hensby) + * 2017-11-22 [ef6d86f2c]() Allow lowercase and uppercase delcaration of legacy Int class (Daniel Hensby) + * 2017-11-22 [d9e7a92b3]() Fix regressions in asset resize behaviour change (Damian Mooyman) + * 2017-11-21 [966622263]() Fix _configure_database.php being ignored (Damian Mooyman) + * 2017-11-21 [14b2641](https://github.com/silverstripe/silverstripe-config/commit/14b2641d0e10641817c15f1cda183b046fb86232) Fix added module fluid-prefix so module config will not require the full path to match (Christopher Joe) + * 2017-11-21 [27c079c](https://github.com/silverstripe/silverstripe-asset-admin/commit/27c079c307cb4d7ea4f0c176ad5105f37ecf3c27) Fix change in resampled config setting (Christopher Joe) + * 2017-11-21 [b1dc681](https://github.com/silverstripe/silverstripe-admin/commit/b1dc681d369899b2205340d1522441d6ccce5d24) Ensure changetracker safely defers to other init scripts (Damian Mooyman) + * 2017-11-20 [1e96989](https://github.com/silverstripe/silverstripe-config/commit/1e96989b99b108356ef349ce3a40f8681b71e925) Fix parameter order (Christopher Joe) + * 2017-11-20 [4fb0911](https://github.com/silverstripe/silverstripe-admin/commit/4fb0911290506d63d61c5a285f6ad6102cd3384f) Fix for buttons in change tracking and gridfield reloading (Christopher Joe) + * 2017-11-19 [694d2589](https://github.com/silverstripe/silverstripe-cms/commit/694d2589579f944ec714dac6aff7b888e5c42a96) Fix allowed children types now load properly (Christopher Joe) + * 2017-11-17 [509a590](https://github.com/silverstripe/silverstripe-admin/commit/509a590362d815f7d680c14a747e09674b3651b4) fix ignore `no-change-track` marked fields in changetracker (Christopher Joe) + * 2017-11-16 [cbf9e4011]() Fix postgres / PDO support (Damian Mooyman) + * 2017-11-16 [dda14e895]() HTTP::get_mime_type with uppercase filenames. (Roman Schmid) + * 2017-11-16 [52f0eadd3]() for #7606: Ensure the object we're handling is actually an Image instance before calling methods specific to that class (e.g. in case of using SVG's in <img> tag which may be File instances). (Patrick Nelson) + * 2017-11-16 [8de154d9](https://github.com/silverstripe/silverstripe-cms/commit/8de154d92cc9b044824205216683c0a187d17e5b) Restore missing '(Choose Page)' text in link insert modal (Damian Mooyman) + * 2017-11-15 [ef5879910]() Fix DBEnum ignoring empty defaults (Damian Mooyman) + * 2017-11-15 [ce3fd370f]() ManyMany link table joined with LEFT JOIN (Daniel Hensby) + * 2017-11-15 [3ad6a93](https://github.com/silverstripe/silverstripe-admin/commit/3ad6a937b8ae499f2f401c4cc1dd1193442f971e) page header center aligns when site tree is closed (Saophalkun Ponlu) + * 2017-11-15 [1c81430](https://github.com/silverstripe/silverstripe-admin/commit/1c8143078048bc0bdd516aeefcb171ec527359f2) fix show empty string title when relevant - rather than null when no options (Christopher Joe) + * 2017-11-14 [2bc7edbf4]() Fix don't treat zero-date as invalid (Christopher Joe) + * 2017-11-14 [b7e96fc](https://github.com/silverstripe/silverstripe-assets/commit/b7e96fcf3e39777d75740468ee39c224318ec68d) Prevent .htaccess operations from users in the same group failing (Damian Mooyman) + * 2017-11-14 [2e3bbe4](https://github.com/silverstripe/silverstripe-asset-admin/commit/2e3bbe437c5c7234a590c514c56b2c5674eaa051) Fix shortcodes not being parsed (Damian Mooyman) + * 2017-11-13 [3b5cee8](https://github.com/silverstripe/silverstripe-admin/commit/3b5cee8135ed444dba05bf66676ecf90c4b220e3) unsaved change dialog display just after creating a record (Saophalkun Ponlu) + * 2017-11-13 [d60f4a3](https://github.com/silverstripe/silverstripe-admin/commit/d60f4a30795a7d40d0b766bf62ed55c8291efe69) fix missing chosen sprites added to dist folder (Christopher Joe) + * 2017-11-09 [bf20d59cb]() Fixes SapphireTest masking userland coding errors. (Russell Michell) + * 2017-11-09 [1053de7ec]() Don't redirect in force_redirect() in CLI (Damian Mooyman) + * 2017-11-08 [0a87ad2](https://github.com/silverstripe/silverstripe-assets/commit/0a87ad270214563e7a90338b0a090da28dce6e1a) Remove whitespace around download link title (Robbie Averill) + * 2017-11-08 [6139de868]() Make sure plain parts are rendered when re-rendering emails (Daniel Hensby) + * 2017-11-06 [d3ff0d7](https://github.com/silverstripe/silverstripe-asset-admin/commit/d3ff0d74d2d49a2294b40f532174351bdef58101) Fix buttons in upload field to be proper button types (Christopher Joe) + * 2017-11-05 [d8b4ca91d]() Fix ContextSummary behaviour with UTF8 chars (Sam Minnee) + * 2017-11-03 [1d5cd20](https://github.com/silverstripe/silverstripe-admin/commit/1d5cd20ac553278396600e848f5482633c96a52c) Fix react-select does not return the true value when the option is missing (Christopher Joe) + * 2017-11-02 [457e653](https://github.com/silverstripe/silverstripe-asset-admin/commit/457e653867631d1fcec5676beb48ed01e05caaee) Fix native upload dialog appearing in entwine sections and added a canUpload condition for UploadField (Christopher Joe) + * 2017-11-01 [1bdfd056](https://github.com/silverstripe/silverstripe-cms/commit/1bdfd056482f1ba2c682e683a3582c682ec3dbbe) Remove usage of deprecated each() (Damian Mooyman) + * 2017-11-01 [5bc4f3d1f]() Remove usage of deprecated each() and use a helper method instead (Damian Mooyman) + * 2017-10-31 [f952ef747]() ed array/object mismatch bug in PaginatedList (Colin Tucker) + * 2017-10-25 [dd54e04](https://github.com/silverstripe/silverstripe-asset-admin/commit/dd54e04a4998ffb1968ab1e38423752f8e44b426) Fix usability issue, can tab to the upload field item even when it doesn't do anything by default (Christopher Joe) + * 2017-10-25 [cbac37559]() Helpful warning when phpunit bootstrap appears misconfigured (Daniel Hensby) + * 2017-10-25 [32cef975e]() Use self::inst() for Injector/Config nest methods (Daniel Hensby) + * 2017-10-25 [23316fc](https://github.com/silverstripe/silverstripe-asset-admin/commit/23316fccf2e1da907251614f6aaf40f58a6427ac) Fix wrong mouse cursor for description text in upload field area (Christopher Joe) + * 2017-10-19 [4965dc4](https://github.com/silverstripe/silverstripe-admin/commit/4965dc4fcb1cf650b1b4840f13e25aca39fd286f) stop bothering people with pop-ups (Christopher Joe) + * 2017-10-19 [a73d5b41](https://github.com/silverstripe/silverstripe-cms/commit/a73d5b4177be445128a6fa42e20dd8df13eaf554) revert to this button after archiving (Christopher Joe) + * 2017-10-12 [fd39faee](https://github.com/silverstripe/silverstripe-cms/commit/fd39faeefd5241cf96313e968142183de767c51b) UploadField overwriteWarning isn't working in AssetAdmin (Jason) + * 2017-10-09 [264cec123]() Dont use var_export for cache key generation as it fails on circular references (Daniel Hensby) + * 2017-10-04 [24e190ea](https://github.com/silverstripe/silverstripe-cms/commit/24e190ea8265d16445a3210f7b06de191e474004) TreeDropdownField showing broken page icons (fixes silverstripe/silverstripe-framework#7420) (Loz Calver) + * 2017-08-13 [2f579b64c]() Files without extensions (folders) do not have a trailing period added (Robbie Averill) + * 2017-07-04 [00f1ad5d6]() Fixes #7116 Improves server requirements docs viz: OpCaches. (Russell Michell) diff --git a/lang/en.yml b/lang/en.yml index 49122946b..4f6d57926 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -211,6 +211,7 @@ en: many_many_Members: Members SilverStripe\Security\LoginAttempt: Email: 'Email Address' + EmailHashed: 'Email Address (hashed)' IP: 'IP Address' PLURALNAME: 'Login Attempts' PLURALS: @@ -269,6 +270,8 @@ en: SilverStripe\Security\MemberAuthenticator\MemberAuthenticator: ERRORWRONGCRED: 'The provided details don''t seem to be correct. Please try again.' NoPassword: 'There is no password on this member.' + SilverStripe\Security\MemberAuthenticator\MemberLoginForm: + AUTHENTICATORNAME: 'E-mail & Password' SilverStripe\Security\MemberPassword: PLURALNAME: 'Member Passwords' PLURALS: diff --git a/lang/fi.yml b/lang/fi.yml index abf7732cd..53eae99ed 100644 --- a/lang/fi.yml +++ b/lang/fi.yml @@ -100,6 +100,8 @@ fi: Save: Tallenna SilverStripe\Forms\GridField\GridFieldEditButton_ss: EDIT: Muokkaa + SilverStripe\Forms\GridField\GridFieldGroupDeleteAction: + UnlinkSelfFailure: 'Et voi siirtää itseäsi pois tästä ryhmästä: menettäisit pääkäyttäjän oikeudet' SilverStripe\Forms\GridField\GridFieldPaginator: OF: / Page: Sivu @@ -250,6 +252,7 @@ fi: SUBJECTPASSWORDCHANGED: 'Salasanasi on vaihdettu' SUBJECTPASSWORDRESET: 'Salasanasi palautuslinkki' SURNAME: Sukunimi + VALIDATIONADMINLOSTACCESS: 'Ylläpitäjäryhmää ei voi poistaa profiilistasi' ValidationIdentifierFailed: 'Olemassa olevan käyttäjän id:n #{id} päälle ei voida kirjoittaa samalla tunnisteella ({name} = {value}))' WELCOMEBACK: 'Tervetuloa takaisin, {firstname}' YOUROLDPASSWORD: 'Vanha salasanasi' diff --git a/lang/fr.yml b/lang/fr.yml index d2df2a24d..c6f59e67f 100644 --- a/lang/fr.yml +++ b/lang/fr.yml @@ -1,63 +1,84 @@ fr: + SilverStripe\Admin\LeftAndMain: + VersionUnknown: Inconnu SilverStripe\AssetAdmin\Forms\UploadField: Dimensions: Dimensions EDIT: Éditer EDITINFO: 'Éditer ce fichier' + REMOVE: Retirer SilverStripe\Control\ChangePasswordEmail_ss: + CHANGEPASSWORDFOREMAIL: 'Le mot de passe du compte correspondant à l''adresse {email} a été modifié. Si vous n''avez pas modifié votre mot de passe, merci de le changer à l''aide du lien suivant' CHANGEPASSWORDTEXT1: 'Votre mot de passe est maintenant' CHANGEPASSWORDTEXT3: 'Changer le mot de passe' HELLO: Bonjour SilverStripe\Control\Email\ForgotPasswordEmail_ss: HELLO: Bonjour + TEXT1: 'Voici votre' + TEXT2: 'Lien de réinitialisation de mot de passe' + TEXT3: pour + SilverStripe\Control\RequestProcessor: + INVALID_REQUEST: 'Requête invalide' + REQUEST_ABORTED: 'Requête non aboutie' + SilverStripe\Core\Manifest\VersionProvider: + VERSIONUNKNOWN: Inconnu SilverStripe\Forms\CheckboxField: NOANSWER: Non YESANSWER: Oui + SilverStripe\Forms\CheckboxSetField_ss: + NOOPTIONSAVAILABLE: 'Aucune option disponible' SilverStripe\Forms\ConfirmedPasswordField: ATLEAST: 'Le mot de passe doit comporter au moins {min} caractères.' BETWEEN: 'Le mot de passe doit comporter entre {min} et {max} caractères.' CURRENT_PASSWORD_ERROR: 'Le mot de passe que vous avez saisi n''est pas correct' CURRENT_PASSWORD_MISSING: 'Vous devez saisir votre mot de passe actuel.' LOGGED_IN_ERROR: 'Vous devez être connecté pour pouvoir changer votre mot de passe' - MAXIMUM: 'Le mot de passe ne doit comporter plus de {max} caractères.' + MAXIMUM: 'Le mot de passe ne doit pas comporter plus de {max} caractères.' SHOWONCLICKTITLE: 'Changer le mot de passe' SilverStripe\Forms\CurrencyField: CURRENCYSYMBOL: $ SilverStripe\Forms\DateField: NOTSET: 'non renseigné' TODAY: 'aujourd''hui' - VALIDDATEFORMAT2: 'Saisissez la date au format valide ({format})' - VALIDDATEMAXDATE: 'La date doit être antérieure ou égale à celle qui a été autorisée ({date})' - VALIDDATEMINDATE: 'La date doit être plus récente ou égale à celle qui a été autorisée ({date})' + VALIDDATEFORMAT2: 'Saisissez une date au format valide ({format})' + VALIDDATEMAXDATE: 'La date doit être antérieure ou égale à celle autorisée ({date})' + VALIDDATEMINDATE: 'La date doit être postérieure ou égale à celle autorisée ({date})' SilverStripe\Forms\DatetimeField: + VALIDDATEMAXDATETIME: 'La date doit être antérieure ou égale à celle autorisée ({datetime})' VALIDDATETIMEFORMAT: 'Saisissez un format de date et d''heure valide ({format})' + VALIDDATETIMEMINDATE: 'La date doit être postérieure ou égale à celle autorisée ({datetime})' SilverStripe\Forms\DropdownField: CHOOSE: (Choisir) CHOOSE_MODEL: '(Choisir {name})' + SOURCE_VALIDATION: 'Merci de choisir une valeur parmi celles proposées dans la liste. {value} n''est pas une option valide' SilverStripe\Forms\EmailField: - VALIDATION: 'Saisissez une adresse de courrier électronique' + VALIDATION: 'Merci de saisir une adresse email' SilverStripe\Forms\FileUploadReceiver: - FIELDNOTSET: 'Informations concernant le fichiers non-trouvées' + FIELDNOTSET: 'Information sur le fichier introuvable' SilverStripe\Forms\Form: - CSRF_EXPIRED_MESSAGE: 'Votre session a expiré. Renvoyez le formulaire.' + BAD_METHOD: 'Ce formulaire requiert une action {method}' + CSRF_EXPIRED_MESSAGE: 'Votre session a expiré. Merci de renvoyer le formulaire.' + CSRF_FAILED_MESSAGE: 'Un problème technique est probablement survenu. Merci de cliquer sur le bouton "retour", de rafraîchir la page de votre navigateur, et de réessayer.' VALIDATIONPASSWORDSDONTMATCH: 'Les mots de passe ne correspondent pas' - VALIDATIONPASSWORDSNOTEMPTY: 'Les mots de passe peuvent être vides' + VALIDATIONPASSWORDSNOTEMPTY: 'Les mots de passe ne peuvent pas être vides' VALIDATIONSTRONGPASSWORD: 'Le mot de passe doit comporter au moins un chiffre et un caractère alphanumérique' VALIDATOR: Validateur VALIDCURRENCY: 'Saisissez une monnaie valide' SilverStripe\Forms\FormField: + EXAMPLE: 'Par ex. {format}' NONE: aucun SilverStripe\Forms\FormScaffolder: TABMAIN: Principal SilverStripe\Forms\GridField\GridField: Add: 'Ajouter {name}' CSVEXPORT: 'Exporter vers un fichier CSV' + CSVIMPORT: 'Importer un fichier CSV' Filter: Filtrer FilterBy: 'Filtrer par' Find: Trouver LinkExisting: 'Lien existant' NewRecord: 'Nouveau {type}' NoItemsFound: 'Aucun élément n’a été trouvé.' - PRINTEDAT: 'Imprimé le' + PRINTEDAT: 'Imprimé à' PRINTEDBY: 'Imprimé par' PlaceHolder: 'Rechercher {type}' PlaceHolderWithLabels: 'Rechercher {type} par {name}' @@ -65,7 +86,7 @@ fr: RelationSearch: 'Rechercher relations' ResetFilter: Réinitialiser SilverStripe\Forms\GridField\GridFieldDeleteAction: - DELETE_DESCRIPTION: Supprime + DELETE_DESCRIPTION: Supprimer Delete: Supprimer DeletePermissionsFailure: 'Vous n’avez pas les autorisations pour supprimer' EditPermissionsFailure: 'Pas de permissions pour délier l''enregistrement' @@ -79,52 +100,110 @@ fr: Save: Enregistrer SilverStripe\Forms\GridField\GridFieldEditButton_ss: EDIT: Editer + SilverStripe\Forms\GridField\GridFieldGroupDeleteAction: + UnlinkSelfFailure: 'Impossible de retirer votre propre profil de ce groupe, vous perdriez vos droits d''administration' SilverStripe\Forms\GridField\GridFieldPaginator: OF: de Page: Page View: Vue + SilverStripe\Forms\GridField\GridFieldVersionedState: + ADDEDTODRAFTHELP: 'L''élément n''a pas encore été publié' + ADDEDTODRAFTSHORT: Brouillon + ARCHIVEDPAGEHELP: 'Elément retiré du brouillon et du site public' + ARCHIVEDPAGESHORT: Archivé + MODIFIEDONDRAFTHELP: 'L''élément comporte des modifications non sauvegardées' + MODIFIEDONDRAFTSHORT: Modifié + ONLIVEONLYSHORT: 'Site public uniquement' + ONLIVEONLYSHORTHELP: 'L''élément a été publié, mais sa version brouillon a été supprimée' SilverStripe\Forms\MoneyField: FIELDLABELAMOUNT: Quantité FIELDLABELCURRENCY: Devise + INVALID_CURRENCY: '{currency} ne figure pas dans la liste des devises autorisées' + SilverStripe\Forms\MultiSelectField: + SOURCE_VALIDATION: 'Merci de choisir des valeurs parmi celles proposées dans la liste. Option(s) {value} non valide(s)' SilverStripe\Forms\NullableField: IsNullLabel: 'Est Null' SilverStripe\Forms\NumericField: - VALIDATION: "«\_{value}\_» n’est pas un chiffre, seule donnée acceptée dans ce champ " + VALIDATION: "«\_{value}\_» n’est pas un nombre, seul type de donnée acceptée dans ce champ " SilverStripe\Forms\TimeField: - VALIDATEFORMAT: 'Saisissez l’heure au format valide ({format})' + VALIDATEFORMAT: 'Merci de saisir un format de date valide ({format})' + SilverStripe\ORM\DataObject: + PLURALNAME: 'Modèles de donnée' + PLURALS: + one: 'Un modèle de donnée' + other: '{count} modèles de donnée' + SINGULARNAME: 'Modèle de donnée' SilverStripe\ORM\FieldType\DBBoolean: ANY: Tout NOANSWER: Non YESANSWER: Oui SilverStripe\ORM\FieldType\DBDate: + DAYS_SHORT_PLURALS: + one: '{count} jour' + other: '{count} jours' + HOURS_SHORT_PLURALS: + one: '{count} heure' + other: '{count} heures' LessThanMinuteAgo: 'moins d''une minute' + MINUTES_SHORT_PLURALS: + one: '{count} min.' + other: '{count} min.' + MONTHS_SHORT_PLURALS: + one: '{count} mois' + other: '{count} mois' + SECONDS_SHORT_PLURALS: + one: '{count} sec.' + other: '{count} sec.' TIMEDIFFAGO: 'Il y a {difference}' TIMEDIFFIN: 'Dans {difference}' + YEARS_SHORT_PLURALS: + one: '{count} année' + other: '{count} années' SilverStripe\ORM\FieldType\DBEnum: - ANY: Tous + ANY: Tout + SilverStripe\ORM\Hierarchy: + LIMITED_TITLE: 'Enfants trop nombreux ({count})' SilverStripe\ORM\Hierarchy\Hierarchy: - InfiniteLoopNotAllowed: "Une boucle infinie s’est produite dans la hiérarchie «\_{type}\_». Modifiez le parent pour le résoudre." + InfiniteLoopNotAllowed: "Une boucle sans fin s’est produite dans la hiérarchie «\_{type}\_». Merci de modifier le parent pour résoudre le problème." + LIMITED_TITLE: 'Enfants trop nombreux ({count})' SilverStripe\ORM\ValidationException: DEFAULT_ERROR: 'Erreur de validation' SilverStripe\Security\BasicAuth: - ENTERINFO: 'Entrer un identifiant et un mot de passe s''il vous plaît.' + ENTERINFO: 'Merci d''entrer un identifiant et un mot de passe.' ERRORNOTADMIN: 'Cet utilisateur n''est pas un administrateur.' - ERRORNOTREC: 'Cet identifiant / mot de passe n''est pas reconnu' + ERRORNOTREC: 'Identifiant et/ou mot de passe non reconnus' + SilverStripe\Security\CMSMemberLoginForm: + PASSWORDEXPIRED: '
Votre mot de passe a expiré. Merci d''en choisir un nouveau.
' + SilverStripe\Security\CMSSecurity: + INVALIDUSER: 'Utilisateur non valide. Merci de vous authentifier de nouveau ici pour poursuivre.
' + LOGIN_MESSAGE: 'Votre session a expiré pour cause d''inactivité
' + LOGIN_TITLE: 'Retournez là où vous en étiez en vos connectant de nouveau' + SUCCESS: Succès + SUCCESSCONTENT: 'Connexion réussie. Si vous n''êtes pas automatiquement redirigé cliquez ici
' + SUCCESS_TITLE: 'Connexion réussie' + SilverStripe\Security\DefaultAdminService: + DefaultAdminFirstname: 'Administrateur par défaut' SilverStripe\Security\Group: AddRole: 'Ajouter un rôle pour ce groupe' - Code: 'Code de groupe' + Code: 'Code du groupe' DefaultGroupTitleAdministrators: Administrateur DefaultGroupTitleContentAuthors: 'Auteurs du contenu' Description: Description + GROUPNAME: 'Nom du groupe' GroupReminder: 'Si vous choisissez un groupe parent, ce groupe prendra tous ses rôles' + HierarchyPermsError: 'Impossible d''attribuer des autorisations au groupe parent "{group}" (requiert un accès en tant qu''administrateur)' Locked: 'Verrouillé?' MEMBERS: Membres NEWGROUP: 'Nouveau groupe' - NoRoles: 'Vous n’avez pas la permission pour faire ça' + NoRoles: 'Aucun rôle trouvé' PERMISSIONS: Permissions PLURALNAME: Groupes + PLURALS: + one: 'Un groupe' + other: '{count} groupes' Parent: 'Groupe parent' ROLES: Rôles + ROLESDESCRIPTION: 'Les rôles sont des ensembles de permissions prédéfinies, et ils peuvent être attribués à des groupes.Le lien de réinitialisation du mot de passe n’est pas valide ou a expiré.
Vous pouvez en demander un nouveau en suivant ce lien ou changer de mot de passe après connexion.
' - NOTERESETPASSWORD: 'Entrer votre adresse email et nous vous enverrons un lien pour modifier votre mot de passe' + NOTERESETPASSWORD: 'Entrez votre adresse email et nous vous enverrons un lien pour modifier votre mot de passe' PASSWORDSENTHEADER: "Lien de réinitialisation de mot de passe envoyé à «\_{email}\_»" PASSWORDSENTTEXT: "Merci\_! Un lien de réinitialisation vient d’être envoyé à «\_{email}\_», à condition que cette adresse existe." diff --git a/lang/sk.yml b/lang/sk.yml index 3bac54adf..dba7ecaaf 100644 --- a/lang/sk.yml +++ b/lang/sk.yml @@ -1,7 +1,31 @@ sk: + SilverStripe\Admin\LeftAndMain: + VersionUnknown: neznáma + SilverStripe\AssetAdmin\Forms\UploadField: + Dimensions: Rozmery + EDIT: Editovať + EDITINFO: 'Editovať súbor' + REMOVE: Odstrániť + SilverStripe\Control\ChangePasswordEmail_ss: + CHANGEPASSWORDFOREMAIL: 'Heslo pre účet s e-mailovou adresou {email} bolo zmenené. Ak ste nemenili vaše heslo, tak ho zmeňte pomocou odkazu uvedeného nižšie, prosím.' + CHANGEPASSWORDTEXT1: 'Vaše heslo bolo zmenené pre' + CHANGEPASSWORDTEXT3: 'Zmeniť heslo' + HELLO: Ahoj + SilverStripe\Control\Email\ForgotPasswordEmail_ss: + HELLO: Ahoj + TEXT1: 'Tu je váš' + TEXT2: 'odkaz na resetovanie hesla' + TEXT3: pre + SilverStripe\Control\RequestProcessor: + INVALID_REQUEST: 'Neplatná požiadavka' + REQUEST_ABORTED: 'Požiadavka prerušená' + SilverStripe\Core\Manifest\VersionProvider: + VERSIONUNKNOWN: Neznáma SilverStripe\Forms\CheckboxField: NOANSWER: Nie YESANSWER: Áno + SilverStripe\Forms\CheckboxSetField_ss: + NOOPTIONSAVAILABLE: 'Žiadne dostupné možnosti' SilverStripe\Forms\ConfirmedPasswordField: ATLEAST: 'Heslá musia byť nejmenej {min} znakov dlhé.' BETWEEN: 'Heslá musia byť {min} až {max} znakov dlhé.' @@ -34,6 +58,8 @@ sk: VALIDCURRENCY: 'Prosím zadajte platnú menu' SilverStripe\Forms\FormField: NONE: žiadne + SilverStripe\Forms\FormScaffolder: + TABMAIN: Hlavné SilverStripe\Forms\GridField\GridField: Add: 'Pridať {name}' CSVEXPORT: 'Exportovať do CSV' @@ -66,6 +92,10 @@ sk: Save: Uložiť SilverStripe\Forms\GridField\GridFieldEditButton_ss: EDIT: Editovať + SilverStripe\Forms\GridField\GridFieldPaginator: + Page: Stránka + SilverStripe\Forms\GridField\GridFieldVersionedState: + ONLIVEONLYSHORT: 'Len publikované' SilverStripe\Forms\MoneyField: FIELDLABELAMOUNT: Množstvo FIELDLABELCURRENCY: Mena @@ -104,6 +134,8 @@ sk: INVALIDUSER: 'Neplatný užívateľ. Prosím overte sa znovu tu pre pokračovanie.
' SUCCESS: Úspešné SUCCESSCONTENT: 'Úspešné prihlásenie. Ak nebudete automaticky presmerovaní kliknite tu
' + SilverStripe\Security\DefaultAdminService: + DefaultAdminFirstname: 'Predvolený administrátor' SilverStripe\Security\Group: AddRole: 'Pridať úlohu pre túto skupinu' Code: 'Kód skupiny' @@ -113,6 +145,7 @@ sk: GroupReminder: 'Ak vyberiete nadriadenú skupinu, bude táto skupina mať všetky úlohy' HierarchyPermsError: 'Nie je možné pripojiť nadriadenú skupinu "{group}" s privilegovanými právami (vyžaduje ADMIN prístup)' Locked: 'Zamknuté?' + MEMBERS: Členovia NoRoles: 'Nenašli sa úlohy' PLURALNAME: Skupiny Parent: 'Nadradená skupina' @@ -168,7 +201,7 @@ sk: SINGULARNAME: 'Heslo člena' SilverStripe\Security\PasswordValidator: LOWCHARSTRENGTH: 'Prosím posilnite heslo pridaním z týchto niektorých znakov: {chars}' - PREVPASSWORD: 'Už ste použili toto heslo v minulosti, vyberte nové hoslo, prosím' + PREVPASSWORD: 'Už ste použili toto heslo v minulosti, vyberte nové heslo, prosím' TOOSHORT: 'Heslo je príliš krátke, musí byť {minimum} alebo viacej znakov dlhé' SilverStripe\Security\Permission: AdminGroup: Administrátor diff --git a/src/Dev/CSVParser.php b/src/Dev/CSVParser.php index 10c899297..ab3218c96 100644 --- a/src/Dev/CSVParser.php +++ b/src/Dev/CSVParser.php @@ -260,7 +260,9 @@ class CSVParser implements Iterator array($this->enclosure, $this->delimiter), $value ); - + // Trim leading tab + // [SS-2017-007] Ensure all cells with leading [@=+] have a leading tab + $value = ltrim($value, "\t"); if (array_key_exists($i, $this->headerRow)) { if ($this->headerRow[$i]) { $row[$this->headerRow[$i]] = $value; diff --git a/src/Dev/Install/InstallConfig.php b/src/Dev/Install/InstallConfig.php index 6d6b10088..21465392b 100644 --- a/src/Dev/Install/InstallConfig.php +++ b/src/Dev/Install/InstallConfig.php @@ -26,18 +26,23 @@ class InstallConfig * * @param array $request Request object * @param array $databaseClasses Supported database config + * @param bool $realPassword Set to true to get the real password. If false, any non-posted + * password will be redacted as '********'. Note: Posted passwords are considered disclosed and + * never redacted. * @return array */ - public function getDatabaseConfig($request, $databaseClasses) + public function getDatabaseConfig($request, $databaseClasses, $realPassword = true) { // Get config from request if (isset($request['db']['type'])) { $type = $request['db']['type']; if (isset($request['db'][$type])) { - return array_merge( - [ 'type' => $type ], - $request['db'][$type] - ); + $config = $request['db'][$type]; + // The posted placeholder must be substituted with the real password + if (isset($config['password']) && $config['password'] === Installer::PASSWORD_PLACEHOLDER) { + $config['password'] = Environment::getEnv('SS_DATABASE_PASSWORD') ?: ''; + } + return array_merge([ 'type' => $type ], $config); } } @@ -46,8 +51,16 @@ class InstallConfig 'type' => $this->getDatabaseClass($databaseClasses), 'server' => Environment::getEnv('SS_DATABASE_SERVER') ?: 'localhost', 'username' => Environment::getEnv('SS_DATABASE_USERNAME') ?: 'root', - 'password' => Environment::getEnv('SS_DATABASE_PASSWORD') ?: '', + 'password' => $realPassword + ? (Environment::getEnv('SS_DATABASE_PASSWORD') ?: '') + : Installer::PASSWORD_PLACEHOLDER, // Avoid password disclosure 'database' => Environment::getEnv('SS_DATABASE_NAME') ?: 'SS_mysite', + 'path' => Environment::getEnv('SS_DATABASE_PATH') + ?: Environment::getEnv('SS_SQLITE_DATABASE_PATH') // sqlite compat + ?: null, + 'key' => Environment::getEnv('SS_DATABASE_KEY') + ?: Environment::getEnv('SS_SQLITE_DATABASE_KEY') // sqlite compat + ?: null, ]; } @@ -55,17 +68,26 @@ class InstallConfig * Get admin config from the environment * * @param array $request + * @param bool $realPassword Set to true to get the real password. If false, any non-posted + * password will be redacted as '********'. Note: Posted passwords are considered disclosed and + * never redacted. * @return array */ - public function getAdminConfig($request) + public function getAdminConfig($request, $realPassword = true) { if (isset($request['admin'])) { + $config = $request['admin']; + if (isset($config['password']) && $config['password'] === Installer::PASSWORD_PLACEHOLDER) { + $config['password'] = Environment::getEnv('SS_DEFAULT_ADMIN_PASSWORD') ?: ''; + } return $request['admin']; } return [ 'username' => Environment::getEnv('SS_DEFAULT_ADMIN_USERNAME') ?: 'admin', - 'password' => Environment::getEnv('SS_DEFAULT_ADMIN_PASSWORD') ?: '', + 'password' => $realPassword + ? (Environment::getEnv('SS_DEFAULT_ADMIN_PASSWORD') ?: '') + : Installer::PASSWORD_PLACEHOLDER, // Avoid password disclosure ]; } diff --git a/src/Dev/Install/Installer.php b/src/Dev/Install/Installer.php index 17d1ebe62..55e61adeb 100644 --- a/src/Dev/Install/Installer.php +++ b/src/Dev/Install/Installer.php @@ -20,6 +20,11 @@ use SilverStripe\Security\Security; */ class Installer extends InstallRequirements { + /** + * value='' attribute placeholder for password fields + */ + const PASSWORD_PLACEHOLDER = '********'; + protected function installHeader() { ?> diff --git a/src/Dev/Install/config-form.html b/src/Dev/Install/config-form.html index 6d2851210..5a8149dbd 100644 --- a/src/Dev/Install/config-form.html +++ b/src/Dev/Install/config-form.html @@ -123,14 +123,15 @@ echo $checked ? '