1 |
// Zoe AIM Away Message RSS Feed Generator |
2 |
// |
3 |
// Seth King and Douglas Thrift |
4 |
// |
5 |
// $Id$ |
6 |
|
7 |
#include "Zoe.hpp" |
8 |
|
9 |
ext::String Buddy::getRssLink() const |
10 |
{ |
11 |
std::string link(this->link); |
12 |
|
13 |
return link.substr(0, link.rfind('/')) + '/' + rss; |
14 |
} |
15 |
|
16 |
ext::String Buddy::getAtomLink() const |
17 |
{ |
18 |
std::string link(this->link); |
19 |
|
20 |
return link.substr(0, link.rfind('/')) + '/' + atom; |
21 |
} |
22 |
|
23 |
ext::String Buddy::getDisplay(const Database& database) const |
24 |
{ |
25 |
ext::Handle<dbi::Connection> db(dbi::Connect(database.driver, database.host, |
26 |
database.user, database.password, database.db)); |
27 |
ext::Handle<dbi::ResultSet> display(db->Execute("SELECT display " |
28 |
"FROM displays WHERE id='" + lexical_cast<ext::String>(id) + "'")); |
29 |
|
30 |
if (display->MoveNext()) return display->GetString("display"); |
31 |
else return login; |
32 |
} |
33 |
|
34 |
void Buddy::setDisplay(const ext::String& display, const Database& database) const |
35 |
{ |
36 |
ext::Handle<dbi::Connection> db(dbi::Connect(database.driver, database.host, |
37 |
database.user, database.password, database.db)); |
38 |
ext::Handle<dbi::ResultSet> update(db->Execute("SELECT * FROM displays " |
39 |
"WHERE id = '" + lexical_cast<ext::String>(id) + "'")); |
40 |
|
41 |
if (update->MoveNext()) db->Execute("UPDATE displays SET display='" |
42 |
+ display + "' WHERE id='" + lexical_cast<ext::String>(id) + "'"); |
43 |
else db->Execute("INSERT INTO displays (display, id) VALUES ('" + display |
44 |
+ "', '" + lexical_cast<ext::String>(id) + "')"); |
45 |
} |