public function reorder($move)
{
$orders = $this->getOrders();
$tmp = array_keys($orders, $this->m_data['field_name']);
if (count($tmp) == 0) {
return;
}
$pos = $tmp[0];
reset($orders);
list($max, $value) = each($orders);
end($orders);
list($min, $value) = each($orders);
if ($pos <= $min && $move == 'up') {
return;
}
if ($pos >= $max && $move == 'down') {
return;
}
if ($move == 'down') {
$tmp = $orders[$pos + 1];
$orders[$pos + 1] = $orders[$pos];
$orders[$pos] = $tmp;
}
if ($move == 'up') {
$tmp = $orders[$pos - 1];
$orders[$pos - 1] = $orders[$pos];
$orders[$pos] = $tmp;
}
$this->setOrders($orders);
}