/** * 删除模块,只能删除叶子模块 * * @params arr $filter 过滤条件 */ function del_module($filter) { global $_LANG; /* 根据模块信息(信任)删除 */ if (is_array($filter['info']) && !empty($filter['info'])) { /* 虚根模块,保留 */ if ($filter['info']['module_id'] == 1) { return array('error' => 1, 'message' => $_LANG['lawless_submit']); } /* 非叶子节点不能删除 */ if ($filter['info']['lft'] != $filter['info']['rht'] - 1) { return array('error' => 1, 'message' => $_LANG['lawless_submit']); } /* 删除模块拥有的权限 */ del_privilege(array('module_id' => $filter['info']['module_id'])); /* 删除模块 */ lrtree_del(array('table' => tname('module'), 'info' => $filter['info'])); return array('error' => 0, 'message' => $_LANG['del_ok']); } return array('error' => 1, 'message' => $_LANG['fail_del']); }
/** * 删除角色 * * @params arr $filter 过滤条件 */ function del_role($filter = array()) { global $_LANG; /* 根据角色信息(信任)删除 */ if (is_array($filter['info']) && !empty($filter['info'])) { /* 系统内置角色,保留 */ if (intval($filter['info']['role_id']) == 1) { return array('error' => 1, 'message' => $_LANG['lawless_submit']); } /* 子角色IDS(包括自身) */ $ids = sub_role_id(array('info' => $filter['info']), true); /* 删除角色权限 */ del_role_privilege(array('role_ids' => $ids)); /* 重置管理员中的角色ID */ $sql = 'UPDATE ' . tname('admin') . ' SET role_id=0 WHERE role_id IN("' . implode('","', $ids) . '")'; $GLOBALS['db']->query($sql); /* 删除角色 */ lrtree_del(array('table' => tname('role'), 'info' => $filter['info'])); return array('error' => 0, 'message' => $_LANG['del_ok']); } return array('error' => 1, 'message' => $_LANG['fail_del']); }