http://www.mediawiki.org/wiki/Special:Code/MediaWiki/83588

Revision: 83588
Author:   yaron
Date:     2011-03-09 15:33:24 +0000 (Wed, 09 Mar 2011)
Log Message:
-----------
Fixed autocompletion in regular text inputs, for both old and new syntax

Modified Paths:
--------------
    trunk/extensions/SemanticForms/includes/SF_FormInputs.php

Modified: trunk/extensions/SemanticForms/includes/SF_FormInputs.php
===================================================================
--- trunk/extensions/SemanticForms/includes/SF_FormInputs.php   2011-03-09 
14:27:13 UTC (rev 83587)
+++ trunk/extensions/SemanticForms/includes/SF_FormInputs.php   2011-03-09 
15:33:24 UTC (rev 83588)
@@ -186,6 +186,11 @@
        public static function getHTML( $cur_value, $input_name, $is_mandatory, 
$is_disabled, $other_args ) {
                global $sfgTabIndex, $sfgFieldNum;
 
+               // For backward compatibility with pre-SF-2.1 forms
+               if ( array_key_exists( 'autocomplete field type', $other_args ) 
) {
+                       return SFTextWithAutocompleteInput::getHTML( 
$cur_value, $input_name, $is_mandatory, $is_disabled, $other_args );
+               }
+
                $className = "createboxInput";
                if ( $is_mandatory ) {
                        $className .= " mandatoryField";
@@ -772,7 +777,10 @@
        }
 
        public static function getAutocompletionTypeAndSource( $field_args ) {
-               if ( array_key_exists( 'values from property', $field_args ) ||
+               if ( array_key_exists( 'autocomplete field type', $field_args ) 
) {
+                       $autocompleteFieldType = $field_args['autocomplete 
field type'];
+                       $autocompletionSource = $field_args['autocompletion 
source'];
+               } elseif ( array_key_exists( 'values from property', 
$field_args ) ||
                        array_key_exists( 'semantic_property', $field_args ) ) {
                        if ( array_key_exists( 'values from property', 
$field_args ) ) {
                                $autocompletionSource = $field_args['values 
from property'];
@@ -804,9 +812,6 @@
                        global $sfgFieldNum;
                        $autocompleteFieldType = 'values';
                        $autocompletionSource = "values-$sfgFieldNum";
-               } elseif ( array_key_exists( 'autocomplete field type', 
$field_args ) ) {
-                       $autocompleteFieldType = $field_args['autocomplete 
field type'];
-                       $autocompletionSource = $field_args['autocompletion 
source'];
                } else {
                        $autocompleteFieldType = null;
                        $autocompletionSource = null;
@@ -846,7 +851,10 @@
                                $field_args['remote autocompletion'] == true ) {
                        $remoteDataType = $autocompleteFieldType;
                } elseif ( $autocompletionSource != '' ) {
-                       if ( $autocompleteFieldType == 'values' ) {
+                       if ( array_key_exists( 'possible_values', $field_args ) 
&&
+                       count( $field_args['possible_values'] ) > 0 ) {
+                               $autocompleteValues = 
$field_args['possible_values'];
+                       } elseif ( $autocompleteFieldType == 'values' ) {
                                $autocompleteValues = explode( ',', 
$field_args['values'] );
                        } else {
                                $autocompleteValues = 
SFUtils::getAutocompleteValues( $autocompletionSource, $autocompleteFieldType );


_______________________________________________
MediaWiki-CVS mailing list
MediaWiki-CVS@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to