version 0.3.2
[fms.git] / src / http / pages / createidentitypage.cpp
index 2c55c02..8a65914 100644 (file)
@@ -1,6 +1,9 @@
 #include "../../../include/http/pages/createidentitypage.h"\r
 #include "../../../include/stringfunctions.h"\r
 \r
+#include <Poco/DateTime.h>\r
+#include <Poco/DateTimeFormatter.h>\r
+\r
 #ifdef XMEM\r
        #include <xmem.h>\r
 #endif\r
@@ -11,8 +14,9 @@ const std::string CreateIdentityPage::GeneratePage(const std::string &method, co
 \r
        if(queryvars.find("formaction")!=queryvars.end() && (*queryvars.find("formaction")).second=="create")\r
        {\r
-               SQLite3DB::Statement st=m_db->Prepare("INSERT INTO tblLocalIdentity(Name,PublishTrustList) VALUES(?,'true');");\r
+               SQLite3DB::Statement st=m_db->Prepare("INSERT INTO tblLocalIdentity(Name,PublishTrustList,DateCreated) VALUES(?,'false',?);");\r
                std::string name="";\r
+               Poco::DateTime date;\r
 \r
                if(queryvars.find("name")!=queryvars.end())\r
                {\r
@@ -20,8 +24,12 @@ const std::string CreateIdentityPage::GeneratePage(const std::string &method, co
                }\r
 \r
                st.Bind(0,name);\r
+               st.Bind(1,Poco::DateTimeFormatter::format(date,"%Y-%m-%d %H:%M:%S"));\r
                st.Step();\r
 \r
+               // insert all identities not in trust list already\r
+               m_db->Execute("INSERT INTO tblIdentityTrust(LocalIdentityID,IdentityID) SELECT LocalIdentityID,IdentityID FROM tblLocalIdentity,tblIdentity WHERE LocalIdentityID || '_' || IdentityID NOT IN (SELECT LocalIdentityID || '_' || IdentityID FROM tblIdentityTrust);");\r
+\r
                content+="<h2>Created Identity</h2>";\r
        }\r
        else\r
@@ -29,12 +37,12 @@ const std::string CreateIdentityPage::GeneratePage(const std::string &method, co
                content+="<h2>Create Identity</h2>";\r
                content+="<form name=\"frmcreateidentity\" method=\"POST\">";\r
                content+="<input type=\"hidden\" name=\"formaction\" value=\"create\">";\r
-               content+="Name : <input type=\"text\" name=\"name\">";\r
+               content+="Name : <input type=\"text\" name=\"name\" maxlength=\"40\">";\r
                content+=" <input type=\"submit\" value=\"Create\">";\r
                content+="</form>";\r
        }\r
 \r
-       return "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n"+StringFunctions::Replace(m_template,"[CONTENT]",content);\r
+       return StringFunctions::Replace(m_template,"[CONTENT]",content);\r
 }\r
 \r
 const bool CreateIdentityPage::WillHandleURI(const std::string &uri)\r