| 707 |
} |
} |
| 708 |
|
|
| 709 |
function saveOrder( &$cid, $menutype ) { |
function saveOrder( &$cid, $menutype ) { |
|
global $database; |
|
|
|
|
|
$total = count( $cid ); |
|
| 710 |
$order = mosGetParam( $_POST, 'order', array(0) ); |
$order = mosGetParam( $_POST, 'order', array(0) ); |
| 711 |
$row = new mosMenu( $database ); |
$row = new mosMenu( $database ); |
| 712 |
$conditions = array(); |
$parents = array(); |
|
|
|
| 713 |
// update ordering values |
// update ordering values |
| 714 |
for( $i=0; $i < $total; $i++ ) { |
foreach ($cid as $i=>$ciditem) { |
| 715 |
$row->load( $cid[$i] ); |
$row->load( $ciditem ); |
| 716 |
if ($row->ordering != $order[$i]) { |
if ($row->ordering != $order[$i]) { |
| 717 |
$row->ordering = $order[$i]; |
$row->ordering = $order[$i]; |
| 718 |
if (!$row->store()) { |
if (!$row->store()) { |
| 720 |
exit(); |
exit(); |
| 721 |
} |
} |
| 722 |
// remember to updateOrder this group |
// remember to updateOrder this group |
| 723 |
$condition = "menutype = '$menutype' AND parent = '$row->parent' AND published >= 0"; |
$parents[$row->parent] = $row->id; |
| 724 |
$found = false; |
} |
| 725 |
foreach ( $conditions as $cond ) |
} |
|
if ($cond[1]==$condition) { |
|
|
$found = true; |
|
|
break; |
|
|
} // if |
|
|
if (!$found) $conditions[] = array($row->id, $condition); |
|
|
} // for |
|
|
} // for |
|
|
|
|
| 726 |
// execute updateOrder for each group |
// execute updateOrder for each group |
| 727 |
foreach ( $conditions as $cond ) { |
foreach ($parents as $parent=>$rowid) { |
| 728 |
$row->load( $cond[0] ); |
$row->updateOrder("menutype = '$menutype' AND parent = '$parent' AND published >= 0"); |
|
$row->updateOrder( $cond[1] ); |
|
| 729 |
} // foreach |
} // foreach |
| 730 |
|
|
| 731 |
$msg = T_('New ordering saved'); |
$msg = T_('New ordering saved'); |