<?php

$page = 15;
$audit = Dever::config('base')->audit;
$status = Dever::config('base')->status;
$function = Dever::config('base')->function;
unset($function[3]);
$share = function()
{
	$array = array();
	$info = Dever::db('poster/template')->state();
	if($info)
	{
		$array += $info;
	}
	return $array;
};

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

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

$stream = function()
{
	$array = array
	(
		-1 => '选择直播流',
	);
	$info = Dever::db('live/stream')->state();
	if($info)
	{
		$array += $info;
	}
	return $array;
};

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

$col = 'id,name,pic_cover,pic_cover_169,pdate,num_add_user+num_user as num_user,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,url_m3u8,url_mp4, url_m3u8 as url,cate_id,stream_id,sdate,edate,author_id,video_info,stream_link';

return array
(
	# 表名
	'name' => 'live',
	# 显示给用户看的名称
	'lang' => '直播视频管理',
	'order' => 99,
	'end' => array
	(
		'insert' => 'tag/lib/core.data?source_table=video/live',
		'update' => 'tag/lib/core.data?source_table=video/live',
	),
	# 同步更新另外一个或多个表的数据
	'syncone' => array
	(
		'audit/data' => array
		(
			# 更新另外一个表的字段 => 本表的字段
			'where' => array('data_id' => 'id', 'type' => 3),
			# 要更新的数据
			'update' => array('data_id' => 'id', 'type' => 3, 'pdate' => 'pdate', 'reorder' => 'reorder', 'name' => 'name', 'audit' => 'audit', 'status' => 'status', 'cate_id' => 'cate_id', 'state' => 'state'),
		)
	),
	# 数据结构
	'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',
			'search'	=> 'fulltext',
			'list'		=> 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',
		),

		'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,
		),

		'stream_id'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '直播流选择',
			'default' 	=> '',
			'desc' 		=> '直播流选择',
			'match' 	=> 'is_numeric',
			'update'	=> 'select',
			'option'	=> $stream,
			//'list'		=> true,
			'control'	=> 'stream_id',
		),

		'stream_link'		=> array
		(
			'type'      => 'varchar-800',
            'name'      => '直播地址-输入直播地址后，直播流选择将失效',
            'default'   => '',
            'desc'      => '直播地址',
            'match'     => 'option',
            'update'	=> 'textarea',
            'show'		=> 'stream_id=-1'
		),

		'sdate'     => array
        (
            'type'      => 'int-11',
            'name'      => '开始时间',
            'match'     => 'is_numeric',
            'default'   => '',
            'desc'      => '',
            'update'    => 'date',
            'callback'  => 'maketime',
            'list'      => 'date("Y-m-d H:i:s", {sdate})',
        ),

        'edate'     => array
        (
            'type'      => 'int-11',
            'name'      => '结束时间-选择结束时间，能够得到当前时间段完整的直播回放地址',
            'match'     => 'is_numeric',
            'default'   => '',
            'desc'      => '',
            'update'    => 'date',
            'callback'  => 'maketime',
            //'list'      => 'date("Y-m-d H:i:s", {edate})',
        ),

        'url_m3u8'      => array
        (
            'type'      => 'varchar-800',
            'name'      => '直播回放地址',
            'default'   => '',
            'desc'      => '直播回放地址',
            'match'     => 'option',
            'update'    => 'textarea',
            //'list'      => true,
        ),

        'url_mp4'      => array
        (
            'type'      => 'varchar-800',
            'name'      => '直播回放地址',
            'default'   => '',
            'desc'      => '直播回放地址',
            'match'     => 'option',
            //'update'    => 'text',
            //'list'      => true,
        ),

        'video_info'		=> array
		(
			'type' 		=> 'text-255',
			'name' 		=> '视频信息',
			'default' 	=> '',
			'desc' 		=> '视频信息',
			'match' 	=> 'is_string',
		),

		'num_add_user'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '手动增加在线人数',
			'default' 	=> '0',
			'desc' 		=> '手动增加在线人数',
			'match' 	=> 'option',
			'update'	=> 'text',
		),

		'num_user'		=> array
		(
			'type' 		=> 'int-11',
			'name' 		=> '在线人数',
			'default' 	=> '0',
			'desc' 		=> '在线人数',
			'match' 	=> 'option',
			'search'	=> 'order',
		),

		'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_user}+{num_add_user}<br />喜欢数：{num_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,
		),

		'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=3'))),
		),
	),

	# 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', 'pdate' => '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('pdate' => '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','pdate' => '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', '+='),
			),
		),
	),
);
