| 
...
 | 
...
 | 
@@ -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)));
 | 
| 
 | 
 | 
 
 | 
| 
 | 
 | 
     }
 | 
| 
 | 
 | 
 
 | 
...
 | 
...
 | 
 |