http://www.mediawiki.org/wiki/Special:Code/MediaWiki/97281
Revision: 97281 Author: yaron Date: 2011-09-16 14:52:51 +0000 (Fri, 16 Sep 2011) Log Message: ----------- Added support for new collapsed-sections feature in Page Schemas extension's 'edit schema' page Modified Paths: -------------- trunk/extensions/SemanticDrilldown/includes/SD_Utils.php Modified: trunk/extensions/SemanticDrilldown/includes/SD_Utils.php =================================================================== --- trunk/extensions/SemanticDrilldown/includes/SD_Utils.php 2011-09-16 14:50:48 UTC (rev 97280) +++ trunk/extensions/SemanticDrilldown/includes/SD_Utils.php 2011-09-16 14:52:51 UTC (rev 97281) @@ -28,9 +28,10 @@ $sdarray[$prop] = (string)$value; } } + $object['sd'] = $sdarray; + return true; } } - $object['sd'] = $sdarray; } return true; } @@ -47,11 +48,15 @@ // from wiki's //$require_filter_label = wfMsg( 'sd_createfilter_requirefilter' ); + $filter_array = array(); if ( !is_null( $field ) ) { $sd_array = $field->getObject('semanticdrilldown_Filter'); - $filter_array = $sd_array['sd']; - } else { - $filter_array = array(); + if ( array_key_exists( 'sd', $sd_array ) ) { + $filter_array = $sd_array['sd']; + $hasExistingValues = true; + } else { + $hasExistingValues = false; + } } if ( array_key_exists( 'Label', $filter_array ) ) { @@ -159,26 +164,26 @@ $html_text .= Html::rawElement( 'select', array( 'name' => 'sd_input_type_num', 'id' => 'input_type_dropdown' ), $inputTypeOptionsHTML ) . "\n"; $html_text .= "</p>\n"; - $text_extensions['sd'] = array( 'Filter', '#FDD', $html_text ); + $text_extensions['sd'] = array( 'Filter', '#FDD', $html_text, $hasExistingValues ); return true; } public static function getFieldXMLForPS( $request, &$xmlArray ) { - $templateNum = -1; + $fieldNum = -1; $xmlPerField = array(); foreach ( $request->getValues() as $var => $val ) { if ( substr( $var, 0, 15 ) == 'sd_filter_name_' ) { $xml = '<semanticdrilldown_Filter>'; - $templateNum = substr( $var, 15 ); + $fieldNum = substr( $var, 15 ); $xml .= '<Label>'.$val.'</Label>'; } elseif ( substr( $var, 0, 17 ) == 'sd_values_source_') { if ( $val == 'category' ) { - $xml .= '<ValuesFromCategory>' . $request->getText('sd_category_name_' . $templateNum) . '</ValuesFromCategory>'; + $xml .= '<ValuesFromCategory>' . $request->getText('sd_category_name_' . $fieldNum) . '</ValuesFromCategory>'; } elseif ( $val == 'dates' ) { - $xml .= '<TimePeriod>' . $request->getText('sd_time_period_' . $templateNum) . '</TimePeriod>'; + $xml .= '<TimePeriod>' . $request->getText('sd_time_period_' . $fieldNum) . '</TimePeriod>'; } elseif ( $val == 'manual' ) { - $filter_manual_values_str = $request->getText('sd_filter_values_'.$templateNum); + $filter_manual_values_str = $request->getText('sd_filter_values_' . $fieldNum); // replace the comma substitution character that has no chance of // being included in the values list - namely, the ASCII beep $listSeparator = ','; @@ -197,7 +202,7 @@ $xml .= '<InputType>' . $val . '</InputType>'; } $xml .= '</semanticdrilldown_Filter>'; - $xmlPerField[] = $xml; + $xmlPerField[$fieldNum] = $xml; } } @@ -224,7 +229,7 @@ $text .= PageSchemas::tableMessageRowHTML("paramAttrMsg", $prop, $value ); } } - $text_object['sd']=$text; + $text_object['sd'] = $text; } } return true; _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs