'正常',
2 => '删除',
);
$essence = array
(
1 => '普通',
2 => '精华',
3 => '推荐',
);
$top = array
(
1 => '普通',
2 => '置顶',
);
$cate = function()
{
$array = array();
$cate = Dever::load('forum/cate-mainAll');
if($cate)
{
$array += $cate;
}
return $array;
};
$cate_child = function()
{
$cate = Dever::load('forum/cate-childAll');
return $cate;
};
# 栏目
$search_cate = function()
{
$array = array
(
-1 => array('id' => '-1', 'name' => '所有栏目'),
);
$cate = Dever::load('forum/cate.all');
if($cate)
{
$array += $cate;
}
return $array;
};
return array
(
# 表名
'name' => 'posts',
# 显示给用户看的名称
'lang' => '主题',
'order' => 9,
# 数据结构
'struct' => array
(
'id' => array
(
'type' => 'int-11',
'name' => 'ID',
'default' => '',
'desc' => '',
'match' => 'is_numeric',
'search' => 'order',
'list' => true,
),
'name' => array
(
'type' => 'varchar-80',
'name' => '标题',
'default' => '',
'desc' => '请输入主题标题',
'match' => 'is_string',
'update' => 'text',
'search' => 'fulltext',
'list' => true,
),
'uid' => array
(
'type' => 'int-11',
'name' => '作者-请填写用户id',
'default' => '1',
'desc' => '请填写作者',
'match' => 'is_numeric',
'update' => 'text',
//'search' => 'select',
'list' => '{uid} > 0 ? Dever::load("passport/user-one#username", {uid}) : "匿名用户"',
),
'ip' => array
(
'type' => 'varchar-32',
'name' => 'IP',
'default' => '',
'desc' => '请输入IP',
'match' => 'option',
//'update' => 'text',
//'search' => 'fulltext',
//'list' => true,
),
'cate_id_parent' => array
(
'type' => 'int-11',
'name' => '父级栏目',
'default' => '0',
'desc' => '请选择父级栏目',
'match' => 'is_numeric',
'update' => 'select',
//'search' => 'order,select',
//'list' => '{cate_id_parent} > 0 ? Dever::load("forum/cate-one#name", {cate_id_parent}) : "临时栏目"',
'option' => $cate,
# 当值改变时,执行下一步操作
'child_name' => 'cate_id',
'child' => $cate_child,
'child_value' => '{cate_id}',
),
'cate_id' => array
(
'type' => 'int-11',
'name' => '子栏目',
'default' => '0',
'desc' => '请选择子栏目',
'match' => 'is_numeric',
'search' => 'group',
'option' => $search_cate,
'list_name' => '栏目',
'list' => '{cate_id} > 0 ? Dever::load("forum/cate-one#name", {cate_id}) : "无子栏目"',
),
'num_add_view' => array
(
'type' => 'int-11',
'name' => '手动增加浏览量pv',
'default' => '0',
'desc' => '请填写手动增加浏览量pv',
'match' => 'option',
'update' => 'text',
),
'num_up' => array
(
'type' => 'int-11',
'name' => '赞数',
'default' => '0',
'desc' => '请填写赞数',
'match' => 'option',
//'search' => 'order',
'list' => '"赞数:{num_up}
浏览量:{num_view}+{num_add_view}
回复数:{num_review}
"',
'list_name' => '统计数字',
),
'num_view' => array
(
'type' => 'int-11',
'name' => '浏览量pv',
'default' => '0',
'desc' => '请填写浏览量pv',
'match' => 'option',
'search' => 'order',
//'list' => '{num_view}+{num_add_view}',
),
'num_review' => array
(
'type' => 'int-11',
'name' => '回复数',
'default' => '0',
'desc' => '请填写回复数',
'search' => 'order',
'match' => 'option',
//'list' => true,
),
'essence' => array
(
'type' => 'tinyint-1',
'name' => '精华',
'default' => '1',
'desc' => '请选择精华',
'match' => 'is_numeric',
'option' => $essence,
'update' => 'radio',
'list' => true,
'edit' => true,
),
'top' => array
(
'type' => 'tinyint-1',
'name' => '置顶',
'default' => '1',
'desc' => '请选择置顶',
'match' => 'is_numeric',
'option' => $top,
'update' => 'radio',
'list' => true,
'edit' => true,
),
'content' => array
(
'type' => 'text-255',
'name' => '内容',
'default' => '',
'desc' => '请输入内容',
'match' => 'is_string',
'update' => 'editor',
'key' => 1,
),
'state' => array
(
'type' => 'tinyint-1',
'name' => '状态',
'default' => '1',
'desc' => '请选择状态',
'match' => 'is_numeric',
'option' => $option,
'update' => 'radio',
'list' => true,
),
'cdate' => array
(
'type' => 'int-11',
'name' => '录入时间',
'match' => array('is_numeric', time()),
'desc' => '',
# 只有insert时才生效
'insert' => true,
'list' => 'date("Y-m-d H:i:s", {cdate})',
),
),
# 索引
'index' => array
(
'version' => 5,
5 => array
(
'i1' => 'uid,cate_id',
)
),
# 管理功能
'manage' => array
(
//'insert' => false,
# 列表
'list_button' => array
(
'list' => array('回复', '"review&search_option_posts_id={id}&oper_parent=posts"'),
),
),
# request 请求接口定义
'request' => array
(
'getAll' => array
(
# 匹配的正则或函数 选填项
'option' => array
(
'cate_id' => 'yes',
'cate_ids' => array('yes-cate_id', 'in'),
'id' => 'yes',
),
'type' => 'all',
'order' => array('top' => 'desc', 'id' => 'desc'),
'page' => array(15, 'list'),
'col' => '*',
),
# 获取默认主题,按照置顶和时间排序的
'default' => array
(
# 匹配的正则或函数 选填项
'option' => array
(
'cate_id' => 'yes',
'cate_id_parent' => 'yes',
'uid' => 'yes',
),
'type' => 'all',
'order' => array('top' => 'desc', 'id' => 'desc'),
'page' => array(15, 'list'),
'col' => '*',
),
# 获取最新主题
'new' => array
(
# 匹配的正则或函数 选填项
'option' => array
(
'name' => array('yes', 'like'),
'cate_id' => 'yes',
'cate_id_parent' => 'yes',
'uid' => 'yes',
),
'type' => 'all',
'order' => array('id', 'desc'),
'page' => array(15, 'list'),
'col' => '*',
),
# 获取精华主题
'essence' => array
(
'where' => array
(
'essence' => 2,
),
# 匹配的正则或函数 选填项
'option' => array
(
'cate_id' => 'yes',
'cate_id_parent' => 'yes',
'uid' => 'yes',
),
'type' => 'all',
'order' => array('id', 'desc'),
'page' => array(15, 'list'),
'col' => '*',
),
# 获取热门主题
'hot' => array
(
# 匹配的正则或函数 选填项
'option' => array
(
'cate_id' => 'yes',
'cate_id_parent' => 'yes',
'uid' => 'yes',
),
'type' => 'all',
'order' => array('num_view`+`num_add_view' => 'desc', 'id' => 'desc'),
'page' => array(15, 'list'),
'col' => '*',
),
# 获取冷门主题
'cold' => array
(
# 匹配的正则或函数 选填项
'option' => array
(
'cate_id' => 'yes',
'cate_id_parent' => 'yes',
'uid' => 'yes',
),
'type' => 'all',
'order' => array('num_view`+`num_add_view' => 'asc', 'id' => 'desc'),
'page' => array(15, 'list'),
'col' => '*',
),
# 更新浏览量
'addView' => array
(
'type' => 'update',
'where' => array
(
'id' => 'yes',
),
'set' => array
(
'num_view' => array('1', '+='),
),
),
# 更新回复数
'addReview' => array
(
'type' => 'update',
'where' => array
(
'id' => 'yes',
),
'set' => array
(
'num_review' => array('1', '+='),
),
),
# 更新点赞数
'addUp' => array
(
'type' => 'update',
'where' => array
(
'id' => 'yes',
),
'set' => array
(
'num_up' => array('1', '+='),
),
),
# 更新点赞数
'desUp' => array
(
'type' => 'update',
'where' => array
(
'id' => 'yes',
),
'set' => array
(
'num_up' => array('1', '-='),
),
),
),
);