<?php

# 显示的页面
/*
$curPage = Dever::input('search_option_page_id');
$page = function()
{
    $parent = Dever::db('push/page')->getParent();
    $child = Dever::db('push/page')->getChild();
    foreach ($parent as $k => $v) {
        $parent[$k]['child'] = $child[$v['id']];
    }

    $array = array(-1 => array('id' => -1, 'name' => '无'));

    if ($parent) {
        $array += $parent;
    }

    return $array;
};
*/

$type = array
(
    1 => '手动输入',
    /*
    2 => '调取其他推送位',
    3 => '预定义方法',
    4 => '自定义方法',
    5 => '自定义SQL',
    6 => '自定义接口',
    */
);

//$define = Dever::config('base')->module;

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

$col = array
(
    1 => '标题',
    //2 => '链接',
    3 => '图片',
    //4 => '描述',
    5 => '分享图片',
);

return array
(
    # 表名
    'name' => 'info',
    # 显示给用户看的名称
    'lang' => '推送位管理',
    'order' => 10,
    'check' => 'key',
    # 数据结构
    'struct' => array
    (
        'id'        => array
        (
            'type'      => 'int-11',
            'name'      => '推送位ID',
            'default'   => '',
            'desc'      => '',
            'match'     => 'is_numeric',
            //'search'  => 'order',
            'order'     => 'desc',
            //'list'        => true,
        ),
        
        'name'      => array
        (
            'type'      => 'varchar-60',
            'name'      => '推送位标题',
            'default'   => '',
            'desc'      => '请输入推送位标题',
            'match'     => 'is_string',
            'update'    => 'text',
            'search'    => 'fulltext',
            'list'      => true,
            'edit'      => true,
        ),

        'key'       => array
        (
            'type'      => 'varchar-60',
            'name'      => '推送位标识',
            'default'   => '',
            'desc'      => '推送位标识',
            'match'     => 'is_string',
            'update'    => Dever::input('where_id') ? 'hidden' : 'text',
            'search'    => 'fulltext',
            'list'      => true,
            //'auth'      => '!{key}'
        ),

        'num'       => array
        (
            'type'      => 'int-11',
            'name'      => '数据显示条数-为空或小于0则取默认值20，只对前台有效，当有分页时，则为每页显示的条数',
            'default'   => '20',
            'desc'      => '数据显示条数',
            'match'     => 'is_numeric',
            'update'    => 'text',
            'list'      => true,
            'edit'      => true,
        ),

        'type'      => array
        (
            'type'      => 'tinyint-1',
            'name'      => '推送位类型',
            'default'   => '1',
            'desc'      => '请选择推送位类型',
            'match'     => 'is_numeric',
            'option'    => $type,
            'update'    => 'radio',
            'search'    => 'select',
            //'list'        => true,
            'control'       => 'type',
        ),

        /*
        'data_type'     => array
        (
            'type'      => 'varchar-50',
            'name'      => '数据类型定义-多个用换行隔开，必须有一个值，主要用于该推送位有多种不同类型的值',
            'default'   => '默认类型',
            'desc'      => '请选择推送位类型',
            'match'     => 'is_string',
            //'update'  => 'textarea',
            //'show'        => array('type_1'),
        ),

        'code'      => array
        (
            'type'      => 'varchar-500',
            'name'      => '自定义内容',
            'default'   => '',
            'desc'      => '请输入自定义内容',
            'match'     => 'is_string',
            'update'    => 'textarea',
            'show'      => 'type=4,5,6',
        ),

        'sql_method'        => array
        (
            'type'      => 'tinyint-1',
            'name'      => '选择sql执行之后的方法',
            'default'   => '1',
            'desc'      => '选择sql执行之后的方法',
            'match'     => 'is_numeric',
            'update'    => 'radio',
            'option'    => $sqlMethod,
            'show'      => 'type=5',
        ),

        'define'        => array
        (
            'type'      => 'varchar-100',
            'name'      => '选择预定义方法',
            'default'   => '',
            'desc'      => '请选择预定义方法',
            'match'     => 'is_string',
            'update'    => 'select',
            'option'    => $define,
            'show'      => 'type=3'
        ),
        */

        'function'       => array
        (
            'type'      => 'varchar-30',
            'name'      => '启用的功能',
            'default'   => '1,2,3,4,6,7,10',
            'desc'      => '启用的功能',
            'match'     => 'is_string',
            'option'    => $function,
            'update'    => 'checkbox',
            'show'      => 'type=1',
        ),

        'col'       => array
        (
            'type'      => 'varchar-30',
            'name'      => '启用的字段',
            'default'   => '1',
            'desc'      => '请选择启用的字段',
            'match'     => 'is_string',
            'option'    => $col,
            'update'    => 'checkbox',
            'show'      => 'type=1',
            'control'   => 'col',
        ),

        'col_pic'       => array
        (
            'type'      => 'varchar-20',
            'name'      => '图片尺寸提醒-请直接输入提醒的文字即可，如100X100',
            'default'   => '100X100',
            'desc'      => '图片尺寸提醒',
            'match'     => 'is_string',
            'update'    => 'text',
            'show'      => 'col=3',
        ),

        'col_share_pic'       => array
        (
            'type'      => 'varchar-20',
            'name'      => '分享图片尺寸提醒-请直接输入提醒的文字即可，如100X100',
            'default'   => '100X100',
            'desc'      => '分享图片尺寸提醒',
            'match'     => 'is_string',
            'update'    => 'text',
            'show'      => 'col=5',
        ),

        'col_content'       => array
        (
            'type'      => 'int-11',
            'name'      => '内容长度限制-必须是数字',
            'default'   => '30',
            'desc'      => '内容长度限制',
            'match'     => 'is_numeric',
            'update'    => 'text',
            'show'      => 'col=4',
        ),

        /*
        'relate_id'     => array
        (
            'type'      => 'int-11',
            'name'      => '请输入推送位id',
            'default'   => '',
            'desc'      => '请输入推送位id',
            'match'     => 'is_numeric',
            'update'    => 'text',
            'show'      => 'type=2',
        ),

        'preview'       => array
        (
            'type'      => 'varchar-200',
            'name'      => '推送位预览地址',
            'default'   => '',
            'desc'      => '推送位预览地址',
            'match'     => 'option',
            'update'    => 'text',
        ),

        'preview_height'        => array
        (
            'type'      => 'int-11',
            'name'      => '推送位预览的高度',
            'default'   => '500',
            'desc'      => '推送位预览的高度',
            'match'     => 'option',
            'update'    => 'text',
        ),
        */
        
        '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})',
        ),
    ),

    # 权限精细控制 加入到该项目的详细权限中，注意与top的不同
    /*
    'auth' => array
    (
        # 数据来源
        'data' => 'all',
        # 所属项目
        'project' => 'module',
        # 项目名称
        'project_name' => '推送位管理',
    ),
    */

    'manage' => array
    (
        'delete' => false,
        //'edit' => false,
        //'insert' => $curPage ? true : false,
        'list_button' => array
        (
            'add' => array('新增数据', '"data&search_option_info_id={id}&oper_parent=info"', '{type} == 1'),

            'list' => array('数据列表', '"data&search_option_info_id={id}&oper_parent=info"'),
        ),
    ),

    # request 请求接口定义
    'request' => array
    (
        # 获取列表页
        'getAll' => array
        (
            # 匹配的正则或函数 选填项
            'option' => array
            (
                'type' => 'yes',
                //'page_id' => 'yes',
                'state' => 1,
            ),
            'type' => 'all',
            'order' => array('reorder' => 'desc'),
            'col' => '*',
        ),
    ),
);