1,
'style' => "width: 200px"
);
$extractParams = array(
'name',
'ajaxClass',
'ajaxMethod',
'methodParam',
'minLength',
'idValue',
'textValue',
'style'
);
/* verifica se todos os parâmetros obrigatórios foram passados */
foreach ($requiredParams as $required)
if (!array_key_exists($required, $params) || (empty($params[$required])))
$smarty->trigger_error("[wf_autocomplete_input] missing required parameter(s): $required", E_USER_ERROR);
/* atribui valores default para os parâmetros não passados */
foreach ($defaultValues as $key => $value)
if (!isset($params[$key]))
$params[$key] = $value;
/* extrai alguns parâmetros da matriz de parâmetros */
foreach ($extractParams as $extract)
$$extract = $params[$extract];
/* parâmetros extras são "acumulados" em uma única variável */
$extraParams = array();
foreach ($params as $key => $value_params)
if (!in_array($key, $extractParams))
$extraParams[$key] = $value_params;
$name_input = 'input' . $name;
$name_list = 'list' . $name;
$name_response = 'response' . $name;
/* se parâmetro for um array "joga" para o javascript como um objeto JSON */
if (is_array($methodParam)){
$methodParam = json_encode($methodParam);
} else {
$sep = "'"; // se não for um objeto passa parâmetro entre aspas
}
/* Cria um objeto JSON com os parâmetros opcionais utilizados pelo javascript */
$extraParams = array ('idValue' => $idValue
, 'textValue' => $textValue
, 'minLength' => $minLength
);
$extraParams = json_encode($extraParams);
$output = <<