#include "aCms.hpp" #include #include #include #include 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( "aCms.db_connection" ) ), mail( settings( ).get( "aCms.mail.server" ), settings( ).get( "aCms.mail.port" ), settings( ).get( "aCms.mail.username" ), settings( ).get( "aCms.mail.password" ), settings( ).get( "aCms.mail.from" ) ) { locale_name = "en"; script = settings( ).get( "aCms.script" ); media = settings( ).get( "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; } }