|
|
|
|
<?php
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | OneThink [ WE CAN DO IT JUST THINK IT ]
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | Copyright (c) 2013 http://www.onethink.cn All rights reserved.
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
// | Author: 麦当苗儿 <zuojiazi@vip.qq.com> <http://www.zjzit.cn>
|
|
|
|
|
// +----------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
namespace Addons\Attachment\Controller;
|
|
|
|
|
use Home\Controller\AddonsController;
|
|
|
|
|
|
|
|
|
|
class AttachmentController extends AddonsController{
|
|
|
|
|
|
|
|
|
|
/* 附件下载 */
|
|
|
|
|
public function download(){
|
|
|
|
|
/* 获取附件ID */
|
|
|
|
|
$id = I('get.id');
|
|
|
|
|
if(empty($id) || !is_numeric($id)){
|
|
|
|
|
$this->error('附件ID无效!');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 下载附件 */
|
|
|
|
|
$Attachment = D('Addons://Attachment/Attachment');
|
|
|
|
|
if(false === $Attachment->download($id)){
|
|
|
|
|
$this->error($Attachment->getError());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 上传附件 */
|
|
|
|
|
public function upload(){
|
|
|
|
|
/* 返回标准数据 */
|
|
|
|
|
$return = array('status' => 1, 'info' => '上传成功', 'data' => '');
|
|
|
|
|
|
|
|
|
|
/* 获取当前分类附件配置信息 */
|
|
|
|
|
$default = C('ATTACHMENT_DEFAULT');
|
|
|
|
|
$category = get_category(I('get.category'));
|
|
|
|
|
|
|
|
|
|
/* 分类正确性检测 */
|
|
|
|
|
if(empty($category)){
|
|
|
|
|
$return['status'] = 0;
|
|
|
|
|
$return['info'] = '没有指定分类或分类不正确;';
|
|
|
|
|
} else {
|
|
|
|
|
$config = $category['extend']['attachment'];
|
|
|
|
|
$config = empty($config) ? $default : array_merge($default, $config);
|
|
|
|
|
|
|
|
|
|
/* 检测并上传附件 */
|
|
|
|
|
if(in_array('2', str2arr($config['allow_type']))){
|
|
|
|
|
$setting = C('ATTACHMENT_UPLOAD');
|
|
|
|
|
|
|
|
|
|
/* 调用文件上传组件上传文件 */
|
|
|
|
|
$File = D('File');
|
|
|
|
|
$info = $File->upload($_FILES, $setting, $config['driver'], $config['driver_config']);
|
|
|
|
|
/* 记录附件信息 */
|
|
|
|
|
if($info){
|
|
|
|
|
$return['data'] = think_encrypt(json_encode($info['attachment']));
|
|
|
|
|
} else {
|
|
|
|
|
$return['status'] = 0;
|
|
|
|
|
$return['info'] = $File->getError();
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$return['info'] = '该分类不允许上传文件附件!';
|
|
|
|
|
$return['status'] = 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 返回JSON数据 */
|
|
|
|
|
$this->ajaxReturn($return);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|