diff options
author | Alexander Lantsev <aunsane@gmail.com> | 2014-02-28 11:34:57 +0000 |
---|---|---|
committer | Alexander Lantsev <aunsane@gmail.com> | 2014-02-28 11:34:57 +0000 |
commit | c95380f9b30137a01b776f0390438908f47cc848 (patch) | |
tree | 50aba68883a1e7419f11d2f973d0677b74439371 /plugins/Dropbox/src/dropbox_transfers.cpp | |
parent | 3979fba7ea0009a4e416380be767475008b1f3e6 (diff) |
Dropbox:
- fixed folders uploading
- added commands (/content, /share, /delete) to Dropbox bot
- fixed message after file sending to Dropbox bot
git-svn-id: http://svn.miranda-ng.org/main/trunk@8325 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/Dropbox/src/dropbox_transfers.cpp')
-rw-r--r-- | plugins/Dropbox/src/dropbox_transfers.cpp | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/plugins/Dropbox/src/dropbox_transfers.cpp b/plugins/Dropbox/src/dropbox_transfers.cpp index 2978955de7..80f3474f56 100644 --- a/plugins/Dropbox/src/dropbox_transfers.cpp +++ b/plugins/Dropbox/src/dropbox_transfers.cpp @@ -138,12 +138,21 @@ int CDropbox::SendFileChunkedLast(const char *fileName, const char *uploadId, MC fileName,
mir_u2a(json_as_string(node)));
- int res = ACKRESULT_SUCCESS;
-
if (hContact != CDropbox::GetDefaultContact())
- res = CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)&message);
-
- if (res != ACKRESULT_FAILED)
+ {
+ if (CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)&message != ACKRESULT_FAILED))
+ {
+ DBEVENTINFO dbei = { sizeof(dbei) };
+ dbei.szModule = MODULE;
+ dbei.timestamp = time(NULL);
+ dbei.eventType = EVENTTYPE_MESSAGE;
+ dbei.cbBlob = strlen(message);
+ dbei.pBlob = (PBYTE)message;
+ dbei.flags = DBEF_SENT | DBEF_UTF;
+ db_event_add(hContact, &dbei);
+ }
+ }
+ else
{
DBEVENTINFO dbei = { sizeof(dbei) };
dbei.szModule = MODULE;
@@ -151,7 +160,7 @@ int CDropbox::SendFileChunkedLast(const char *fileName, const char *uploadId, MC dbei.eventType = EVENTTYPE_MESSAGE;
dbei.cbBlob = strlen(message);
dbei.pBlob = (PBYTE)message;
- dbei.flags = DBEF_SENT | DBEF_UTF;
+ dbei.flags = DBEF_UTF;
db_event_add(hContact, &dbei);
}
@@ -182,7 +191,7 @@ int CDropbox::CreateFolder(const char *folderName, MCONTACT hContact) DROPBOX_API_ROOT,
folder);
- mir_ptr<HttpRequest> request(new HttpRequest(hNetlibUser, REQUEST_POST, DROPBOX_API_URL "/fileops/create_folder"));
+ HttpRequest *request = new HttpRequest(hNetlibUser, REQUEST_POST, DROPBOX_API_URL "/fileops/create_folder");
request->AddBearerAuthHeader(db_get_sa(NULL, MODULE, "TokenSecret"));
request->AddHeader("Content-Type", "application/x-www-form-urlencoded");
request->pData = mir_strdup(param);
@@ -190,7 +199,9 @@ int CDropbox::CreateFolder(const char *folderName, MCONTACT hContact) mir_ptr<NETLIBHTTPREQUEST> response(request->Send());
- if (response && response->resultCode == HTTP_STATUS::OK)
+ delete request;
+
+ if (response && (response->resultCode == HTTP_STATUS::OK || response->resultCode == HTTP_STATUS::FORBIDDEN))
{
if (!strchr(folderName, '\\'))
{
@@ -220,12 +231,21 @@ int CDropbox::CreateFolder(const char *folderName, MCONTACT hContact) folderName,
mir_u2a(json_as_string(node)));
- int res = ACKRESULT_SUCCESS;
-
if (hContact != CDropbox::GetDefaultContact())
- res = CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)&message);
-
- if (res != ACKRESULT_FAILED)
+ {
+ if (CallContactService(hContact, PSS_MESSAGE, 0, (LPARAM)&message) != ACKRESULT_FAILED)
+ {
+ DBEVENTINFO dbei = { sizeof(dbei) };
+ dbei.szModule = MODULE;
+ dbei.timestamp = time(NULL);
+ dbei.eventType = EVENTTYPE_MESSAGE;
+ dbei.cbBlob = strlen(message);
+ dbei.pBlob = (PBYTE)message;
+ dbei.flags = DBEF_SENT | DBEF_UTF;
+ db_event_add(hContact, &dbei);
+ }
+ }
+ else
{
DBEVENTINFO dbei = { sizeof(dbei) };
dbei.szModule = MODULE;
@@ -233,7 +253,7 @@ int CDropbox::CreateFolder(const char *folderName, MCONTACT hContact) dbei.eventType = EVENTTYPE_MESSAGE;
dbei.cbBlob = strlen(message);
dbei.pBlob = (PBYTE)message;
- dbei.flags = DBEF_SENT | DBEF_UTF;
+ dbei.flags = DBEF_UTF;
db_event_add(hContact, &dbei);
}
|