/******************************************************************
* PTlink Services is (C) CopyRight PTlink IRC Software 1999-2005 *
* http://software.pt-link.net *
* This program is distributed under GNU Public License *
* Please read the file COPYING for copyright information. *
******************************************************************
Description: userlog module
* $Id: userlog.c,v 1.4 2005/10/11 16:13:06 jpinto Exp $
*/
#include "module.h"
/* module, version, description */
SVS_Module mod_info =
{"userlog", "1.1", "log users connects/quits" };
/* Change Log
1.0 - 0000297: userlog crash on module unload
*/
int ulog;
/* internal functions */
void ev_userlog_new_user(IRC_User* u, void *s);
void ev_userlog_quit(IRC_User* u, char* reason);
int mod_load(void)
{
ulog = log_open("userlog","userlog");
if(ulog < 0)
{
slog(L_ERROR,"Unable to create userlog log file");
fprintf(stderr,"Unable to create userlog log file\n");
return -1;
}
/* Add user events */
irc_AddEvent(ET_NEW_USER, ev_userlog_new_user); /* new user */
irc_AddEvent(ET_QUIT, ev_userlog_quit); /* user quit */
return 0;
}
void
mod_unload(void)
{
/* remove irc events */
irc_DelEvent(ET_NEW_USER, ev_userlog_new_user);
irc_DelEvent(ET_QUIT, ev_userlog_quit);
log_close(ulog);
}
void ev_userlog_new_user(IRC_User* u, void *s)
{
log_log(ulog, "LogOn","%s!%s@%s (%s) :%s",
u->nick, u->username, u->realhost, u->publichost, u->info);
}
void ev_userlog_quit(IRC_User* u, char *quitreason)
{
log_log(ulog, "LogOff","%s!%s@%s :%s",
u->nick, u->username, u->realhost, quitreason);
}
syntax highlighted by Code2HTML, v. 0.9.1