X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=include%2Fhttp%2Fipagehandler.h;h=d0c585683b02d945b722f2c2c203a0f3d0db0dce;hb=59a5414ec47a2932a7802fcd1d98c4d80166564f;hp=745f72784a8a3a66f7146c10eb19ac25ffc302b6;hpb=dec33c63afafabf83c3039e916725cac6faef9b3;p=fms.git diff --git a/include/http/ipagehandler.h b/include/http/ipagehandler.h index 745f727..d0c5856 100644 --- a/include/http/ipagehandler.h +++ b/include/http/ipagehandler.h @@ -2,6 +2,7 @@ #define _ipagehandler_ #include "../ilogger.h" +#include "../idatabase.h" #include #include @@ -12,13 +13,13 @@ #include #include -class IPageHandler:public Poco::Net::HTTPRequestHandler,public ILogger +class IPageHandler:public Poco::Net::HTTPRequestHandler,public ILogger,public IDatabase { public: - IPageHandler() {} - IPageHandler(const std::string &templatestr) { m_template=templatestr; } + IPageHandler(SQLite3DB::DB *db):IDatabase(db) {} + IPageHandler(SQLite3DB::DB *db, const std::string &templatestr, const std::string &pagename):IDatabase(db),m_template(templatestr),m_pagename(pagename) { } virtual ~IPageHandler() {} - virtual const bool WillHandleURI(const std::string &uri)=0; + virtual const bool WillHandleURI(const std::string &uri); virtual IPageHandler *New()=0; // returns a new instance of the object @@ -34,10 +35,16 @@ protected: void CreateQueryVarMap(Poco::Net::HTTPServerRequest &request, std::map &vars); + const std::string CreateFormPassword(); + const bool ValidateFormPassword(const std::map &vars); + // replaces html elements with encoded characters (i.e. < becomes <) const std::string SanitizeOutput(const std::string &input); + // don't replace space with  , because browser might convert to unicode non breaking space character + const std::string SanitizeTextAreaOutput(const std::string &input); std::string m_template; + std::string m_pagename; };