예제 #1
0
 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;
 }
예제 #2
0
         //老的数据,需要加上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) {