Loading plugins/staticpage/static.cpp +30 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,36 @@ bool blogi::StaticPage::Controller(const int tid,libhttppp::HttpRequest *req,lib return false; } void blogi::StaticPage::Search(const int tid, const char* word, blogi::SearchRet& result, const char* sessionid){ std::vector<char> buf; blogi::SQL sql; blogi::DBResult res; sql << "SELECT id,url,meta,text FROM table WHERE text LIKE '%s'"<< sql.escaped(buf,word) <<"'%' OR meta LIKE '%" << sql.escaped(buf,word) << "%';"; int count=Args->database[tid]->exec(&sql,res); for (int i=0; i < count; ++i) { SearchRet::Data data; data.title=res[i][2]; int tlen = strlen(res[i][3]) < 25 ? strlen(res[i][3]) : 25; std::copy(res[i][3],res[i][3]+tlen,std::back_inserter(data.text)); char url[512]; std::string surl=Args->config->buildurl("staticpage/",url,512); surl+=res[i][1]; data.anchor=surl; result.push_back(data); } } const char * blogi::StaticPage::getAuthor(){ return "Jan Koester"; } Loading plugins/staticpage/static.h +1 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ namespace blogi { bool Controller(const int tid,libhttppp::HttpRequest *req,libhtmlpp::HtmlElement *page,const char *sessionid); void Settings(const int tid,libhttppp::HttpRequest * req, libhtmlpp::HtmlString & setdiv,const char *sessionid); void Search(const int tid, const char* word, blogi::SearchRet &result, const char* sessionid); private: void newPage(const int tid,libhttppp::HttpRequest * req, libhtmlpp::HtmlString & setdiv); void delPage(const int tid,libhttppp::HttpRequest * req, libhtmlpp::HtmlString & setdiv); Loading Loading
plugins/staticpage/static.cpp +30 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,36 @@ bool blogi::StaticPage::Controller(const int tid,libhttppp::HttpRequest *req,lib return false; } void blogi::StaticPage::Search(const int tid, const char* word, blogi::SearchRet& result, const char* sessionid){ std::vector<char> buf; blogi::SQL sql; blogi::DBResult res; sql << "SELECT id,url,meta,text FROM table WHERE text LIKE '%s'"<< sql.escaped(buf,word) <<"'%' OR meta LIKE '%" << sql.escaped(buf,word) << "%';"; int count=Args->database[tid]->exec(&sql,res); for (int i=0; i < count; ++i) { SearchRet::Data data; data.title=res[i][2]; int tlen = strlen(res[i][3]) < 25 ? strlen(res[i][3]) : 25; std::copy(res[i][3],res[i][3]+tlen,std::back_inserter(data.text)); char url[512]; std::string surl=Args->config->buildurl("staticpage/",url,512); surl+=res[i][1]; data.anchor=surl; result.push_back(data); } } const char * blogi::StaticPage::getAuthor(){ return "Jan Koester"; } Loading
plugins/staticpage/static.h +1 −0 Original line number Diff line number Diff line Loading @@ -44,6 +44,7 @@ namespace blogi { bool Controller(const int tid,libhttppp::HttpRequest *req,libhtmlpp::HtmlElement *page,const char *sessionid); void Settings(const int tid,libhttppp::HttpRequest * req, libhtmlpp::HtmlString & setdiv,const char *sessionid); void Search(const int tid, const char* word, blogi::SearchRet &result, const char* sessionid); private: void newPage(const int tid,libhttppp::HttpRequest * req, libhtmlpp::HtmlString & setdiv); void delPage(const int tid,libhttppp::HttpRequest * req, libhtmlpp::HtmlString & setdiv); Loading