Global settings display.
[cocanwiki.git] / cocanwiki.sql
index 7724333..119ba0f 100644 (file)
@@ -51,8 +51,10 @@ REVOKE ALL ON TABLE pages FROM PUBLIC;
 GRANT ALL ON TABLE pages TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
--- TOC entry 25 (OID 536004)
+-- TOC entry 31 (OID 536004)
 -- Name: pages_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -60,6 +62,8 @@ REVOKE ALL ON TABLE pages_id_seq FROM PUBLIC;
 GRANT ALL ON TABLE pages_id_seq TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
 -- TOC entry 7 (OID 536021)
 -- Name: contents; Type: TABLE; Schema: public; Owner: rich
@@ -69,7 +73,7 @@ CREATE TABLE contents (
     id serial NOT NULL,
     pageid integer NOT NULL,
     ordering integer NOT NULL,
-    sectionname text NOT NULL,
+    sectionname text,
     content text NOT NULL,
     divname text
 );
@@ -84,8 +88,10 @@ REVOKE ALL ON TABLE contents FROM PUBLIC;
 GRANT ALL ON TABLE contents TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
--- TOC entry 26 (OID 536021)
+-- TOC entry 32 (OID 536021)
 -- Name: contents_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -93,6 +99,8 @@ REVOKE ALL ON TABLE contents_id_seq FROM PUBLIC;
 GRANT ALL ON TABLE contents_id_seq TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
 -- TOC entry 9 (OID 536371)
 -- Name: hosts; Type: TABLE; Schema: public; Owner: rich
@@ -103,7 +111,9 @@ CREATE TABLE hosts (
     canonical_hostname text NOT NULL,
     css text,
     edit_anon boolean DEFAULT true NOT NULL,
-    create_account_anon boolean DEFAULT true NOT NULL
+    create_account_anon boolean DEFAULT true NOT NULL,
+    theme_css text,
+    feedback_email text
 );
 
 
@@ -116,8 +126,10 @@ REVOKE ALL ON TABLE hosts FROM PUBLIC;
 GRANT ALL ON TABLE hosts TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
--- TOC entry 27 (OID 536371)
+-- TOC entry 33 (OID 536371)
 -- Name: hosts_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -125,6 +137,8 @@ REVOKE ALL ON TABLE hosts_id_seq FROM PUBLIC;
 GRANT ALL ON TABLE hosts_id_seq TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
 -- TOC entry 11 (OID 536379)
 -- Name: hostnames; Type: TABLE; Schema: public; Owner: rich
@@ -145,6 +159,8 @@ REVOKE ALL ON TABLE hostnames FROM PUBLIC;
 GRANT ALL ON TABLE hostnames TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
 -- TOC entry 13 (OID 536915)
 -- Name: email_notify; Type: TABLE; Schema: public; Owner: rich
@@ -166,6 +182,8 @@ REVOKE ALL ON TABLE email_notify FROM PUBLIC;
 GRANT ALL ON TABLE email_notify TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
 -- TOC entry 15 (OID 537151)
 -- Name: images; Type: TABLE; Schema: public; Owner: rich
@@ -201,8 +219,10 @@ REVOKE ALL ON TABLE images FROM PUBLIC;
 GRANT ALL ON TABLE images TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
--- TOC entry 28 (OID 537151)
+-- TOC entry 34 (OID 537151)
 -- Name: images_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -210,6 +230,8 @@ REVOKE ALL ON TABLE images_id_seq FROM PUBLIC;
 GRANT ALL ON TABLE images_id_seq TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
 -- TOC entry 17 (OID 537166)
 -- Name: files; Type: TABLE; Schema: public; Owner: rich
@@ -236,8 +258,10 @@ REVOKE ALL ON TABLE files FROM PUBLIC;
 GRANT ALL ON TABLE files TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
--- TOC entry 29 (OID 537166)
+-- TOC entry 35 (OID 537166)
 -- Name: files_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -245,6 +269,8 @@ REVOKE ALL ON TABLE files_id_seq FROM PUBLIC;
 GRANT ALL ON TABLE files_id_seq TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
 -- TOC entry 19 (OID 540816)
 -- Name: users; Type: TABLE; Schema: public; Owner: rich
@@ -258,7 +284,10 @@ CREATE TABLE users (
     email text,
     registration_date date DEFAULT ('now'::text)::date NOT NULL,
     can_edit boolean DEFAULT true NOT NULL,
-    can_manage_users boolean DEFAULT false NOT NULL
+    can_manage_users boolean DEFAULT false NOT NULL,
+    can_manage_contacts boolean DEFAULT false NOT NULL,
+    can_manage_site boolean DEFAULT false NOT NULL,
+    can_edit_global_css boolean DEFAULT false NOT NULL
 );
 
 
@@ -271,8 +300,10 @@ REVOKE ALL ON TABLE users FROM PUBLIC;
 GRANT ALL ON TABLE users TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
--- TOC entry 30 (OID 540816)
+-- TOC entry 36 (OID 540816)
 -- Name: users_id_seq; Type: ACL; Schema: public; Owner: rich
 --
 
@@ -280,6 +311,8 @@ REVOKE ALL ON TABLE users_id_seq FROM PUBLIC;
 GRANT ALL ON TABLE users_id_seq TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
 -- TOC entry 21 (OID 540832)
 -- Name: usercookies; Type: TABLE; Schema: public; Owner: rich
@@ -300,6 +333,8 @@ REVOKE ALL ON TABLE usercookies FROM PUBLIC;
 GRANT ALL ON TABLE usercookies TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
 --
 -- TOC entry 23 (OID 540961)
 -- Name: sitemenu; Type: TABLE; Schema: public; Owner: rich
@@ -322,8 +357,90 @@ REVOKE ALL ON TABLE sitemenu FROM PUBLIC;
 GRANT ALL ON TABLE sitemenu TO "www-data";
 
 
+SET SESSION AUTHORIZATION 'rich';
+
+--
+-- TOC entry 25 (OID 542605)
+-- Name: contacts; Type: TABLE; Schema: public; Owner: rich
+--
+
+CREATE TABLE contacts (
+    id serial NOT NULL,
+    hostid integer NOT NULL,
+    name text NOT NULL,
+    subject text NOT NULL
+);
+
+
+--
+-- TOC entry 26 (OID 542605)
+-- Name: contacts; Type: ACL; Schema: public; Owner: rich
+--
+
+REVOKE ALL ON TABLE contacts FROM PUBLIC;
+GRANT ALL ON TABLE contacts TO "www-data";
+
+
+SET SESSION AUTHORIZATION 'rich';
+
+--
+-- TOC entry 37 (OID 542605)
+-- Name: contacts_id_seq; Type: ACL; Schema: public; Owner: rich
+--
+
+REVOKE ALL ON TABLE contacts_id_seq FROM PUBLIC;
+GRANT ALL ON TABLE contacts_id_seq TO "www-data";
+
+
+SET SESSION AUTHORIZATION 'rich';
+
+--
+-- TOC entry 27 (OID 542617)
+-- Name: contact_emails; Type: TABLE; Schema: public; Owner: rich
+--
+
+CREATE TABLE contact_emails (
+    contactid integer NOT NULL,
+    email text NOT NULL
+);
+
+
+--
+-- TOC entry 28 (OID 542617)
+-- Name: contact_emails; Type: ACL; Schema: public; Owner: rich
 --
--- TOC entry 35 (OID 536388)
+
+REVOKE ALL ON TABLE contact_emails FROM PUBLIC;
+GRANT ALL ON TABLE contact_emails TO "www-data";
+
+
+SET SESSION AUTHORIZATION 'rich';
+
+--
+-- TOC entry 29 (OID 543499)
+-- Name: themes; Type: TABLE; Schema: public; Owner: rich
+--
+
+CREATE TABLE themes (
+    theme_css text NOT NULL,
+    name text NOT NULL,
+    description text NOT NULL
+);
+
+
+--
+-- TOC entry 30 (OID 543499)
+-- Name: themes; Type: ACL; Schema: public; Owner: rich
+--
+
+REVOKE ALL ON TABLE themes FROM PUBLIC;
+GRANT SELECT ON TABLE themes TO "www-data";
+
+
+SET SESSION AUTHORIZATION 'rich';
+
+--
+-- TOC entry 42 (OID 536388)
 -- Name: hostnames_hostid_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -331,7 +448,7 @@ CREATE UNIQUE INDEX hostnames_hostid_name_uq ON hostnames USING btree (hostid, n
 
 
 --
--- TOC entry 36 (OID 536389)
+-- TOC entry 43 (OID 536389)
 -- Name: hostnams_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -339,7 +456,7 @@ CREATE UNIQUE INDEX hostnams_name_uq ON hostnames USING btree (name);
 
 
 --
--- TOC entry 32 (OID 536419)
+-- TOC entry 39 (OID 536419)
 -- Name: pages_url_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -347,7 +464,7 @@ CREATE UNIQUE INDEX pages_url_uq ON pages USING btree (hostid, url);
 
 
 --
--- TOC entry 37 (OID 536924)
+-- TOC entry 44 (OID 536924)
 -- Name: email_notify_email_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -355,7 +472,7 @@ CREATE UNIQUE INDEX email_notify_email_uq ON email_notify USING btree (hostid, e
 
 
 --
--- TOC entry 38 (OID 540251)
+-- TOC entry 45 (OID 540251)
 -- Name: images_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -363,7 +480,7 @@ CREATE UNIQUE INDEX images_name_uq ON images USING btree (hostid, name);
 
 
 --
--- TOC entry 40 (OID 540252)
+-- TOC entry 47 (OID 540252)
 -- Name: files_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -371,7 +488,7 @@ CREATE UNIQUE INDEX files_name_uq ON files USING btree (hostid, name);
 
 
 --
--- TOC entry 43 (OID 540831)
+-- TOC entry 50 (OID 540831)
 -- Name: users_name_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -379,7 +496,7 @@ CREATE UNIQUE INDEX users_name_uq ON users USING btree (hostid, name);
 
 
 --
--- TOC entry 42 (OID 540946)
+-- TOC entry 49 (OID 540946)
 -- Name: users_id_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -387,7 +504,7 @@ CREATE UNIQUE INDEX users_id_uq ON users USING btree (hostid, id);
 
 
 --
--- TOC entry 45 (OID 540970)
+-- TOC entry 52 (OID 540970)
 -- Name: sitemenu_ordering_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -395,7 +512,7 @@ CREATE UNIQUE INDEX sitemenu_ordering_uq ON sitemenu USING btree (hostid, orderi
 
 
 --
--- TOC entry 46 (OID 540971)
+-- TOC entry 53 (OID 540971)
 -- Name: sitemenu_url_uq; Type: INDEX; Schema: public; Owner: rich
 --
 
@@ -403,7 +520,23 @@ CREATE UNIQUE INDEX sitemenu_url_uq ON sitemenu USING btree (hostid, url);
 
 
 --
--- TOC entry 31 (OID 536012)
+-- TOC entry 55 (OID 542626)
+-- Name: contact_emails_uq; Type: INDEX; Schema: public; Owner: rich
+--
+
+CREATE UNIQUE INDEX contact_emails_uq ON contact_emails USING btree (contactid, email);
+
+
+--
+-- TOC entry 56 (OID 543505)
+-- Name: themes_theme_css_uq; Type: INDEX; Schema: public; Owner: rich
+--
+
+CREATE UNIQUE INDEX themes_theme_css_uq ON themes USING btree (theme_css);
+
+
+--
+-- TOC entry 38 (OID 536012)
 -- Name: pages_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -412,7 +545,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 33 (OID 536027)
+-- TOC entry 40 (OID 536027)
 -- Name: contents_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -421,7 +554,7 @@ ALTER TABLE ONLY contents
 
 
 --
--- TOC entry 34 (OID 536377)
+-- TOC entry 41 (OID 536377)
 -- Name: hosts_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -430,7 +563,7 @@ ALTER TABLE ONLY hosts
 
 
 --
--- TOC entry 39 (OID 537158)
+-- TOC entry 46 (OID 537158)
 -- Name: images_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -439,7 +572,7 @@ ALTER TABLE ONLY images
 
 
 --
--- TOC entry 41 (OID 537173)
+-- TOC entry 48 (OID 537173)
 -- Name: files_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -448,7 +581,7 @@ ALTER TABLE ONLY files
 
 
 --
--- TOC entry 44 (OID 540825)
+-- TOC entry 51 (OID 540825)
 -- Name: users_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -457,7 +590,16 @@ ALTER TABLE ONLY users
 
 
 --
--- TOC entry 51 (OID 536029)
+-- TOC entry 54 (OID 542611)
+-- Name: contacts_pkey; Type: CONSTRAINT; Schema: public; Owner: rich
+--
+
+ALTER TABLE ONLY contacts
+    ADD CONSTRAINT contacts_pkey PRIMARY KEY (id);
+
+
+--
+-- TOC entry 61 (OID 536029)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -466,7 +608,7 @@ ALTER TABLE ONLY contents
 
 
 --
--- TOC entry 53 (OID 536384)
+-- TOC entry 64 (OID 536384)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -475,7 +617,7 @@ ALTER TABLE ONLY hostnames
 
 
 --
--- TOC entry 52 (OID 536394)
+-- TOC entry 62 (OID 536394)
 -- Name: hosts_hostname_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -484,7 +626,7 @@ ALTER TABLE ONLY hosts
 
 
 --
--- TOC entry 47 (OID 536404)
+-- TOC entry 57 (OID 536404)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -493,7 +635,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 54 (OID 536920)
+-- TOC entry 65 (OID 536920)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -502,7 +644,7 @@ ALTER TABLE ONLY email_notify
 
 
 --
--- TOC entry 55 (OID 537160)
+-- TOC entry 66 (OID 537160)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -511,7 +653,7 @@ ALTER TABLE ONLY images
 
 
 --
--- TOC entry 56 (OID 537175)
+-- TOC entry 67 (OID 537175)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -520,7 +662,7 @@ ALTER TABLE ONLY files
 
 
 --
--- TOC entry 48 (OID 539155)
+-- TOC entry 58 (OID 539155)
 -- Name: pages_redirect_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -529,7 +671,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 57 (OID 540827)
+-- TOC entry 68 (OID 540827)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -538,7 +680,7 @@ ALTER TABLE ONLY users
 
 
 --
--- TOC entry 58 (OID 540837)
+-- TOC entry 69 (OID 540837)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -547,7 +689,7 @@ ALTER TABLE ONLY usercookies
 
 
 --
--- TOC entry 49 (OID 540942)
+-- TOC entry 59 (OID 540942)
 -- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -556,7 +698,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 50 (OID 540947)
+-- TOC entry 60 (OID 540947)
 -- Name: pages_user_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -565,7 +707,7 @@ ALTER TABLE ONLY pages
 
 
 --
--- TOC entry 59 (OID 540966)
+-- TOC entry 70 (OID 540966)
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -574,7 +716,7 @@ ALTER TABLE ONLY sitemenu
 
 
 --
--- TOC entry 60 (OID 540972)
+-- TOC entry 71 (OID 540972)
 -- Name: sitemenu_url_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
 --
 
@@ -582,6 +724,33 @@ ALTER TABLE ONLY sitemenu
     ADD CONSTRAINT sitemenu_url_cn FOREIGN KEY (hostid, url) REFERENCES pages(hostid, url) DEFERRABLE;
 
 
+--
+-- TOC entry 72 (OID 542613)
+-- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
+--
+
+ALTER TABLE ONLY contacts
+    ADD CONSTRAINT "$1" FOREIGN KEY (hostid) REFERENCES hosts(id);
+
+
+--
+-- TOC entry 73 (OID 542622)
+-- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: rich
+--
+
+ALTER TABLE ONLY contact_emails
+    ADD CONSTRAINT "$1" FOREIGN KEY (contactid) REFERENCES contacts(id);
+
+
+--
+-- TOC entry 63 (OID 543506)
+-- Name: hosts_theme_css_cn; Type: FK CONSTRAINT; Schema: public; Owner: rich
+--
+
+ALTER TABLE ONLY hosts
+    ADD CONSTRAINT hosts_theme_css_cn FOREIGN KEY (theme_css) REFERENCES themes(theme_css);
+
+
 SET SESSION AUTHORIZATION 'postgres';
 
 --