- if(!params.isEmpty() && !params.contains("!") && network()->ircUser(params[0])) {
- IrcUser *ircuser = network()->ircUser(params[0]);
- // generalizedHost changes <nick> to *!ident@*.sld.tld.
- QString generalizedHost = ircuser->host();
- if(generalizedHost.isEmpty()) {
- emit displayMsg(Message::Error, BufferInfo::StatusBuffer, "", QString("Error: host unknown in command: /BAN %1").arg(msg));
- return;
- }
-
- static QRegExp ipAddress("\\d+\\.\\d+\\.\\d+\\.\\d+");
- if(ipAddress.exactMatch(generalizedHost)) {
- int lastDotPos = generalizedHost.lastIndexOf('.') + 1;
- generalizedHost.replace(lastDotPos, generalizedHost.length() - lastDotPos, '*');
- } else if(generalizedHost.lastIndexOf(".") != -1 && generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1) != -1) {
- int secondLastPeriodPosition = generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1);
- generalizedHost.replace(0, secondLastPeriodPosition, "*");
- }
- banUser = QString("*!%1@%2").arg(ircuser->user(), generalizedHost);
- } else {
- banUser = params.join(" ");
- }
-
- QString banMode = ban ? "+b" : "-b";
- QString banMsg = QString("MODE %1 %2 %3").arg(banChannel, banMode, banUser);
- emit putRawLine(serverEncode(banMsg));
-}
-
-void CoreUserInputHandler::handleCtcp(const BufferInfo &bufferInfo, const QString &msg) {
- Q_UNUSED(bufferInfo)
-
- QString nick = msg.section(' ', 0, 0);
- QString ctcpTag = msg.section(' ', 1, 1).toUpper();
- if(ctcpTag.isEmpty())
- return;
-
- QString message = "";
- QString verboseMessage = tr("sending CTCP-%1 request").arg(ctcpTag);
-
- if(ctcpTag == "PING") {
- uint now = QDateTime::currentDateTime().toTime_t();
- message = QString::number(now);
- }
-
- network()->ctcpHandler()->query(nick, ctcpTag, message);
- emit displayMsg(Message::Action, BufferInfo::StatusBuffer, "", verboseMessage, network()->myNick());
-}
-
-void CoreUserInputHandler::handleDeop(const BufferInfo &bufferInfo, const QString &msg) {
- QStringList nicks = msg.split(' ', QString::SkipEmptyParts);
- QString m = "-"; for(int i = 0; i < nicks.count(); i++) m += 'o';
- QStringList params;
- params << bufferInfo.bufferName() << m << nicks;
- emit putCmd("MODE", serverEncode(params));
-}
+ if (!params.isEmpty() && !params.contains("!") && network()->ircUser(params[0])) {
+ IrcUser *ircuser = network()->ircUser(params[0]);
+ // generalizedHost changes <nick> to *!ident@*.sld.tld.
+ QString generalizedHost = ircuser->host();
+ if (generalizedHost.isEmpty()) {
+ emit displayMsg(Message::Error, BufferInfo::StatusBuffer, "", QString("Error: host unknown in command: /BAN %1").arg(msg));
+ return;
+ }
+
+ static QRegExp ipAddress("\\d+\\.\\d+\\.\\d+\\.\\d+");
+ if (ipAddress.exactMatch(generalizedHost)) {
+ int lastDotPos = generalizedHost.lastIndexOf('.') + 1;
+ generalizedHost.replace(lastDotPos, generalizedHost.length() - lastDotPos, '*');
+ }
+ else if (generalizedHost.lastIndexOf(".") != -1 && generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1) != -1) {
+ int secondLastPeriodPosition = generalizedHost.lastIndexOf(".", generalizedHost.lastIndexOf(".")-1);
+ generalizedHost.replace(0, secondLastPeriodPosition, "*");
+ }
+ banUser = QString("*!%1@%2").arg(ircuser->user(), generalizedHost);
+ }
+ else {
+ banUser = params.join(" ");
+ }