rendered paste bodyfunction evaluate($uid){
global $srv;
$input = $srv->get_input($uid);
if($input{0} != '#'){
if(!empty(get_nick($uid))){
for($i=0;$i<=$srv->active_clients;$i++){
$srv->send($i, date('Y-d-m H:i:s').' ['.get_nick($uid).']: '.$srv->get_input($uid).$srv->crlf);
}
}
return true;
}
$input = explode(' ', $input, 3);
$command = str_replace('/', $input[0], 1);
$params = array($input[1], $input[2]);
switch($function){
case 'nick':
if(count($params) == 0){
$srv->send($uid, 'Error: Nick missing.');
return false;
}
$nick_new = $params[0];
$nick_old = get_nick($uid);
for($i = 0;$i <= $srv->active_clients;$i++){
if($nick_new == get_nick($i)){
$srv->send($uid, 'Error: Nick already in use.');
return false;
}
}
set_nick($uid, $nick_new);
if(empty($nick_old)){
global_send('['.$nick_new.'] joined the chat.');
$srv->send($uid, 'You have joined the chat as ['.$nick_new.'].');
echo '['.$srv->get_addr($uid).'] is ['.$nick_new."]\n";
return true;
}
global_send('['.$nick_old.'] is now ['.$nick_new.']');
$srv->send($uid, 'Your nick was changed to ['.$nick_new.']');
echo '['.$srv->get_addr($uid).'] is now ['.$nick_new."\n";
break;
case 'list':
if(empty(get_nick($uid))){
$srv->send($uid, 'Error: You are not logged in.');
return false;
}
$list = '';
$users = 0;
for($i=0;$i <= $srv->active_clients;$i++){
$nick = get_nick($i);
if(!empty($nick)){
$list .= '['.$nick.'] ';
$users++;
}
}
$list .= $users;
$srv->send($uid, $list);
break;
case 'quit':
global_send('['.get_nick($uid).'] left the chat.');
$srv->send($uid, 'You left the chat.');
$srv->kick($uid);
break;
default:
$srv->send($uid, 'Error: Unknown command.');
break;
}
$srv->reset_input($uid);
}