rendered paste bodyk':
if(( $params == '') || preg_match('/^ +$/',$params)){
// Wrong syntax
$srv->send($uid,'ERROR: Parameter missing'.$srv->crlf);
}elseif(preg_match('/^ +([^ ]+)$/', $params, $matches)){
$nick_old = get_nick($uid);
$nick_new = preg_replace('/[,\\[\\]]/','',$matches[1]);
if($nick_new == '' ){
$srv->send($uid,'ERROR: Invalid nickname'.$srv->crlf);
}else{
// Nick already used?
$found = FALSE;
for($i = 0;$i <= $srv->active_clients;$i++){
if($i == $uid) continue;
if(!strcasecmp(get_nick($i),$nick_new)){
$found = TRUE;
break; // Stop searching
}
}
if($found){
// Nick already used
$srv->send($uid,'ERROR: Nickname already in use'.$srv->crlf);
}else{
set_nick($uid, $nick_new);
// Notify others
if($nick_old == ''){
// User has just logged in
for($i=0;$i <= $srv->active_clients;$i++){
if($i == $uid) continue;
if(get_nick($i) != ''){ //To logged-in only
$srv->send($i,'['.$nick_new.'] joined the chat.'.$srv->crlf);
}
}
$srv->send($uid,'You joined the chat as ['.$nick_new.'].'.$srv->crlf);
echo '['.$srv->get_addr($uid).'] is ['.$nick_new."]\n";
}else{
// User changed its nick
for($i=0; $i <= $srv->active_clients; $i++){
if($i == $uid) continue;
if(get_nick($i) != ''){ // To logged-in only
$srv->send($i,'['.$nick_old.'] is now ['.$nick_new.']'.$srv->crlf);
}
}
$srv->send($uid, 'Your nick was changed to ['.$nick_new.']'.$srv->crlf);
echo '['.$srv->get_addr($uid).'] is now [' . $nick_new . ']\n';
}
}
}
}else{
// Wrong syntax
$srv->send($uid, 'ERROR: A nickname must NOT contain spaces.'.$srv->crlf);
}
break;