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; }
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; }
/*! \fn ::nTables::cRegList::DelReg(const string &nick) */ bool cRegList::DelReg(const string &nick) { if(!FindRegInfo(mModel, nick)) return false; DeletePK(); return true; }