...
|
...
|
@@ -46,13 +46,15 @@ class Folder extends Base { |
|
|
* @time 2023/2/18 17:56
|
|
|
*/
|
|
|
public function create(){
|
|
|
$email = $this->getEmail('id');
|
|
|
$email = $this->getEmail();
|
|
|
|
|
|
$formData = app()->request(['pid','folder']);
|
|
|
// 验证目录 可以输入中文英文数字
|
|
|
if(empty($formData['folder'])){
|
|
|
app()->e('folder_create_name_error');
|
|
|
}
|
|
|
// 加密后的文件夹
|
|
|
$origin_folder = MailFun::folderEncoding($formData['folder']);
|
|
|
// 不为空上级
|
|
|
if(!empty($formData['pid'])){
|
|
|
$parent = db()->first(folderSql::first(['id'=>$formData['pid']]));
|
...
|
...
|
@@ -63,6 +65,8 @@ class Folder extends Base { |
|
|
app()->e('folder_tree_max_two');
|
|
|
}
|
|
|
|
|
|
// 加密后的文件夹
|
|
|
$origin_folder = $parent['origin_folder'].'/'.$origin_folder;
|
|
|
}
|
|
|
|
|
|
$formData['folder'] = str_replace(["'",'"','/','\\','&','*','(',')'],'',$formData['folder']);
|
...
|
...
|
@@ -71,7 +75,7 @@ class Folder extends Base { |
|
|
$has = db()->count(folderSql::has(
|
|
|
[
|
|
|
'email_id' => $email['id'],
|
|
|
'origin_folder' => MailFun::folderEncoding($formData['folder'])
|
|
|
'origin_folder' => $origin_folder
|
|
|
]
|
|
|
));
|
|
|
|
...
|
...
|
@@ -90,15 +94,28 @@ class Folder extends Base { |
|
|
app()->e('login_error_imap');
|
|
|
}
|
|
|
|
|
|
// 远程创建
|
|
|
$ret = $mail->client->folderCreate($origin_folder);
|
|
|
|
|
|
if($ret[0] === false){
|
|
|
app()->e($ret[1]);
|
|
|
}
|
|
|
|
|
|
// 插入数据
|
|
|
$id = db()->insert(folderSql::$table,[
|
|
|
'pid' => $parent['id']??0,
|
|
|
'email_id' => $email['id'],
|
|
|
'folder' => $formData['folder'],
|
|
|
'origin_folder' => $origin_folder,
|
|
|
'uuid' => md5($email['id'].$origin_folder),
|
|
|
]);
|
|
|
|
|
|
if(!$id){
|
|
|
app()->e('folder_create_save_error');
|
|
|
}
|
|
|
|
|
|
$folder = $mail->client->folderCreate($formData['folder']);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 返回数据
|
|
|
app()->_json(db()->first(folderSql::first($id)));
|
|
|
|
|
|
}
|
|
|
|
...
|
...
|
|