QMap<QString, ServerInfo_User> Servatrice_DatabaseInterface::getIgnoreList(const QString &name) { QMap<QString, ServerInfo_User> result; if (server->getAuthenticationMethod() == Servatrice::AuthenticationSql) { checkSql(); QSqlQuery *query = prepareQuery("select a.id, a.name, a.admin, a.country, a.privlevel from {prefix}_users a left join {prefix}_ignorelist b on a.id = b.id_user2 left join {prefix}_users c on b.id_user1 = c.id where c.name = :name"); query->bindValue(":name", name); if (!execSqlQuery(query)) return result; while (query->next()) { ServerInfo_User temp = evalUserQueryResult(query, false); result.insert(QString::fromStdString(temp.name()), temp); } } return result; }
QMap<QString, ServerInfo_User> Servatrice_DatabaseInterface::getBuddyList(const QString &name) { QMap<QString, ServerInfo_User> result; if (server->getAuthenticationMethod() == Servatrice::AuthenticationSql) { checkSql(); QSqlQuery query(sqlDatabase); query.prepare("select a.id, a.name, a.admin, a.realname, a.gender, a.country from " + server->getDbPrefix() + "_users a left join " + server->getDbPrefix() + "_buddylist b on a.id = b.id_user2 left join " + server->getDbPrefix() + "_users c on b.id_user1 = c.id where c.name = :name"); query.bindValue(":name", name); if (!execSqlQuery(query)) return result; while (query.next()) { const ServerInfo_User &temp = evalUserQueryResult(query, false); result.insert(QString::fromStdString(temp.name()), temp); } } return result; }
ServerInfo_User *Servatrice::getUserData(const QString &name) { QMutexLocker locker(&dbMutex); const QString method = settings->value("authentication/method").toString(); if (method == "sql") { checkSql(); QSqlQuery query; query.prepare("select name, admin, realname, gender, country, avatar_bmp from " + dbPrefix + "_users where name = :name and active = 1"); query.bindValue(":name", name); if (!execSqlQuery(query)) return new ServerInfo_User(name, ServerInfo_User::IsUser); if (query.next()) return evalUserQueryResult(query, true); else return new ServerInfo_User(name, ServerInfo_User::IsUser); } else return new ServerInfo_User(name, ServerInfo_User::IsUser); }
QMap<QString, ServerInfo_User *> Servatrice::getIgnoreList(const QString &name) { QMutexLocker locker(&dbMutex); QMap<QString, ServerInfo_User *> result; const QString method = settings->value("authentication/method").toString(); if (method == "sql") { checkSql(); QSqlQuery query; query.prepare("select a.name, a.admin, a.realname, a.gender, a.country from " + dbPrefix + "_users a left join " + dbPrefix + "_ignorelist b on a.id = b.id_user2 left join " + dbPrefix + "_users c on b.id_user1 = c.id where c.name = :name"); query.bindValue(":name", name); if (!execSqlQuery(query)) return result; while (query.next()) { ServerInfo_User *temp = evalUserQueryResult(query, false); result.insert(temp->getName(), temp); } } return result; }
ServerInfo_User Servatrice_DatabaseInterface::getUserData(const QString &name, bool withId) { ServerInfo_User result; result.set_name(name.toStdString()); result.set_user_level(ServerInfo_User::IsUser); if (server->getAuthenticationMethod() == Servatrice::AuthenticationSql) { if (!checkSql()) return result; QSqlQuery query(sqlDatabase); query.prepare("select id, name, admin, realname, gender, country, avatar_bmp, registrationDate from " + server->getDbPrefix() + "_users where name = :name and active = 1"); query.bindValue(":name", name); if (!execSqlQuery(query)) return result; if (query.next()) return evalUserQueryResult(query, true, withId); else return result; } else return result; }