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

test

parent cfcf5d06
Loading
Loading
Loading
Loading
+21 −23
Original line number Diff line number Diff line
@@ -142,7 +142,7 @@ namespace blogi {
        }

        json_object* delNavigation(const int tid,libhttppp::HttpRequest &req){
            int navid=-1;
            std::string navid;
            bool confirmed=false;
            libhttppp::HttpForm form;
            form.parse(req);
@@ -150,14 +150,14 @@ namespace blogi {

            for(const auto &cdat : form.urlData()){
                if(cdat.key=="navid")
                    navid=atoi(cdat.value.c_str());
                    navid=cdat.value;

                if(cdat.key=="confirmed")
                    if(cdat.value=="true")
                        confirmed=true;
            }

            if(navid<0){
            if(navid.empty()){
                libhttppp::HTTPException excep;
                excep[libhttppp::HTTPException::Critical] << "No navbar selectet for remove";
                throw excep;
@@ -169,7 +169,7 @@ namespace blogi {
            if(!confirmed){
                json_object *jconfirm = json_object_new_object();
                json_object_object_add(jconfirm, "message", json_object_new_string(tr(_lang,"Do you want to remove this navigation?").c_str()));
                std::string yesUrl = Args->config->buildurl("settings/navbar/delnav?navid=") + std::to_string(navid) + "&confirmed=true";
                std::string yesUrl = Args->config->buildurl("settings/navbar/delnav?navid=") + navid + "&confirmed=true";
                json_object_object_add(jconfirm, "yes_url", json_object_new_string(yesUrl.c_str()));
                json_object_object_add(jconfirm, "no_url", json_object_new_string(Args->config->buildurl("settings/navbar").c_str()));
                json_object_object_add(jroot, "confirm", jconfirm);
@@ -198,7 +198,8 @@ namespace blogi {
        }

        json_object* editNavigation(const int tid,libhttppp::HttpRequest &req){
            int navid=-1,rem_itemid=-1;
            std::string navid;
            std::string rem_itemid;
            dbpp::SQL sql;
            dbpp::DBResult res;
            std::vector<char> sbuf;
@@ -212,7 +213,7 @@ namespace blogi {

            for(const auto &cdat : form.urlData()){
                if(cdat.key=="navid")
                    navid=atoi(cdat.value.c_str());
                    navid=cdat.value;
                else if(cdat.key=="navname")
                    libhtmlpp::HtmlDecode(cdat.value,navname);
                else if(cdat.key=="navcontainer")
@@ -224,22 +225,21 @@ namespace blogi {
                else if(cdat.key=="navitem_type_new")
                    newitem_type=cdat.value;
                else if(cdat.key=="navitem_remove")
                    rem_itemid=atoi(cdat.value.c_str());
                    rem_itemid=cdat.value;
                else if(cdat.key=="navitem_moveup")
                    moveup_itemid=cdat.value;
                else if(cdat.key=="navitem_movedown")
                    movedown_itemid=cdat.value;
            }

            if(navid<0){
            if(navid.empty()){
                libhttppp::HTTPException excep;
                excep[libhttppp::HTTPException::Critical] << "No navbar selectet for edit";
                throw excep;
            }

            auto changeItemName = [this,tid,navid](const std::string &key,const std::string &value){
                int iid;
                sscanf(key.c_str(),"navitem_name_%d",&iid);
            auto changeItemName = [this,tid,&navid](const std::string &key,const std::string &value){
                std::string iid = key.substr(13); // after "navitem_name_"
                dbpp::SQL sql2;
                dbpp::DBResult res2;
                std::vector<char> sbuf;
@@ -248,9 +248,8 @@ namespace blogi {
                sql2.clear();
            };

            auto changeItemUrl = [this,tid,navid](const std::string &key,const std::string &value){
                int iid;
                sscanf(key.c_str(),"navitem_url_%d",&iid);
            auto changeItemUrl = [this,tid,&navid](const std::string &key,const std::string &value){
                std::string iid = key.substr(12); // after "navitem_url_"
                dbpp::SQL sql2;
                dbpp::DBResult res2;
                std::vector<char> sbuf;
@@ -260,9 +259,8 @@ namespace blogi {

            };

            auto changeItemType = [this,tid,navid](const std::string &key,const std::string &value){
                int iid;
                sscanf(key.c_str(),"navitem_type_%d",&iid);
            auto changeItemType = [this,tid,&navid](const std::string &key,const std::string &value){
                std::string iid = key.substr(13); // after "navitem_type_"
                dbpp::SQL sql2;
                dbpp::DBResult res2;
                std::vector<char> sbuf;
@@ -281,7 +279,7 @@ namespace blogi {
                    changeItemType(cdat.key,cdat.value);
            }

            if(rem_itemid>=0){
            if(!rem_itemid.empty()){
                sql << "DELETE FROM navbar_items WHERE navbar_id='" << navid << "'AND id='" << rem_itemid << "'";
                Args->database[tid]->exec(sql,res);
                sql.clear();
@@ -370,7 +368,7 @@ namespace blogi {
            // Form
            json_object *jform = json_object_new_object();
            json_object_object_add(jform, "method", json_object_new_string("POST"));
            std::string formAction = Args->config->buildurl("settings/navbar/editnav?navid=") + std::to_string(navid);
            std::string formAction = Args->config->buildurl("settings/navbar/editnav?navid=") + navid;
            json_object_object_add(jform, "action", json_object_new_string(formAction.c_str()));

            // Top fields: name, container, hidden navid
@@ -393,7 +391,7 @@ namespace blogi {
            json_object *jfHidden = json_object_new_object();
            json_object_object_add(jfHidden, "name", json_object_new_string("navid"));
            json_object_object_add(jfHidden, "type", json_object_new_string("hidden"));
            json_object_object_add(jfHidden, "value", json_object_new_string(std::to_string(navid).c_str()));
            json_object_object_add(jfHidden, "value", json_object_new_string(navid.c_str()));
            json_object_array_add(jfields, jfHidden);

            json_object_object_add(jform, "fields", jfields);
@@ -464,7 +462,7 @@ namespace blogi {
                if(i > 0){
                    json_object *jmoveup = json_object_new_object();
                    json_object_object_add(jmoveup, "label", json_object_new_string(tr(_lang,"up").c_str()));
                    std::string upUrl = Args->config->buildurl("settings/navbar/editnav?navid=") + std::to_string(navid) + "&navitem_moveup=" + std::string(res[i][0]);
                    std::string upUrl = Args->config->buildurl("settings/navbar/editnav?navid=") + navid + "&navitem_moveup=" + std::string(res[i][0]);
                    json_object_object_add(jmoveup, "url", json_object_new_string(upUrl.c_str()));
                    json_object_array_add(jractions, jmoveup);
                }
@@ -472,14 +470,14 @@ namespace blogi {
                if(i < n-1){
                    json_object *jmovedown = json_object_new_object();
                    json_object_object_add(jmovedown, "label", json_object_new_string(tr(_lang,"down").c_str()));
                    std::string downUrl = Args->config->buildurl("settings/navbar/editnav?navid=") + std::to_string(navid) + "&navitem_movedown=" + std::string(res[i][0]);
                    std::string downUrl = Args->config->buildurl("settings/navbar/editnav?navid=") + navid + "&navitem_movedown=" + std::string(res[i][0]);
                    json_object_object_add(jmovedown, "url", json_object_new_string(downUrl.c_str()));
                    json_object_array_add(jractions, jmovedown);
                }

                json_object *jremove = json_object_new_object();
                json_object_object_add(jremove, "label", json_object_new_string(tr(_lang,"remove").c_str()));
                std::string removeUrl = Args->config->buildurl("settings/navbar/editnav?navid=") + std::to_string(navid) + "&navitem_remove=" + std::string(res[i][0]);
                std::string removeUrl = Args->config->buildurl("settings/navbar/editnav?navid=") + navid + "&navitem_remove=" + std::string(res[i][0]);
                json_object_object_add(jremove, "url", json_object_new_string(removeUrl.c_str()));
                json_object_array_add(jractions, jremove);
                json_object_object_add(jrow, "actions", jractions);