k': 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;