{function render_combobox_field item=[] conds=[] id="" need_strip=false extra=[]}{if $need_strip}{strip}{/if} {if !empty($item.items) && count($item.items) == 1 && key($item.items) === ':period'}
{else} {$is_readonly = !empty($item['readonly'])} {$is_compbobox = true} {if $is_readonly && is_array($item['readonly']) && isset($item['readonly']['combobox'])} {$is_compbobox = $item['readonly']['combobox']} {/if} {/if} {if $need_strip}{strip}{/if}{/function} {function render_composite_field item=[] conds=[] id="" extra=[]} {if !empty($item['field']) && $item['field'] instanceof waContactField} {$fields = []} {if !empty($item['info'])} {$info = $item['info']} {$fields = $item['info']['fields']} {/if} {foreach $fields as $subfield_id => $subfield}
{_wp($subfield.name)|escape}
{$cnds = []} {if isset($conds[$subfield_id])} {$cnds = $conds[$subfield_id]} {/if} {render_combobox_field item=$subfield conds=$cnds id="{$id}.{$subfield_id}" extra=$extra need_string=true}
{/foreach} {/if} {/function} {function render_children_subfields item=[] conds=[] id="" extra=[] show=false} {$children = []} {if !empty($item['children']) && is_array($item['children'])} {$children = $item['children']} {else if !empty($item['items'])} {$children = array_slice($item['items'], 1)} {/if}
{foreach $children as $it_id => $it} {include file="./ContactSearchCondition.inc.html" id=$it.id item=$it conds=$conds[$it_id]|default:null extra=$extra class="subfield" not_removable=true inline} {/foreach}
{/function}
{if !empty($item.html)}
{_wp($item.name)|escape}
{$item.html}
{else if !empty($item.type) && $item.type === 'Composite'}
{_wp($item.name)|escape}
{render_composite_field item=$item conds=$conds id=$id extra=$extra}
{if empty($not_removable)} {/if} {if isset($count)}{$count}{/if}
{else if empty($item.multi)}
{if !empty($item['children'])} {$children_conds = []} {$parent_conds = []} {if is_array($conds)} {foreach $conds as $k => $c} {if $k !== 'name' && isset($item['items'][$k])} {$children_conds[$k] = $conds[$k]} {else if $k === 'name'} {if is_string($conds[$k])} {$parent_conds = $conds[$k]} {else} {$parent_conds = array_merge($parent_conds, $conds[$k])} {/if} {else} {$parent_conds[$k] = $conds[$k]} {/if} {/foreach} {else} {$parent_conds = $conds} {/if} {_wp($item.name)|escape} {else} {_wp($item.name)|escape} {/if}
{if empty($item['children'])} {render_combobox_field item=$item id=$id conds=$conds} {else} {$it = reset($item['items'])} {render_combobox_field item=$it id=$it.id conds=$parent_conds} {/if} {if empty($not_removable)} {/if} {if isset($count)}{$count}{/if}
{if !empty($item['children'])} {render_children_subfields item=$item conds=$conds show=!empty($children_conds)} {/if}
{else}
{if !empty($item.not)} {else} {_wp($item.name)|escape} {/if}
{if empty($not_removable)} {/if} {if isset($count)}{$count}{/if}
{if !empty($item.items)} {foreach $item.items as $it_id => $it}
{if empty($it.checkbox)}{_wp($it.name)|escape}{/if}
{if !empty($it.html)} {$it.html} {else if !empty($it.checkbox)} {else} {render_combobox_field item=$it conds=$conds[$it_id]|default:[] id="{$id}.{$it_id}" need_strip=false extra=[]} {/if}
{/foreach} {else} {if empty($not_removable)} {/if} {/if}
{/if}