function _getInfoFromVariables($variables, &$vars, &$info)
{
foreach ($variables as $var) {
if ($var->isDisabled()) {
// Disabled fields are not submitted by some browsers, so don't
// pretend they were.
continue;
}
if ($var->isArrayVal()) {
$var->getInfo($vars, $values);
if (is_array($values)) {
$varName = str_replace('[]', '', $var->getVarName());
foreach ($values as $i => $val) {
$info[$i][$varName] = $val;
}
}
} else {
if (Horde_Array::getArrayParts($var->getVarName(), $base, $keys)) {
if (!isset($info[$base])) {
$info[$base] = array();
}
$pointer =& $info[$base];
while (count($keys)) {
$key = array_shift($keys);
if (!isset($pointer[$key])) {
$pointer[$key] = array();
}
$pointer =& $pointer[$key];
}
$var->getInfo($vars, $pointer);
} else {
$var->getInfo($vars, $info[$var->getVarName()]);
}
}
}
}