Commit 590e322e authored by jan.koester's avatar jan.koester
Browse files

test

parent 29f04a2e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ namespace blogi {
        std::string                                     prefix;
        std::string                                     startPage;
        std::string                                     siteUrl;
        std::unique_ptr<blogi::Config>                  config;
        std::unique_ptr<PluginArgs>                     plgArgs;
        std::unique_ptr<blogi::Plugin>                  plugins;
        libhtmlpp::HtmlPage                             page, mPage;
+20 −0
Original line number Diff line number Diff line
@@ -230,6 +230,26 @@ blogi::Config::~Config(){

}

void blogi::Config::applyDomain(const DomainConfig &dc){
    _DBDriver     = dc.dbDriver;
    _DBConnection = dc.dbConnection;
    _DBReplicas   = dc.dbReplicas;
    _AuthUrl      = dc.authUrl;
    _ClientName   = dc.clientName;
    _ClientSecret = dc.clientSecret;
    _AuthSources  = dc.authSources;
    _HttpUrl      = dc.siteUrl;
    _HttpUrls     = dc.siteUrls;
    _HttpPrefix   = dc.prefix;
    if(_HttpPrefix == "/")
        _HttpPrefix = "";
    _Template     = dc.templatePath;
    _StartPage    = dc.startPage;
    _PlgDir       = dc.plgDirs;
    _MediaDBUrl   = dc.mediaDBUrl;
    _TmpDir       = dc.tmpDir;
}

const std::string blogi::Config::buildurl(const std::string &url) const{
    std::stringstream str;
    if(getprefix().empty() || getprefix() == "/")
+5 −0
Original line number Diff line number Diff line
@@ -121,6 +121,11 @@ namespace blogi {
        const DomainConfig &getDomainConfig(size_t idx) const;
        const DomainConfig *findDomainConfig(const std::string &hostname) const;

        // Override the global/single-domain fields with a specific domain's
        // settings so that plugins (which read the global getters) become
        // domain-aware (prefix, siteurl, auth, db, template, ...).
        void applyDomain(const DomainConfig &dc);

    private:
        std::string               _ConfigPath;
        std::vector<std::string>  _PlgDir;