summaryrefslogtreecommitdiff
path: root/src/account-server/dalstorage.cpp
diff options
context:
space:
mode:
authorPhilipp Sehmisch <crush@themanaworld.org>2009-03-05 19:40:40 +0100
committerPhilipp Sehmisch <crush@themanaworld.org>2009-03-05 19:40:40 +0100
commit6f60667b2671104365c7fcfa7866064e04d50156 (patch)
tree2161adc2f40bcc0fc61baf2b92508eda160e1a6f /src/account-server/dalstorage.cpp
parent8abc32b07bd86a45be9863ec9ae8ca1fdb4d3e75 (diff)
parent7ae5cf4b6d17a85a010c1eb3262d340e94f44e77 (diff)
downloadmanaserv-6f60667b2671104365c7fcfa7866064e04d50156.tar.gz
manaserv-6f60667b2671104365c7fcfa7866064e04d50156.tar.bz2
manaserv-6f60667b2671104365c7fcfa7866064e04d50156.tar.xz
manaserv-6f60667b2671104365c7fcfa7866064e04d50156.zip
Merge branch 'master' of git@gitorious.org:tmwserv/mainline
Diffstat (limited to 'src/account-server/dalstorage.cpp')
-rw-r--r--src/account-server/dalstorage.cpp79
1 files changed, 78 insertions, 1 deletions
diff --git a/src/account-server/dalstorage.cpp b/src/account-server/dalstorage.cpp
index 55a31d30..eac9f409 100644
--- a/src/account-server/dalstorage.cpp
+++ b/src/account-server/dalstorage.cpp
@@ -41,7 +41,7 @@
// defines the supported db version
#define DB_VERSION_PARAMETER "database_version"
-#define SUPPORTED_DB_VERSION "2"
+#define SUPPORTED_DB_VERSION "3"
/**
@@ -1006,6 +1006,7 @@ void DALStorage::setMemberRights(int guildId, int memberId, int rights)
<< " set rights = '" << rights << "'"
<< " where member_id = \""
<< memberId << "\";";
+ mDb->execSql(sql.str());
}
catch (const dal::DbSqlQueryExecFailure& e)
{
@@ -1627,3 +1628,79 @@ void DALStorage::setOnlineStatus(int charId, bool online)
LOG_ERROR("(DALStorage::setOnlineStatus) SQL query failure: " << e.what());
}
}
+
+void DALStorage::addTransaction(const Transaction &trans)
+{
+ try
+ {
+ std::stringstream sql;
+ sql << "INSERT INTO " << TRANSACTION_TBL_NAME
+ << " VALUES (NULL, " << trans.mCharacterId << ", " << trans.mAction
+ << ", '" << trans.mMessage << "', " << time(NULL) << ")";
+ mDb->execSql(sql.str());
+ }
+ catch (dal::DbSqlQueryExecFailure const &e)
+ {
+ LOG_ERROR("(DALStorage::addTransaction) SQL query failure: " << e.what());
+ }
+}
+
+std::vector<Transaction> DALStorage::getTransactions(unsigned int num)
+{
+ std::vector<Transaction> transactions;
+ string_to<unsigned int> toUint;
+
+ try
+ {
+ std::stringstream sql;
+ sql << "SELECT * FROM " << TRANSACTION_TBL_NAME;
+ dal::RecordSet const &rec = mDb->execSql(sql.str());
+
+ int size = rec.rows();
+ int start = size - num;
+ // Get the last <num> records and store them in transactions
+ for (int i = start; i < size; ++i)
+ {
+ Transaction trans;
+ trans.mCharacterId = toUint(rec(i, 1));
+ trans.mAction = toUint(rec(i, 2));
+ trans.mMessage = rec(i, 3);
+ transactions.push_back(trans);
+ }
+ }
+ catch (dal::DbSqlQueryExecFailure const &e)
+ {
+ LOG_ERROR("(DALStorage::getTransactions) SQL query failure: " << e.what());
+ }
+
+ return transactions;
+}
+
+std::vector<Transaction> DALStorage::getTransactions(time_t date)
+{
+ std::vector<Transaction> transactions;
+ string_to<unsigned int> toUint;
+
+ try
+ {
+ std::stringstream sql;
+ sql << "SELECT * FROM " << TRANSACTION_TBL_NAME << " WHERE time > "
+ << date;
+ dal::RecordSet const &rec = mDb->execSql(sql.str());
+
+ for (int i = 0; i < rec.rows(); ++i)
+ {
+ Transaction trans;
+ trans.mCharacterId = toUint(rec(i, 1));
+ trans.mAction = toUint(rec(i, 2));
+ trans.mMessage = rec(i, 3);
+ transactions.push_back(trans);
+ }
+ }
+ catch (dal::DbSqlQueryExecFailure const &e)
+ {
+ LOG_ERROR("(DALStorage::getTransactions) SQL query failure: " << e.what());
+ }
+
+ return transactions;
+}