<?php
require_once(V3_ROOT . '/etc/v3_config.inc');
abstract class v3_sort
{
abstract public function decorate(&$item);
abstract public function undecorate(&$item);
abstract public function compare($item_a, $item_b);
public function sort(&$array)
{
if(($num_entries = count($array)) === 0)
return true;
foreach($array as &$item)
$this->decorate($item);
if(usort($array, array($this, 'compare')) === false)
return false;
foreach($array as &$item)
$this->undecorate($item);
return true;
}
}
?>