From 66e68034787a855a085adbdaab77286393fc0e9f Mon Sep 17 00:00:00 2001 From: wangyidong Date: Fri, 15 Mar 2013 02:46:52 +0000 Subject: [PATCH] * adjust for order module. --- module/tree/model.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/module/tree/model.php b/module/tree/model.php index 2132fd8e2e..76aef9bf58 100644 --- a/module/tree/model.php +++ b/module/tree/model.php @@ -432,11 +432,23 @@ class treeModel extends model public function updateOrder($orders) { asort($orders); - $i = 0; + $orderInfo = $this->dao->select('id,grade, parent')->from(TABLE_MODULE)->where('id')->in(array_keys($orders))->fetchAll('id'); + $newOrders = array(); foreach($orders as $moduleID => $order) { - $i++; - $newOrder = $i * 10; + $parent = $orderInfo[$moduleID]->parent; + $grade = $orderInfo[$moduleID]->grade; + + if(!isset($newOrders[$parent][$grade])) + { + $newOrders[$parent][$grade] = 1; + } + else + { + $newOrders[$parent][$grade] ++; + } + + $newOrder = $newOrders[$parent][$grade] * 10; $this->dao->update(TABLE_MODULE)->set('`order`')->eq($newOrder)->where('id')->eq((int)$moduleID)->limit(1)->exec(); } }