'正常', 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', '-='), ), ), ), );