From f9b53cb0446a3a119ea7cb25240e4bd72cdf7499 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Sat, 23 Jul 2016 18:56:08 +0200 Subject: [PATCH] Allow deleting messages by name, when only PMs were sent. --- CHANGELOG | 2 ++ chat.php | 37 +++++++++++++++++-------------------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index ba3cf30..a734faf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,7 @@ +Version 1.20.6 - Jul. 23, 2016 Simplify ignore logic + disallow ignoring chatters with higher status Delete messages based on public message limit, no buffer for private ones needed +Allow deleting messages by name, when only PMs were sent Version 1.20.5 - Jul. 19, 2016 Check permission before selectively deleting a message. diff --git a/chat.php b/chat.php index 5a944d1..fab371a 100644 --- a/chat.php +++ b/chat.php @@ -96,7 +96,7 @@ function route(){ check_session(); if($_REQUEST['what']==='all'){ if(isSet($_REQUEST['confirm'])){ - del_all_messages($U['nickname'], 10, $U['entry']); + del_all_messages($U['nickname'], $U['status']==1 ? $U['entry'] : 0); }else{ send_del_confirm(); } @@ -156,7 +156,7 @@ function route(){ } function route_admin(){ - global $U; + global $U, $db; if($U['status']<5){ send_access_denied(); } @@ -169,7 +169,11 @@ function route_admin(){ }elseif($_REQUEST['what']==='room'){ clean_room(); }elseif($_REQUEST['what']==='nick'){ - del_all_messages($_REQUEST['nickname'], $U['status'], 0); + $stmt=$db->prepare('SELECT * FROM ' . PREFIX . 'members WHERE nickname=? AND status>=?;'); + $stmt->execute([$_REQUEST['nickname'], $U['status']]); + if(!$stmt->fetch(PDO::FETCH_ASSOC)){ + del_all_messages($_REQUEST['nickname'], 0); + } } }elseif($_REQUEST['do']==='kick'){ if(isSet($_REQUEST['name'])){ @@ -876,7 +880,7 @@ function send_admin($arg=''){ echo " "; echo " "; echo "