diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2015-12-13 15:53:59 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2015-12-13 15:53:59 +0100 |
commit | 35997e9d743721ee0392812d38e29616885a427c (patch) | |
tree | 36909a9eedfdbcb7591e7c568fef2a6b2ad4c692 /src/aCms.cpp | |
parent | ebf669cdbf7854f03113a937605658f100aefd48 (diff) | |
download | aCms-35997e9d743721ee0392812d38e29616885a427c.tar.gz aCms-35997e9d743721ee0392812d38e29616885a427c.tar.bz2 |
renamed the project to aCms (avoid confusion)
Diffstat (limited to 'src/aCms.cpp')
-rw-r--r-- | src/aCms.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/src/aCms.cpp b/src/aCms.cpp new file mode 100644 index 0000000..52f533d --- /dev/null +++ b/src/aCms.cpp @@ -0,0 +1,71 @@ +#include "aCms.hpp" + +#include <cppcms/url_mapper.h> +#include <cppcms/http_response.h> +#include <cppcms/json.h> +#include <cppdb/frontend.h> + +namespace { + +void setup_dbconnection( cppdb::session &sql ) +{ + std::string driver = sql.driver( ); + + if( driver == "sqlite3" ) { + sql << "PRAGMA foreign_keys = 1" << cppdb::exec; + } +} + +} + +namespace apps { + +aCms::aCms( cppcms::service &srv ) + : cppcms::application( srv ), + master( *this ), + intro( *this ), + user( *this ), + page( *this ), + conn( settings( ).get<std::string>( "aCms.db_connection" ) ), + mail( settings( ).get<std::string>( "aCms.mail.server" ), + settings( ).get<unsigned short>( "aCms.mail.port" ), + settings( ).get<std::string>( "aCms.mail.username" ), + settings( ).get<std::string>( "aCms.mail.password" ), + settings( ).get<std::string>( "aCms.mail.from" ) + ) +{ + locale_name = "en"; + script = settings( ).get<std::string>( "aCms.script" ); + media = settings( ).get<std::string>( "aCms.media" ); + + cppdb::session sql( conn ); + sql.once( setup_dbconnection ); + + add( master ); + add( intro ); + add( user ); + add( page ); + + master.register_common_pages( ); + + mapper( ).root( root( ) ); +} + +std::string aCms::root( std::string l ) +{ + return script; + // TODO: localization later + //~ if( l.empty( ) ) l = locale_name; + //~ return script + "/" + l; +} + +std::string aCms::media_root( std::string l ) +{ + return media; + // TODO: localization later + //~ if( l.empty( ) ) l = locale_name; + //~ return script + "/" + l; +} + + +} |