2005-12-16 18:10:38 +00:00
|
|
|
/* +------------------------------------+
|
|
|
|
* | Inspire Internet Relay Chat Daemon |
|
|
|
|
* +------------------------------------+
|
|
|
|
*
|
2006-12-15 21:45:30 +00:00
|
|
|
* InspIRCd: (C) 2002-2007 InspIRCd Development Team
|
|
|
|
* See: http://www.inspircd.org/wiki/index.php/Credits
|
2005-12-16 18:10:38 +00:00
|
|
|
*
|
|
|
|
* This program is free but copyrighted software; see
|
|
|
|
* the file COPYING for details.
|
|
|
|
*
|
|
|
|
* ---------------------------------------------------
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "inspircd.h"
|
2006-04-08 17:05:48 +00:00
|
|
|
#include "configreader.h"
|
2005-12-16 18:10:38 +00:00
|
|
|
#include "users.h"
|
|
|
|
#include "modules.h"
|
2006-04-20 18:55:46 +00:00
|
|
|
#include "commands/cmd_quit.h"
|
2005-12-16 18:10:38 +00:00
|
|
|
|
2006-09-03 00:09:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
extern "C" command_t* init_command(InspIRCd* Instance)
|
|
|
|
{
|
|
|
|
return new cmd_quit(Instance);
|
|
|
|
}
|
|
|
|
|
2006-09-06 17:21:59 +00:00
|
|
|
CmdResult cmd_quit::Handle (const char** parameters, int pcnt, userrec *user)
|
2005-12-16 18:10:38 +00:00
|
|
|
{
|
2007-02-20 01:03:00 +00:00
|
|
|
|
|
|
|
std::string quitmsg;
|
|
|
|
|
|
|
|
if (IS_LOCAL(user))
|
2007-04-01 15:22:54 +00:00
|
|
|
{
|
|
|
|
if (*ServerInstance->Config->FixedQuit)
|
|
|
|
quitmsg = ServerInstance->Config->FixedQuit;
|
|
|
|
else
|
|
|
|
quitmsg = pcnt ?
|
|
|
|
ServerInstance->Config->PrefixQuit + std::string(parameters[0]) + ServerInstance->Config->SuffixQuit
|
|
|
|
: "Client exited";
|
|
|
|
}
|
2007-02-20 01:03:00 +00:00
|
|
|
else
|
|
|
|
quitmsg = pcnt ? parameters[0] : "Client exited";
|
|
|
|
|
2007-02-20 06:18:19 +00:00
|
|
|
userrec::QuitUser(ServerInstance, user, quitmsg);
|
2007-02-20 01:03:00 +00:00
|
|
|
|
2007-02-19 08:38:26 +00:00
|
|
|
return CMD_SUCCESS;
|
2005-12-16 18:10:38 +00:00
|
|
|
}
|
2006-08-18 01:08:14 +00:00
|
|
|
|