Commit 34b4f561 authored by jan.koester's avatar jan.koester
Browse files

redering api change

parent eb72d93f
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ namespace blogi {
            return;
        }

        void Rendering(libhttppp::HttpRequest *req,libhtmlpp::HtmlElement& curpage){
        void Rendering(libhttppp::HttpRequest *req,libhtmlpp::HtmlElement* curpage){
            blogi::SQL sql,sql2;
            blogi::DBResult res,res2;
            sql << "select id,name,container_id from navbar";
@@ -106,8 +106,8 @@ namespace blogi {
                buf << "</ul></div>";

                sql2.clear();
                if(curpage.getElementbyID(res[i][2]))
                    curpage.getElementbyID(res[i][2])->appendChild(buf.parse());
                if(curpage->getElementbyID(res[i][2]))
                    curpage->getElementbyID(res[i][2])->appendChild(buf.parse());
            }

        }
+29 −28
Original line number Diff line number Diff line
@@ -148,7 +148,7 @@ void blogi::Blogi::loginPage(netplus::con*curcon,libhttppp::HttpRequest *curreq)
            index->getElementbyID("main")->insertChild(condat.parse());

        for(blogi::Plugin::PluginData *curplg=BlogiPlg->getFirstPlugin(); curplg; curplg=curplg->getNextPlg()){
            curplg->getInstace()->Rendering(curreq,*index);
            curplg->getInstace()->Rendering(curreq,index);
        }

        PlgArgs->theme->printSite(out,index,curreq->getRequestURL(),false);
@@ -257,7 +257,7 @@ void blogi::Blogi::settingsPage(netplus::con* curcon, libhttppp::HttpRequest* cu
    index->getElementbyID("main")->appendChild(setgui.parse());

    for(blogi::Plugin::PluginData *curplg=BlogiPlg->getFirstPlugin(); curplg; curplg=curplg->getNextPlg()){
        curplg->getInstace()->Rendering(curreq,*index);
        curplg->getInstace()->Rendering(curreq,index);
    }

    PlgArgs->theme->printSite(out,index,curreq->getRequestURL(),false);
@@ -272,25 +272,25 @@ void blogi::Blogi::settingsPage(netplus::con* curcon, libhttppp::HttpRequest* cu


void blogi::Blogi::RequestEvent(netplus::con *curcon){
    libhttppp::HttpRequest req;
    libhttppp::HttpRequest *req=new libhttppp::HttpRequest;
    char url[512];
    try{
        req.parse(curcon);
        req->parse(curcon);

        libhttppp::HttpHeader::HeaderData *hip=req.getData("x-real-ip");
        libhttppp::HttpHeader::HeaderData  *useragent=req.getData("user-agent");
        libhttppp::HttpHeader::HeaderData *hip=req->getData("x-real-ip");
        libhttppp::HttpHeader::HeaderData  *useragent=req->getData("user-agent");

        if(hip)
            std::cout <<"Request from: " << req.getData(hip) << " url: " << req.getRequestURL();
            std::cout <<"Request from: " << req->getData(hip) << " url: " << req->getRequestURL();
        if(useragent)
            std::cout << " agent: " << req.getData(useragent);
            std::cout << " agent: " << req->getData(useragent);

        std::cout << std::endl;

RETRY_REQUEST:
        try{
            /*blogi internal pages and redirections*/
            if(strcmp(req.getRequestURL(),"/")==0 || strcmp(req.getRequestURL(),PlgArgs->config->getprefix())==0){
            if(strcmp(req->getRequestURL(),"/")==0 || strcmp(req->getRequestURL(),PlgArgs->config->getprefix())==0){
                libhttppp::HttpResponse curres;
                curres.setState(HTTP307);
                curres.setVersion(HTTPVERSION(1.1));
@@ -298,19 +298,19 @@ RETRY_REQUEST:
                curres.setContentType("text/html");
                curres.send(curcon, nullptr, 0);
                return;
            }else if(strncmp(req.getRequestURL(),PlgArgs->config->buildurl("logout",url,512),strlen(PlgArgs->config->buildurl("logout",url,512)))==0){
                logoutPage(curcon,&req);
            }else if(strncmp(req->getRequestURL(),PlgArgs->config->buildurl("logout",url,512),strlen(PlgArgs->config->buildurl("logout",url,512)))==0){
                logoutPage(curcon,req);
                return;
            }else if(strncmp(req.getRequestURL(),PlgArgs->config->buildurl("login",url,512),strlen(PlgArgs->config->buildurl("login",url,512)))==0){
                loginPage(curcon,&req);
            }else if(strncmp(req->getRequestURL(),PlgArgs->config->buildurl("login",url,512),strlen(PlgArgs->config->buildurl("login",url,512)))==0){
                loginPage(curcon,req);
                return;
            }else if(strncmp(req.getRequestURL(),PlgArgs->config->buildurl("settings",url,512),strlen(PlgArgs->config->buildurl("settings",url,512)))==0){
                settingsPage(curcon,&req);
            }else if(strncmp(req->getRequestURL(),PlgArgs->config->buildurl("settings",url,512),strlen(PlgArgs->config->buildurl("settings",url,512)))==0){
                settingsPage(curcon,req);
                return;
            }else if(strncmp(req.getRequestURL(),PlgArgs->config->buildurl("editor",url,512),strlen(PlgArgs->config->buildurl("editor",url,512)))==0){
                PlgArgs->edit->Controller(curcon,&req);
            }else if(strncmp(req->getRequestURL(),PlgArgs->config->buildurl("editor",url,512),strlen(PlgArgs->config->buildurl("editor",url,512)))==0){
                PlgArgs->edit->Controller(curcon,req);
                return;
            }else if (strstr(req.getRequestURL(),"robots.txt")){
            }else if (strstr(req->getRequestURL(),"robots.txt")){
                const char *robot = "user-agent: *\r\ndisallow: /blog/settings/";
                libhttppp::HttpResponse resp;
                resp.setVersion(HTTPVERSION(1.1));
@@ -320,16 +320,15 @@ RETRY_REQUEST:
                return;
            }

            if(!PlgArgs->theme->Controller(curcon,req)){
                libhtmlpp::HtmlElement *index;
            if(req.isMobile())
                if(req->isMobile())
                    index= new libhtmlpp::HtmlElement(MIndex);
                else
                    index= new libhtmlpp::HtmlElement(Index);;

            if(!PlgArgs->theme->Controller(curcon,&req)){

                for(blogi::Plugin::PluginData *curplg=BlogiPlg->getFirstPlugin(); curplg; curplg=curplg->getNextPlg()){
                    curplg->getInstace()->Rendering(&req,*index);
                    curplg->getInstace()->Rendering(req,index);
                }

                for(blogi::Plugin::PluginData *curplg=BlogiPlg->getFirstPlugin(); curplg; curplg=curplg->getNextPlg()){
@@ -337,13 +336,15 @@ RETRY_REQUEST:
                    std::string url=PlgArgs->config->getprefix();
                    url+="/";
                    url+=api->getName();
                    if(strncmp(req.getRequestURL(),url.c_str(),url.length())==0){
                        if(api->Controller(curcon,&req,index)){
                    if(strncmp(req->getRequestURL(),url.c_str(),url.length())==0){
                        if(api->Controller(curcon,req,index)){
                            delete index;
                            delete req;
                            return;
                        }
                    }
                }
                delete req;
                delete index;

                std::string *output=new std::string;
+1 −1
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ bool blogi::PluginApi::haveSettings(){
    return false;
}

void blogi::PluginApi::Rendering(libhttppp::HttpRequest *req,libhtmlpp::HtmlElement &curpage){
void blogi::PluginApi::Rendering(libhttppp::HttpRequest *req,libhtmlpp::HtmlElement *curpage){
    return;
}

+1 −1
Original line number Diff line number Diff line
@@ -63,7 +63,7 @@ namespace blogi {

        virtual void Settings(libhttppp::HttpRequest *req,libhtmlpp::HtmlString &setdiv);

        virtual void Rendering(libhttppp::HttpRequest *req,libhtmlpp::HtmlElement &curpage);
        virtual void Rendering(libhttppp::HttpRequest *req,libhtmlpp::HtmlElement *curpage);
    protected:
        PluginArgs *Args;
    };