Index.php
3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
namespace addons\nkeditor\controller;
use app\common\model\Attachment;
use GuzzleHttp\Client;
use think\addons\Controller;
class Index extends Controller
{
public function index()
{
$this->error('该插件暂无前台页面');
}
/**
* 文件列表
*/
public function attachment()
{
$model = new Attachment;
$page = $this->request->request('page');
$fileType = $this->request->request('fileType');
$module = $this->request->param('module');
$pagesize = 15;
$config = get_addon_config('nkeditor');
$type = [];
$imageSuffix = ['png', 'jpg', 'jpeg', 'gif', 'bmp', 'webp'];
if ($fileType == 'image') {
$type = $imageSuffix;
} else if ($fileType == 'flash') {
$type = ['swf', 'flv'];
} else if ($fileType == 'media') {
$type = ['swf', 'flv', 'mp4', 'mpeg', 'mp3', 'wav', 'ogg', 'acc', 'webm'];
} else if ($fileType == 'file') {
}
if ($module == 'admin') {
$auth = \app\admin\library\Auth::instance();
if (!$auth->id) {
$this->error('请登录后再操作!');
} else {
$mode = $config['attachmentmode_admin'];
}
if ($mode == 'all') {
} else {
if (!$auth->isSuperAdmin()) {
$adminIds = $mode == 'auth' ? $auth->getChildrenAdminIds(true) : [$auth->id];
$model->where('admin_id', 'in', $adminIds);
}
}
} else {
if (!$this->auth->id) {
$this->error('请登录后再操作!');
} else {
$mode = $config['attachmentmode_index'];
}
if ($mode == 'all') {
} else {
$model->where('user_id', 'in', [$this->auth->id]);
}
}
if ($type) {
$model->where('imagetype', 'in', $type);
}
$list = $model
->order('id', 'desc')
->paginate($pagesize);
$items = $list->items();
$data = [];
foreach ($items as $k => &$v) {
$v['imagetype'] = strtolower($v['imagetype']);
$v['fullurl'] = ($v['storage'] == 'local' ? $this->request->domain() : config('upload.cdnurl')) . $v['url'];
$data[] = [
'width' => $v['imagewidth'],
'height' => $v['imageheight'],
'filesize' => $v['filesize'],
'oriURL' => $v['fullurl'],
'thumbURL' => !in_array($v['imagetype'], $imageSuffix) ? "https://tool.fastadmin.net/icon/{$v['imagetype']}.png" : $v['fullurl'],
];
}
$result = [
'code' => '000',
'count' => $list->total(),
'page' => $page,
'pagesize' => $pagesize,
'extra' => '',
'data' => $data
];
return json($result);
}
public function download()
{
$url = $this->request->request("url");
$client = new Client();
$response = $client->get($url, ['verify' => false]);
return $response->getBody();
}
}