Loading editor/src/webedit_api.cpp +21 −9 Changes for editor/src/webedit_api.cpp: 21 added lines, 9 removed lines. Original line number Diff line number Diff line Loading @@ -1269,8 +1269,10 @@ void webedit::Api::handleSetProperties(libhttppp::HttpRequest &curreq, std::string authid, blogUrl; { std::lock_guard<std::mutex> clk(_connSessionMtx); if (!_connSessions.empty()) { auto it = _connSessions.begin(); auto it = _connSessions.find(_activeConnId); if (it == _connSessions.end() && !_connSessions.empty()) it = _connSessions.begin(); if (it != _connSessions.end()) { authid = it->second.authid; blogUrl = it->second.blogUrl; } Loading Loading @@ -1391,8 +1393,10 @@ void webedit::Api::handlePreviewPage(libhttppp::HttpRequest &curreq, std::string authid, blogUrl; { std::lock_guard<std::mutex> lk(_connSessionMtx); if (!_connSessions.empty()) { auto it = _connSessions.begin(); auto it = _connSessions.find(_activeConnId); if (it == _connSessions.end() && !_connSessions.empty()) it = _connSessions.begin(); if (it != _connSessions.end()) { authid = it->second.authid; blogUrl = it->second.blogUrl; } Loading Loading @@ -1454,8 +1458,11 @@ void webedit::Api::handleExportXml(libhttppp::HttpRequest &curreq, std::string blogUrl; { std::lock_guard<std::mutex> clk(_connSessionMtx); if (!_connSessions.empty()) blogUrl = _connSessions.begin()->second.blogUrl; auto it = _connSessions.find(_activeConnId); if (it == _connSessions.end() && !_connSessions.empty()) it = _connSessions.begin(); if (it != _connSessions.end()) blogUrl = it->second.blogUrl; } std::string packageXml = xml; Loading Loading @@ -1622,13 +1629,17 @@ void webedit::Api::handleImportXml(libhttppp::HttpRequest &curreq, authid = it->second.authid; blogUrl = it->second.blogUrl; } } else if (!_connSessions.empty()) { auto it = _connSessions.begin(); } else { auto it = _connSessions.find(_activeConnId); if (it == _connSessions.end() && !_connSessions.empty()) it = _connSessions.begin(); if (it != _connSessions.end()) { authid = it->second.authid; blogUrl = it->second.blogUrl; connId = it->first; } } } if (authid.empty() || blogUrl.empty()) { cleanupAndFail(400, "No active connection session for media import"); Loading Loading @@ -3156,10 +3167,11 @@ void webedit::Api::handleConnectToConnection(libhttppp::HttpRequest &curreq, } json_object_put(checkResp); // Store authid in session cache // Store authid in session cache and remember as active connection { std::lock_guard<std::mutex> lk(_connSessionMtx); _connSessions[connId] = {authid, blogUrl}; _activeConnId = connId; } // Get publish targets using authid Loading editor/src/webedit_api.h +1 −0 Changes for editor/src/webedit_api.h: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ namespace webedit { }; std::mutex _connSessionMtx; std::map<std::string, ConnSession> _connSessions; std::string _activeConnId; // most recently connected connId (guarded by _connSessionMtx) // Document section list (for section_select widget field) void handleListDocumentSections(libhttppp::HttpRequest &curreq, const std::string &sessionid); Loading Loading
editor/src/webedit_api.cpp +21 −9 Changes for editor/src/webedit_api.cpp: 21 added lines, 9 removed lines. Original line number Diff line number Diff line Loading @@ -1269,8 +1269,10 @@ void webedit::Api::handleSetProperties(libhttppp::HttpRequest &curreq, std::string authid, blogUrl; { std::lock_guard<std::mutex> clk(_connSessionMtx); if (!_connSessions.empty()) { auto it = _connSessions.begin(); auto it = _connSessions.find(_activeConnId); if (it == _connSessions.end() && !_connSessions.empty()) it = _connSessions.begin(); if (it != _connSessions.end()) { authid = it->second.authid; blogUrl = it->second.blogUrl; } Loading Loading @@ -1391,8 +1393,10 @@ void webedit::Api::handlePreviewPage(libhttppp::HttpRequest &curreq, std::string authid, blogUrl; { std::lock_guard<std::mutex> lk(_connSessionMtx); if (!_connSessions.empty()) { auto it = _connSessions.begin(); auto it = _connSessions.find(_activeConnId); if (it == _connSessions.end() && !_connSessions.empty()) it = _connSessions.begin(); if (it != _connSessions.end()) { authid = it->second.authid; blogUrl = it->second.blogUrl; } Loading Loading @@ -1454,8 +1458,11 @@ void webedit::Api::handleExportXml(libhttppp::HttpRequest &curreq, std::string blogUrl; { std::lock_guard<std::mutex> clk(_connSessionMtx); if (!_connSessions.empty()) blogUrl = _connSessions.begin()->second.blogUrl; auto it = _connSessions.find(_activeConnId); if (it == _connSessions.end() && !_connSessions.empty()) it = _connSessions.begin(); if (it != _connSessions.end()) blogUrl = it->second.blogUrl; } std::string packageXml = xml; Loading Loading @@ -1622,13 +1629,17 @@ void webedit::Api::handleImportXml(libhttppp::HttpRequest &curreq, authid = it->second.authid; blogUrl = it->second.blogUrl; } } else if (!_connSessions.empty()) { auto it = _connSessions.begin(); } else { auto it = _connSessions.find(_activeConnId); if (it == _connSessions.end() && !_connSessions.empty()) it = _connSessions.begin(); if (it != _connSessions.end()) { authid = it->second.authid; blogUrl = it->second.blogUrl; connId = it->first; } } } if (authid.empty() || blogUrl.empty()) { cleanupAndFail(400, "No active connection session for media import"); Loading Loading @@ -3156,10 +3167,11 @@ void webedit::Api::handleConnectToConnection(libhttppp::HttpRequest &curreq, } json_object_put(checkResp); // Store authid in session cache // Store authid in session cache and remember as active connection { std::lock_guard<std::mutex> lk(_connSessionMtx); _connSessions[connId] = {authid, blogUrl}; _activeConnId = connId; } // Get publish targets using authid Loading
editor/src/webedit_api.h +1 −0 Changes for editor/src/webedit_api.h: 1 added line, 0 removed lines. Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ namespace webedit { }; std::mutex _connSessionMtx; std::map<std::string, ConnSession> _connSessions; std::string _activeConnId; // most recently connected connId (guarded by _connSessionMtx) // Document section list (for section_select widget field) void handleListDocumentSections(libhttppp::HttpRequest &curreq, const std::string &sessionid); Loading