public static function isViewInUse($id, $viewid) { if ($id == $viewid) { return true; } //继续遍历下一层视图 $view = C::t('common_setting')->fetch("bigapp_view_" . $id, true); if (isset($view[0]) && empty($view[0])) { return false; } else { if (isset($view['title_cfg']) && is_array($view['title_cfg'])) { $used = false; foreach ($view['title_cfg'] as $title) { //避免视图引用自身,造成无限循环 if (is_numeric($title['view_type']) && $id != $title['view_type']) { $used = $used || AppDesign::isViewInUse($title['view_type'], $viewid); } //减枝,缩短时间 if ($used == true) { break; } } return $used; } else { return false; } } return false; }
//老的数据,需要加上view_type if (!isset($res['view_type']) && isset($res['button_type'])) { $res['view_type'] = $res['button_type']; } $used1 = AppDesign::isViewInUse($res['view_type'], $view_id); } //获取选定的页面数据,应用中的 $res = C::t('common_setting')->fetch("bigapp_button_id_" . $i . "_setting", true); if (isset($res[0]) && empty($res[0])) { continue; } else { //老的数据,需要加上view_type if (!isset($res['view_type']) && isset($res['button_type'])) { $res['view_type'] = $res['button_type']; } $used2 = AppDesign::isViewInUse($res['view_type'], $view_id); } } if ($used1) { //删除的视图处于保存中,不能删除 $result['code'] = '2'; $result['msg'] = "Fail"; } else { if ($used2) { //删除的视图处于生效中,不能删除 $result['code'] = '3'; $result['msg'] = "Fail"; } else { $res = C::t('common_setting')->delete("bigapp_view_" . $view_id); //$res = true; if (!$res) {