public static function extractHttpData(array $data, $htmlName, $type)
{
$name = explode('[', str_replace(['[]', ']', '.'], ['', '', '_'], $htmlName));
$data = Nette\Utils\Arrays::get($data, $name, NULL);
$itype = $type & ~Form::DATA_KEYS;
if (substr($htmlName, -2) === '[]') {
if (!is_array($data)) {
return [];
}
foreach ($data as $k => $v) {
$data[$k] = $v = static::sanitize($itype, $v);
if ($v === NULL) {
unset($data[$k]);
}
}
if ($type & Form::DATA_KEYS) {
return $data;
}
return array_values($data);
} else {
return static::sanitize($itype, $data);
}
}