Changeset - dd1695b53051
[Not reviewed]
0 1 0
vitalyster - 9 years ago 2016-05-31 19:56:05
vitalyster@gmail.com
libpurple: send oauth link only once
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/main.cpp
Show inline comments
 
@@ -1530,97 +1530,97 @@ static void *notify_user_info(PurpleConnection *gc, const char *who, PurpleNotif
 
			if (true) {
 
				gchar *data;
 
				gchar *path = purple_buddy_icon_get_full_path_wrapped(icon);
 
				if (path) {
 
					if (g_file_get_contents(path, &data, &len, NULL)) {
 
						photo = std::string(data, len);
 
						g_free(data);
 
					}
 
					g_free(path);
 
				}
 
			}
 
			else {
 
				const gchar * data = (gchar*)purple_buddy_icon_get_data_wrapped(icon, &len);
 
				if (len < 300000 && data) {
 
					photo = std::string(data, len);
 
				}
 
			}
 
			purple_buddy_icon_unref_wrapped(icon);
 
		}
 
	}
 
    
 
	np->handleVCard(np->m_accounts[account], np->m_vcards[np->m_accounts[account] + name], name, fullName, nickname, photo);
 
	np->m_vcards.erase(np->m_accounts[account] + name);
 

	
 
	return NULL;
 
}
 

	
 
void * requestInput(const char *title, const char *primary,const char *secondary, const char *default_value, gboolean multiline, gboolean masked, gchar *hint,const char *ok_text, GCallback ok_cb,const char *cancel_text, GCallback cancel_cb, PurpleAccount *account, const char *who,PurpleConversation *conv, void *user_data) {
 
    if (primary) {
 
        std::string primaryString(primary);
 
        if (primaryString == "Authorization Request Message:") {
 
            LOG4CXX_INFO(logger, "Authorization Request Message: calling ok_cb(...)");
 
            ((PurpleRequestInputCb) ok_cb)(user_data, "Please authorize me.");
 
            return NULL;
 
        }
 
        else if (primaryString == "Authorization Request Message:") {
 
            LOG4CXX_INFO(logger, "Authorization Request Message: calling ok_cb(...)");
 
            ((PurpleRequestInputCb) ok_cb)(user_data, "Please authorize me.");
 
            return NULL;
 
        }
 
        else if (primaryString == "Authorization Denied Message:") {
 
            LOG4CXX_INFO(logger, "Authorization Deined Message: calling ok_cb(...)");
 
            ((PurpleRequestInputCb) ok_cb)(user_data, "Authorization denied.");
 
            return NULL;
 
        }
 
        else if (boost::starts_with(primaryString, "https://accounts.google.com/o/oauth2/auth")) {
 
            LOG4CXX_INFO(logger, "prpl-hangouts oauth request");
 
            np->handleMessage(np->m_accounts[account], np->adminLegacyName, std::string("Please visit the following link and authorize this application: ") + primaryString, "");
 
            np->handleMessage(np->m_accounts[account], np->adminLegacyName, std::string("Reply with code provided by Google: ");
 
            np->handleMessage(np->m_accounts[account], np->adminLegacyName, std::string("Reply with code provided by Google: "));
 
            inputRequest *req = new inputRequest;
 
            req->ok_cb = (PurpleRequestInputCb)ok_cb;
 
            req->user_data = user_data;
 
            req->account = account;
 
            req->mainJID = np->m_accounts[account];
 
            np->m_inputRequests[req->mainJID] = req;
 
            return NULL;
 
        }
 
        else {
 
            LOG4CXX_WARN(logger, "Unhandled request input. primary=" << primaryString);
 
        }
 
    }
 
    else if (title) {
 
        std::string titleString(title);
 
        if (titleString == "Xfire Invitation Message") {
 
            LOG4CXX_INFO(logger, "Authorization Request Message: calling ok_cb(...)");
 
            ((PurpleRequestInputCb) ok_cb)(user_data, "Please authorize me.");
 
            return NULL;
 
        }
 
        else {
 
            LOG4CXX_WARN(logger, "Unhandled request input. title=" << titleString);
 
        }
 
    }
 
    else {
 
        LOG4CXX_WARN(logger, "Request input without primary string");
 
    }
 
    return NULL;
 
}
 

	
 
static PurpleNotifyUiOps notifyUiOps =
 
{
 
		NULL,
 
		NULL,
 
		NULL,
 
		NULL,
 
		NULL,
 
		NULL,
 
		notify_user_info,
 
		NULL,
 
		NULL,
 
		NULL,
 
		NULL,
 
		NULL,
 
		NULL
 
};
 

	
 
static PurpleRequestUiOps requestUiOps =
 
{
0 comments (0 inline, 0 general)