Пример #1
0
bool cPenaltyList::AddPenalty(sPenalty &penal)
{
	SetBaseTo(&mModel);
	mModel.mNick = penal.mNick;
	mModel.mOpNick = penal.mOpNick;
	bool keep = false;
	if (LoadPK())
	{
		if(penal.mStartChat > mModel.mStartChat) mModel.mStartChat = penal.mStartChat;
		if(penal.mStartCTM > mModel.mStartCTM) mModel.mStartCTM = penal.mStartCTM;
		if(penal.mStartPM > mModel.mStartPM) mModel.mStartPM = penal.mStartPM;
		if(penal.mStartSearch > mModel.mStartSearch) mModel.mStartSearch = penal.mStartSearch;
		if(penal.mStopKick > mModel.mStopKick) mModel.mStopKick = penal.mStopKick;
		if(penal.mStopShare0 > mModel.mStopShare0) mModel.mStopShare0 = penal.mStopShare0;
		if(penal.mStopReg > mModel.mStopReg) mModel.mStopReg = penal.mStopReg;
		if(penal.mStopOpchat > mModel.mStopOpchat) mModel.mStopOpchat = penal.mStopOpchat;
		keep = mModel.ToKeepIt();
	}
	else
	{
		SetBaseTo(&penal);
		keep = penal.ToKeepIt();
		if (keep)
		{
			mCache.Add(penal.mNick);
		}
	}

	DeletePK();

	if( keep )
		return SavePK(false);
	else
		return false;
}
Пример #2
0
/** add registered user */
bool cRegList::AddRegUser(const string &nick, cConnDC *op, int cl, const char *password)
{
	cRegUserInfo ui;

	if(FindRegInfo(ui, nick))
		return false;
	// Do not register opchat or hub security
	if(toLower(nick) == toLower(mS->mC.opchat_name) || toLower(nick) == toLower(mS->mC.hub_security))
		return false;

	ui.mNick = nick;//@todo nick2dbkey
	if ((cl>=1 && cl<=5) || cl==10 || cl==-1)
		ui.mClass = cl;
	else
		ui.mClass = 1;
	ui.mRegDate = cTime().Sec();
	ui.mRegOp = (op && op->mpUser) ? op->mpUser->mNick : string("hub-security");

	if(password)
		ui.SetPass(string(password),mS->mC.default_password_encryption);
	else
		ui.SetPass(string(),mS->mC.default_password_encryption);

	if(cl < 0)
		ui.mPwdChange = false;
	if(mCache.IsLoaded())
		mCache.Add(nick);//@todo nick2dbkey

	SetBaseTo(&ui);
	return SavePK();
}
Пример #3
0
/** log that user logged in */
bool cIPLog::Log(cConnDC *conn, int action, int info)
{
	sUserStruct entry;
	entry.mIP = cBanList::Ip2Num(conn->AddrIP());
	if(conn->mpUser != NULL)
		entry.mNick = conn->mpUser->mNick;
	else
		entry.mNick = "";

	entry.mDate = cTime().Sec();
	entry.mType = action;
	entry.mInfo = info;
	SetBaseTo(&entry);
	return SavePK();
}
Пример #4
0
bool cPenaltyList::RemPenalty(sPenalty &penal)
{
	SetBaseTo(&mModel);
	mModel.mNick = penal.mNick;
	mModel.mOpNick = penal.mOpNick;
	time_t Now = cTime().Sec();
	if(LoadPK()) {
		if(penal.mStartChat < Now) mModel.mStartChat = Now;
		if(penal.mStartCTM < Now) mModel.mStartCTM = Now;
		if(penal.mStartPM < Now) mModel.mStartPM = Now;
		if(penal.mStartSearch < Now) mModel.mStartSearch = Now;
		if(penal.mStopKick < Now) mModel.mStopKick = Now;
		if(penal.mStopShare0 < Now) mModel.mStopShare0 = Now;
		if(penal.mStopReg < Now) mModel.mStopReg = Now;
		if(penal.mStopOpchat < Now) mModel.mStopOpchat = Now;
	}
	if(mModel.ToKeepIt())
		return SavePK();
	else
		DeletePK();
	return true;
}
Пример #5
0
int cConfMySQL::Save()
{
	SavePK(false);
	return 0;
}
Пример #6
0
bool cMsgList::AddMessage( sMessage &msg )
{
	if (mCache.IsLoaded()) mCache.Add(msg.mReceiver);
	SetBaseTo(&msg);
	return SavePK();
}