<?php

# 定义几个常用的选项
$option = array
(
    1 => '显示',
    2 => '不显示',
);

$type = Dever::config('base')->table;
$type[10] = '外链接';


$list = function()
{
    return Dever::db('push/info')->state();
};
$info = Dever::input('search_option_info_id');
$type_default = 1;
if ($info) {
    $info = Dever::load('push/info-one', $info);

    if (!$info) {
        echo 'error';die;
    }
    $function = explode(',', $info['function']);
    
    foreach ($type as $k => $v) {
        if (!in_array($k, $function)) {
            unset($type[$k]);
        } else {
            $type_default = $k;
        }
    }
    $info['name'] .= '下的推送数据管理';
    $info['col'] = explode(',', $info['col']);
    /*
    $preview = $info['preview'];
    $preview_height = $info['preview_height'] ? $info['preview_height'] : 500;
    */

    $name_state = in_array(1, $info['col']);
    $desc_state = in_array(2, $info['col']);
    $link_state = in_array(3, $info['col']);
    $author_state = in_array(4, $info['col']);
    $pic_state = in_array(5, $info['col']);
    $content_state = in_array(6, $info['col']);
    $pdate_state = in_array(7, $info['col']);

    /*
    if ($info['data_type']) {
        $type = explode("\r\n", $info['data_type']);
    }
    */
} else {
    $info = array();
    $info['name'] = '推送数据管理';
    $info['col_pic'] = '100X100';
    $info['col_content'] = '30';
    $info['type'] = 1;
    $name_state = true;
    $desc_state = false;
    $link_state = true;
    $author_state = false;
    $pic_state = false;
    $content_state = false;
    $pdate_state = false;
    $preview = '';
    $preview_height = 0;
}


return array
(
    # 表名
    'name' => 'data',
    # 显示给用户看的名称
    'lang' => $info['name'],
    'order' => 20,
    //'menu' => false,

    //'desc' => '预览地址：<br /><iframe id="preview" height="'.$preview_height.'" width="100%"  frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes" src="'.$preview.'" ></iframe>',

    # 数据结构
    'struct' => array
    (
        'id'        => array
        (
            'type'      => 'int-11',
            'name'      => 'ID',
            'default'   => '',
            'desc'      => '',
            'match'     => 'is_numeric',
            //'search'  => 'order',
            'order'     => 'desc',
            //'list'        => true,
        ),

        'info_id'       => array
        (
            'type'      => 'int-11',
            'name'      => '选择推送位',
            'default'   => Dever::input('search_option_info_id', '1'),
            'desc'      => '推送位',
            'match'     => 'is_numeric',
            'search'    => 'select',
            'update'    => 'hidden',
            'option'    => $list,
            'list'      => true,
            'value'     => Dever::input('search_option_info_id', '1'),
        ),

        'type'      => array
        (
            'type'      => 'int-11',
            'name'      => '类型',
            'default'   => ''.$type_default.'',
            'desc'      => '请选择类型',
            'match'     => 'is_numeric',
            'update'    => 'radio',
            'search'    => 'select',
            'option'    => $type,
            'control'   => 'type',
        ),

        'news_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联资讯',
            'default'   => '',
            'desc'      => '关联资讯',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=3',
            'update_search' => 'content/lib/manage.search_news',
        ),

        'vod_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联视频',
            'default'   => '',
            'desc'      => '关联视频',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=5',
            'update_search' => 'content/lib/manage.search_video',
        ),

        'feature_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联专题',
            'default'   => '',
            'desc'      => '关联专题',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=4',
            'update_search' => 'content/lib/manage.search_feature',
        ),

        'act_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联活动',
            'default'   => '',
            'desc'      => '关联活动',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=6',
            'update_search' => 'content/lib/manage.search_act',
        ),

        'creater_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联造物主',
            'default'   => '',
            'desc'      => '关联专题',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=1',
            'update_search' => 'content/lib/manage.search_creater',
        ),

        'xuniren_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联虚拟人',
            'default'   => '',
            'desc'      => '关联虚拟人',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=2',
            'update_search' => 'content/lib/manage.search_xuniren',
        ),

        'olink'      => array
        (
            'type'      => 'varchar-400',
            'name'      => '链接',
            'default'   => '',
            'desc'      => '请输入链接',
            'match'     => 'option',
            'update'    => 'text',
            'show'      => 'type=10',
            //'search'    => 'fulltext',
            //'list'        => true,
        ),
        
        'name'      => array
        (
            'type'      => 'varchar-60',
            'name'      => '标题-手动干扰项，不填写将使用关联的信息中的标题，下同，如想修改当前推送位的标题请在此修改',
            'default'   => '',
            'desc'      => '请输入标题',
            'match'     => $name_state ? 'option' : 'option',
            'update'    => $name_state ? 'text' : 'hidden',
            'search'    => $name_state ? 'fulltext' : '',
            'list'      => $name_state ? 'Dever::load("push/lib/manage.col", {id})' : false,
            'edit'      => $name_state ? true : false,
        ),

        'desc'      => array
        (
            'type'      => 'varchar-60',
            'name'      => '副标题-手动干扰项，如想修改当前推送位的副标题请在此修改',
            'default'   => '',
            'desc'      => '请输入副标题',
            'match'     => $desc_state ? 'option' : 'option',
            'update'    => $desc_state ? 'text' : 'hidden',
            'search'    => $desc_state ? 'fulltext' : '',
            'list'      => $desc_state ? 'Dever::load("push/lib/manage.col", {id}, "desc")' : false,
            'edit'      => $desc_state ? true : false,
        ),

        'link'      => array
        (
            'type'      => 'varchar-200',
            'name'      => '链接-手动干扰项，如想修改当前推送位的链接请在此修改',
            'default'   => '',
            'desc'      => '请输入链接',
            'match'     => $link_state ? 'option' : 'option',
            'update'    => $link_state ? 'text' : 'hidden',
            //'search'    => $link_state ? 'fulltext' : '',
            //'list'        => $link_state ? true : false,
            //'edit'      => $link_state ? true : false,
        ),

        'author'      => array
        (
            'type'      => 'varchar-50',
            'name'      => '作者-手动干扰项',
            'default'   => '',
            'desc'      => '作者',
            'match'     => $author_state ? 'option' : 'option',
            'update'    => $author_state ? 'text' : 'hidden',
        ),

        'pic'       => array
        (
            'type'      => 'varchar-200',
            'name'      => '图片-手动干扰项，请上传' . $info['col_pic'] . '大小的图片',
            'default'   => '',
            'desc'      => '请选择图片',
            'match'     => $pic_state ? 'option' : 'option',
            'update'    => $pic_state ? 'image' : 'hidden',
            //'search'    => $pic_state ? 'fulltext' : '',
            //'list'        => $pic_state ? true : false,
            'key'       => 1,
            'place'     => $info['col_pic'],
        ),

        'content'       => array
        (
            'type'      => 'text-255',
            'name'      => '描述-手动干扰项，字数请不要超过' . $info['col_content'] . '个汉字，前台展示时会自动过滤',
            'default'   => '',
            'desc'      => '请输入描述',
            'match'     => $content_state ? 'option' : 'option',
            'update'    => $content_state ? 'textarea' : 'hidden',
        ),

        'pdate'     => array
        (
            'type'      => 'int-11',
            'name'      => '发布时间-手动干扰项，选择未来时间将不会显示',
            'match'     => $pdate_state ? 'option' : 'option',
            'default'   => '',
            'desc'      => '发布时间',
            'update'    => $pdate_state ? 'date' : 'hidden',
            'callback'  => 'maketime',
            //'list'        => 'date("Y-m-d H:i:s", {pdate})',
        ),
        
        '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})',
        ),
    ),

    # request 请求接口定义
    'request' => array
    (
        # 获取列表页
        'getAll' => array
        (
            # 匹配的正则或函数 选填项
            'option' => array
            (
                'info_id' => 'yes',
                'type_no' => array('yes-type', '!='),
                'state' => 1,
            ),
            'type' => 'all',
            'order' => array('reorder' => 'desc', 'id' => 'desc'),
            'limit' => '0,10',
            'col' => '*,olink as link',
        ),

        # 获取列表页 带有分页的
        'getAllPage' => array
        (
            # 匹配的正则或函数 选填项
            'option' => array
            (
                'info_id' => 'yes',
                'type_no' => array('yes-type', '!='),
                'state' => 1,
            ),
            'type' => 'all',
            'order' => array('reorder' => 'desc', 'id' => 'desc'),
            'page' => array(10, 'list'),
            'col' => '*,olink as link',
        ),
    ),
);