### filterWithoutField
**字段权限控制:用于对字段的过滤 - 包括列表和表单**
**参数**
\* 第一个参数是权限名称
\* 第二个参数是需要过滤的数组
\* 第三个参数是过滤类型: form => 表单(默认:权限类型为表字段) ,list => 列表(权限类型为表字段) , 'keyForm' => 表单(权限类型为0或者1)
\* 第四个参数:需要过滤的字段
\* 第五个参数:获取其他模块的权限
~~~
function filterWithoutField( $key,$rows, $type = 'form',$filterArr,$modelName ) {
//update by chengl 2012-02-01 加入另外模块权限判断
$limit=$this->this_limit;
if(!empty($modelName)){
$otherdatasDao=new model_common_otherdatas();
$limit =$otherdatasDao->getUserPriv($modelName,$_SESSION ['USER_ID'],$_SESSION['DEPT_ID'],$_SESSION['USER_JOBSID']);
}
if ($type == 'form') {
$limitArr = isset($limit [$key]) ? explode ( ',', $limit [$key] ) : array();
foreach ( $rows as $k => $v ) {
if (in_array ( $k, $filterArr )) {
if(!in_array ( $k, $limitArr )){
$rows [$k] = '******';
}
}
}
}elseif ($type == 'list') {
$limitArr = isset($limit [$key]) ? explode ( ',', $limit [$key] ) : array();
$i = 0;
foreach ( $rows as $k => $v ) {
foreach ( $v as $myKey => $myVal ) {
if (in_array ( $myKey, $filterArr )) {
if(!in_array ( $myKey, $limitArr )){
$rows [$i] [$myKey] = '******';
}
}
}
$i ++;
}
}elseif ($type == 'keyForm') {
$limitArr = isset($limit [$key])&&!empty($limit [$key]) ? 1 : 0;
// print_r($key);
foreach ( $rows as $k => $v ) {
if (in_array ( $k, $filterArr )) {
if($limitArr == 0){
$rows [$k] = '******';
}
}
}
}elseif ($type == 'keyList') {
$limitArr = isset($limit [$key])&&!empty($limit [$key]) ? 1 : 0;
$i = 0;
foreach ( $rows as $k => $v ) {
foreach ( $v as $myKey => $myVal ) {
if (in_array ( $myKey, $filterArr )) {
if($limitArr == 0){
$rows [$i] [$myKey] = '******';
}
}
}
$i ++;
}
}
return $rows;
}
~~~
- 架构
- 基础框架文档
- base/action(C层基类)
- protected 类定义
- __construct构造函数
- c_list
- c_index
- c_page
- c_pageJson
- c_listJson
- c_getByAjax
- c_getCountByName
- c_toAdd
- c_add
- c_init
- c_edit
- c_deletes
- c_ajaxdeletes
- c_saveBatch
- c_checkRepeat
- getDatadicts
- showDatadicts
- getDataNameByCode
- assign
- display
- view
- assignFunc
- model/base(M层基类)
- protected类定义(model)
- __construct
- find
- get_table_fields
- findAll
- findSql
- create
- delete
- findBy
- updateField
- query
- findCount
- update
- filterFunc
- filterField
- filterWithoutField
- filterCustom
- createBatch
- pageBySql
- listBySql
- pageBySqlId
- deletes
- 事务控制
- 获取对象数组
- addBatch_d
- add_d
- edit_d
- isRepeat
- 列表组件文档
- 基础表格
- 数据获取
- 表格数据显示
- 常用控制参数
- 表格右键扩展
- 表格扩展按钮
- 快速搜索
- 高级搜索(自定义视图)
- 表格注册事件
- 主从表格
- 可编辑表格
- 模块开发
- 开发案例
- 开发准则