@@ -2377,8 +2377,7 @@ function mod_reports() {
23772377 'config ' => $ config ,
23782378 'mod ' => $ mod ,
23792379 'token ' => make_secure_link_token ('reports/ ' . $ report ['id ' ] . '/dismiss ' ),
2380- 'token_all ' => make_secure_link_token ('reports/ ' . $ report ['id ' ] . '/dismiss&all ' ),
2381- 'token_post ' => make_secure_link_token ('reports/ ' . $ report ['id ' ] . '/dismiss&post ' ),
2380+ 'token_all ' => make_secure_link_token ('reports/ ' . $ report ['id ' ] . '/dismissall ' )
23822381 ));
23832382
23842383 // Bug fix for https://github.com/savetheinternet/Tinyboard/issues/21
@@ -2403,7 +2402,7 @@ function mod_reports() {
24032402 mod_page (sprintf ('%s (%d) ' , _ ('Report queue ' ), $ count ), $ config ['file_mod_reports ' ], array ('reports ' => $ body , 'count ' => $ count ));
24042403}
24052404
2406- function mod_report_dismiss ($ id , $ action ) {
2405+ function mod_report_dismiss ($ id , $ all = false ) {
24072406 global $ config ;
24082407
24092408 $ query = prepare ("SELECT `post`, `board`, `ip` FROM ``reports`` WHERE `id` = :id " );
@@ -2416,35 +2415,27 @@ function mod_report_dismiss($id, $action) {
24162415 } else
24172416 error ($ config ['error ' ]['404 ' ]);
24182417
2419- switch ($ action ){
2420- case '&post ' :
2421- if (!hasPermission ($ config ['mod ' ]['report_dismiss_post ' ], $ board ))
2422- error ($ config ['error ' ]['noaccess ' ]);
2423-
2424- $ query = prepare ("DELETE FROM ``reports`` WHERE `post` = :post " );
2425- $ query ->bindValue (':post ' , $ post );
2426- modLog ("Dismissed all reports for post # {$ id }" , $ board );
2427- case '&all ' :
2428- if (!hasPermission ($ config ['mod ' ]['report_dismiss_ip ' ], $ board ))
2429- error ($ config ['error ' ]['noaccess ' ]);
2430-
2431- $ query = prepare ("DELETE FROM ``reports`` WHERE `ip` = :ip " );
2432- $ query ->bindValue (':ip ' , $ ip );
2433- $ cip = cloak_ip ($ ip );
2434- modLog ("Dismissed all reports by <a href= \"?/IP/ $ cip \"> $ cip</a> " );
2435- break ;
2436- case '' :
2437- default :
2438- if (!hasPermission ($ config ['mod ' ]['report_dismiss ' ], $ board ))
2439- error ($ config ['error ' ]['noaccess ' ]);
2440-
2441- $ query = prepare ("DELETE FROM ``reports`` WHERE `id` = :id " );
2442- $ query ->bindValue (':id ' , $ id );
2443- modLog ("Dismissed a report for post # {$ id }" , $ board );
2444- break ;
2418+ if (!$ all && !hasPermission ($ config ['mod ' ]['report_dismiss ' ], $ board ))
2419+ error ($ config ['error ' ]['noaccess ' ]);
2420+
2421+ if ($ all && !hasPermission ($ config ['mod ' ]['report_dismiss_ip ' ], $ board ))
2422+ error ($ config ['error ' ]['noaccess ' ]);
2423+
2424+ if ($ all ) {
2425+ $ query = prepare ("DELETE FROM ``reports`` WHERE `ip` = :ip " );
2426+ $ query ->bindValue (':ip ' , $ ip );
2427+ } else {
2428+ $ query = prepare ("DELETE FROM ``reports`` WHERE `id` = :id " );
2429+ $ query ->bindValue (':id ' , $ id );
24452430 }
24462431 $ query ->execute () or error (db_error ($ query ));
24472432
2433+ $ cip = cloak_ip ($ ip );
2434+ if ($ all )
2435+ modLog ("Dismissed all reports by <a href= \"?/IP/ $ cip \"> $ cip</a> " );
2436+ else
2437+ modLog ("Dismissed a report for post # {$ post } <small>(# {$ id })</small> " , $ board );
2438+
24482439 header ('Location: ?/reports ' , true , $ config ['redirect_http ' ]);
24492440}
24502441
0 commit comments