Mattflaschen has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/354982 )
Change subject: Update \n handling for HTMLUsersMultiselectField ...................................................................... Update \n handling for HTMLUsersMultiselectField Change-Id: I51b772946f1e50a21fb86cab969defb4647b820b --- M includes/htmlform/fields/HTMLMultiSelectField.php M includes/htmlform/fields/HTMLUsersMultiselectField.php 2 files changed, 21 insertions(+), 5 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/82/354982/1 diff --git a/includes/htmlform/fields/HTMLMultiSelectField.php b/includes/htmlform/fields/HTMLMultiSelectField.php index 2b6e066..6c51a6c 100644 --- a/includes/htmlform/fields/HTMLMultiSelectField.php +++ b/includes/htmlform/fields/HTMLMultiSelectField.php @@ -3,7 +3,7 @@ /** * Multi-select field */ -class HTMLMultiSelectField extends HTMLFormField implements HTMLNestedFilterable { +class HTMLMultiSelectField extends HTMLFormField { /** * @param array $params * In adition to the usual HTMLFormField parameters, this can take the following fields: diff --git a/includes/htmlform/fields/HTMLUsersMultiselectField.php b/includes/htmlform/fields/HTMLUsersMultiselectField.php index 8829f66..7c6902b 100644 --- a/includes/htmlform/fields/HTMLUsersMultiselectField.php +++ b/includes/htmlform/fields/HTMLUsersMultiselectField.php @@ -14,14 +14,16 @@ * * @note This widget is not likely to remain functional in non-OOUI forms. */ -class HTMLUsersMultiselectField extends HTMLUserTextField { +class HTMLUsersMultiselectField extends HTMLUserTextField implements HTMLNestedFilterable { public function loadDataFromRequest( $request ) { - if ( !$request->getCheck( $this->mName ) ) { - return $this->getDefault(); + if ( $request->getCheck( $this->mName ) ) { + $value = $request->getText( $this->mName ); + } else { + $value = $this->getDefault(); } - $usersArray = explode( "\n", $request->getText( $this->mName ) ); + $usersArray = explode( "\n", $value ); // Remove empty lines $usersArray = array_values( array_filter( $usersArray, function( $username ) { return trim( $username ) !== ''; @@ -29,6 +31,20 @@ return $usersArray; } + /** + * Support for seperating multi-option preferences into multiple preferences + * Due to lack of array support. + * + * @param array $data + */ + public function filterDataForSubmit( $data ) { + return [ + '' => implode( "\n", $data ), + ]; + } + + + public function validate( $value, $alldata ) { if ( !$this->mParams['exists'] ) { return true; -- To view, visit https://gerrit.wikimedia.org/r/354982 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I51b772946f1e50a21fb86cab969defb4647b820b Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Mattflaschen <mflasc...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits