protected function sort($urls)
{
$files = array();
$dirs = array();
foreach ($urls as $k => $_) {
if (isset($_['phplinter___sort'])) {
$files[] = $_;
} else {
$dirs[$k] = $_;
}
}
if (!empty($dirs)) {
uksort($dirs, function ($a, $b) {
return mb_strtolower($a) > mb_strtolower($b);
});
}
if (!empty($files)) {
foreach ($files as $_) {
$arr[] = $_['phplinter___sort'];
}
array_multisort($files, SORT_ASC, $arr);
}
$urls = array_merge($dirs, $files);
foreach ($urls as $k => $_) {
if (!is_numeric($k)) {
$urls[$k] = $this->sort($urls[$k]);
}
}
return $urls;
}