From 47c27494892d78443072b188ca6e8150e39988bf Mon Sep 17 00:00:00 2001 From: Erik Bernhardson Date: Wed, 22 May 2013 09:58:53 -0700 Subject: [PATCH] Fix for wrong prefixing of multi checkbox Bug: 48693 Change-Id: Ifd8d1d54d5252da958c30cdc0ffa1155ba4cf924 --- includes/Preferences.php | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/includes/Preferences.php b/includes/Preferences.php index 1b01750e20..d11b2e2667 100644 --- a/includes/Preferences.php +++ b/includes/Preferences.php @@ -1571,9 +1571,16 @@ class PreferencesForm extends HTMLForm { foreach ( $this->mFlatFields as $fieldname => $field ) { if ( $field instanceof HTMLNestedFilterable ) { $info = $field->mParams; - $prefix = isset( $info['prefix'] ) ? $info['prefix'] : $fieldname; + if ( $field instanceof HTMLCheckMatrix ) { + // Echo's use of html check matrix expects the fieldname to be appended with - + // TODO: adjust echo to pass an explicit prefix containing the - and remove + // this misdirection at that time. + $prefix = isset( $info['prefix'] ) ? $info['prefix'] : "$fieldname-"; + } else { + $prefix = isset( $info['prefix'] ) ? $info['prefix'] : "$fieldname"; + } foreach ( $field->filterDataForSubmit( $data[$fieldname] ) as $key => $value ) { - $data["$prefix-$key"] = $value; + $data["$prefix$key"] = $value; } unset( $data[$fieldname] ); } -- 2.20.1