<?php

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

$type = Dever::config('base')->type;
$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']);
    $link_state = in_array(2, $info['col']);
    $pic_state = in_array(3, $info['col']);
    $content_state = in_array(4, $info['col']);
    $share_pic_state = in_array(5, $info['col']);

    /*
    if ($info['data_type']) {
        $type = explode("\r\n", $info['data_type']);
    }
    */
} else {
    $info = array();
    $info['name'] = '推送数据管理';
    $info['col_pic'] = '100X100';
    $info['col_share_pic'] = '100X100';
    $info['col_content'] = '30';
    $info['type'] = 1;
    $name_state = true;
    $link_state = false;
    $pic_state = false;
    $share_pic_state = false;
    $content_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',
        ),

        'article_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联图文-如不选择，则点击进入图文列表',
            'default'   => '',
            'desc'      => '关联图文',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=1',
            'update_search' => 'journal/lib/manage.search_article',
        ),

        'vod_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联视频-如不选择，则点击进入视频列表',
            'default'   => '',
            'desc'      => '关联视频',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=2',
            'update_search' => 'journal/lib/manage.search_vod',
        ),

        'live_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联直播-如不选择，则点击进入直播列表',
            'default'   => '',
            'desc'      => '关联直播',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=3',
            'update_search' => 'journal/lib/manage.search_live',
        ),

        'journal_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联小刊-如不选择，则点击进入小刊列表',
            'default'   => '',
            'desc'      => '关联小刊',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=4,13',
            'update_search' => 'journal/lib/manage.search_journal',
        ),

        'feature_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联专题-如不选择，则点击进入专题列表',
            'default'   => '',
            'desc'      => '关联专题',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=6',
            'update_search' => 'journal/lib/manage.search_feature',
        ),

        'applet_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '关联小程序',
            'default'   => '',
            'desc'      => '关联小程序',
            'match'     => 'option',
            'update'    => 'select',
            'show'      => 'type=7',
            'update_search' => 'journal/lib/manage.search_applet',
        ),

        '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.name", {id})' : false,
            'edit'      => $name_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,
        ),

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

        'share_pic'       => array
        (
            'type'      => 'varchar-200',
            'name'      => '分享图片-请上传' . $info['col_share_pic'] . '大小的图片',
            'default'   => '',
            'desc'      => '分享图片',
            'match'     => $share_pic_state ? 'option' : 'option',
            'update'    => $share_pic_state ? 'image' : 'hidden',
            'search'    => $share_pic_state ? 'fulltext' : '',
            //'list'        => $share_pic_state ? true : false,
            'key'       => 1
        ),

        'share_content'       => array
        (
            'type'      => 'varchar-500',
            'name'      => '分享描述',
            'default'   => '',
            'desc'      => '分享描述',
            'match'     => $share_pic_state ? 'option' : 'option',
            'update'    => $share_pic_state ? 'textarea' : 'hidden',
            'search'    => $share_pic_state ? 'fulltext' : '',
            //'list'        => $share_pic_state ? true : false,
        ),

        'content'       => array
        (
            'type'      => 'text-255',
            'name'      => '描述-手动干扰项，字数请不要超过' . $info['col_content'] . '个汉字，前台展示时会自动过滤',
            'default'   => '',
            'desc'      => '请输入描述',
            'match'     => $content_state ? 'option' : 'option',
            //'update'    => $content_state ? 'editor' : 'hidden',
        ),
        
        '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' => 'name,pic,share_pic,share_content,olink as link,type,article_id,vod_id,live_id,journal_id,feature_id,applet_id,cdate',
        ),

        # 获取列表页 带有分页的
        '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' => 'name,pic,share_pic,share_content,olink as link,type,article_id,vod_id,live_id,journal_id,feature_id,applet_id,cdate',
        ),
    ),
);