<?php
v3_factory::load_module('sort');
class v3_path_sort extends v3_sort
{
public function decorate(&$item)
{
$pi = pathinfo($item);
$item = array(
'item' => $item,
'extension' => $pi['extension'],
'dir' => $pi['dirname'],
);
}
public function undecorate(&$item)
{
$item = $item['item'];
}
public function compare($item_a, $item_b)
{
$dir = strcasecmp($item_a['dir'], $item_b['dir']);
if($dir) {
return $dir;
} else {
$res = strcasecmp($item_a['extension'], $item_b['extension']);
return $res ? $res : strcasecmp($item_a['item'], $item_b['item']);
}
}
}
?>