Remove up to two characters from the end of @mention to also match @mention, etc.
This commit is contained in:
@ -7,6 +7,7 @@ Add option to hide the list of chatters
|
|||||||
Make nicknames in the chatters list clickable to send PMs more easily
|
Make nicknames in the chatters list clickable to send PMs more easily
|
||||||
Add better multi-byte character support - New dependency: mbstring extension
|
Add better multi-byte character support - New dependency: mbstring extension
|
||||||
Don't send messages to inbox when in incognito
|
Don't send messages to inbox when in incognito
|
||||||
|
Remove up to two characters from the end of @mention to also match @mention, etc.
|
||||||
|
|
||||||
Version 1.21 - Aug. 29, 2016
|
Version 1.21 - Aug. 29, 2016
|
||||||
Don't display empty option for system messages in delete messages by name
|
Don't display empty option for system messages in delete messages by name
|
||||||
|
29
chat.php
29
chat.php
@ -2884,29 +2884,38 @@ function apply_filter(){
|
|||||||
}
|
}
|
||||||
$U['message']=preg_replace_callback('/\@([^\s]+)/i', function ($matched){
|
$U['message']=preg_replace_callback('/\@([^\s]+)/i', function ($matched){
|
||||||
global $db;
|
global $db;
|
||||||
|
$nick=$matched[1];
|
||||||
|
$rest='';
|
||||||
|
for($i=0;$i<3;++$i){
|
||||||
//match case-sensitive present nicknames
|
//match case-sensitive present nicknames
|
||||||
$stmt=$db->prepare('SELECT style FROM ' . PREFIX . 'sessions WHERE nickname=?;');
|
$stmt=$db->prepare('SELECT style FROM ' . PREFIX . 'sessions WHERE nickname=?;');
|
||||||
$stmt->execute([$matched[1]]);
|
$stmt->execute([$nick]);
|
||||||
if($tmp=$stmt->fetch(PDO::FETCH_NUM)){
|
if($tmp=$stmt->fetch(PDO::FETCH_NUM)){
|
||||||
return style_this($matched[0], $tmp[0]);
|
return style_this("@$nick", $tmp[0]).$rest;
|
||||||
}
|
}
|
||||||
//match case-insensitive present nicknames
|
//match case-insensitive present nicknames
|
||||||
$stmt=$db->prepare('SELECT style FROM ' . PREFIX . 'sessions WHERE LOWER(nickname)=LOWER(?);');
|
$stmt=$db->prepare('SELECT style FROM ' . PREFIX . 'sessions WHERE LOWER(nickname)=LOWER(?);');
|
||||||
$stmt->execute([$matched[1]]);
|
$stmt->execute([$nick]);
|
||||||
if($tmp=$stmt->fetch(PDO::FETCH_NUM)){
|
if($tmp=$stmt->fetch(PDO::FETCH_NUM)){
|
||||||
return style_this($matched[0], $tmp[0]);
|
return style_this("@$nick", $tmp[0]).$rest;
|
||||||
}
|
}
|
||||||
//match case-sensitive members
|
//match case-sensitive members
|
||||||
$stmt=$db->prepare('SELECT style FROM ' . PREFIX . 'members WHERE nickname=?;');
|
$stmt=$db->prepare('SELECT style FROM ' . PREFIX . 'members WHERE nickname=?;');
|
||||||
$stmt->execute([$matched[1]]);
|
$stmt->execute([$nick]);
|
||||||
if($tmp=$stmt->fetch(PDO::FETCH_NUM)){
|
if($tmp=$stmt->fetch(PDO::FETCH_NUM)){
|
||||||
return style_this($matched[0], $tmp[0]);
|
return style_this("@$nick", $tmp[0]).$rest;
|
||||||
}
|
}
|
||||||
//match case-insensitive members
|
//match case-insensitive members
|
||||||
$stmt=$db->prepare('SELECT style FROM ' . PREFIX . 'members WHERE LOWER(nickname)=LOWER(?);');
|
$stmt=$db->prepare('SELECT style FROM ' . PREFIX . 'members WHERE LOWER(nickname)=LOWER(?);');
|
||||||
$stmt->execute([$matched[1]]);
|
$stmt->execute([$nick]);
|
||||||
if($tmp=$stmt->fetch(PDO::FETCH_NUM)){
|
if($tmp=$stmt->fetch(PDO::FETCH_NUM)){
|
||||||
return style_this($matched[0], $tmp[0]);
|
return style_this("@$nick", $tmp[0]).$rest;
|
||||||
|
}
|
||||||
|
if(strlen($nick)===1){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$rest=substr($nick, -1).$rest;
|
||||||
|
$nick=substr($nick, 0, -1);
|
||||||
}
|
}
|
||||||
return "$matched[0]";
|
return "$matched[0]";
|
||||||
}, $U['message']);
|
}, $U['message']);
|
||||||
@ -3252,8 +3261,8 @@ function save_setup($C){
|
|||||||
}
|
}
|
||||||
if($_REQUEST['maxmessage']<1){
|
if($_REQUEST['maxmessage']<1){
|
||||||
$_REQUEST['maxmessage']=1;
|
$_REQUEST['maxmessage']=1;
|
||||||
}elseif($_REQUEST['maxmessage']>20000){
|
}elseif($_REQUEST['maxmessage']>16000){
|
||||||
$_REQUEST['maxmessage']=20000;
|
$_REQUEST['maxmessage']=16000;
|
||||||
}
|
}
|
||||||
if($_REQUEST['numnotes']<1){
|
if($_REQUEST['numnotes']<1){
|
||||||
$_REQUEST['numnotes']=1;
|
$_REQUEST['numnotes']=1;
|
||||||
|
Reference in New Issue
Block a user