|
@@ -46,13 +46,15 @@ class Folder extends Base { |
|
@@ -46,13 +46,15 @@ class Folder extends Base { |
|
46
|
* @time 2023/2/18 17:56
|
46
|
* @time 2023/2/18 17:56
|
|
47
|
*/
|
47
|
*/
|
|
48
|
public function create(){
|
48
|
public function create(){
|
|
49
|
- $email = $this->getEmail('id');
|
49
|
+ $email = $this->getEmail();
|
|
50
|
|
50
|
|
|
51
|
$formData = app()->request(['pid','folder']);
|
51
|
$formData = app()->request(['pid','folder']);
|
|
52
|
// 验证目录 可以输入中文英文数字
|
52
|
// 验证目录 可以输入中文英文数字
|
|
53
|
if(empty($formData['folder'])){
|
53
|
if(empty($formData['folder'])){
|
|
54
|
app()->e('folder_create_name_error');
|
54
|
app()->e('folder_create_name_error');
|
|
55
|
}
|
55
|
}
|
|
|
|
56
|
+ // 加密后的文件夹
|
|
|
|
57
|
+ $origin_folder = MailFun::folderEncoding($formData['folder']);
|
|
56
|
// 不为空上级
|
58
|
// 不为空上级
|
|
57
|
if(!empty($formData['pid'])){
|
59
|
if(!empty($formData['pid'])){
|
|
58
|
$parent = db()->first(folderSql::first(['id'=>$formData['pid']]));
|
60
|
$parent = db()->first(folderSql::first(['id'=>$formData['pid']]));
|
|
@@ -63,6 +65,8 @@ class Folder extends Base { |
|
@@ -63,6 +65,8 @@ class Folder extends Base { |
|
63
|
app()->e('folder_tree_max_two');
|
65
|
app()->e('folder_tree_max_two');
|
|
64
|
}
|
66
|
}
|
|
65
|
|
67
|
|
|
|
|
68
|
+ // 加密后的文件夹
|
|
|
|
69
|
+ $origin_folder = $parent['origin_folder'].'/'.$origin_folder;
|
|
66
|
}
|
70
|
}
|
|
67
|
|
71
|
|
|
68
|
$formData['folder'] = str_replace(["'",'"','/','\\','&','*','(',')'],'',$formData['folder']);
|
72
|
$formData['folder'] = str_replace(["'",'"','/','\\','&','*','(',')'],'',$formData['folder']);
|
|
@@ -71,7 +75,7 @@ class Folder extends Base { |
|
@@ -71,7 +75,7 @@ class Folder extends Base { |
|
71
|
$has = db()->count(folderSql::has(
|
75
|
$has = db()->count(folderSql::has(
|
|
72
|
[
|
76
|
[
|
|
73
|
'email_id' => $email['id'],
|
77
|
'email_id' => $email['id'],
|
|
74
|
- 'origin_folder' => MailFun::folderEncoding($formData['folder'])
|
78
|
+ 'origin_folder' => $origin_folder
|
|
75
|
]
|
79
|
]
|
|
76
|
));
|
80
|
));
|
|
77
|
|
81
|
|
|
@@ -90,15 +94,28 @@ class Folder extends Base { |
|
@@ -90,15 +94,28 @@ class Folder extends Base { |
|
90
|
app()->e('login_error_imap');
|
94
|
app()->e('login_error_imap');
|
|
91
|
}
|
95
|
}
|
|
92
|
|
96
|
|
|
|
|
97
|
+ // 远程创建
|
|
|
|
98
|
+ $ret = $mail->client->folderCreate($origin_folder);
|
|
93
|
|
99
|
|
|
|
|
100
|
+ if($ret[0] === false){
|
|
|
|
101
|
+ app()->e($ret[1]);
|
|
|
|
102
|
+ }
|
|
94
|
|
103
|
|
|
|
|
104
|
+ // 插入数据
|
|
|
|
105
|
+ $id = db()->insert(folderSql::$table,[
|
|
|
|
106
|
+ 'pid' => $parent['id']??0,
|
|
|
|
107
|
+ 'email_id' => $email['id'],
|
|
|
|
108
|
+ 'folder' => $formData['folder'],
|
|
|
|
109
|
+ 'origin_folder' => $origin_folder,
|
|
|
|
110
|
+ 'uuid' => md5($email['id'].$origin_folder),
|
|
|
|
111
|
+ ]);
|
|
95
|
|
112
|
|
|
96
|
- $folder = $mail->client->folderCreate($formData['folder']);
|
|
|
|
97
|
-
|
|
|
|
98
|
-
|
|
|
|
99
|
-
|
|
|
|
100
|
-
|
113
|
+ if(!$id){
|
|
|
|
114
|
+ app()->e('folder_create_save_error');
|
|
|
|
115
|
+ }
|
|
101
|
|
116
|
|
|
|
|
117
|
+ // 返回数据
|
|
|
|
118
|
+ app()->_json(db()->first(folderSql::first($id)));
|
|
102
|
|
119
|
|
|
103
|
}
|
120
|
}
|
|
104
|
|
121
|
|