<?php


$author = function()
{
	$array = array();
	$author = Dever::load('set/author-state');
	if($author)
	{
		$array += $author;
	}
	return $array;
};

$info = function()
{
	$array = array();
	$info = Dever::load('set/info-state');
	if($info)
	{
		$array += $info;
	}
	return $array;
};

$cate = function()
{
	$array = array();
	$cate = Dever::load('set/cate-mainAll');
	if($cate)
	{
		$array += $cate;
	}
	return $array;
};

$cate_child = function()
{
	$cate = Dever::load('set/cate-childAll');

	return $cate;
};

# 栏目
$search_cate = function()
{
	$array = array
	(
		-1 => array('id' => '-1', 'name' => '所有栏目'),
	);
	$cate = Dever::load('set/manage.cate');
	if($cate)
	{
		$array += $cate;
	}
	return $array;
};

return array
(
	# 表名
	'name' => 'news',
	# 显示给用户看的名称
	'lang' => '资讯管理',
	'order' => 200,
	# 数据结构
	'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,
		),
		'reading'		=> array
		(
			'type' 		=> 'varchar-255',
			'name' 		=> '导读',
			'default' 	=> '',
			'desc' 		=> '请输入导读',
			'match' 	=> 'option',
			'update'	=> 'textarea',
			//'search'	=> 'fulltext',
			//'list'		=> true,
		),

		'subname'		=> array
		(
			'type' 		=> 'varchar-80',
			'name' 		=> '子标题',
			'default' 	=> '',
			'desc' 		=> '子标题',
			'match' 	=> 'option',
			// 'update'	=> 'text',
			//'search'	=> 'fulltext',
			//'list'		=> true,
		),

		'info_id'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '所属小程序',
			'default' 	=> '1',
			'desc' 		=> '请选择所属小程序',
			'match' 	=> 'is_numeric',
			'update'	=> 'select',
			'option'	=> $info,
			'search'	=> 'select',
			'list'		=> '{info_id} > 0 ? Dever::load("set/info-one#name", {info_id}) : "未知"',
		),

		'author_id'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '作者',
			'default' 	=> '1',
			'desc' 		=> '请选择作者',
			'match' 	=> 'is_numeric',
			'update'	=> 'select',
			'option'	=> $author,
			//'search'	=> 'select',
			//'list'		=> '{author_id} > 0 ? Dever::load("set/author-one#name", {author_id}) : "未知"',
		),
		
		'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("set/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("set/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}<br />浏览量:{num_view}+{num_add_view}<br />回复数:{num_review}<br />"',
			'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,
		),
		
		'pic'		=> array
		(
			'type' 		=> 'varchar-150',
			'name' 		=> '封面',
			'default' 	=> '',
			'desc' 		=> '请选择封面',
			'match' 	=> 'is_string',
			'update'	=> 'image',
			'key' 		=> '1',
			'place'		=> '150',
		),

		'top'		=> array
		(
			'type' 		=> 'varchar-150',
			'name' 		=> '头图',
			'default' 	=> '',
			'desc' 		=> '请选择头图',
			'match' 	=> 'option',
			'update'	=> 'image',
			'key' 		=> '1',
			'place'		=> '150',
		),
		
		'content'		=> array
		(
			'type' 		=> 'text-800',
			'name' 		=> '内容',
			'default' 	=> '',
			'desc' 		=> '请输入内容',
			'match' 	=> 'is_string',
			'update'	=> 'editor',
			'key' 		=> 1,
		),

		'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})',
		),
	),
	
	# 索引
	'index' => array
	(
		
	),
	
	# 管理功能
	'manage' => array
	(
		//'insert' => false,
		# 列表
		'list_button' => array
		(
			'list' => array('评论', '"review&project=comment&search_option_source_table=1&search_option_source_id={id}&oper_parent=news&oper_project=content"'),
		),
	),
	
	# request 请求接口定义
	'request' => array
	(
		'getAll' => array
		(
			# 匹配的正则或函数 选填项
			'option' => array
			(
				'info_id' => 'yes',
				'cate_id_parent' => 'yes',
				'cate_id' => 'yes',
				'cate_ids' => array('yes-cate_id', 'in'),
			),
			'type' => 'all',
			'order' => array('reorder' => 'desc', 'id' => 'desc'),
			'page' => array(10, 'list'),
			'col' => 'id, name, reading,subname,pic, top, cate_id, info_id, author_id, content, (num_view+num_add_view) as num_view,num_up,num_review, cdate',
		),
		
		# 更新浏览量
		'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', '-='),
			),
		),
	),
);