|
@@ -382,12 +382,22 @@ class Menu
|
|
|
$child = array();
|
|
|
foreach ($project as $k => $v) {
|
|
|
|
|
|
+ $project[$k]['group_id'] = 1;
|
|
|
if (!isset($v['url'])) {
|
|
|
continue;
|
|
|
}
|
|
|
if (!isset($v['lang'])) {
|
|
|
continue;
|
|
|
}
|
|
|
+
|
|
|
+ if (isset($v['group_name'])) {
|
|
|
+ $group = Dever::db('manage/menu_group')->find(array('name' => $v['group_name']));
|
|
|
+ if (!$group) {
|
|
|
+ $project[$k]['group_id'] = Dever::db('manage/menu_group')->insert(array('name' => $v['group_name'], 'reorder' => $v['group_order']));
|
|
|
+ } else {
|
|
|
+ $project[$k]['group_id'] = $group['id'];
|
|
|
+ }
|
|
|
+ }
|
|
|
if (isset($v['base']) && isset($v['rel'])) {
|
|
|
$v['path'] = DEVER_INCLUDE_PATH . $v['rel'];
|
|
|
}
|
|
@@ -469,22 +479,22 @@ class Menu
|
|
|
}
|
|
|
|
|
|
if ($v && isset($v['lang']) && $v['child']) {
|
|
|
- $id = $this->updateMenu($k, $v['lang'], $v['path'] . ':' . $v['name'], -1, $v['order'], 2, (isset($v['icon']) ? $v['icon'] : ''));
|
|
|
+ $id = $this->updateMenu($k, $v['lang'], $v['path'] . ':' . $v['name'], -1, $v['order'], 2, (isset($v['icon']) ? $v['icon'] : ''), $v['group_id']);
|
|
|
if ($id > 0) {
|
|
|
foreach ($v['child'] as $i => $j) {
|
|
|
if (isset($j['child']) && $j['child']) {
|
|
|
- $parent = $this->updateMenu($j['key'], $j['name'], $j['link'], $id, $j['order'], $j['fast']);
|
|
|
+ $parent = $this->updateMenu($j['key'], $j['name'], $j['link'], $id, $j['order'], $j['fast'], '', $v['group_id']);
|
|
|
foreach ($j['child'] as $i1 => $j1) {
|
|
|
- $this->updateMenu($j1['key'], $j1['name'], $j1['link'], $parent, $j1['order'], $j1['fast']);
|
|
|
+ $this->updateMenu($j1['key'], $j1['name'], $j1['link'], $parent, $j1['order'], $j1['fast'], '', $v['group_id']);
|
|
|
}
|
|
|
} elseif (isset($j['parent']) && $j['parent']) {
|
|
|
$p = $j['parent'];
|
|
|
- $parent = $this->updateMenu($p['key'], $p['name'], $p['link'], $id, $p['order'], $p['fast']);
|
|
|
+ $parent = $this->updateMenu($p['key'], $p['name'], $p['link'], $id, $p['order'], $p['fast'], '', $v['group_id']);
|
|
|
if ($parent) {
|
|
|
- $this->updateMenu($j['key'], $j['name'], $j['link'], $parent, $j['order'], $j['fast']);
|
|
|
+ $this->updateMenu($j['key'], $j['name'], $j['link'], $parent, $j['order'], $j['fast'], '', $v['group_id']);
|
|
|
}
|
|
|
} else {
|
|
|
- $this->updateMenu($j['key'], $j['name'], $j['link'], $id, $j['order'], $j['fast']);
|
|
|
+ $this->updateMenu($j['key'], $j['name'], $j['link'], $id, $j['order'], $j['fast'], '', $v['group_id']);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -582,7 +592,7 @@ class Menu
|
|
|
*
|
|
|
* @return array
|
|
|
*/
|
|
|
- public function updateMenu($key, $name, $link, $menu, $order, $fast, $icon = '')
|
|
|
+ public function updateMenu($key, $name, $link, $menu, $order, $fast, $icon = '', $group_id = 1)
|
|
|
{
|
|
|
if (!$key) {
|
|
|
return;
|
|
@@ -604,6 +614,9 @@ class Menu
|
|
|
if ($icon) {
|
|
|
$update['add_icon'] = $icon;
|
|
|
}
|
|
|
+ if ($group_id) {
|
|
|
+ $update['group_id'] = $group_id;
|
|
|
+ }
|
|
|
$info['id'] = Dever::db('manage/menu')->insert($update);
|
|
|
}
|
|
|
|