正在显示
1 个修改的文件
包含
34 行增加
和
19 行删除
@@ -194,29 +194,39 @@ class MailListV2 extends Base { | @@ -194,29 +194,39 @@ class MailListV2 extends Base { | ||
194 | 194 | ||
195 | /************ 2024-09-02 *************/ | 195 | /************ 2024-09-02 *************/ |
196 | if($folder=='收件箱' && empty($where['flagged'])) { | 196 | if($folder=='收件箱' && empty($where['flagged'])) { |
197 | - // 模糊标题搜索 | ||
198 | - $subject = app()->request('subject'); | ||
199 | - if ($subject) { | ||
200 | - $subject = is_array($subject) ? $subject : [$subject]; | ||
201 | - foreach ($subject as $k => $sub) { | ||
202 | - $subject[$k] = '`subject` ' . (empty($is_auto_inbox) ? ' not ' : '') . 'like "' . $this->getLikeStr($sub) . '"'; | 197 | + |
198 | + $sql = "select %s from `lists` left join `lists_auto` on `lists`.`id`= `lists_auto`.`list_id` where ".dbWhere($where); | ||
199 | + if(!empty($is_auto_inbox)){ | ||
200 | + $sql.= ' and `lists_auto`.`list_id` IS NOT NULL'; | ||
201 | + }else{ | ||
202 | + $sql.= ' and `lists_auto`.`list_id` IS NULL'; | ||
203 | + | ||
204 | + // 模糊标题搜索 | ||
205 | + $subject = app()->request('subject'); | ||
206 | + if ($subject) { | ||
207 | + $subject = is_array($subject) ? $subject : [$subject]; | ||
208 | + foreach ($subject as $k => $sub) { | ||
209 | + $subject[$k] = '`subject` ' . (empty($is_auto_inbox) ? ' not ' : '') . 'like "' . $this->getLikeStr($sub) . '"'; | ||
210 | + } | ||
203 | } | 211 | } |
204 | - } | ||
205 | - // 不在此邮箱中的 | ||
206 | - $from_not_in_like = app()->request('from_not_in_like'); | ||
207 | - if ($from_not_in_like) { | ||
208 | - $from_not_in_like = is_array($from_not_in_like) ? $from_not_in_like : [$from_not_in_like]; | ||
209 | - foreach ($from_not_in_like as $k => $sub) { | ||
210 | - $from_not_in_like[$k] = '`from` ' . (empty($is_auto_inbox) ? ' not ' : '') . 'like "' . $this->getLikeStr($sub) . '"'; | 212 | + // 不在此邮箱中的 |
213 | + $from_not_in_like = app()->request('from_not_in_like'); | ||
214 | + if ($from_not_in_like) { | ||
215 | + $from_not_in_like = is_array($from_not_in_like) ? $from_not_in_like : [$from_not_in_like]; | ||
216 | + foreach ($from_not_in_like as $k => $sub) { | ||
217 | + $from_not_in_like[$k] = '`from` ' . (empty($is_auto_inbox) ? ' not ' : '') . 'like "' . $this->getLikeStr($sub) . '"'; | ||
218 | + } | ||
219 | + } | ||
220 | + | ||
221 | + if ($subject || $from_not_in_like) { | ||
222 | + $sql .= ' and ('; | ||
223 | + if ($subject) $sql .= implode(empty($is_auto_inbox) ? ' and ' : ' or ', $subject); | ||
224 | + if ($from_not_in_like) $sql .= ' and (' . implode(empty($is_auto_inbox) ? ' and ' : ' or ', $from_not_in_like) . ')'; | ||
225 | + $sql .= ')'; | ||
211 | } | 226 | } |
212 | - } | ||
213 | 227 | ||
214 | - if ($subject || $from_not_in_like) { | ||
215 | - $sql .= ' and ('; | ||
216 | - if ($subject) $sql .= implode(empty($is_auto_inbox) ? ' and ' : ' or ', $subject); | ||
217 | - if ($from_not_in_like) $sql .= ' and (' . implode(empty($is_auto_inbox) ? ' and ' : ' or ', $from_not_in_like) . ')'; | ||
218 | - $sql .= ')'; | ||
219 | } | 228 | } |
229 | + | ||
220 | } | 230 | } |
221 | 231 | ||
222 | /************ 2024-09-02 *************/ | 232 | /************ 2024-09-02 *************/ |
@@ -301,6 +311,7 @@ class MailListV2 extends Base { | @@ -301,6 +311,7 @@ class MailListV2 extends Base { | ||
301 | // 收件箱 | 311 | // 收件箱 |
302 | $where['folder_id'] = $this->getFolderId('收件箱'); | 312 | $where['folder_id'] = $this->getFolderId('收件箱'); |
303 | $where['is_hots'] = 0; | 313 | $where['is_hots'] = 0; |
314 | + $sql = "select count(*) from `lists` left join `lists_auto` on `lists`.`id`= `lists_auto`.`list_id` where `lists_auto`.`list_id` IS NULL and "; | ||
304 | 315 | ||
305 | // 模糊标题搜索 | 316 | // 模糊标题搜索 |
306 | $subject = app()->request('subject'); | 317 | $subject = app()->request('subject'); |
@@ -336,6 +347,10 @@ class MailListV2 extends Base { | @@ -336,6 +347,10 @@ class MailListV2 extends Base { | ||
336 | $seenCount = db()->cache($this->cache)->count($sql . dbWhere($where)); | 347 | $seenCount = db()->cache($this->cache)->count($sql . dbWhere($where)); |
337 | unset($where['seen']); | 348 | unset($where['seen']); |
338 | } | 349 | } |
350 | + | ||
351 | + | ||
352 | + | ||
353 | + | ||
339 | // 星标 | 354 | // 星标 |
340 | if(in_array('flagged',$show_count_filed)) { | 355 | if(in_array('flagged',$show_count_filed)) { |
341 | $where['flagged'] = 1; | 356 | $where['flagged'] = 1; |
-
请 注册 或 登录 后发表评论