Removing prefix exception for HTMLCheckMatrix
authorkaldari <kaldari@gmail.com>
Wed, 22 May 2013 20:15:40 +0000 (13:15 -0700)
committerkaldari <kaldari@gmail.com>
Wed, 22 May 2013 20:20:15 +0000 (13:20 -0700)
Unifying how the option prefix is handled for HTMLCheckMatrix and
HTMLMultiSelectField. This needs to be deployed at the same time
as the dependant Echo extension change Ic8420b89.

Change-Id: I4049b666db554283ce953387a30a0a8a7d0cd920

includes/Preferences.php

index d11b2e2..a6d530f 100644 (file)
@@ -157,7 +157,7 @@ class Preferences {
 
                        foreach ( $columns as $column ) {
                                foreach ( $rows as $row ) {
-                                       if ( $user->getOption( "$prefix-$column-$row" ) ) {
+                                       if ( $user->getOption( "$prefix$column-$row" ) ) {
                                                $val[] = "$column-$row";
                                        }
                                }
@@ -1571,14 +1571,7 @@ class PreferencesForm extends HTMLForm {
                foreach ( $this->mFlatFields as $fieldname => $field ) {
                        if ( $field instanceof HTMLNestedFilterable ) {
                                $info = $field->mParams;
-                               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";
-                               }
+                               $prefix = isset( $info['prefix'] ) ? $info['prefix'] : $fieldname;
                                foreach ( $field->filterDataForSubmit( $data[$fieldname] ) as $key => $value ) {
                                        $data["$prefix$key"] = $value;
                                }