<?php
/**
 * JYmusic音乐管理系统 
 *
 * @version     2.0
 * @author      战神~~巴蒂 <jyuucn@163.com>
 * @license     http://jyuu.cn/license
 * @copyright   2014 - 2017 JYmusic
 */

namespace addons\Links;

use app\services\Addons;
use addons\Links\model\Links as LinksModel;

/**
 * 插件测试
 * @author by JYmusic <jyuucn@163.com>
 */
class Links extends Addons
{
    public $info = [
        'name'          => 'Links',
        'title'         => '友情链接',
        'description'   => 'JYmusic2.0 友情链接插件',
        'status'        => 0,
        'author'        => 'JYmusic',
        'version'       => '0.3'
    ];
    
    /**
     * 配置列表页面
     * @var
     */
    public $admin_list = [
        'fields'=>'',//要查的字段
        'list_grid'=> [    //这里定义的是除了id序号外的表格里字段显示的表头名和模型一样支持函数和链接
            'title:站点标题',
            'link:链接地址',
            'level:优先级',
            'create_time:创建时间',
            'id:操作:[EDIT]|编辑,[DELETE]|删除'
        ],
        'model'   => 'Links',
        'order'   => 'level desc,id desc',
    ];
    
    public $custom_adminlist = 'view/index.html';

    /**
     * 插件安装方法
     * @return bool
     */
    public function install()
    {
        $prefix = config('database.prefix');
        $sql    = <<<SQL
DROP TABLE IF EXISTS `{$prefix}links`;
CREATE TABLE `{$prefix}links` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
  `type` int(1) NOT NULL DEFAULT '1' COMMENT '类别（1：图片，2：普通）',
  `title` char(80) NOT NULL DEFAULT '' COMMENT '站点名称',
  `cover_url` VARCHAR(255) NULL COMMENT '图片外链地址',
  `link` char(140) NOT NULL DEFAULT '' COMMENT '链接地址',
  `level` int(3) unsigned NOT NULL DEFAULT '0' COMMENT '优先级',
  `status` tinyint(2) NOT NULL DEFAULT '1' COMMENT '状态（0：禁用，1：正常）',
  `create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '添加时间',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='友情连接表';
SQL;
        return $this->execSql($sql);
    }

    /**
     * 插件卸载方法
     * @return bool
     */
    public function uninstall()
    {
        $prefix = config('database.prefix');
        $sql = "DROP TABLE IF EXISTS `{$prefix}links`;";
        return  $this->execSql($sql);
    }

    /**
     * 实现的testHook钩子方法
     * @return \think\Response
     */
    public function pageFooter($param)
    {
        if (strtolower($param['widget']) == 'links') {
            $type = isset($param['type']) ? $param['type'] : 1;
        
            $limit = isset($param['limit']) ? $param['limit'] : 50;
            $list       = (new LinksModel)->getList($limit, $type);
            $this->assign('list', $list);
            $this->assign('addons_config', $this->getConfig());
            return $this->fetch('widget', ['addons_param' => $param]);
        }
    }

}
