'显示',
    2 => '不显示',
);
$type = Dever::db('page/module')->config['func'];
$type = $type();
$list = function()
{
    return Dever::db('page/module')->state();
};
$info = Dever::input('search_option_module_id', 1);
$module_id = Dever::input('update_module_id');
if ($module_id) {
    $info = $module_id;
}
Dever::setInput('search_option_module_id', $info);
$type_default = -1;
$type_id = '0';
$data = array
(
    1 => '内容自定义',
);
$lang = array();
$name = '内容管理';
if ($info) {
    $info = Dever::db('page/module')->one($info);
    if ($info) {
        $function = explode(',', $info['func']);
    
        $type_id = array();
        foreach ($type as $k => $v) {
            if (!in_array($v['id'], $function)) {
                unset($type[$k]);
            } else {
                $type_default = $v['id'];
                if ($v['id'] > 0 && isset($v['type']) && $v['type'] == 1) {
                    $type_id[] = $v['id'];
                }
            }
        }
        $type_id = implode(',', $type_id);
    }
}
$struct = array
(
    'id'        => array
    (
        'type'      => 'int-11',
        'name'      => 'ID',
        'default'   => '',
        'desc'      => '',
        'match'     => 'is_numeric',
        //'search'  => 'order',
        'order'     => 'desc',
        //'list'        => true,
    ),
    'module_id'       => array
    (
        'type'      => 'int-11',
        'name'      => '所属模块',
        'default'   => Dever::input('search_option_module_id', '1'),
        'desc'      => '模块',
        'match'     => 'is_numeric',
        'search'    => 'select',
        'update'    => 'hidden',
        'option'    => $list,
        'list'      => true,
        'value'     => Dever::input('search_option_module_id', '1'),
    ),
    'type'      => array
    (
        'type'      => 'int-11',
        'name'      => '功能类型',
        'default'   => ''.$type_default.'',
        'desc'      => '请选择功能类型',
        'match'     => 'is_numeric',
        'update'    => 'radio',
        //'search'    => 'select',
        'option'    => $type,
        'control_url'   => 'page/lib/manage.showType',
    ),
    'type_id'     => array
    (
        'type'      => 'int-11',
        'name'      => '关联数据',
        'default'   => '',
        'desc'      => '关联数据',
        'match'     => 'option',
        'update'    => 'select',
        'show'      => 'type=' . $type_id,
        'update_search' => 'page/lib/manage.search?{type}',
    ),
    /*
    'data'       => array
    (
        'type'      => 'text-1000',
        'name'      => '自定义数据项',
        'default'   => '',
        'desc'      => '自定义数据项',
        'match'     => 'is_string',
        'option'    => $data,
        'update'    => $data_update,
        'list'      => 'Dever::load("page/lib/manage.show", {id})',
    ),
    */
);
if ($info) {
    $info['col'] = explode(',', $info['col']);
    $col = Dever::db('page/col')->getAll();
    if ($col) {
        $pic_index = 0;
        if ($info['col_pic']) {
            $pic = $info['col_pic'];
            $pic_temp = explode("\r\n", $pic);
        }
    	foreach ($col as $k => $v) {
            $place = $v['pic'];
            if ($info['col_pic'] && isset($pic_temp[$pic_index]) && $pic_temp[$pic_index]) {
                $place = $pic_temp[$pic_index];
            }
            $key = 'col_' . $v['id'];
    		$list = false;
            $type = 'varchar-1000';
            if ($v['type'] == 1) {
                $update_type = 'text';
                if ($v['id'] != 3) {
                    $lang[] = $key;
                }
                
                $list = 'Dever::load("page/lib/manage.getData", "'.$v['id'].'", {id})';
            } elseif ($v['type'] == 2) {
                $update_type = 'textarea';
                $lang[] = $key;
                $list = 'Dever::load("page/lib/manage.getData", "'.$v['id'].'", {id})';
            } elseif ($v['type'] == 3) {
                $update_type = 'editor';
                $lang[] = $key;
                $type = 'text-255';
            } elseif ($v['type'] == 4) {
                $update_type = 'image';
                $pic_index++;
                $list = 'Dever::load("page/lib/manage.pic", "{'.$key.'}")';
            } elseif ($v['type'] == 5) {
                $update_type = 'images';
                $pic_index++;
            } elseif ($v['type'] == 6) {
                $update_type = 'radio';
            } elseif ($v['type'] == 7) {
                $update_type = 'checkbox';
            } elseif ($v['type'] == 8) {
                $update_type = 'day';
            }
            if (!in_array($v['id'], $info['col'])) {
                $update_type = 'hidden';
                $list = false;
            }
            if ($v['is_option'] == 1) {
                $match = 'is_string';
            } else {
                $match = 'option';
            }
    		
    		$struct[$key] = array
	        (
	            //'col'       => 'col_' . $v['id'],
                'type'      => $type,
	            'name'      => $v['name'],
	            'default'   => '',
	            'desc'      => $v['name'],
	            'match'     => $match,
	            'update'    => $update_type,
	            'place'     => $place,
	            'key'       => 1,
                'list'      => $list,
	        );
    	}
    }
}
$struct += array
(
    'reorder'       => array
    (
        'type'      => 'int-11',
        'name'      => '排序(数值越大越靠前)',
        'default'   => '1',
        'desc'      => '请输入排序',
        'match'     => 'option',
        'update'    => 'text',
        'search'    => 'order',
        'list_name' => '排序',
        'list'      => true,
        'order'     => 'desc',
        'edit'      => true,
    ),
    'state'     => array
    (
        'type'      => 'tinyint-1',
        'name'      => '状态',
        'default'   => '1',
        'desc'      => '请选择状态',
        'match'     => 'is_numeric',
    ),
    
    'cdate'     => array
    (
        'type'      => 'int-11',
        'name'      => '录入时间',
        'match'     => array('is_numeric', time()),
        'desc'      => '',
        # 只有insert时才生效
        'insert'    => true,
        'list'      => 'date("Y-m-d H:i:s", {cdate})',
    ),
);
return array
(
    # 表名
    'name' => 'data',
    # 显示给用户看的名称
    'lang' => $name,
    'order' => 20,
    'menu' => false,
    //'desc' => '预览地址:
',
    # 数据结构
    'struct' => $struct,
    'manage' => array
    (
        'lang' => implode(',', $lang),
        'insert' => false,
        'edit' => false,
        # 自定义快捷新增和编辑
        'button' => array
        (
            '新增' => array('fast'),
        ),
        'list_button' => array
        (
            'edit' => array('编辑'),
        )
    ),
    # request 请求接口定义
    'request' => array
    (
        # 获取列表页
        'getAll' => array
        (
            # 匹配的正则或函数 选填项
            'option' => array
            (
                'module_id' => 'yes',
                'type_no' => array('yes-type', '!='),
                'state' => 1,
            ),
            'type' => 'all',
            'order' => array('reorder' => 'desc', 'id' => 'desc'),
            'limit' => '0,10',
            'col' => '*',
        ),
        # 获取列表页 带有分页的
        'getAllPage' => array
        (
            # 匹配的正则或函数 选填项
            'option' => array
            (
                'module_id' => 'yes',
                'type_no' => array('yes-type', '!='),
                'state' => 1,
            ),
            'type' => 'all',
            'order' => array('reorder' => 'desc', 'id' => 'desc'),
            'page' => array(10, 'list'),
            'col' => '*',
        ),
    ),
);