Mercurial > hg > fapweb
changeset 11:c10bf196390f
Improve database initialization script.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 06 Dec 2012 14:45:07 +0200 |
parents | 11816aad6967 |
children | 358534308c61 |
files | createdb.php |
diffstat | 1 files changed, 30 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/createdb.php Thu Dec 06 14:44:30 2012 +0200 +++ b/createdb.php Thu Dec 06 14:45:07 2012 +0200 @@ -9,21 +9,23 @@ // The defaults we put in $siteDefaults = array( - "maxAttendees" => array(VT_INT, 30), + "maxAttendees" => array(VT_INT, 30, "Maximum attendees (soft limit)"), - "voteTimeout" => array(VT_INT, 120*60), - "admTimeout" => array(VT_INT, 15*60), + "voteTimeout" => array(VT_INT, 120*60, "Vote page timeout (seconds)"), + "admTimeout" => array(VT_INT, 15*60, "Administration interface timeout (seconds)"), - "allowRegister" => array(VT_BOOL, false), - "allowVoting" => array(VT_BOOL, false), - "showAttendees" => array(VT_BOOL, false), - "showResults" => array(VT_BOOL, false), - "showResAuthors" => array(VT_BOOL, false), - "showVoteAuthors" => array(VT_BOOL, false), + "allowRegister" => array(VT_BOOL, false, "Enable event registration"), + "allowVoting" => array(VT_BOOL, false, "Enable voting"), + "showAttendees" => array(VT_BOOL, false, "Show attendees list"), + "showResults" => array(VT_BOOL, false, "Enable results page"), + "showResAuthors" => array(VT_BOOL, false, "Show entry authors on results page"), + "showVoteAuthors" => array(VT_BOOL, false, "Show entry authors on voting page"), - "eventDescription" => array(VT_TEXT, ""), - "compoDescription" => array(VT_TEXT, ""), - "siteInfoText" => array(VT_TEXT, "<a href=\"news\"><img src=\"img/fapsm.png\" alt=\"Finnish Amiga Party 2012\" class=\"logo\" /></a><div id=\"date\">30.11. - 2.12.2012<br />Helsinki, Finland<br />@ old location<br />Entry 15 EUR + prod</div>"), + "eventDescription" => array(VT_TEXT, "", "Event general description / timetables etc."), + "compoDescription" => array(VT_TEXT, "", "Compo general description"), + "siteInfoText" => array(VT_TEXT, +"<a href=\"news\"><img src=\"img/fapsm.png\" alt=\"Finnish Amiga Party 2012\" class=\"logo\" /></a><div id=\"date\">30.11. - 2.12.2012<br />Helsinki, Finland<br />@ old location<br />Entry 15 EUR + prod</div>", + "Site header text"), "newsDescription" => array(VT_TEXT, " <div style=\"text-align: center;\"> <img src=\"img/fap.png\" alt=\"FAP\" /> @@ -34,8 +36,8 @@ YOU <b>MUST</b> HAVE AT LEAST ONE ENTRY TO COMPETITIONS IF YOU COME TO THE PARTY. </span> </p> -</div> - "), +</div>", + "News page header text"), ); $sqlTables = array( @@ -45,7 +47,7 @@ "entries" => "id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(64), author VARCHAR(64), compo_id INT DEFAULT NULL", "voters" => "id INTEGER PRIMARY KEY AUTOINCREMENT, key VARCHAR(64), name VARCHAR(64), enabled INT DEFAULT 0", "votes" => "id INTEGER PRIMARY KEY AUTOINCREMENT, entry_id INT DEFAULT NULL, voter_id INT DEFAULT NULL, value INT DEFAULT 0", - "settings" => "key VARCHAR(32) PRIMARY KEY, vtype INT, vstr VARCHAR(128), vtext TEXT, vint INT", + "settings" => "key VARCHAR(32) PRIMARY KEY, vtype INT, vstr VARCHAR(128), vtext TEXT, vint INT, desc VARCHAR(128)", ); @@ -66,6 +68,12 @@ } +function stCreateOneTable($name, $schema) +{ + return (stExecSQL("CREATE TABLE ".$name." (".$schema.")") !== FALSE) ? TRUE : FALSE; +} + + function stCreateTables() { global $sqlTables; @@ -73,7 +81,7 @@ foreach ($sqlTables as $name => $schema) { echo " - '".$name."'\n"; - if (stExecSQL("CREATE TABLE ".$name." (".$schema.")") === FALSE) + if (!stCreateOneTable($name, $schema)) return FALSE; } return TRUE; @@ -95,8 +103,8 @@ } $sql = stPrepareSQL( - "INSERT INTO settings (key,vtype,".$var.") VALUES (%s,%d,".$type.")", - $key, $value[0], $value[1]); + "INSERT INTO settings (key,vtype,".$var.",desc) VALUES (%s,%d,".$type.",%s)", + $key, $value[0], $value[1], $value[2]); stExecSQL($sql); } @@ -135,8 +143,10 @@ case "reset": echo "Deleting old settings.\n"; - stExecSQL("DELETE FROM settings"); - stAddSettings(); + stExecSQL("DROP TABLE settings"); + + if (stCreateOneTable("settings", $sqlTables["settings"])) + stAddSettings(); break; }