dever 7 anos atrás
pai
commit
a2a8a42178
2 arquivos alterados com 38 adições e 15 exclusões
  1. 19 3
      src/Menu.php
  2. 19 12
      src/Top.php

+ 19 - 3
src/Menu.php

@@ -252,8 +252,14 @@ class Menu
                             $param = array();
                             $param['project'] = $project['name'];
                             $param['project_name'] = $project['lang'];
-                            $param['key'] = $data[$key]['key'] . '_' . $v['id'];
                             $param['name'] = $v[$data[$key]['col']];
+
+                            if (isset($data[$key]['type']) && $data[$key]['type'] && isset($v[$data[$key]['type']])) {
+                                $type = $v[$data[$key]['type']];
+                                $param['key'] = $data[$key]['key'] . '__' . $type . '_' . $v['id'];
+                            } else {
+                                $param['key'] = $data[$key]['key'] . '_' . $v['id'];
+                            }
                             $param[$key] = -1;
                             $param['value'] = $v['id'];
                             $pid = $model->{$update}($param);
@@ -262,7 +268,12 @@ class Menu
                                 $param = array();
                                 $param['project'] = $project['name'];
                                 $param['project_name'] = $project['lang'];
-                                $param['key'] = $data[$key]['key'] . '_' . $v1['id'];
+                                if (isset($data[$key]['type']) && $data[$key]['type'] && isset($v1[$data[$key]['type']])) {
+                                    $type = $v1[$data[$key]['type']];
+                                    $param['key'] = $data[$key]['key'] . '__' . $type . '_' . $v1['id'];
+                                } else {
+                                    $param['key'] = $data[$key]['key'] . '_' . $v1['id'];
+                                }
                                 $param['name'] = $v1[$data[$key]['col']];
                                 $param[$key] = $pid;
                                 $param['value'] = $v1['id'];
@@ -278,7 +289,12 @@ class Menu
                             $param['project_name'] = $project['lang'];
                         }
 
-                        $param['key'] = $data[$key]['key'] . '_' . $v['id'];
+                        if (isset($data[$key]['type']) && $data[$key]['type'] && isset($v[$data[$key]['type']])) {
+                            $type = $v[$data[$key]['type']];
+                            $param['key'] = $data[$key]['key'] . '__' . $type . '_' . $v['id'];
+                        } else {
+                            $param['key'] = $data[$key]['key'] . '_' . $v['id'];
+                        }
                         $param['name'] = $v[$data[$key]['col']];
                         $param[$key] = $id;
                         $param['value'] = $v['id'];

+ 19 - 12
src/Top.php

@@ -81,16 +81,18 @@ class Top
 
                     $c = 0;
                     foreach ($child[$v['id']] as $i => $j) {
-                        $i = str_replace('/', '-', $i);
-                        if (($auth && strpos($auth . ',', $i . ',') === false) || ($info && $info['id'] == $j['id'])) {
-
-                        } elseif (!$info && $c == 0) {
-                            $top[$k]['name'] = $j['name'];
-                            Dever::load('manage/auth._setTop', $j);
-                            $c++;
-                        } else {
-                            $top[$k]['child'][$i] = $j;
-                            $c++;
+                        if (strstr($i, $config['top'])) {
+                            $i = str_replace('/', '-', $i);
+                            if (($auth && strpos($auth . ',', $i . ',') === false) || ($info && $info['id'] == $j['id'])) {
+
+                            } elseif (!$info && $c == 0) {
+                                $top[$k]['name'] = $j['name'];
+                                Dever::load('manage/auth._setTop', $j);
+                                $c++;
+                            } else {
+                                $top[$k]['child'][$i] = $j;
+                                $c++;
+                            }
                         }
                     }
 
@@ -153,11 +155,16 @@ class Top
             if ($info) {
                 $update['value'] = Dever::input('where_id', $id);
 
-                $update['name'] = Dever::param('name', $param);
+                $update['name'] = Dever::param($param['top']['col'], $param);
 
                 $update['top'] = $info['id'];
 
-                $update['key'] = $key . '_' . $update['value'];
+                if (isset($param['top']['type']) && $param['top']['type']) {
+                    $type = Dever::param($param['top']['type'], $param);
+                    $update['key'] = $key . '__' . $type . '_' . $update['value'];
+                } else {
+                    $update['key'] = $key . '_' . $update['value'];
+                }
 
                 $update['state'] = Dever::param('state', $param);