Commit f3186158 authored by jan.koester's avatar jan.koester
Browse files

use new post api

parent 98117c54
Loading
Loading
Loading
Loading
+28 −27
Original line number Diff line number Diff line
@@ -241,18 +241,18 @@ namespace blogi {
            std::string descrition;

            if(curform.getBoundary()){
                for(libhttppp::HttpForm::MultipartFormData *curformdat=curform.getMultipartFormData(); curformdat; curformdat=curformdat->nextMultipartFormData()){
                    libhttppp::HttpForm::MultipartFormData::ContentDisposition *curctdisp=curformdat->getContentDisposition();
                    if(curctdisp->getName()){
                        if (strcmp(curctdisp->getName(), "blog_title") == 0) {
                            title.append(curformdat->getData(),curformdat->getDataSize());
                        }else if(strcmp(curctdisp->getName(), "blog_descrition") == 0){
                            descrition.append(curformdat->getData(), curformdat->getDataSize());
                        }else if (strcmp(curctdisp->getName(), "blog_tags") == 0) {
                            tags.append(curformdat->getData(), curformdat->getDataSize());
                for(libhttppp::HttpForm::MultipartForm::Data *curformdat=curform.MultipartFormData.getFormData(); curformdat; curformdat=curformdat->nextData()){

                    for(libhttppp::HttpForm::MultipartForm::Data::ContentDisposition *curctdisp=curformdat->getDisposition(); curformdat; curformdat=curformdat->nextData()){
                        if (strcmp(curctdisp->getKey(), "blog_title") == 0) {
                            title.append(curformdat->Value.data(),curformdat->Value.size());
                        }else if(strcmp(curctdisp->getKey(), "blog_descrition") == 0){
                            descrition.append(curformdat->Value.data(),curformdat->Value.size());
                        }else if (strcmp(curctdisp->getKey(), "blog_tags") == 0) {
                            tags.append(curformdat->Value.data(),curformdat->Value.size());
                        }
                        else if(strcmp(curctdisp->getName(),"blog_content")==0){
                            text.append(curformdat->getData(), curformdat->getDataSize());
                        else if(strcmp(curctdisp->getKey(),"blog_content")==0){
                            text.append(curformdat->Value.data(),curformdat->Value.size());
                        }
                    }
                }
@@ -484,20 +484,21 @@ namespace blogi {
            std::string descrition;

            if (curform.getBoundary()) {
                for (libhttppp::HttpForm::MultipartFormData* curformdat = curform.getMultipartFormData(); curformdat; curformdat = curformdat->nextMultipartFormData()) {
                    libhttppp::HttpForm::MultipartFormData::ContentDisposition* curctdisp = curformdat->getContentDisposition();
                    if (curctdisp->getName()) {
                        if (strcmp(curctdisp->getName(), "blog_title") == 0) {
                            title.append(curformdat->getData(), curformdat->getDataSize());
                for (libhttppp::HttpForm::MultipartForm::Data* curformdat = curform.MultipartFormData.getFormData(); curformdat; curformdat = curformdat->nextData()) {
                    for(libhttppp::HttpForm::MultipartForm::Data::ContentDisposition* curctdisp = curformdat->getDisposition(); curctdisp; curctdisp=curctdisp->nextContentDisposition()){
                        if (strcmp(curctdisp->getKey(),"name")==0) {
                            if (strcmp(curctdisp->getValue(), "blog_title") == 0) {
                                title.append(curformdat->Value.data(),curformdat->Value.size());
                            }
                            else if (strcmp(curctdisp->getValue(), "blog_descrition") == 0) {
                                descrition.append(curformdat->Value.data(), curformdat->Value.size());
                            }
                        else if (strcmp(curctdisp->getName(), "blog_descrition") == 0) {
                            descrition.append(curformdat->getData(), curformdat->getDataSize());
                            else if (strcmp(curctdisp->getValue(), "blog_tags") == 0) {
                                tags.append(curformdat->Value.data(), curformdat->Value.size());
                            }
                        else if (strcmp(curctdisp->getName(), "blog_tags") == 0) {
                            tags.append(curformdat->getData(), curformdat->getDataSize());
                            else if (strcmp(curctdisp->getValue(), "blog_content") == 0) {
                                text.append(curformdat->Value.data(), curformdat->Value.size());
                            }
                        else if (strcmp(curctdisp->getName(), "blog_content") == 0) {
                            text.append(curformdat->getData(), curformdat->getDataSize());;
                        }
                    }
                }
@@ -682,8 +683,8 @@ namespace blogi {
                int startpos = 0;
                libhttppp::HttpForm start;
                start.parse(req);
                for (libhttppp::HttpForm::UrlcodedFormData* cururlform = start.getUrlcodedFormData(); cururlform;
                    cururlform = cururlform->nextUrlcodedFormData()){
                for (libhttppp::HttpForm::UrlcodedForm::Data* cururlform = start.UrlFormData.getFormData(); cururlform;
                    cururlform = cururlform->nextData()){
                    if(strcmp(cururlform->getKey(),"start")==0)
                        startpos=atoi(cururlform->getValue());
                }
+25 −21
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ namespace blogi {

            form.parse(req);

            for(libhttppp::HttpForm::UrlcodedFormData *curdat=form.getUrlcodedFormData(); curdat; curdat=curdat->nextUrlcodedFormData()){
            for(libhttppp::HttpForm::UrlcodedForm::Data *curdat=form.UrlFormData.getFormData(); curdat; curdat=curdat->nextData()){
                if(strcmp(curdat->getKey(),"userid")==0)
                    id=atoi(curdat->getValue());
                else if(strcmp(curdat->getKey(),"albumname")==0)
@@ -109,7 +109,7 @@ namespace blogi {
            form.parse(req);
            std::string name;

            for(libhttppp::HttpForm::UrlcodedFormData *curdat=form.getUrlcodedFormData(); curdat; curdat=curdat->nextUrlcodedFormData()){
            for(libhttppp::HttpForm::UrlcodedForm::Data *curdat=form.UrlFormData.getFormData(); curdat; curdat=curdat->nextData()){
                if(strcmp(curdat->getKey(),"albumid")==0)
                    id=atoi(curdat->getValue());
                if(strcmp(curdat->getKey(),"albumname")==0)
@@ -151,17 +151,19 @@ namespace blogi {
                   << "</div>";
        }

        void uploadMedia(int id,libhttppp::HttpForm::MultipartFormData *dat,libhttppp::HttpRequest * req, libhtmlpp::HtmlString & setdiv){
        void uploadMedia(int id,libhttppp::HttpForm::MultipartForm::Data *dat,libhttppp::HttpRequest * req, libhtmlpp::HtmlString & setdiv){
            char url[512];
            std::string mediafilename,mediafile;

            if(dat){
                for (libhttppp::HttpForm::MultipartFormData *curformdat = dat; curformdat; curformdat = curformdat->nextMultipartFormData()) {
                    libhttppp::HttpForm::MultipartFormData::ContentDisposition* curctdisp = curformdat->getContentDisposition();
                    if(curctdisp && strcmp(curctdisp->getName(),"mediafile")==0){
                        mediafilename=curctdisp->getFilename();
                        mediafile.resize(curformdat->getDataSize());
                        std::copy(curformdat->getData(),curformdat->getData()+curformdat->getDataSize(),mediafile.begin());
                for (libhttppp::HttpForm::MultipartForm::Data *curformdat = dat; curformdat; curformdat = curformdat->nextData()) {
                    for(libhttppp::HttpForm::MultipartForm::Data::ContentDisposition* curctdisp = curformdat->getDisposition(); curctdisp;
                        curctdisp=curctdisp->nextContentDisposition()){
                        if(curctdisp && strcmp(curctdisp->getValue(),"mediafile")==0){
                            mediafile.append(curformdat->Value.data(),curformdat->Value.size());
                        }else if(curctdisp && strcmp(curctdisp->getValue(),"mediafilename")==0){
                            mediafilename.append(curformdat->Value.data(),curformdat->Value.size());
                        }
                    }
                }

@@ -262,29 +264,31 @@ namespace blogi {
            libhttppp::HttpForm form;
            form.parse(req);

            for(libhttppp::HttpForm::UrlcodedFormData *curdat=form.getUrlcodedFormData(); curdat; curdat=curdat->nextUrlcodedFormData()){
            for(libhttppp::HttpForm::UrlcodedForm::Data *curdat=form.UrlFormData.getFormData(); curdat; curdat=curdat->nextData()){
                if(strcmp(curdat->getKey(),"albumid")==0)
                    id=atoi(curdat->getValue());
            }

            libhttppp::HttpForm::MultipartFormData *dat=form.getMultipartFormData();
            libhttppp::HttpForm::MultipartForm::Data *dat=form.MultipartFormData.getFormData();

            for (libhttppp::HttpForm::MultipartFormData *curformdat = dat; curformdat; curformdat = curformdat->nextMultipartFormData()) {
                libhttppp::HttpForm::MultipartFormData::ContentDisposition* curctdisp = curformdat->getContentDisposition();
                if(curctdisp && strcmp(curctdisp->getName(),"albumid")==0){
                    for(size_t i =0; i<curformdat->getDataSize(); ++i){
                        if(!isdigit(curformdat->getData()[i])){
            for (libhttppp::HttpForm::MultipartForm::Data *curformdat = dat; curformdat; curformdat = curformdat->nextData()) {
                for(libhttppp::HttpForm::MultipartForm::Data::ContentDisposition* curctdisp = curformdat->getDisposition();
                    curctdisp; curctdisp=curctdisp->nextContentDisposition()){
                    if(curctdisp && strcmp(curctdisp->getValue(),"albumid")==0){
                        for(size_t i =0; i<curformdat->Value.size(); ++i){
                            if(!isdigit(curformdat->Value[i])){
                            libhttppp::HTTPException excep;
                            excep[libhttppp::HTTPException::Error] << "Wrong formted Pageid!";
                            throw excep;
                            }
                        }
                        std::string buf;
                    buf.resize(curformdat->getDataSize());
                    std::copy(curformdat->getData(),curformdat->getData()+curformdat->getDataSize(),buf.begin());
                        buf.resize(curformdat->Value.size());
                        std::copy(curformdat->Value.begin(),curformdat->Value.end(),buf.begin());
                        id=atoi(buf.c_str());
                    }
                }
            }

            if(id<0){
                libhttppp::HTTPException exp;
@@ -307,7 +311,7 @@ namespace blogi {

            form.parse(req);

            for(libhttppp::HttpForm::UrlcodedFormData *curdat=form.getUrlcodedFormData(); curdat; curdat=curdat->nextUrlcodedFormData()){
            for(libhttppp::HttpForm::UrlcodedForm::Data *curdat=form.UrlFormData.getFormData(); curdat; curdat=curdat->nextData()){
                if(strcmp(curdat->getKey(),"mtype")==0)
                    mtype=atoi(curdat->getValue());
                else if(strcmp(curdat->getKey(),"mfext")==0)
+5 −5
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@ namespace blogi {
            libhttppp::HttpForm form;
            form.parse(req);

            for(libhttppp::HttpForm::UrlcodedFormData *cdat=form.getUrlcodedFormData(); cdat; cdat=cdat->nextUrlcodedFormData()){
            for(libhttppp::HttpForm::UrlcodedForm::Data *cdat=form.UrlFormData.getFormData(); cdat; cdat=cdat->nextData()){
                if(strcmp(cdat->getKey(),"navid")==0)
                    navid=atoi(cdat->getValue());

@@ -169,9 +169,9 @@ namespace blogi {
            libhttppp::HttpForm form;
            form.parse(req);

            libhttppp::HttpForm::UrlcodedFormData *formdat= form.getUrlcodedFormData();
            libhttppp::HttpForm::UrlcodedForm::Data *formdat= form.UrlFormData.getFormData();

            for(libhttppp::HttpForm::UrlcodedFormData *cdat=formdat; cdat; cdat=cdat->nextUrlcodedFormData()){
            for(libhttppp::HttpForm::UrlcodedForm::Data *cdat=formdat; cdat; cdat=cdat->nextData()){
                if(strcmp(cdat->getKey(),"navid")==0)
                    navid=atoi(cdat->getValue());
                else if(strcmp(cdat->getKey(),"navname")==0)
@@ -213,7 +213,7 @@ namespace blogi {

            };

            for(libhttppp::HttpForm::UrlcodedFormData *cdat=formdat; cdat; cdat=cdat->nextUrlcodedFormData()){
            for(libhttppp::HttpForm::UrlcodedForm::Data *cdat=formdat; cdat; cdat=cdat->nextData()){
                if(strcmp(cdat->getKey(),"navitem_name_")<0)
                    changeItemName(cdat->getKey(),cdat->getValue());
                else if(strcmp(cdat->getKey(),"navitem_url_")<0)
@@ -285,7 +285,7 @@ namespace blogi {
            libhttppp::HttpForm form;
            form.parse(req);

            for(libhttppp::HttpForm::UrlcodedFormData *cdat=form.getUrlcodedFormData(); cdat; cdat=cdat->nextUrlcodedFormData()){
            for(libhttppp::HttpForm::UrlcodedForm::Data *cdat=form.UrlFormData.getFormData(); cdat; cdat=cdat->nextData()){
                if(strcmp(cdat->getKey(),"navname")==0)
                    navname=cdat->getValue();
                else if(strcmp(cdat->getKey(),"navcontainer")==0)
+46 −39
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@
 *******************************************************************************/

#include <iostream>
#include <algorithm>

#include <htmlpp/html.h>

@@ -125,25 +126,28 @@ void blogi::StaticPage::newPage(libhttppp::HttpRequest* req, libhtmlpp::HtmlStri

    try {

        for (libhttppp::HttpForm::MultipartFormData* curformdat = form.getMultipartFormData(); curformdat; curformdat = curformdat->nextMultipartFormData()) {
            libhttppp::HttpForm::MultipartFormData::ContentDisposition* curctdisp = curformdat->getContentDisposition();
        for (libhttppp::HttpForm::MultipartForm::Data* curformdat = form.MultipartFormData.getFormData(); curformdat; curformdat = curformdat->nextData()) {

            for(libhttppp::HttpForm::MultipartForm::Data::ContentDisposition* curctdisp = curformdat->getDisposition();
                curctdisp; curctdisp=curctdisp->nextContentDisposition()){

                std::string data;
                libhtmlpp::HtmlString result;

            std::copy(curformdat->getData(),curformdat->getData()+curformdat->getDataSize(),
                std::copy(curformdat->Value.begin(),curformdat->Value.end(),
                      std::inserter<std::string>(data,data.begin()));

            if(strcmp(curctdisp->getName(),"url")==0){
                if(strcmp(curctdisp->getValue(),"url")==0){
                    libhtmlpp::HtmlEncode(data.c_str(),&result);
                    surl=result.c_str();
            }else if(strcmp(curctdisp->getName(),"meta")==0){
                }else if(strcmp(curctdisp->getValue(),"meta")==0){
                    libhtmlpp::HtmlEncode(data.c_str(),&result);
                    meta=result.c_str();
            }else if(strcmp(curctdisp->getName(),"text")==0){
                }else if(strcmp(curctdisp->getValue(),"text")==0){
                    text=&data;
                }
            }
        }
    }catch(...){};

    if(!surl.empty() && ( !text.empty() && text.validate(&err) ) ){
@@ -187,7 +191,7 @@ void blogi::StaticPage::delPage(libhttppp::HttpRequest* req, libhtmlpp::HtmlStri
    libhttppp::HttpForm form;
    form.parse(req);

    for(libhttppp::HttpForm::UrlcodedFormData *cdat=form.getUrlcodedFormData(); cdat; cdat=cdat->nextUrlcodedFormData()){
    for(libhttppp::HttpForm::UrlcodedForm::Data *cdat=form.UrlFormData.getFormData(); cdat; cdat=cdat->nextData()){
        if(strcmp(cdat->getKey(),"pageid")==0){
            size_t pgidlen=strlen(cdat->getValue());
            for(size_t i =0; i<pgidlen; ++i){
@@ -227,46 +231,49 @@ void blogi::StaticPage::editPage(libhttppp::HttpRequest* req, libhtmlpp::HtmlStr
    try {
        sql.clear();

        for (libhttppp::HttpForm::MultipartFormData* curformdat = form.getMultipartFormData(); curformdat; curformdat = curformdat->nextMultipartFormData()) {
            libhttppp::HttpForm::MultipartFormData::ContentDisposition* curctdisp = curformdat->getContentDisposition();{
                if(strcmp(curctdisp->getName(),"pageid")==0){
                    for(size_t i =0; i<curformdat->getDataSize(); ++i){
                        if(!isdigit(curformdat->getData()[i])){
        for (libhttppp::HttpForm::MultipartForm::Data* curformdat = form.MultipartFormData.getFormData(); curformdat; curformdat = curformdat->nextData()) {
            libhttppp::HttpForm::MultipartForm::Data::ContentDisposition* curctdisp = curformdat->getDisposition();{
                if(strcmp(curctdisp->getValue(),"pageid")==0){
                    for(size_t i =0; i<curformdat->Value.size(); ++i){
                        if(!isdigit(curformdat->Value[i])){
                            libhttppp::HTTPException excep;
                            excep[libhttppp::HTTPException::Error] << "Wrong formted Pageid!";
                            throw excep;
                        }
                    }
                    std::string buf;
                    buf.resize(curformdat->getDataSize());
                    std::copy(curformdat->getData(),curformdat->getData()+curformdat->getDataSize(),buf.begin());
                    id=atoi(buf.c_str());
                    std::vector<char> buf;
                    std::copy(curformdat->Value.begin(),curformdat->Value.end(),
                              std::inserter<std::vector<char>>(buf,buf.begin()));
                    buf.push_back('\0');
                    id=atoi(buf.data());
                }
            }
        }


        if(id>=0){
            for (libhttppp::HttpForm::MultipartFormData* curformdat = form.getMultipartFormData(); curformdat; curformdat = curformdat->nextMultipartFormData()) {
                libhttppp::HttpForm::MultipartFormData::ContentDisposition* curctdisp = curformdat->getContentDisposition();
            for (libhttppp::HttpForm::MultipartForm::Data* curformdat = form.MultipartFormData.getFormData(); curformdat; curformdat = curformdat->nextData()) {
                for(libhttppp::HttpForm::MultipartForm::Data::ContentDisposition* curctdisp = curformdat->getDisposition(); curctdisp; curctdisp=curctdisp->nextContentDisposition()){

                std::string data;
                    std::vector<char> data;
                    libhtmlpp::HtmlString result;

                std::copy(curformdat->getData(),curformdat->getData()+curformdat->getDataSize(),
                         std::inserter<std::string>(data,data.begin()));
                    std::copy(curformdat->Value.begin(),curformdat->Value.end(),
                              std::inserter<std::vector<char>>(data,data.begin()));

                if(strcmp(curctdisp->getName(),"url")==0){
                    libhtmlpp::HtmlEncode(data.c_str(),&result);
                    data.push_back('\0');

                    if(strcmp(curctdisp->getValue(),"url")==0){
                        libhtmlpp::HtmlEncode(data.data(),&result);
                        sql<< "update static_content set url='" << result.c_str() << "' where id='" << id <<"'; ";
                }else if(strcmp(curctdisp->getName(),"meta")==0){
                    libhtmlpp::HtmlEncode(data.c_str(),&result);
                    }else if(strcmp(curctdisp->getValue(),"meta")==0){
                        libhtmlpp::HtmlEncode(data.data(),&result);
                        sql<< "update static_content set meta='" << result.c_str() << "' where id='" << id <<"'; ";
                }else if(strcmp(curctdisp->getName(),"text")==0){
                    sql<< "update static_content set text='"; sql.escaped(data.c_str()) << "' where id='" << id <<"'; ";
                    }else if(strcmp(curctdisp->getValue(),"text")==0){
                        sql<< "update static_content set text='"; sql.escaped(data.data()) << "' where id='" << id <<"'; ";
                    }
                }
            }

            if(!sql.empty()){
                Args->database->exec(&sql,res);
                sql.clear();
@@ -276,7 +283,7 @@ void blogi::StaticPage::editPage(libhttppp::HttpRequest* req, libhtmlpp::HtmlStr

    if(id<0){

        for(libhttppp::HttpForm::UrlcodedFormData *cdat=form.getUrlcodedFormData(); cdat; cdat=cdat->nextUrlcodedFormData()){
        for(libhttppp::HttpForm::UrlcodedForm::Data *cdat=form.UrlFormData.getFormData(); cdat; cdat=cdat->nextData()){
            if(strcmp(cdat->getKey(),"pageid")==0){
                size_t pgidlen=strlen(cdat->getValue());
                for(size_t i =0; i<pgidlen; ++i){
+9 −10
Original line number Diff line number Diff line
@@ -111,17 +111,16 @@ void blogi::Blogi::loginPage(libhttppp::HttpRequest *curreq){
    const char *username=nullptr;
    const char *password=nullptr;

    if (curform.getUrlcodedFormData()) {
        for (libhttppp::HttpForm::UrlcodedFormData* cururlform = curform.getUrlcodedFormData(); cururlform;
             cururlform = cururlform->nextUrlcodedFormData()) {

    for (libhttppp::HttpForm::UrlcodedForm::Data* cururlform = curform.UrlFormData.getFormData(); cururlform;
        cururlform = cururlform->nextData()) {
        if (strcmp(cururlform->getKey(), "username") == 0) {
            username = cururlform->getValue();
            }
            else if (strcmp(cururlform->getKey(), "password") == 0) {
        }else if (strcmp(cururlform->getKey(), "password") == 0) {
            password = cururlform->getValue();
        }
    }
    }


    libhtmlpp::HtmlString out;