rabin 3 yıl önce
ebeveyn
işleme
201634abc6
3 değiştirilmiş dosya ile 21 ekleme ve 11 silme
  1. 1 1
      assets/layadmin/html/inc/script.html
  2. 1 1
      src/Database.php
  3. 19 9
      src/Lib/Log.php

+ 1 - 1
assets/layadmin/html/inc/script.html

@@ -51,4 +51,4 @@
 <script type="text/javascript" src="../script/lib/pic/holder.js"></script>
 
 <!-- 加载主要js,很乱,后续优化 -->
-<script type="text/javascript" src="../script/lib/manage/main.js?v106"></script>
+<script type="text/javascript" src="../script/lib/manage/main.js?v108"></script>

+ 1 - 1
src/Database.php

@@ -2379,7 +2379,7 @@ class Database
 
                                 $show_edit = $this->value($vi['edit'], $data[$k], $config['struct']);
                                 if ($show_edit) {
-                                    $show = Html::$m($vi, 'form-list', '', 'style="min-width: 100px;" data-old="'.$show.'" onchange="update($(this), \'' . $v['id'] . '\', \'' . $this->project . '\', \'' . $this->table . '\')"');
+                                    $show = Html::$m($vi, 'form-list', '', 'style="min-width: 100px;" data-old="'.$show.'" onchange="update($(this), \'' . $v['id'] . '\', \'' . $this->project . '\', \'' . $this->table . '\', \'\', \'' . $this->menu_id . '\')"');
                                 } else {
                                     if (isset($vi['option'][$show]) && is_array($vi['option'][$show])) {
                                         $show = $vi['option'][$show]['name'];

+ 19 - 9
src/Lib/Log.php

@@ -15,6 +15,10 @@ class Log
         if (!$input) {
             return;
         }
+        if (!$menu) {
+            return;
+        }
+
         if ($method == 'insert') {
             $method = 1;
         } elseif ($method == 'update') {
@@ -35,19 +39,25 @@ class Log
         
         $param['project'] = $project;
         $param['table'] = $table;
-        $menu_info = Dever::db('manage/menu')->one($menu);
+
+        if (is_numeric($menu)) {
+            $menu_info = Dever::db('manage/menu')->one($menu);
+        } else {
+            $menu_info = Dever::db('manage/menu')->one(array('key' => $menu));
+        }
+        if (!$menu_info) {
+            return;
+        }
+        
         $menu_array = array();
-        if ($menu) {
-            $parent = Dever::db('manage/menu')->one($menu_info['menu_id']);
-            if ($parent) {
-                $group = Dever::db('manage/menu_group')->one($parent['group_id']);
-                $menu_array = array($group['id'], $parent['id'], $menu);
-            } else {
-                $menu_array = array($menu);
-            }
+        $parent = Dever::db('manage/menu')->one($menu_info['menu_id']);
+        if ($parent) {
+            $group = Dever::db('manage/menu_group')->one($parent['group_id']);
+            $menu_array = array($group['id'], $parent['id'], $menu);
         } else {
             $menu_array = array($menu);
         }
+        
         $param['menu_id'] = implode(',', $menu_array);
         $param['name'] = $name;
         $param['type'] = $method;