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 " |