正在显示
4 个修改的文件
包含
86 行增加
和
15 行删除
| @@ -13,6 +13,7 @@ use Model\listsSql; | @@ -13,6 +13,7 @@ use Model\listsSql; | ||
| 13 | use Model\sendJobsSql; | 13 | use Model\sendJobsSql; | 
| 14 | use PHPMailer\PHPMailer\PHPMailer; | 14 | use PHPMailer\PHPMailer\PHPMailer; | 
| 15 | use PHPMailer\PHPMailer\SMTP; | 15 | use PHPMailer\PHPMailer\SMTP; | 
| 16 | +use function Swoole\Coroutine\Http\request; | ||
| 16 | 17 | ||
| 17 | 18 | ||
| 18 | /** | 19 | /** | 
| @@ -64,7 +65,11 @@ class Home extends Base { | @@ -64,7 +65,11 @@ class Home extends Base { | ||
| 64 | // 文件夹id | 65 | // 文件夹id | 
| 65 | if($folderList){ | 66 | if($folderList){ | 
| 66 | foreach ($folderList as $item){ | 67 | foreach ($folderList as $item){ | 
| 67 | - if($item['folder'] == $folder){ | 68 | + if( | 
| 69 | + // 数组文件夹 | ||
| 70 | + (is_array($folder) && in_array($item['folder'],$folder)) | ||
| 71 | + || $item['folder'] == $folder | ||
| 72 | + ){ | ||
| 68 | $folder_id[] = $item['id']; | 73 | $folder_id[] = $item['id']; | 
| 69 | } | 74 | } | 
| 70 | } | 75 | } | 
| @@ -76,13 +81,57 @@ class Home extends Base { | @@ -76,13 +81,57 @@ class Home extends Base { | ||
| 76 | //目录 | 81 | //目录 | 
| 77 | $where['folder_id'] = $folder_id; | 82 | $where['folder_id'] = $folder_id; | 
| 78 | if($ids) $where['id'] = $ids; | 83 | if($ids) $where['id'] = $ids; | 
| 79 | - if($attachment) $where['is_file'] = 1; //附件 | 84 | + | 
| 85 | + if(paramHas('attachment')){ | ||
| 86 | + $where['is_file'] = $attachment ? 1 : 0; //附件 | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + | ||
| 80 | // 软删 | 90 | // 软删 | 
| 81 | $where['deleted'] = $deleted; | 91 | $where['deleted'] = $deleted; | 
| 82 | // 已读/未读 | 92 | // 已读/未读 | 
| 93 | + if(paramHas('seen')){ | ||
| 83 | if(in_array($seen,[0,1])){ | 94 | if(in_array($seen,[0,1])){ | 
| 84 | $where['seen'] = $seen; | 95 | $where['seen'] = $seen; | 
| 85 | } | 96 | } | 
| 97 | + } | ||
| 98 | + | ||
| 99 | + $where['_'] = []; | ||
| 100 | + // 搜索关键字 | ||
| 101 | + $keyword = app()->request('keyword','',['htmlspecialchars','addslashes']); | ||
| 102 | + if($keyword){ | ||
| 103 | + $where['_'][] = '`subject` like "%'.$keyword.'%"'; | ||
| 104 | + } | ||
| 105 | + | ||
| 106 | + // 那个发的 | ||
| 107 | + $address = app()->request('address'); | ||
| 108 | + if($address){ | ||
| 109 | + if(is_array($address)){ | ||
| 110 | + // 发贱人 | ||
| 111 | + if(Verify::sEmail($address['from']??'')){ | ||
| 112 | + $where['from'] = $address['from']; | ||
| 113 | + } | ||
| 114 | + // 收件人 | ||
| 115 | + if(Verify::sEmail($address['to']??'')){ | ||
| 116 | + $where['_'][] = '`to_name` like "%'.$address.'%"'; | ||
| 117 | + } | ||
| 118 | + | ||
| 119 | + }else if(Verify::sEmail($address)){ | ||
| 120 | + // 收件人/发件人 | ||
| 121 | + $where['_'][] = '(`from` = "'.$address.'" or `to_name` like "%'.$address.'%")'; | ||
| 122 | + } | ||
| 123 | + } | ||
| 124 | + // 回复 | ||
| 125 | + if (paramHas('answered')){ | ||
| 126 | + $where['answered'] = app()->request('answered',0,'bool_Val')?1:0; | ||
| 127 | + } | ||
| 128 | + | ||
| 129 | + $fromto = app()->request('formorto'); | ||
| 130 | + if($fromto=='from'){ | ||
| 131 | + $where['from'] = $this->getEmails('email'); | ||
| 132 | + }elseif ($fromto=='to'){ | ||
| 133 | + $where['from.notin'] = $this->getEmails('email'); | ||
| 134 | + } | ||
| 86 | 135 | ||
| 87 | $lists = db()->all( | 136 | $lists = db()->all( | 
| 88 | listsSql::lists( | 137 | listsSql::lists( | 
| @@ -16,19 +16,10 @@ class Test { | @@ -16,19 +16,10 @@ class Test { | ||
| 16 | 16 | ||
| 17 | 17 | ||
| 18 | public function home(){ | 18 | public function home(){ | 
| 19 | - $a = []; | ||
| 20 | - | ||
| 21 | - $v = $a['b']; | ||
| 22 | - | ||
| 23 | - return []; | 19 | + http_response_code(404); | 
| 20 | + app()->e(404,404); | ||
| 24 | } | 21 | } | 
| 25 | 22 | ||
| 26 | - public function a(){ | ||
| 27 | - | ||
| 28 | - } | ||
| 29 | - | ||
| 30 | - | ||
| 31 | - | ||
| 32 | 23 | ||
| 33 | 24 | ||
| 34 | } | 25 | } | 
| @@ -141,7 +141,14 @@ function my_filter($value,$filter=null){ | @@ -141,7 +141,14 @@ function my_filter($value,$filter=null){ | ||
| 141 | function dbWhere(array $where, string $ar = 'and'):string{ | 141 | function dbWhere(array $where, string $ar = 'and'):string{ | 
| 142 | $sql = []; | 142 | $sql = []; | 
| 143 | foreach ($where as $f=>$v){ | 143 | foreach ($where as $f=>$v){ | 
| 144 | + | ||
| 145 | + list($f,$t) = explode('.',$f.'.'); | ||
| 146 | + | ||
| 144 | if(is_array($v)){ | 147 | if(is_array($v)){ | 
| 148 | + if($f ==='_'){ | ||
| 149 | + $sql = array_merge($sql,$v); | ||
| 150 | + continue; | ||
| 151 | + } | ||
| 145 | $v = array_map(function ($n){ | 152 | $v = array_map(function ($n){ | 
| 146 | if (is_string($n)){ | 153 | if (is_string($n)){ | 
| 147 | return "'".addslashes($n)."'"; | 154 | return "'".addslashes($n)."'"; | 
| @@ -152,14 +159,19 @@ function dbWhere(array $where, string $ar = 'and'):string{ | @@ -152,14 +159,19 @@ function dbWhere(array $where, string $ar = 'and'):string{ | ||
| 152 | // 只有一个值时就是 = | 159 | // 只有一个值时就是 = | 
| 153 | $sql[] = "`{$f}` = ".$v[0]; | 160 | $sql[] = "`{$f}` = ".$v[0]; | 
| 154 | }elseif (count($v) > 1){ | 161 | }elseif (count($v) > 1){ | 
| 155 | - $sql[] = "`{$f}` in (".implode(',',$v).")"; | 162 | + $sql[] = "`{$f}` ".($t=='notin'?'not in':'in')." (".implode(',',$v).")"; | 
| 156 | } | 163 | } | 
| 157 | 164 | ||
| 158 | }else{ | 165 | }else{ | 
| 166 | + if($f ==='_'){ | ||
| 167 | + $sql[] = $v; | ||
| 168 | + }else{ | ||
| 159 | $sql[] = "`{$f}` = '". (is_string($v) ? addslashes($v): $v) ."'"; | 169 | $sql[] = "`{$f}` = '". (is_string($v) ? addslashes($v): $v) ."'"; | 
| 160 | } | 170 | } | 
| 161 | 171 | ||
| 162 | } | 172 | } | 
| 173 | + | ||
| 174 | + } | ||
| 163 | return implode(' '.$ar.' ',$sql); | 175 | return implode(' '.$ar.' ',$sql); | 
| 164 | } | 176 | } | 
| 165 | 177 | ||
| @@ -377,7 +389,15 @@ function bool_Val($val):bool { | @@ -377,7 +389,15 @@ function bool_Val($val):bool { | ||
| 377 | 389 | ||
| 378 | } | 390 | } | 
| 379 | 391 | ||
| 380 | - | 392 | +/** | 
| 393 | + * @param string $name | ||
| 394 | + * @return bool | ||
| 395 | + * @author:dc | ||
| 396 | + * @time 2023/4/15 16:50 | ||
| 397 | + */ | ||
| 398 | +function paramHas(string $name):bool { | ||
| 399 | + return app()->requestHas($name); | ||
| 400 | +} | ||
| 381 | 401 | ||
| 382 | 402 | ||
| 383 | 403 | 
| @@ -190,6 +190,17 @@ class App { | @@ -190,6 +190,17 @@ class App { | ||
| 190 | return null; | 190 | return null; | 
| 191 | } | 191 | } | 
| 192 | 192 | ||
| 193 | + /** | ||
| 194 | + * 是否存在 | ||
| 195 | + * @param string $name | ||
| 196 | + * @return bool | ||
| 197 | + * @author:dc | ||
| 198 | + * @time 2023/4/15 16:43 | ||
| 199 | + */ | ||
| 200 | + public function requestHas(string $name):bool { | ||
| 201 | + return isset($this->request[$name]); | ||
| 202 | + } | ||
| 203 | + | ||
| 193 | 204 | ||
| 194 | /** | 205 | /** | 
| 195 | * @param string $key | 206 | * @param string $key | 
- 
请 注册 或 登录 后发表评论
