$file_count = 0;
foreach ($_FILES as $item) {
if (is_array($item['name'])) {
// Transpose array
$tmp=array();
foreach ($item as $keyx=>$cols)
foreach ($cols as $keyy=>$valy)
$tmp[$keyy][$keyx]=$valy;
$item=$tmp;
}
else
$item=array($item);
foreach ($item as $file) {
if (empty($file['name']))
continue;
$base=basename($file['name']);
$dst=$dir.
($slug && preg_match('/(.+?)(\.\w+)?$/',$base,$parts)?
($this->slug($parts[1]).
(isset($parts[2])?$parts[2]:'')):$base);
$out[$file_count]['success']=!$file['error'] &&
$file['type']==$this->mime($file['name']) &&
(!file_exists($dst) || $overwrite) &&
(!$func || $fw->call($func,array($file))) &&
move_uploaded_file($file['tmp_name'],$dst);