<?php

$audit = Dever::config('base')->audit;

$status = Dever::config('base')->status;

$function = Dever::config('base')->function;

# 每页的数据量
$page = 15;

$cate = function()
{
	$array = array();
	$info = Dever::db('content/cate')->state();
	if($info)
	{
		$array += $info;
	}
	return $array;
};

$author = function()
{
	$array = array();
	$info = Dever::db('content/author')->state();
	if($info)
	{
		$array += $info;
	}
	return $array;
};

$share = function()
{
	$array = array();
	$info = Dever::db('poster/template')->state();
	if($info)
	{
		$array += $info;
	}
	return $array;
};

$share = array
(
	1 => '显示',
	2 => '不显示',
);

$wechat = array
(
	1 => '否',
	2 => '是',
);

# 常用的col
$col = 'id,cate_id,name,pic_cover,pic_cover_169,pdate,num_add_view+num_view as num_view,num_up+num_add_up as num_up,num_comment,share_yes,share_title,share_pic,share_content,function,content,author_id';

return array
(
	# 表名
	'name' => 'article',
	# 显示给用户看的名称
	'lang' => '图文管理',
	'order' => 100,

	# 同步更新另外一个或多个表的数据
	'syncone' => array
	(
		'audit/data' => array
		(
			# 更新另外一个表的字段 => 本表的字段
			'where' => array('data_id' => 'id', 'type' => 1),
			# 要更新的数据
			'update' => array('data_id' => 'id', 'type' => 1, 'pdate' => 'pdate', 'reorder' => 'reorder', 'name' => 'name', 'audit' => 'audit', 'status' => 'status', 'cate_id' => 'cate_id'),
		)
	),

	'end' => array
	(
		'insert' => 'tag/lib/core.data?source_table=content/article',
		'update' => 'tag/lib/core.data?source_table=content/article',
	),
	# 数据结构
	'struct' => array
	(
		'id' 		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> 'ID',
			'default' 	=> '',
			'desc' 		=> '',
			'match' 	=> 'is_numeric',
			'list'		=> true,
		),
		
		'name'		=> array
		(
			'type' 		=> 'varchar-80',
			'name' 		=> '标题',
			'default' 	=> '',
			'desc' 		=> '标题',
			'match' 	=> 'is_string',
			'update'	=> 'text',
			'list'		=> true,
			'search'	=> 'fulltext',
			//增加预览
			'preview'	=> true,
		),
		
		'cate_id'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '所属栏目',
			'default' 	=> '1',
			'desc' 		=> '所属栏目',
			'match' 	=> 'is_numeric',
			'update'	=> 'select',
			'option'	=> $cate,
			'search'	=> 'select',
		),

		'author_id'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '作者',
			'default' 	=> '1',
			'desc' 		=> '作者',
			'match' 	=> 'is_numeric',
			'update'	=> 'select',
			//'option'	=> $author,
			'search'	=> 'select',
			'update_search'	=> 'content/lib/author.search',
		),

		'wechat'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '是否公众号文章',
			'default' 	=> '1',
			'desc' 		=> '是否公众号文章',
			'match' 	=> 'is_numeric',
			//'update'	=> 'select',
			'option'	=> $wechat,
			'search'	=> 'select',
		),

		'wechat_data_id'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '微信数据id',
			'default' 	=> '0',
			'desc' 		=> '微信数据id',
			'match' 	=> 'is_numeric',
		),

		'tag'		=> array
		(
			'type' 		=> 'text-255',
			'name' 		=> '标签',
			'default' 	=> '',
			'desc' 		=> '标签',
			'match' 	=> 'is_numeric',
			'update'	=> 'selects',
			//'search'	=> 'fulltext',
			'update_search'	=> 'tag/lib/core.search',
		),

  		'pic_cover'		=> array
		(
			'type' 		=> 'varchar-150',
			'name' 		=> '4:3封面图-图片尺寸750*564px或等比尺寸,上传大小不能超过2M,支持JPG、PNG、GIF格式,建议上传JPG格式',
			'default' 	=> '',
			'desc' 		=> '封面图',
			'match' 	=> 'is_string',
			'update'	=> 'image',
			'key' 		=> '1',
			'place'		=> '150',
			//直接上传到云端
			//'upload'	=> 'qiniu',
			//上传大数据
			//'large' 	=> true,
		),

		'pic_cover_169'		=> array
		(
			'type' 		=> 'varchar-150',
			'name' 		=> '16:9封面图-图片尺寸750*422px或等比尺寸,上传大小不能超过2M,支持JPG、PNG、GIF格式,建议上传JPG格式',
			'default' 	=> '',
			'desc' 		=> '封面图',
			'match' 	=> 'is_string',
			'update'	=> 'image',
			'key' 		=> '1',
			'place'		=> '150',
			//直接上传到云端
			//'upload'	=> 'qiniu',
			//上传大数据
			//'large' 	=> true,
		),

		'num_add_view'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '浏览量基数',
			'default' 	=> '0',
			'desc' 		=> '浏览量基数',
			'match' 	=> 'option',
			'update'	=> 'text',
		),

		'num_view'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '浏览量pv',
			'default' 	=> '0',
			'desc' 		=> '请填写浏览量pv',
			'match' 	=> 'option',
			'search'	=> 'order',
			//'list'		=> '{num_view}+{num_add_view}',
		),

		'num_add_up'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '喜欢基数',
			'default' 	=> '0',
			'desc' 		=> '喜欢基数',
			'match' 	=> 'option',
			'update'	=> 'text',
		),
		
		'num_up'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '喜欢数',
			'default' 	=> '0',
			'desc' 		=> '请填写喜欢数',
			'match' 	=> 'option',
			//'search'	=> 'order',
			'list'		=> '"喜欢数:{num_up}+{num_add_up}<br />浏览量:{num_view}+{num_add_view}<br />评论数:{num_comment}<br />"',
			'list_name'	=> '统计数字',
		),

		'num_comment'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '评论数',
			'default' 	=> '0',
			'desc' 		=> '请填写评论数',
			'search'	=> 'order',
			'match' 	=> 'option',
			//'list'		=> true,
		),

		'state'		=> array
		(
			'type' 		=> 'tinyint-1',
			'name' 		=> '状态',
			'default' 	=> '1',
			'desc' 		=> '请选择状态',
			'match' 	=> 'is_numeric',
		),

		'admin_founder'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '创建人',
			'default' 	=> '1',
			'desc' 		=> '创建人',
			'match' 	=> 'is_numeric',
		),

		'admin_editor'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '操作人',
			'default' 	=> '1',
			'desc' 		=> '操作人',
			'match' 	=> 'is_numeric',
		),

		'pdate'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '发布时间',
			'match' 	=> array('is_numeric', time()),
			'default'	=> '',
			'desc' 		=> '',
			'update'	=> 'date',
			'callback'	=> 'maketime',
			'insert'	=> true,
			//'list'		=> 'date("Y-m-d H:i:s", {pdate})',
			'auth'		=> '"{pdate}" > 0',
		),

		'share'		=> array
		(
			'type' 		=> 'text-255',
			'name' 		=> '分享海报-选择海报库中的海报',
			'default' 	=> '',
			'desc' 		=> '分享海报',
			'match' 	=> 'option',
			//'update'	=> 'checkbox',
			'option'	=> $share,
		),

		'reorder'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '排序(数值越大越靠前)',
			'default' 	=> '1',
			'desc' 		=> '请输入排序',
			'match' 	=> 'option',
			'update'	=> 'text',
			'search'	=> 'order',
			'list'		=> true,
			'order'		=> 'desc',
			'edit'		=> true,
		),

		'udate'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '更新时间',
			'match' 	=> array('is_numeric', time()),
			'desc' 		=> '',
		),

		'function'		=> array
		(
			'type' 		=> 'varchar-100',
			'name' 		=> '功能选择',
			'default' 	=> '1,2,3',
			'desc' 		=> '功能选择',
			'match' 	=> 'option',
			'update'	=> 'checkbox',
			'option'	=> $function,
		),

		'share_yes'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '是否显示分享按钮',
			'default' 	=> '1',
			'desc' 		=> '是否显示分享按钮',
			'match' 	=> 'option',
			'update'	=> 'radio',
			'option'	=> $share,
			'control'	=> 'share_yes',
		),

		'share_title'		=> array
		(
			'type' 		=> 'varchar-100',
			'name' 		=> '分享标题',
			'default' 	=> '',
			'desc' 		=> '分享标题',
			'match' 	=> 'option',
			'update'	=> 'text',
			'show'		=> 'share_yes=1',
		),

		'share_pic'		=> array
		(
			'type' 		=> 'varchar-150',
			'name' 		=> '分享图片-图片尺寸570*570px或等比尺寸,上传大小不能超过2M,支持JPG、PNG、GIF格式,建议上传JPG格式',
			'default' 	=> '',
			'desc' 		=> '分享图片',
			'match' 	=> 'is_string',
			'update'	=> 'image',
			'key' 		=> '1',
			'place'		=> '150',
			'show'		=> 'share_yes=1',
			//'upload'	=> 'qiniu',
			//'large' 	=> true,
		),

		'share_content'		=> array
		(
			'type' 		=> 'varchar-200',
			'name' 		=> '分享内容',
			'default' 	=> '',
			'desc' 		=> '分享内容',
			'match' 	=> 'option',
			'update'	=> 'textarea',
			'show'		=> 'share_yes=1',
		),

		'content'		=> array
		(
			'type' 		=> 'text-255',
			'name' 		=> '内容',
			'default' 	=> '',
			'desc' 		=> '请输入内容',
			'match' 	=> 'is_string',
			'update'	=> 'editor',
			'key'		=> '1',
			//'media'		=> '5',//下面的音视频已经做到了
			//直接上传到云端
			//'upload'	=> 'qiniu',
			//上传大数据
			//'large' 	=> true,
			//自定义编辑器右侧按钮
			'editor'	=> array
			(
				'name' => '选择插入模块',
				'button' => array
				(
					array
					(
						# 名称
						'name' => '图片',
						# 资源库id
						'key' => 1,
						# 类型
						'type' => 'image',
					),
					array
					(
						'name' => '音频',
						'key' => 5,
						'type' => 'media',
					),
					array
					(
						'name' => '视频',
						'key' => 'video/lib/core.vod',
					),
					array
					(
						'name' => '直播',
						'key' => 'video/lib/core.live',
					),

					array
					(
						'name' => '小程序',
						'key' => 'content/lib/applet.update',
						'type' => 'update',
					),
				),
			),
		),

		'audit'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '审核状态',
			'default' 	=> '1',
			'desc' 		=> '审核',
			'match' 	=> 'is_numeric',
			//'update'	=> 'select',
			'option'	=> $audit,
			'search'	=> 'select',
			'list'		=> true,
			'edit'		=> true,
		),

		'status'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '发布状态',
			'default' 	=> '1',
			'desc' 		=> '发布状态',
			'match' 	=> 'is_numeric',
			//'update'	=> 'select',
			'option'	=> $status,
			'search'	=> 'select',
			'list'		=> true,
			'edit'		=> true,
		),

		'cdate'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '录入时间',
			'match' 	=> array('is_numeric', time()),
			'desc' 		=> '',
			# 只有insert时才生效
			'insert'	=> true,
		),
	),

	# 索引
	'index' => array
	(
		'version' => 1,
		
		1 => array
		(
			'i1' => 'uid,cate_id',
		)
	),
	
	# 管理功能
	'manage' => array
	(
		//'insert' => false,
		# 列表
		'list_button' => array
		(
			'edit' => array('预览', str_replace('https://api.', 'http://www.', Dever::url('main/preview.get?type=1'))),
		),
	),

	# request 请求接口定义
	'request' => array
	(
		'search' => array
		(
			# 匹配的正则或函数 选填项
			'option' => array
			(
				'ids' => array('yes-id', 'in'),
				'cate_id' => 'yes',
				'name' => array('yes', 'like'),
				'id' => 'yes',
				'state' => 1,
			),
			'type' => 'all',
			'order' => array('reorder' => 'desc', 'id' => 'desc'),
			'limit' => '0,1000',
			'col' => 'name as name, id, id as value, "" as selected, "" as disabled|id',
		),

		'getAll' => array
		(
			# 匹配的正则或函数 选填项
			'option' => array
			(
				'cate_id' => 'yes',
				'cate_ids' => array('yes-cate_id', 'in'),
				'id' => 'yes',
				'state' => 1,
			),
			'type' => 'all',
			'order' => array('reorder' => 'desc','id' => 'desc'),
			'page' => array($page, 'list'),
			'col' => $col,
		),

		'getRelation' => array
		(
			# 匹配的正则或函数 选填项
			'option' => array
			(
				'cate_id' => 'yes',
				'cate_ids' => array('yes-cate_id', 'in'),
				'noid' => array('yes-id', '!='),
				'audit' => 2,
				'status' => 2,
				'state' => 1,
			),
			'type' => 'all',
			'order' => array('reorder' => 'desc','id' => 'desc'),
			'limit' => '0,4',
			'col' => $col,
		),

		'getOne' => array
		(
			# 匹配的正则或函数 选填项
			'where' => array
			(
				'id' => 'yes',
			),
			'type' => 'one',
			'col' => $col,
		),
		
		# 更新浏览量
		'addView' => array
		(
			'type' => 'update',
			'where' => array
			(
				'id' => 'yes',
			),
			'set' => array
			(
				'num_view' => array('1', '+='),
			),
		),
	),
);