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/http_session.h"
|
||||||
#include "core/http/session_manager.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();
|
request->compile_and_send_body();
|
||||||
}
|
}
|
||||||
|
|
||||||
void WPApplication::blog(Object *instance, Request *request) {
|
void WPApplication::blog(Request *request) {
|
||||||
request->body += "test blog";
|
request->body += "test blog";
|
||||||
request->compile_and_send_body();
|
request->compile_and_send_body();
|
||||||
}
|
}
|
||||||
@ -43,8 +68,6 @@ void WPApplication::routing_middleware(Object *instance, Request *request) {
|
|||||||
|
|
||||||
request->handler_instance = app->index_func;
|
request->handler_instance = app->index_func;
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
|
|
||||||
const String main_route = request->get_current_path_segment();
|
const String main_route = request->get_current_path_segment();
|
||||||
|
|
||||||
request->push_path();
|
request->push_path();
|
||||||
@ -67,8 +90,8 @@ void WPApplication::routing_middleware(Object *instance, Request *request) {
|
|||||||
void WPApplication::setup_routes() {
|
void WPApplication::setup_routes() {
|
||||||
DWebApplication::setup_routes();
|
DWebApplication::setup_routes();
|
||||||
|
|
||||||
index_func = HandlerInstance(index, this);
|
index_func = HandlerInstance(index_fun, this);
|
||||||
blog_func = HandlerInstance(blog, this);
|
blog_func = HandlerInstance(blog_fun, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void WPApplication::setup_middleware() {
|
void WPApplication::setup_middleware() {
|
||||||
@ -78,6 +101,15 @@ void WPApplication::setup_middleware() {
|
|||||||
void WPApplication::migrate() {
|
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() {
|
void WPApplication::compile_menu() {
|
||||||
HTMLBuilder bh;
|
HTMLBuilder bh;
|
||||||
|
|
||||||
@ -108,4 +140,3 @@ WPApplication::WPApplication() :
|
|||||||
|
|
||||||
WPApplication::~WPApplication() {
|
WPApplication::~WPApplication() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
|
|
||||||
//#include "core/http/web_application.h"
|
//#include "core/http/web_application.h"
|
||||||
#include "core/object.h"
|
#include "core/object.h"
|
||||||
#include "modules/drogon/web_application.h"
|
|
||||||
#include "core/string.h"
|
#include "core/string.h"
|
||||||
|
#include "modules/drogon/web_application.h"
|
||||||
|
|
||||||
#undef LOG_TRACE
|
#undef LOG_TRACE
|
||||||
#undef LOG_WARN
|
#undef LOG_WARN
|
||||||
@ -13,8 +13,11 @@ class WPApplication : public DWebApplication {
|
|||||||
RCPP_OBJECT(WPApplication, DWebApplication);
|
RCPP_OBJECT(WPApplication, DWebApplication);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void index(Object *instance, Request *request);
|
static void index_fun(Object *instance, Request *request);
|
||||||
static void blog(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);
|
static void routing_middleware(Object *instance, Request *request);
|
||||||
|
|
||||||
@ -23,6 +26,8 @@ public:
|
|||||||
|
|
||||||
virtual void migrate();
|
virtual void migrate();
|
||||||
|
|
||||||
|
void add_blog(const String &name, Database *db);
|
||||||
|
|
||||||
void compile_menu();
|
void compile_menu();
|
||||||
|
|
||||||
WPApplication();
|
WPApplication();
|
||||||
@ -32,6 +37,13 @@ public:
|
|||||||
|
|
||||||
String header;
|
String header;
|
||||||
String footer;
|
String footer;
|
||||||
|
|
||||||
|
struct BlogData {
|
||||||
|
String name;
|
||||||
|
Database *db;
|
||||||
|
};
|
||||||
|
|
||||||
|
Vector<BlogData> _blog_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
29
main.cpp
29
main.cpp
@ -1,9 +1,9 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "core/settings.h"
|
|
||||||
#include "core/os/platform.h"
|
|
||||||
#include "core/file_cache.h"
|
#include "core/file_cache.h"
|
||||||
#include "core/math/math.h"
|
#include "core/math/math.h"
|
||||||
|
#include "core/os/platform.h"
|
||||||
|
#include "core/settings.h"
|
||||||
|
|
||||||
#include "database/db_init.h"
|
#include "database/db_init.h"
|
||||||
|
|
||||||
@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
#include "core/settings.h"
|
#include "core/settings.h"
|
||||||
|
|
||||||
#include "app/wp_downloader.h"
|
|
||||||
#include "app/wp_application.h"
|
#include "app/wp_application.h"
|
||||||
|
#include "app/wp_downloader.h"
|
||||||
|
|
||||||
void initialize_backends() {
|
void initialize_backends() {
|
||||||
initialize_database_backends();
|
initialize_database_backends();
|
||||||
@ -33,11 +33,12 @@ int main(int argc, char **argv, char **envp) {
|
|||||||
Settings *settings = new Settings(true);
|
Settings *settings = new Settings(true);
|
||||||
settings->parse_ini_file("settings.ini");
|
settings->parse_ini_file("settings.ini");
|
||||||
|
|
||||||
|
DatabaseManager *dbm = new DatabaseManager();
|
||||||
|
|
||||||
bool download = Platform::get_singleton()->arg_parser.has_arg("-d");
|
bool download = Platform::get_singleton()->arg_parser.has_arg("-d");
|
||||||
|
|
||||||
if (download) {
|
if (download) {
|
||||||
Vector<Ref<WPDownloader> > downloaders;
|
Vector<Ref<WPDownloader> > downloaders;
|
||||||
DatabaseManager *dbm = new DatabaseManager();
|
|
||||||
|
|
||||||
bool save_original_data = settings->get_value_bool("save_original_data");
|
bool save_original_data = settings->get_value_bool("save_original_data");
|
||||||
|
|
||||||
@ -57,14 +58,13 @@ int main(int argc, char **argv, char **envp) {
|
|||||||
|
|
||||||
d->setup(s, db);
|
d->setup(s, db);
|
||||||
|
|
||||||
//todo
|
// todo
|
||||||
//downloaders.push_back(d);
|
// downloaders.push_back(d);
|
||||||
|
|
||||||
d->run();
|
d->run();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
delete dbm;
|
|
||||||
} else {
|
} else {
|
||||||
FileCache *file_cache = new FileCache(true);
|
FileCache *file_cache = new FileCache(true);
|
||||||
file_cache->wwwroot = "./www";
|
file_cache->wwwroot = "./www";
|
||||||
@ -75,6 +75,20 @@ int main(int argc, char **argv, char **envp) {
|
|||||||
app->setup_routes();
|
app->setup_routes();
|
||||||
app->setup_middleware();
|
app->setup_middleware();
|
||||||
app->add_listener("127.0.0.1", 8080);
|
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";
|
LOG_INFO << "Server running on 127.0.0.1:8080";
|
||||||
printf("Initialized!\n");
|
printf("Initialized!\n");
|
||||||
app->run();
|
app->run();
|
||||||
@ -83,6 +97,7 @@ int main(int argc, char **argv, char **envp) {
|
|||||||
delete file_cache;
|
delete file_cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
delete dbm;
|
||||||
delete settings;
|
delete settings;
|
||||||
|
|
||||||
PlatformInitializer::free_all();
|
PlatformInitializer::free_all();
|
||||||
|
Loading…
Reference in New Issue
Block a user