mirror of
https://github.com/Relintai/wp_saver_rcpp_fw.git
synced 2024-11-14 04:57:23 +01:00
Blog list.
This commit is contained in:
parent
a6a8b11871
commit
8bd3c03468
@ -14,13 +14,38 @@
|
||||
#include "core/http/http_session.h"
|
||||
#include "core/http/session_manager.h"
|
||||
|
||||
void WPApplication::index(Object *instance, Request *request) {
|
||||
void WPApplication::index_fun(Object *instance, Request *request) {
|
||||
WPApplication *app = Object::cast_to<WPApplication>(instance);
|
||||
|
||||
request->body += "test";
|
||||
app->index(request);
|
||||
}
|
||||
|
||||
void WPApplication::blog_fun(Object *instance, Request *request) {
|
||||
WPApplication *app = Object::cast_to<WPApplication>(instance);
|
||||
|
||||
app->blog(request);
|
||||
}
|
||||
|
||||
void WPApplication::index(Request *request) {
|
||||
HTMLBuilder b;
|
||||
|
||||
b.div("content");
|
||||
|
||||
b.div("content_head")->f()->w("Saved blogs:")->cdiv();
|
||||
|
||||
for (int i = 0; i < _blog_data.size(); ++i) {
|
||||
BlogData &bd = _blog_data[i];
|
||||
|
||||
b.div("content_row")->f()->fa("/blog/" + bd.name + "/", bd.name, "blog_link")->cdiv();
|
||||
}
|
||||
|
||||
b.cdiv();
|
||||
|
||||
request->body += b.result;
|
||||
request->compile_and_send_body();
|
||||
}
|
||||
|
||||
void WPApplication::blog(Object *instance, Request *request) {
|
||||
void WPApplication::blog(Request *request) {
|
||||
request->body += "test blog";
|
||||
request->compile_and_send_body();
|
||||
}
|
||||
@ -43,8 +68,6 @@ void WPApplication::routing_middleware(Object *instance, Request *request) {
|
||||
|
||||
request->handler_instance = app->index_func;
|
||||
} else {
|
||||
|
||||
|
||||
const String main_route = request->get_current_path_segment();
|
||||
|
||||
request->push_path();
|
||||
@ -67,8 +90,8 @@ void WPApplication::routing_middleware(Object *instance, Request *request) {
|
||||
void WPApplication::setup_routes() {
|
||||
DWebApplication::setup_routes();
|
||||
|
||||
index_func = HandlerInstance(index, this);
|
||||
blog_func = HandlerInstance(blog, this);
|
||||
index_func = HandlerInstance(index_fun, this);
|
||||
blog_func = HandlerInstance(blog_fun, this);
|
||||
}
|
||||
|
||||
void WPApplication::setup_middleware() {
|
||||
@ -78,6 +101,15 @@ void WPApplication::setup_middleware() {
|
||||
void WPApplication::migrate() {
|
||||
}
|
||||
|
||||
void WPApplication::add_blog(const String &name, Database *db) {
|
||||
BlogData bd;
|
||||
|
||||
bd.name = name;
|
||||
bd.db = db;
|
||||
|
||||
_blog_data.push_back(bd);
|
||||
}
|
||||
|
||||
void WPApplication::compile_menu() {
|
||||
HTMLBuilder bh;
|
||||
|
||||
@ -108,4 +140,3 @@ WPApplication::WPApplication() :
|
||||
|
||||
WPApplication::~WPApplication() {
|
||||
}
|
||||
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
//#include "core/http/web_application.h"
|
||||
#include "core/object.h"
|
||||
#include "modules/drogon/web_application.h"
|
||||
#include "core/string.h"
|
||||
#include "modules/drogon/web_application.h"
|
||||
|
||||
#undef LOG_TRACE
|
||||
#undef LOG_WARN
|
||||
@ -13,8 +13,11 @@ class WPApplication : public DWebApplication {
|
||||
RCPP_OBJECT(WPApplication, DWebApplication);
|
||||
|
||||
public:
|
||||
static void index(Object *instance, Request *request);
|
||||
static void blog(Object *instance, Request *request);
|
||||
static void index_fun(Object *instance, Request *request);
|
||||
static void blog_fun(Object *instance, Request *request);
|
||||
|
||||
void index(Request *request);
|
||||
void blog(Request *request);
|
||||
|
||||
static void routing_middleware(Object *instance, Request *request);
|
||||
|
||||
@ -23,6 +26,8 @@ public:
|
||||
|
||||
virtual void migrate();
|
||||
|
||||
void add_blog(const String &name, Database *db);
|
||||
|
||||
void compile_menu();
|
||||
|
||||
WPApplication();
|
||||
@ -32,6 +37,13 @@ public:
|
||||
|
||||
String header;
|
||||
String footer;
|
||||
|
||||
struct BlogData {
|
||||
String name;
|
||||
Database *db;
|
||||
};
|
||||
|
||||
Vector<BlogData> _blog_data;
|
||||
};
|
||||
|
||||
#endif
|
25
main.cpp
25
main.cpp
@ -1,9 +1,9 @@
|
||||
#include <string.h>
|
||||
|
||||
#include "core/settings.h"
|
||||
#include "core/os/platform.h"
|
||||
#include "core/file_cache.h"
|
||||
#include "core/math/math.h"
|
||||
#include "core/os/platform.h"
|
||||
#include "core/settings.h"
|
||||
|
||||
#include "database/db_init.h"
|
||||
|
||||
@ -15,8 +15,8 @@
|
||||
|
||||
#include "core/settings.h"
|
||||
|
||||
#include "app/wp_downloader.h"
|
||||
#include "app/wp_application.h"
|
||||
#include "app/wp_downloader.h"
|
||||
|
||||
void initialize_backends() {
|
||||
initialize_database_backends();
|
||||
@ -33,11 +33,12 @@ int main(int argc, char **argv, char **envp) {
|
||||
Settings *settings = new Settings(true);
|
||||
settings->parse_ini_file("settings.ini");
|
||||
|
||||
DatabaseManager *dbm = new DatabaseManager();
|
||||
|
||||
bool download = Platform::get_singleton()->arg_parser.has_arg("-d");
|
||||
|
||||
if (download) {
|
||||
Vector<Ref<WPDownloader> > downloaders;
|
||||
DatabaseManager *dbm = new DatabaseManager();
|
||||
|
||||
bool save_original_data = settings->get_value_bool("save_original_data");
|
||||
|
||||
@ -64,7 +65,6 @@ int main(int argc, char **argv, char **envp) {
|
||||
}
|
||||
}
|
||||
|
||||
delete dbm;
|
||||
} else {
|
||||
FileCache *file_cache = new FileCache(true);
|
||||
file_cache->wwwroot = "./www";
|
||||
@ -75,6 +75,20 @@ int main(int argc, char **argv, char **envp) {
|
||||
app->setup_routes();
|
||||
app->setup_middleware();
|
||||
app->add_listener("127.0.0.1", 8080);
|
||||
|
||||
String sites = settings->get_value("sites");
|
||||
|
||||
int sc = sites.get_slice_count(',');
|
||||
for (int i = 0; i < sc; ++i) {
|
||||
String s = sites.get_slice(',', i);
|
||||
|
||||
uint32_t index = dbm->create_database("sqlite");
|
||||
Database *db = dbm->databases[index];
|
||||
db->connect(database_folder + s + ".sqlite");
|
||||
|
||||
app->add_blog(s, db);
|
||||
}
|
||||
|
||||
LOG_INFO << "Server running on 127.0.0.1:8080";
|
||||
printf("Initialized!\n");
|
||||
app->run();
|
||||
@ -83,6 +97,7 @@ int main(int argc, char **argv, char **envp) {
|
||||
delete file_cache;
|
||||
}
|
||||
|
||||
delete dbm;
|
||||
delete settings;
|
||||
|
||||
PlatformInitializer::free_all();
|
||||
|
Loading…
Reference in New Issue
Block a user