正在显示
1 个修改的文件
包含
32 行增加
和
25 行删除
| @@ -46,6 +46,33 @@ class MailList extends Base { | @@ -46,6 +46,33 @@ class MailList extends Base { | ||
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | 48 | ||
| 49 | + private function from_not_in(){ | ||
| 50 | + $where['from.notin'] = []; | ||
| 51 | + /** | ||
| 52 | + * 不查询哪些发件人的邮件 | ||
| 53 | + */ | ||
| 54 | + $form_not_in = app()->request('from_not_in'); | ||
| 55 | + if($form_not_in){ | ||
| 56 | + $form_not_in = is_array($form_not_in) ? $form_not_in : [$form_not_in]; | ||
| 57 | + $form_not_in = array_filter($form_not_in,function ($v){ | ||
| 58 | + if(is_string($v) && Verify::sEmail($v)){ | ||
| 59 | + return true; | ||
| 60 | + } | ||
| 61 | + return false; | ||
| 62 | + }); | ||
| 63 | + if($form_not_in){ | ||
| 64 | + if(isset($where['from.notin'])){ | ||
| 65 | + $where['from.notin'] = array_merge($where['from.notin'],$form_not_in); | ||
| 66 | + }else{ | ||
| 67 | + $where['from.notin'] = $form_not_in; | ||
| 68 | + } | ||
| 69 | + | ||
| 70 | + } | ||
| 71 | + } | ||
| 72 | + | ||
| 73 | + return $where['from.notin']; | ||
| 74 | + } | ||
| 75 | + | ||
| 49 | /** | 76 | /** |
| 50 | * 邮件列表 | 77 | * 邮件列表 |
| 51 | * 接收参数 | 78 | * 接收参数 |
| @@ -113,31 +140,8 @@ class MailList extends Base { | @@ -113,31 +140,8 @@ class MailList extends Base { | ||
| 113 | // 软删 | 140 | // 软删 |
| 114 | $where['deleted'] = 0; | 141 | $where['deleted'] = 0; |
| 115 | 142 | ||
| 116 | - /** | ||
| 117 | - * 不查询哪些发件人的邮件 | ||
| 118 | - */ | ||
| 119 | - $form_not_in = app()->request('from_not_in'); | ||
| 120 | - if($form_not_in){ | ||
| 121 | - $form_not_in = is_array($form_not_in) ? $form_not_in : [$form_not_in]; | ||
| 122 | - $form_not_in = array_filter($form_not_in,function ($v){ | ||
| 123 | - if(is_string($v) && Verify::sEmail($v)){ | ||
| 124 | - return true; | ||
| 125 | - } | ||
| 126 | - return false; | ||
| 127 | - }); | ||
| 128 | - if($form_not_in){ | ||
| 129 | - if(isset($where['from.notin'])){ | ||
| 130 | - $where['from.notin'] = array_merge($where['from.notin'],$form_not_in); | ||
| 131 | - }else{ | ||
| 132 | - $where['from.notin'] = $form_not_in; | ||
| 133 | - } | ||
| 134 | - | ||
| 135 | - } | ||
| 136 | - } | ||
| 137 | - if(!empty($where['from.notin'])){ | ||
| 138 | - $where['from.notin'] = array_unique($where['from.notin']); | ||
| 139 | - } | ||
| 140 | - | 143 | + $where['from.notin'] = $this->from_not_in(); |
| 144 | + if(!$where['from.notin']) unset($where['from.notin']); | ||
| 141 | 145 | ||
| 142 | $filed = '`id`,`uid`,`subject`,`from`,`from_name`,`flagged`,`seen`,`udate`,`folder_id`,`is_file`,`description`,`lists`.`email_id`,`to_name`'; | 146 | $filed = '`id`,`uid`,`subject`,`from`,`from_name`,`flagged`,`seen`,`udate`,`folder_id`,`is_file`,`description`,`lists`.`email_id`,`to_name`'; |
| 143 | 147 | ||
| @@ -202,6 +206,9 @@ class MailList extends Base { | @@ -202,6 +206,9 @@ class MailList extends Base { | ||
| 202 | $fCount = db()->count($sql.dbWhere($where)); | 206 | $fCount = db()->count($sql.dbWhere($where)); |
| 203 | 207 | ||
| 204 | 208 | ||
| 209 | + // 屏蔽哪些邮件 | ||
| 210 | + $where['from.notin'] = $this->from_not_in(); | ||
| 211 | + if(!$where['from.notin']) unset($where['from.notin']); | ||
| 205 | 212 | ||
| 206 | $where = ['lists|email_id'=>$emails]; | 213 | $where = ['lists|email_id'=>$emails]; |
| 207 | $where['folder_id'] = $this->getFolderId('发件箱'); | 214 | $where['folder_id'] = $this->getFolderId('发件箱'); |
-
请 注册 或 登录 后发表评论