BanFrame::BanFrame(QWidget *parent, const char *name, bool banEnabled) :QFrame(parent) { setFrameStyle(QFrame::Panel | QFrame::Raised); setObjectName(name); QGridLayout *g = new QGridLayout(this); m_pEnable = new QCheckBox(__tr2qs("Enable URL ban list"),this); connect(m_pEnable,SIGNAL(clicked()),this,SLOT(enableClicked())); m_pEnable->setChecked(banEnabled); g->addWidget(m_pEnable,0,0,1,2); m_pBanList = new QListWidget(this); m_pBanList->setMinimumHeight(100); loadBanList(); for(QString *tmp=g_pBanList->first();tmp;tmp=g_pBanList->next()) { m_pBanList->addItem(*tmp); // load ban list into listbox } m_pBanList->setEnabled(m_pEnable->isChecked()); g->addWidget(m_pBanList,1,0,1,2); m_pAddBtn = new QPushButton(__tr2qs("&Add Ban"),this); m_pAddBtn->setObjectName("add"); connect(m_pAddBtn,SIGNAL(clicked()),this,SLOT(addBan())); m_pAddBtn->setEnabled(m_pEnable->isChecked()); g->addWidget(m_pAddBtn,2,0); m_pRemoveBtn = new QPushButton(__tr2qs("&Remove Selected"),this); m_pRemoveBtn->setObjectName("remove"); connect(m_pRemoveBtn,SIGNAL(clicked()),this,SLOT(removeBan())); m_pRemoveBtn->setEnabled(m_pEnable->isChecked()); g->addWidget(m_pRemoveBtn,2,1); }
void BanList::addBanRelative(S32 uniqueId, const char *TA, S32 numSeconds) { S32 curTime = Platform::getTime(); S32 banTime = 0; if(numSeconds != -1) banTime = curTime + numSeconds; addBan(uniqueId, TA, banTime); }
static int do_tban(User * u) { char mask[BUFSIZE]; Channel *c; User *u2 = NULL; char *buffer = moduleGetLastBuffer(); char *chan; char *nick; char *time; chan = myStrGetToken(buffer, ' ', 0); nick = myStrGetToken(buffer, ' ', 1); time = myStrGetToken(buffer, ' ', 2); if (time && chan && nick) { if (!(c = findchan(chan))) { notice_lang(s_ChanServ, u, CHAN_X_NOT_IN_USE, chan); } else if (!(u2 = finduser(nick))) { notice_lang(s_ChanServ, u, NICK_X_NOT_IN_USE, nick); } else { if (canBanUser(c, u, u2)) { get_idealban(c->ci, u2, mask, sizeof(mask)); addBan(c, dotime(time), mask); mySendResponse(u, chan, mask, time); } } } else { myFullHelpSyntax(u); } if (time) free(time); if (nick) free(nick); if (chan) free(chan); return MOD_CONT; }