Loading plugins/content/content.cpp +28 −27 Original line number Diff line number Diff line Loading @@ -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()); } } } Loading Loading @@ -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());; } } } Loading Loading @@ -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()); } Loading plugins/media/media.cpp +25 −21 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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) Loading Loading @@ -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()); } } } Loading Loading @@ -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; Loading @@ -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) Loading plugins/navbar/navbar.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -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()); Loading Loading @@ -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) Loading Loading @@ -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) Loading Loading @@ -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) Loading plugins/staticpage/static.cpp +46 −39 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ *******************************************************************************/ #include <iostream> #include <algorithm> #include <htmlpp/html.h> Loading Loading @@ -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) ) ){ Loading Loading @@ -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){ Loading Loading @@ -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(); Loading @@ -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){ Loading src/blogi.cpp +9 −10 Original line number Diff line number Diff line Loading @@ -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; Loading Loading
plugins/content/content.cpp +28 −27 Original line number Diff line number Diff line Loading @@ -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()); } } } Loading Loading @@ -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());; } } } Loading Loading @@ -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()); } Loading
plugins/media/media.cpp +25 −21 Original line number Diff line number Diff line Loading @@ -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) Loading Loading @@ -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) Loading Loading @@ -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()); } } } Loading Loading @@ -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; Loading @@ -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) Loading
plugins/navbar/navbar.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -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()); Loading Loading @@ -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) Loading Loading @@ -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) Loading Loading @@ -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) Loading
plugins/staticpage/static.cpp +46 −39 Original line number Diff line number Diff line Loading @@ -26,6 +26,7 @@ *******************************************************************************/ #include <iostream> #include <algorithm> #include <htmlpp/html.h> Loading Loading @@ -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) ) ){ Loading Loading @@ -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){ Loading Loading @@ -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(); Loading @@ -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){ Loading
src/blogi.cpp +9 −10 Original line number Diff line number Diff line Loading @@ -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; Loading