﻿id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc
22409,add multiple selected options support to selected() function,bitacre,,"The current {{{selected()}}} function returns ''selected=""selected""'' if two strings match, but does not correctly handle arrays that result from select options that have ''multiple=""multiple""'' enabled (it just checks the first item in the array by forcing a string type).

I suggest either adding correct handling of arrays or alternatively adding a separate {{{multiselected()}}} function to handle this situation.

This could be accomplished by altering the current {{{__checked_selected_helper()}}} function to this:


{{{
function __checked_selected_helper( $helper, $current, $echo, $type ) {
  if( is_array( $helper ) && in_array( $current, $helper, true ) )
    $result = "" $type='$type'"";
  elseif ( (string) $helper === (string) $current )
    $result = "" $type='$type'"";
  else
    $result = '';
	
  if ( $echo )
    echo $result;

  return $result;
}
}}}

I've just added the first 2 lines and changed the first {{{if}}} to an {{{elseif}}}.",enhancement,new,normal,Awaiting Review,Validation,3.4.2,minor,,,
