version 0.3.29
[fms.git] / src / dbconversions.cpp
index b0cb73e..78d906a 100644 (file)
@@ -5,10 +5,9 @@
 #include <Poco/Timestamp.h>\r
 #include <Poco/DateTimeFormatter.h>\r
 \r
-void ConvertDB0100To0101()\r
+void ConvertDB0100To0101(SQLite3DB::DB *db)\r
 {\r
        // added unique constraint to public and private key\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
        db->Execute("CREATE TEMPORARY TABLE tblLocalIdentityTemp AS SELECT * FROM tblLocalIdentity;");\r
        db->Execute("DROP TABLE IF EXISTS tblLocalIdentity;");\r
        db->Execute("CREATE TABLE IF NOT EXISTS tblLocalIdentity(\\r
@@ -35,10 +34,9 @@ void ConvertDB0100To0101()
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=1;");\r
 }\r
 \r
-void ConvertDB0101To0103()\r
+void ConvertDB0101To0103(SQLite3DB::DB *db)\r
 {\r
        // remove default 50 from trust fields and set default to NULL\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
        db->Execute("CREATE TEMPORARY TABLE tblIdentityTemp AS SELECT * FROM tblIdentity;");\r
        db->Execute("DROP TABLE IF EXISTS tblIdentity;");\r
        db->Execute("CREATE TABLE IF NOT EXISTS tblIdentity(\\r
@@ -64,11 +62,10 @@ void ConvertDB0101To0103()
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=3;");\r
 }\r
 \r
-void ConvertDB0103To0104()\r
+void ConvertDB0103To0104(SQLite3DB::DB *db)\r
 {\r
        // add MessageIndex to tblMessage\r
        Poco::Timestamp date;\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
        db->Execute("ALTER TABLE tblMessage ADD COLUMN MessageIndex     INTEGER;");\r
        db->Execute("CREATE UNIQUE INDEX IF NOT EXISTS idxMessageRequest ON tblMessageRequests(IdentityID,Day,RequestIndex);");\r
        db->Execute("ALTER TABLE tblLocalIdentity ADD COLUMN DateCreated DATETIME;");\r
@@ -76,11 +73,10 @@ void ConvertDB0103To0104()
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=4;");\r
 }\r
 \r
-void ConvertDB0104To0105()\r
+void ConvertDB0104To0105(SQLite3DB::DB *db)\r
 {\r
        // add AddedMethod, MessageTrustComment, TrustListTrustComment to tblIdentity\r
        // add MessageTrustComment,TrustListTrustComment to tblPeerTrust\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
        db->Execute("ALTER TABLE tblIdentity ADD COLUMN AddedMethod TEXT;");\r
        db->Execute("ALTER TABLE tblIdentity ADD COLUMN MessageTrustComment TEXT;");\r
        db->Execute("ALTER TABLE tblIdentity ADD COLUMN TrustListTrustComment TEXT;");\r
@@ -89,37 +85,33 @@ void ConvertDB0104To0105()
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=5;");\r
 }\r
 \r
-void ConvertDB0105To0106()\r
+void ConvertDB0105To0106(SQLite3DB::DB *db)\r
 {\r
        // add Publish Freesite\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
        db->Execute("ALTER TABLE tblLocalIdentity ADD COLUMN PublishFreesite BOOL CHECK(PublishFreesite IN('true','false')) DEFAULT 'false';");\r
        db->Execute("ALTER TABLE tblLocalIdentity ADD COLUMN LastInsertedFreesite DATETIME;");\r
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=6;");\r
 }\r
 \r
-void ConvertDB0106To0107()\r
+void ConvertDB0106To0107(SQLite3DB::DB *db)\r
 {\r
        // add AddedMethod to tblBoard\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
        db->Execute("ALTER TABLE tblBoard ADD COLUMN AddedMethod TEXT;");\r
        db->Execute("ALTER TABLE tblIdentity ADD COLUMN Hidden BOOL CHECK(Hidden IN('true','false')) DEFAULT 'false';");\r
        db->Execute("UPDATE tblIdentity SET Hidden='false' WHERE Hidden IS NULL;");\r
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=7;");\r
 }\r
 \r
-void ConvertDB0107To0108()\r
+void ConvertDB0107To0108(SQLite3DB::DB *db)\r
 {\r
        // add FreesiteEdition to tblLocalIdentity and tblIdentity\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
        db->Execute("ALTER TABLE tblLocalIdentity ADD COLUMN FreesiteEdition INTEGER;");\r
        db->Execute("ALTER TABLE tblIdentity ADD COLUMN FreesiteEdition INTEGER;");\r
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=8;");\r
 }\r
 \r
-void ConvertDB0108To0109()\r
+void ConvertDB0108To0109(SQLite3DB::DB *db)\r
 {\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
        db->Execute("CREATE TABLE IF NOT EXISTS tblFileInserts(\\r
                        FileInsertID            INTEGER PRIMARY KEY,\\r
                        MessageUUID                     TEXT,\\r
@@ -131,14 +123,13 @@ void ConvertDB0108To0109()
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=9;");\r
 }\r
 \r
-void ConvertDB0109To0110()\r
+void ConvertDB0109To0110(SQLite3DB::DB *db)\r
 {\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
        db->Execute("ALTER TABLE tblFileInserts ADD COLUMN MimeType TEXT;");\r
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=10;");\r
 }\r
 \r
-void ConvertDB0110To0111()\r
+void ConvertDB0110To0111(SQLite3DB::DB *db)\r
 {\r
        /*\r
        Drop MessageTrustComment, TrustListTrustComment FROM tblIdentity\r
@@ -148,7 +139,6 @@ void ConvertDB0110To0111()
 \r
        Add SendDate to tblMessageInserts\r
        */\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
 \r
        db->Execute("ALTER TABLE tblMessageInserts ADD COLUMN SendDate DATETIME;");\r
 \r
@@ -205,13 +195,12 @@ void ConvertDB0110To0111()
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=11;");\r
 }\r
 \r
-void ConvertDB0111To0112()\r
+void ConvertDB0111To0112(SQLite3DB::DB *db)\r
 {\r
        /*\r
                Add Section, SortOrder, ValidValues to tblOption\r
                Add PurgeDate to tblIdentity\r
        */\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
 \r
        db->Execute("ALTER TABLE tblOption ADD COLUMN Section TEXT;");\r
        db->Execute("ALTER TABLE tblOption ADD COLUMN SortOrder INTEGER;");\r
@@ -222,10 +211,9 @@ void ConvertDB0111To0112()
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=12;");\r
 }\r
 \r
-void ConvertDB0112To0113()\r
+void ConvertDB0112To0113(SQLite3DB::DB *db)\r
 {\r
        // Add Tries and Key (for anonymous messages) to tblMessageRequests     \r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
 \r
        db->Execute("ALTER TABLE tblMessageRequests ADD COLUMN Tries INTEGER DEFAULT 0;");\r
        db->Execute("ALTER TABLE tblMessageRequests ADD COLUMN Key TEXT;");\r
@@ -233,9 +221,8 @@ void ConvertDB0112To0113()
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=13;");\r
 }\r
 \r
-void ConvertDB0113To0114()\r
+void ConvertDB0113To0114(SQLite3DB::DB *db)\r
 {\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
 \r
        db->Execute("ALTER TABLE tblBoard ADD COLUMN Forum TEXT CHECK(Forum IN ('true','false')) DEFAULT 'false';");\r
        db->Execute("ALTER TABLE tblMessage ADD COLUMN Read INTEGER CHECK(Read IN (0,1)) DEFAULT 0;");\r
@@ -243,9 +230,19 @@ void ConvertDB0113To0114()
        db->Execute("UPDATE tblDBVersion SET Major=1, Minor=14;");\r
 }\r
 \r
-void FixCapitalBoardNames()\r
+void ConvertDB0114To0115(SQLite3DB::DB *db)\r
+{\r
+\r
+       db->Execute("ALTER TABLE tblOption ADD COLUMN DisplayType TEXT CHECK (DisplayType IN ('textbox','textarea','select','multiselect')) DEFAULT 'textbox';");\r
+       db->Execute("ALTER TABLE tblOption ADD COLUMN DisplayParam1 TEXT;");\r
+       db->Execute("ALTER TABLE tblOption ADD COLUMN DisplayParam2 TEXT;");\r
+       db->Execute("ALTER TABLE tblOption ADD COLUMN Mode TEXT CHECK (Mode IN ('simple','advanced')) DEFAULT 'simple';");\r
+\r
+       db->Execute("UPDATE tblDBVersion SET Major=1, Minor=15;");\r
+}\r
+\r
+void FixCapitalBoardNames(SQLite3DB::DB *db)\r
 {\r
-       SQLite3DB::DB *db=SQLite3DB::DB::Instance();\r
 \r
        SQLite3DB::Statement st=db->Prepare("SELECT BoardID,BoardName FROM tblBoard WHERE BoardID NOT IN (SELECT BoardID FROM tblAdministrationBoard);");\r
        SQLite3DB::Statement st2=db->Prepare("SELECT BoardID FROM tblBoard WHERE BoardName=?;");\r