WApplication *createWtHomeApplication(const WEnvironment& env) { // support for old (< Wt-2.2) homepage URLS: redirect from "states" // to "internal paths" // this contains the initial "history state" in old Wt versions const std::string *historyKey = env.getParameter("historyKey"); if (historyKey) { const char *mainStr[] = { "main:0", "/", "main:1", "/news", "main:2", "/features", "main:4", "/examples", "main:3", "/documentation", "main:5", "/download", "main:6", "/community" }; const char *exampleStr[] = { "example:0", "/examples", "example:1", "/examples/charts", "example:2", "/examples/wt-homepage", "example:3", "/examples/treelist", "example:4", "/examples/hangman", "example:5", "/examples/chat", "example:6", "/examples/mail-composer", "example:7", "/examples/drag-and-drop", "example:8", "/examples/file-explorer", "example:9", "/examples/calendar" }; if (historyKey->find("main:4") != std::string::npos) { for (unsigned i = 0; i < 10; ++i) if (historyKey->find(exampleStr[i*2]) != std::string::npos) { WApplication *app = new WApplication(env); app->log("notice") << "redirecting old style URL '" << *historyKey << "' to internal path: '" << exampleStr[i*2+1] << "'"; app->redirect(app->bookmarkUrl(exampleStr[i*2+1])); app->quit(); return app; } } else for (unsigned i = 0; i < 6; ++i) if (historyKey->find(mainStr[i*2]) != std::string::npos) { WApplication *app = new WApplication(env); app->log("notice") << "redirecting old style URL '" << *historyKey << "' to internal path: '" << mainStr[i*2+1] << "'"; app->redirect(app->bookmarkUrl(mainStr[i*2+1])); app->quit(); return app; } // unknown history key, just continue } return new WtHome(env); }
void WsNewsLetter::sendConfirmMail(const std::string& email, const std::string& userToken) const { std::string url = "/newsletter/subscribe/"; WApplication *app = WApplication::instance(); url = app->makeAbsoluteUrl(app->bookmarkUrl(url)) + userToken; Mail::Message message; message.addRecipient(Mail::To, Mail::Mailbox(email)); message.setSubject(WString::tr("subject")); message.setBody(WString::tr("body").arg(email).arg(url)); message.addHtmlBody(WString::tr("htmlbody").arg(email).arg(url)); sendMail(message); }
void AuthService::sendConfirmMail(const std::string& address, const User& user, const std::string& token) const { Mail::Message message; WApplication *app = WApplication::instance(); std::string url = app->makeAbsoluteUrl(app->bookmarkUrl(redirectInternalPath_)) + token ; message.addRecipient(Mail::To, Mail::Mailbox(address)); message.setSubject(WString::tr("Wt.Auth.confirmmail.subject")); message.setBody(WString::tr("Wt.Auth.confirmmail.body") .arg(user.identity(Identity::LoginName)) .arg(token).arg(url)); message.addHtmlBody(WString::tr("Wt.Auth.confirmmail.htmlbody") .arg(user.identity(Identity::LoginName)) .arg(token).arg(url)); sendMail(message); }
std::string AuthService::createRedirectUrl(const std::string& token) const { WApplication *app = WApplication::instance(); return app->makeAbsoluteUrl(app->bookmarkUrl(redirectInternalPath_)) + token; }