|
@@ -220,6 +220,10 @@ class Database
|
|
|
if ($page_type) {
|
|
|
$param .= '&page_type=' . $page_type . '';
|
|
|
}
|
|
|
+ $where_id = Dever::input('where_id');
|
|
|
+ if ($where_id) {
|
|
|
+ $param .= '&where_id=' . $where_id . '';
|
|
|
+ }
|
|
|
$menu_id = Dever::input('menu_id');
|
|
|
if ($menu_id && !strstr($param, 'menu_id')) {
|
|
|
$param .= '&menu_id=' . $menu_id . '';
|
|
@@ -1622,7 +1626,7 @@ class Database
|
|
|
$url = $this->url('update', $top['value']);
|
|
|
}
|
|
|
} else {
|
|
|
- $url = $this->url('update', 1);
|
|
|
+ $url = $this->url('update', Dever::input('where_id', 1));
|
|
|
}
|
|
|
|
|
|
return Dever::location($url);
|
|
@@ -3685,7 +3689,7 @@ class Database
|
|
|
Dever::out('yes');
|
|
|
}
|
|
|
|
|
|
- private function struct_data($struct, $data, $old = array())
|
|
|
+ public function struct_data($struct, $data, $old = array())
|
|
|
{
|
|
|
$log = $tlog = array();
|
|
|
foreach ($struct as $i => $j) {
|
|
@@ -3710,8 +3714,8 @@ class Database
|
|
|
|
|
|
$list = (isset($j['list']) && is_string($j['list']) && $j['list'] != 'table');
|
|
|
$update = true;
|
|
|
- if ($old) {
|
|
|
- $update = (isset($j['update']) && is_string($j['update']) && $j['update'] != 'linkage');
|
|
|
+ if ($old && isset($j['update'])) {
|
|
|
+ $update = (is_string($j['update']) && $j['update'] != 'linkage');
|
|
|
}
|
|
|
|
|
|
if (isset($data['where_' . $i]) && $data['where_' . $i]) {
|
|
@@ -3721,7 +3725,11 @@ class Database
|
|
|
} elseif (isset($data['add_' . $i]) && $data['add_' . $i]) {
|
|
|
$log[$j['name']] = $data['add_' . $i];
|
|
|
} elseif (isset($data[$i]) && $data[$i]) {
|
|
|
- $log[$j['name']] = $list ? $this->value($j['list'], $data) : $data[$i];
|
|
|
+ if ($i == 'id') {
|
|
|
+ $log[$j['name']] = $data[$i];
|
|
|
+ } else {
|
|
|
+ $log[$j['name']] = $list ? $this->value($j['list'], $data) : $data[$i];
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (isset($log[$j['name']])) {
|