Loading plugins/survey/survey.cpp +17 −3 Original line number Diff line number Diff line Loading @@ -721,10 +721,24 @@ namespace blogi { // ----- Build Google Sheet tab name: domain (dots->underscores) + survey name ----- std::string buildSheetName(const std::string &surveyName) { std::string domain = Args->config->getDomain(); // Extract hostname from site URL (strip scheme and port, like cookie domain) std::string url = Args->config->getsiteurl(); std::string host; auto schemeEnd = url.find("://"); if (schemeEnd != std::string::npos) host = url.substr(schemeEnd + 3); else host = url; auto colon = host.find(':'); if (colon != std::string::npos) host = host.substr(0, colon); auto slash = host.find('/'); if (slash != std::string::npos) host = host.substr(0, slash); std::string sheet; sheet.reserve(domain.size() + 1 + surveyName.size()); for (char c : domain) { sheet.reserve(host.size() + 1 + surveyName.size()); for (char c : host) { sheet += (c == '.') ? '_' : c; } sheet += '_'; Loading Loading
plugins/survey/survey.cpp +17 −3 Original line number Diff line number Diff line Loading @@ -721,10 +721,24 @@ namespace blogi { // ----- Build Google Sheet tab name: domain (dots->underscores) + survey name ----- std::string buildSheetName(const std::string &surveyName) { std::string domain = Args->config->getDomain(); // Extract hostname from site URL (strip scheme and port, like cookie domain) std::string url = Args->config->getsiteurl(); std::string host; auto schemeEnd = url.find("://"); if (schemeEnd != std::string::npos) host = url.substr(schemeEnd + 3); else host = url; auto colon = host.find(':'); if (colon != std::string::npos) host = host.substr(0, colon); auto slash = host.find('/'); if (slash != std::string::npos) host = host.substr(0, slash); std::string sheet; sheet.reserve(domain.size() + 1 + surveyName.size()); for (char c : domain) { sheet.reserve(host.size() + 1 + surveyName.size()); for (char c : host) { sheet += (c == '.') ? '_' : c; } sheet += '_'; Loading