

And sometimes there are a few people who would go on being highly inventive and take bad/improper nick.
so I wrote this small command that the admin can use to force a nick name change.
The command goes like this: /forcenick old_badnick new_freshnick
Hope it helps and feel free to tailor it to your needs.
- Code: Select all
<?php
//FileName: forcenick.class.php
//- - - - - - - - - - - - -
//Desc: Changes the nick of an user. Can be used by an Admin only.
//Author: Shah Chandon
//Date: Jul 2009
//-------------------------------------------------------------------------------
require_once(dirname(__FILE__)."/../pfccommand.class.php");
class pfcCommand_forcenick extends pfcCommand
{
var $usage = "/forcenick {old_nickname} {new_nickname}";
function run(&$xml_reponse, $p)
{
$clientid = $p["clientid"];
$param = $p["param"];
$params = $p["params"];
$sender = $p["sender"];
$recipient = $p["recipient"];
$recipientid = $p["recipientid"];
$c =& pfcGlobalConfig::Instance();
$u =& pfcUserConfig::Instance();
$ct =& pfcContainer::Instance();
$oldnick = isset($params[0]) ? $params[0] : '';
$newnick = isset($params[1]) ? $params[1] : '';
$admin_nick = $ct->getNickname($u->nickid);
$isadmin = $ct->getUserMeta($u->nickid, 'isadmin');
if (!$isadmin)
{
$cmdp = $p;
$cmdp["param"] = _pfc("Must be an Admin");
$cmd =& pfcCommand::Factory("error");
$cmd->run($xml_reponse, $cmdp);
return;
}
$oldnickid = $ct->getNickId($oldnick);
$targetisadmin = $ct->getUserMeta($oldnickid, 'isadmin');
if($targetisadmin)
{
//cannot kick and admin -- error
$cmdp = $p;
$cmdp["param"] = _pfc("Cannot change an ADMIN");
$cmdp["param"] .= " (Whats going on!! Why Are you trying to CHANGE an ADMIN NICK??!!)";
$cmd =& pfcCommand::Factory("error");
$cmd->run($xml_reponse, $cmdp);
return;
}
if ($newnick == '' || $oldnick== '')
{
// error
$cmdp = $p;
$cmdp["param"] = _pfc("Missing parameter");
$cmdp["param"] .= " (".$this->usage.")";
$cmd =& pfcCommand::Factory("error");
$cmd->run($xml_reponse, $cmdp);
return;
}
$cmdstr = 'nick';
$cmdp = array();
$cmdp['params'][] = $newnick;
$cmdp['param'] = $newnick;
$cmdp['forced']=$admin_nick;
//$cmdp['params'][] = ''; // blank password
pfcCommand::AppendCmdToPlay($oldnickid, $cmdstr, $cmdp);
}
}
?>