6 |
|
|
7 |
|
#include "Zoe.hpp" |
8 |
|
|
9 |
< |
std::ostream& operator<<(std::ostream& sout, const Buddy& buddy) |
9 |
> |
ext::String Buddy::getRssLink() const |
10 |
|
{ |
11 |
< |
sout << buddy.login << '(' << buddy.rss << ')'; |
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 |
< |
return sout; |
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 |
|
} |