Changeset 204:e1c5fa357295

Show
Ignore:
Timestamp:
05/11/2008 07:48:32 PM (4 years ago)
Author:
Dmitry Nezhevenko <dion@…>
Branch:
default
Message:

!muc known command

Location:
src/plugins/muc
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • src/plugins/muc/mucplugin.cpp

    r203 r204  
    2323        BasePlugin(parent) 
    2424{ 
    25         commands << "WHEREAMI" << "NICK" << "IDLE" << "JOIN" << "LEAVE" << "KICK" 
     25        commands << "WHEREAMI" << "NICK" << "IDLE" << "KNOWN" << "JOIN" << "LEAVE" << "KICK" 
    2626                        << "VISITOR" << "PARTICIPANT" << "MODERATOR" << "BAN" << "BANJID" 
    2727                        << "UNBAN" << "NONE" << "MEMBER" << "ADMIN" << "OWNER"; 
     
    414414                return true; 
    415415        } 
     416         
     417        if (cmd=="KNOWN") 
     418        { 
     419                Nick *n=getNickVerbose(s, arg); 
     420                if (!n) 
     421                        return true; 
     422                QStringList knownList=n->similarNicks(); 
     423                reply(s,QString("\"%1\" is known here as: %2").arg(n->nick()).arg(knownList.join(", "))); 
     424                return true; 
     425        } 
    416426 
    417427        if (cmd=="KICK" || cmd=="VISITOR" || cmd=="PARTICIPANT" || cmd=="MODERATOR") 
  • src/plugins/muc/nick.cpp

    r202 r204  
    9999} 
    100100 
     101QStringList Nick::similarNicks() 
     102{ 
     103        QSqlQuery query=DataStorage::instance() 
     104                        ->prepareQuery("SELECT nick FROM conference_nicks WHERE conference_id=? and jid=? order by lastaction desc LIMIT 100"); 
     105        query.addBindValue(myParent->id()); 
     106        query.addBindValue(myJid->id()); 
     107        if (!query.exec()) 
     108        { 
     109                qDebug() << "Nick: " << QSqlDatabase::database().lastError().text(); 
     110                return QStringList(); 
     111        } 
     112        QStringList res; 
     113        while (query.next()) 
     114        { 
     115                res.append(query.value(0).toString()); 
     116        } 
     117        return res; 
     118} 
     119 
    101120void Nick::setAllOffline (Conference* conf) 
    102121{ 
  • src/plugins/muc/nick.h

    r198 r204  
    2424        Jid* jid() const { return myJid; }; 
    2525 
     26        QStringList similarNicks(); 
     27         
    2628        void setJid(const QString& jid); 
    2729        void setNick(const QString& nick);