diff --git a/4dev/database/ORDER b/4dev/database/ORDER
index e5070a32..eb373885 100644
--- a/4dev/database/ORDER
+++ b/4dev/database/ORDER
@@ -20,9 +20,11 @@ table/edit_user.sql
table/edit_log.sql
table/edit_access.sql
table/edit_access_user.sql
+table/edit_access_data.sql
# all triggers (after all tables have been created)
trigger/trg_edit_access_right.sql
trigger/trg_edit_access.sql
+trigger/trg_edit_access_data.sql
trigger/trg_edit_access_user.sql
trigger/trg_edit_generic.sql
trigger/trg_edit_group.sql
@@ -36,3 +38,5 @@ trigger/trg_edit_user.sql
trigger/trg_edit_visible_group.sql
trigger/trg_edit_menu_group.sql
trigger/trg_set_edit_access_uid.sql
+# insert data
+data/edit_tables.sql
diff --git a/4dev/database/function/set_generic.sql b/4dev/database/function/set_generic.sql
index aa3f8ac6..04cf1655 100644
--- a/4dev/database/function/set_generic.sql
+++ b/4dev/database/function/set_generic.sql
@@ -1,11 +1,8 @@
-- adds the created or updated date tags
CREATE OR REPLACE FUNCTION set_generic() RETURNS TRIGGER AS '
- DECLARE
- random_length INT = 12; -- that should be long enough
BEGIN
IF TG_OP = ''INSERT'' THEN
- NEW.date_created := ''now'';
NEW.cuid := random_string(random_length);
ELSIF TG_OP = ''UPDATE'' THEN
NEW.date_updated := ''now'';
diff --git a/4dev/database/table/edit_access.sql b/4dev/database/table/edit_access.sql
index 72742df9..8fd0246b 100644
--- a/4dev/database/table/edit_access.sql
+++ b/4dev/database/table/edit_access.sql
@@ -15,7 +15,3 @@ CREATE TABLE edit_access (
enabled BOOLEAN DEFAULT 'true',
protected INT
) INHERITS (edit_generic) WITHOUT OIDS;
-
-DELETE FROM edit_access;
-INSERT INTO edit_access (name, enabled, protected) VALUES ('Admin Access', 't', 1);
-INSERT INTO edit_access (name, enabled, protected) VALUES ('User Access', 't', 1);
diff --git a/4dev/database/table/edit_access_right.sql b/4dev/database/table/edit_access_right.sql
index fc3e5ac6..64a84c92 100644
--- a/4dev/database/table/edit_access_right.sql
+++ b/4dev/database/table/edit_access_right.sql
@@ -14,14 +14,3 @@ CREATE TABLE edit_access_right (
type VARCHAR,
UNIQUE (level,type)
) INHERITS (edit_generic) WITHOUT OIDS;
-
-DELETE FROM edit_access_right;
-INSERT INTO edit_access_right (name, level, type) VALUES ('Default', -1, 'default');
-INSERT INTO edit_access_right (name, level, type) VALUES ('No Access', 0, 'none');
-INSERT INTO edit_access_right (name, level, type) VALUES ('Read', 20, 'read');
-INSERT INTO edit_access_right (name, level, type) VALUES ('Translator', 30, 'mod_trans');
-INSERT INTO edit_access_right (name, level, type) VALUES ('Modify', 40, 'mod');
-INSERT INTO edit_access_right (name, level, type) VALUES ('Create/Write', 60, 'write');
-INSERT INTO edit_access_right (name, level, type) VALUES ('Delete', 80, 'del');
-INSERT INTO edit_access_right (name, level, type) VALUES ('Site Admin', 90, 'siteadmin');
-INSERT INTO edit_access_right (name, level, type) VALUES ('Admin', 100, 'admin');
diff --git a/4dev/database/table/edit_access_user.sql b/4dev/database/table/edit_access_user.sql
index 84cd2b9d..7194385c 100644
--- a/4dev/database/table/edit_access_user.sql
+++ b/4dev/database/table/edit_access_user.sql
@@ -17,10 +17,3 @@ CREATE TABLE edit_access_user (
FOREIGN KEY (edit_user_id) REFERENCES edit_user (edit_user_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
) INHERITS (edit_generic) WITHOUT OIDS;
-
-DELETE FROM edit_access_user;
-INSERT INTO edit_access_user (edit_default, edit_access_id, edit_user_id, edit_access_right_id) VALUES (1,
- (SELECT edit_access_id FROM edit_access WHERE uid = 'AdminAccess')
- (SELECT edit_user_id FROM edit_user WHERE username = 'admin')
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
-);
diff --git a/4dev/database/table/edit_group.sql b/4dev/database/table/edit_group.sql
index dc6ba893..7b07f791 100644
--- a/4dev/database/table/edit_group.sql
+++ b/4dev/database/table/edit_group.sql
@@ -15,12 +15,3 @@ CREATE TABLE edit_group (
FOREIGN KEY (edit_scheme_id) REFERENCES edit_scheme (edit_scheme_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
) INHERITS (edit_generic) WITHOUT OIDS;
-
-INSERT INTO edit_group (name, enabled, edit_scheme_id, edit_access_right_id) VALUES ('Admin', 1,
- (SELECT edit_scheme_id FROM edit_scheme WHERE name = 'Admin'),
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
-);
-INSERT INTO edit_group (name, enabled, edit_scheme_id, edit_access_right_id) VALUES ('User', 1,
- (SELECT edit_scheme_id FROM edit_scheme WHERE name = 'User'),
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'write')
-);
diff --git a/4dev/database/table/edit_language.sql b/4dev/database/table/edit_language.sql
index 6f94a91e..633e3af3 100644
--- a/4dev/database/table/edit_language.sql
+++ b/4dev/database/table/edit_language.sql
@@ -16,6 +16,3 @@ CREATE TABLE edit_language (
enabled SMALLINT NOT NULL DEFAULT 0,
lang_default SMALLINT NOT NULL DEFAULT 0
) INHERITS (edit_generic) WITHOUT OIDS;
-
-INSERT INTO edit_language (short_name, long_name, iso_name, order_number, enabled, lang_default) VALUES ('en', 'English', 'UTF-8', 1, 1, 1);
-INSERT INTO edit_language (short_name, long_name, iso_name, order_number, enabled, lang_default) VALUES ('ja', 'Japanese', 'UTF-8', 2, 1, 0);
diff --git a/4dev/database/table/edit_menu_group.sql b/4dev/database/table/edit_menu_group.sql
index f66d929c..4036a632 100644
--- a/4dev/database/table/edit_menu_group.sql
+++ b/4dev/database/table/edit_menu_group.sql
@@ -13,6 +13,4 @@ CREATE TABLE edit_menu_group (
order_number INT NOT NULL
) INHERITS (edit_generic) WITHOUT OIDS;
-DELETE FROM edit_menu_group;
-INSERT INTO edit_menu_group (name, flag, order_number) VALUES ('Admin Menu', 'admin', 1);
-INSERT INTO edit_menu_group (name, flag, order_number) VALUES ('Admin Data Popup Menu', 'AdminDataPopup', 2);
+
diff --git a/4dev/database/table/edit_page.sql b/4dev/database/table/edit_page.sql
index 84ecea6e..99bf3e83 100644
--- a/4dev/database/table/edit_page.sql
+++ b/4dev/database/table/edit_page.sql
@@ -17,14 +17,3 @@ CREATE TABLE edit_page (
popup_x SMALLINT,
popup_y SMALLINT
) INHERITS (edit_generic) WITHOUT OIDS;
-
-DELETE FROM edit_page;
-INSERT INTO edit_page (filename, name, order_number, online, menu) VALUES ('edit_pages.php', 'Edit Pages', 1, 1, 1);
-INSERT INTO edit_page (filename, name, order_number, online, menu) VALUES ('edit_users.php', 'Edit Users', 2, 1, 1);
-INSERT INTO edit_page (filename, name, order_number, online, menu) VALUES ('edit_languages.php', 'Edit Languages', 3, 1, 1);
-INSERT INTO edit_page (filename, name, order_number, online, menu) VALUES ('edit_schemes.php', 'Edit Schemes', 4, 1, 1);
-INSERT INTO edit_page (filename, name, order_number, online, menu) VALUES ('edit_groups.php', 'Edit Groups', 5, 1, 1);
-INSERT INTO edit_page (filename, name, order_number, online, menu) VALUES ('edit_visible_group.php', 'Edit Visible Groups', 6, 1, 1);
-INSERT INTO edit_page (filename, name, order_number, online, menu) VALUES ('edit_menu_group.php', 'Edit Menu Groups', 7, 1, 1);
-INSERT INTO edit_page (filename, name, order_number, online, menu) VALUES ('edit_access.php', 'Edit Access', 8, 1, 1);
-INSERT INTO edit_page (filename, name, order_number, online, menu) VALUES ('edit_order.php', 'Edit Order', 9, 1, 0);
diff --git a/4dev/database/table/edit_page_access.sql b/4dev/database/table/edit_page_access.sql
index fe76e89f..3a7c1100 100644
--- a/4dev/database/table/edit_page_access.sql
+++ b/4dev/database/table/edit_page_access.sql
@@ -17,48 +17,4 @@ CREATE TABLE edit_page_access (
FOREIGN KEY (edit_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
) INHERITS (edit_generic) WITHOUT OIDS;
-INSERT INTO edit_page_access (enabled, edit_group_id, edit_page_id, edit_access_right_id) VALUES (1,
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- 1,
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
-);
-INSERT INTO edit_page_access (enabled, edit_group_id, edit_page_id, edit_access_right_id) VALUES (1,
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- 2,
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
- );
-INSERT INTO edit_page_access (enabled, edit_group_id, edit_page_id, edit_access_right_id) VALUES (1,
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- 3,
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
-);
-INSERT INTO edit_page_access (enabled, edit_group_id, edit_page_id, edit_access_right_id) VALUES (1,
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- 4,
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
-);
-INSERT INTO edit_page_access (enabled, edit_group_id, edit_page_id, edit_access_right_id) VALUES (1,
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- 5,
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
-);
-INSERT INTO edit_page_access (enabled, edit_group_id, edit_page_id, edit_access_right_id) VALUES (1,
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- 6,
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin'
- );
-INSERT INTO edit_page_access (enabled, edit_group_id, edit_page_id, edit_access_right_id) VALUES (1,
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- 7,
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin'
-);
-INSERT INTO edit_page_access (enabled, edit_group_id, edit_page_id, edit_access_right_id) VALUES (1,
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- 8,
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
-);
-INSERT INTO edit_page_access (enabled, edit_group_id, edit_page_id, edit_access_right_id) VALUES (1,
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- 9,
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
-);
+
diff --git a/4dev/database/table/edit_page_menu_group.sql b/4dev/database/table/edit_page_menu_group.sql
index c4d25a5f..d820855a 100644
--- a/4dev/database/table/edit_page_menu_group.sql
+++ b/4dev/database/table/edit_page_menu_group.sql
@@ -12,12 +12,3 @@ CREATE TABLE edit_page_menu_group (
FOREIGN KEY (edit_page_id) REFERENCES edit_page (edit_page_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_menu_group_id) REFERENCES edit_menu_group (edit_menu_group_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
);
-
-DELETE FROM edit_page_menu_group;
-INSERT INTO edit_page_menu_group VALUES (1, 1);
-INSERT INTO edit_page_menu_group VALUES (2, 1);
-INSERT INTO edit_page_menu_group VALUES (3, 1);
-INSERT INTO edit_page_menu_group VALUES (4, 1);
-INSERT INTO edit_page_menu_group VALUES (5, 1);
-INSERT INTO edit_page_menu_group VALUES (6, 1);
-INSERT INTO edit_page_menu_group VALUES (7, 1);
diff --git a/4dev/database/table/edit_page_visible_group.sql b/4dev/database/table/edit_page_visible_group.sql
index c083aa1e..46438b4e 100644
--- a/4dev/database/table/edit_page_visible_group.sql
+++ b/4dev/database/table/edit_page_visible_group.sql
@@ -12,12 +12,3 @@ CREATE TABLE edit_page_visible_group (
FOREIGN KEY (edit_page_id) REFERENCES edit_page (edit_page_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_visible_group_id) REFERENCES edit_visible_group (edit_visible_group_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
);
-
-DELETE FROM edit_page_visible_group;
-INSERT INTO edit_page_visible_group VALUES (1, 1);
-INSERT INTO edit_page_visible_group VALUES (2, 1);
-INSERT INTO edit_page_visible_group VALUES (3, 1);
-INSERT INTO edit_page_visible_group VALUES (4, 1);
-INSERT INTO edit_page_visible_group VALUES (5, 1);
-INSERT INTO edit_page_visible_group VALUES (6, 1);
-INSERT INTO edit_page_visible_group VALUES (7, 1);
diff --git a/4dev/database/table/edit_scheme.sql b/4dev/database/table/edit_scheme.sql
index 893bdeef..2612d98a 100644
--- a/4dev/database/table/edit_scheme.sql
+++ b/4dev/database/table/edit_scheme.sql
@@ -14,8 +14,3 @@ CREATE TABLE edit_scheme (
css_file VARCHAR,
template VARCHARs
) INHERITS (edit_generic) WITHOUT OIDS;
-
-INSERT INTO edit_scheme (name, header_color, enabled) VALUES ('Default Scheme', 'E0E2FF', 1);
-INSERT INTO edit_scheme (name, header_color, enabled) VALUES ('Admin', 'CC7E7E', 1);
-INSERT INTO edit_scheme (name, header_color, enabled) VALUES ('Visitor', 'B0C4B3', 1);
-INSERT INTO edit_scheme (name, header_color, enabled) VALUES ('User', '1E789E', 1);
diff --git a/4dev/database/table/edit_user.sql b/4dev/database/table/edit_user.sql
index 509d72e4..41f4329c 100644
--- a/4dev/database/table/edit_user.sql
+++ b/4dev/database/table/edit_user.sql
@@ -8,10 +8,13 @@
-- DROP TABLE edit_user;
CREATE TABLE edit_user (
edit_user_id SERIAL PRIMARY KEY,
+ connect_edit_user_id INT, -- possible reference to other user
username VARCHAR UNIQUE,
password VARCHAR,
first_name VARCHAR,
last_name VARCHAR,
+ first_name_furigana VARCHAR,
+ last_name_furigana VARCHAR,
enabled SMALLINT NOT NULL DEFAULT 0,
debug SMALLINT NOT NULL DEFAULT 0,
db_debug SMALLINT NOT NULL DEFAULT 0,
@@ -29,17 +32,9 @@ CREATE TABLE edit_user (
locked SMALLINT DEFAULT 0,
password_change_date TIMESTAMP WITHOUT TIME ZONE, -- only when password is first set or changed
password_change_interval INTERVAL, -- null if no change is needed, or d/m/y time interval
+ FOREIGN KEY (connect_edit_user_id) REFERENCES edit_user (edit_user_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_language_id) REFERENCES edit_language (edit_language_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_group_id) REFERENCES edit_group (edit_group_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_scheme_id) REFERENCES edit_scheme (edit_scheme_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY (edit_access_right_id) REFERENCES edit_access_right (edit_access_right_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE
) INHERITS (edit_generic) WITHOUT OIDS;
-
--- inserts admin user so basic users can be created
-DELETE FROM edit_user;
-INSERT INTO edit_user (username, password, enabled, debug, db_debug, email, protected, admin, edit_language_id, edit_group_id, edit_scheme_id, edit_access_right_id) VALUES ('admin', 'admin', 1, 1, 1, '', 1, 1,
- (SELECT edit_language_id FROM edit_language WHERE short_name = 'en'),
- (SELECT edit_group_id FROM edit_group WHERE name = 'Admin'),
- (SELECT edit_scheme_id FROM edit_scheme WHERE name = 'Admin')
- (SELECT edit_access_right_id FROM edit_access_right WHERE type = 'admin')
-);
diff --git a/4dev/database/trigger/trg_edit_access.sql b/4dev/database/trigger/trg_edit_access.sql
index a88bf94c..cd05aaa5 100644
--- a/4dev/database/trigger/trg_edit_access.sql
+++ b/4dev/database/trigger/trg_edit_access.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_access ON edit_access;
+DROP TRIGGER trg_edit_access ON edit_access;
CREATE TRIGGER trg_edit_access
BEFORE INSERT OR UPDATE ON edit_access
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_access_data.sql b/4dev/database/trigger/trg_edit_access_data.sql
index ecc6d503..4b6276d4 100644
--- a/4dev/database/trigger/trg_edit_access_data.sql
+++ b/4dev/database/trigger/trg_edit_access_data.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_access_data ON edit_access_data;
+DROP TRIGGER trg_edit_access_data ON edit_access_data;
CREATE TRIGGER trg_edit_access_data
BEFORE INSERT OR UPDATE ON edit_access_data
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_access_right.sql b/4dev/database/trigger/trg_edit_access_right.sql
index 8ef6509b..3700eb27 100644
--- a/4dev/database/trigger/trg_edit_access_right.sql
+++ b/4dev/database/trigger/trg_edit_access_right.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_access_right ON edit_access_right;
+DROP TRIGGER trg_edit_access_right ON edit_access_right;
CREATE TRIGGER trg_edit_access_right
BEFORE INSERT OR UPDATE ON edit_access_right
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_access_user.sql b/4dev/database/trigger/trg_edit_access_user.sql
index 842e3c09..bc6a9989 100644
--- a/4dev/database/trigger/trg_edit_access_user.sql
+++ b/4dev/database/trigger/trg_edit_access_user.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_access_user ON edit_access_user;
+DROP TRIGGER trg_edit_access_user ON edit_access_user;
CREATE TRIGGER trg_edit_access_user
BEFORE INSERT OR UPDATE ON edit_access_user
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_group.sql b/4dev/database/trigger/trg_edit_group.sql
index 21def0aa..997dc22b 100644
--- a/4dev/database/trigger/trg_edit_group.sql
+++ b/4dev/database/trigger/trg_edit_group.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_group ON edit_group;
+DROP TRIGGER trg_edit_group ON edit_group;
CREATE TRIGGER trg_edit_group
BEFORE INSERT OR UPDATE ON edit_group
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_language.sql b/4dev/database/trigger/trg_edit_language.sql
index 949ae574..ae2c4f29 100644
--- a/4dev/database/trigger/trg_edit_language.sql
+++ b/4dev/database/trigger/trg_edit_language.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_language ON edit_language;
+DROP TRIGGER trg_edit_language ON edit_language;
CREATE TRIGGER trg_edit_language
BEFORE INSERT OR UPDATE ON edit_language
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_log.sql b/4dev/database/trigger/trg_edit_log.sql
index 98518208..6c985b7e 100644
--- a/4dev/database/trigger/trg_edit_log.sql
+++ b/4dev/database/trigger/trg_edit_log.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_log ON edit_log;
+DROP TRIGGER trg_edit_log ON edit_log;
CREATE TRIGGER trg_edit_log
BEFORE INSERT OR UPDATE ON edit_log
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_menu_group.sql b/4dev/database/trigger/trg_edit_menu_group.sql
index 4639bd24..798c8051 100644
--- a/4dev/database/trigger/trg_edit_menu_group.sql
+++ b/4dev/database/trigger/trg_edit_menu_group.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_visible_group ON edit_visible_group;
+DROP TRIGGER trg_edit_menu_group ON edit_menu_group;
CREATE TRIGGER trg_edit_menu_group
BEFORE INSERT OR UPDATE ON edit_menu_group
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_page.sql b/4dev/database/trigger/trg_edit_page.sql
index f88f93bb..2f0b454d 100644
--- a/4dev/database/trigger/trg_edit_page.sql
+++ b/4dev/database/trigger/trg_edit_page.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_page ON edit_page;
+DROP TRIGGER trg_edit_page ON edit_page;
CREATE TRIGGER trg_edit_page
BEFORE INSERT OR UPDATE ON edit_page
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_page_access.sql b/4dev/database/trigger/trg_edit_page_access.sql
index f287a7d4..165b5174 100644
--- a/4dev/database/trigger/trg_edit_page_access.sql
+++ b/4dev/database/trigger/trg_edit_page_access.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_page_access ON edit_page_access;
+DROP TRIGGER trg_edit_page_access ON edit_page_access;
CREATE TRIGGER trg_edit_page_access
BEFORE INSERT OR UPDATE ON edit_page_access
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_query_string.sql b/4dev/database/trigger/trg_edit_query_string.sql
index bfddab30..dcd109e8 100644
--- a/4dev/database/trigger/trg_edit_query_string.sql
+++ b/4dev/database/trigger/trg_edit_query_string.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_query_string ON edit_query_string;
+DROP TRIGGER trg_edit_query_string ON edit_query_string;
CREATE TRIGGER trg_edit_query_string
BEFORE INSERT OR UPDATE ON edit_query_string
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_scheme.sql b/4dev/database/trigger/trg_edit_scheme.sql
index 926728ac..e3d00f24 100644
--- a/4dev/database/trigger/trg_edit_scheme.sql
+++ b/4dev/database/trigger/trg_edit_scheme.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_scheme ON edit_scheme;
+DROP TRIGGER trg_edit_scheme ON edit_scheme;
CREATE TRIGGER trg_edit_scheme
BEFORE INSERT OR UPDATE ON edit_scheme
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_user.sql b/4dev/database/trigger/trg_edit_user.sql
index e9731473..14756e3b 100644
--- a/4dev/database/trigger/trg_edit_user.sql
+++ b/4dev/database/trigger/trg_edit_user.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_user ON edit_user;
+DROP TRIGGER trg_edit_user ON edit_user;
CREATE TRIGGER trg_edit_user
BEFORE INSERT OR UPDATE ON edit_user
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/4dev/database/trigger/trg_edit_visible_group.sql b/4dev/database/trigger/trg_edit_visible_group.sql
index d48ce8d6..4baf4fd0 100644
--- a/4dev/database/trigger/trg_edit_visible_group.sql
+++ b/4dev/database/trigger/trg_edit_visible_group.sql
@@ -1,4 +1,4 @@
--- DROP TRIGGER trg_edit_visible_group ON edit_visible_group;
+DROP TRIGGER trg_edit_visible_group ON edit_visible_group;
CREATE TRIGGER trg_edit_visible_group
BEFORE INSERT OR UPDATE ON edit_visible_group
-FOR EACH ROW EXECUTE PROCEDURE set_generic();
+FOR EACH ROW EXECUTE PROCEDURE set_edit_generic();
diff --git a/www/layout/admin/default/javascript/edit.js b/www/layout/admin/default/javascript/edit.js
index 0b252752..86b38b98 100644
--- a/www/layout/admin/default/javascript/edit.js
+++ b/www/layout/admin/default/javascript/edit.js
@@ -263,6 +263,30 @@ function ael(base, attach, id = '')
// DESC : resets the sub elements of the base element given
const rel = (base) => base.sub = [];
+// METHOD: rcssel [remove a css from the element]
+// PARAMS: element, style sheet to remove
+// RETURN: "none", in place because of reference
+// DESC : searches and removes style from css array
+function rcssel(element, css)
+{
+ let css_index = element.css.indexOf(css);
+ if (css_index > -1) {
+ element.css.splice(css_index, 1);
+ }
+}
+
+// METHOD acssel [add css element]
+// PARAMS: element, style sheet to add
+// RETURN: "none", in place add because of reference
+// DESC : adds a new style sheet to the element given
+function acssel(element, css)
+{
+ let css_index = element.css.indexOf(css);
+ if (css_index > -1) {
+ element.css.push(css);
+ }
+}
+
// METHOD: phfo [produce html from object]
// PARAMS: object tree with dom element declarations
// RETURN: HTML string that can be used as innerHTML
diff --git a/www/lib/CoreLibs/ACL/Login.inc b/www/lib/CoreLibs/ACL/Login.inc
index 08c0a5bf..e71c7ee6 100644
--- a/www/lib/CoreLibs/ACL/Login.inc
+++ b/www/lib/CoreLibs/ACL/Login.inc
@@ -75,7 +75,9 @@ class Login extends \CoreLibs\DB\IO
private $pw_change_deny_users = array (); // array of users for which the password change is forbidden
// if we have password change we need to define some rules
- private $password_min_length = 8;
+ private $password_min_length = PASSWORD_MIN_LENGTH;
+ // max length is fixed as 255 (for input type max), if set highter, it will be set back to 255
+ private $password_max_length = PASSWORD_MAX_LENGTH;
// can have several regexes, if nothing set, all is ok
private $password_valid_chars = array (
// '^(?=.*\d)(?=.*[A-Za-z])[0-9A-Za-z!@#$%]{8,}$',
@@ -119,6 +121,16 @@ class Login extends \CoreLibs\DB\IO
exit;
}
+ // pre-check that password min/max lengths are inbetween 1 and 255;
+ if ($this->password_max_length > 255) {
+ echo "Settings problem PMaL
";
+ exit;
+ }
+ if ($this->password_min_length < 1) {
+ echo "Settings problem PMiL
";
+ exit;
+ }
+
$this->l = new \CoreLibs\Language\L10n($lang);
// if we have a search path we need to set it, to use the correct DB to login
@@ -729,12 +741,28 @@ class Login extends \CoreLibs\DB\IO
}
}
// check for min length
- if (strlen($password) < $this->password_min_length) {
+ if (strlen($password) < $this->password_min_length || strlen($password) > $this->password_max_length) {
$is_valid_password = false;
}
return $is_valid_password;
}
+ // METHOD: loginSetPasswordMinLength
+ // PARAMS: set the minimum length
+ // RETURN: true/false on success
+ // DESC : sets the minium length and checks on valid
+ public function loginSetPasswordMinLength($length)
+ {
+ // check that numeric, positive numeric, not longer than max input string lenght
+ // and not short than min password length
+ if (is_numeric($length) && $length >= PASSWORD_MIN_LENGTH && $length <= $this->password_max_length) {
+ $this->password_min_length = $length;
+ return true;
+ } else {
+ return false;
+ }
+ }
+
// METHOD: loginPasswordChange
// WAS : login_password_change
// PARAMS: none
diff --git a/www/lib/CoreLibs/Basic.inc b/www/lib/CoreLibs/Basic.inc
index 5f709f33..ef07fbcd 100644
--- a/www/lib/CoreLibs/Basic.inc
+++ b/www/lib/CoreLibs/Basic.inc
@@ -1341,7 +1341,7 @@ class Basic
// METHOD: compareDate
// WAS : CompareDate
// PARAMS: start_date, end_date (both: YYYY-MM-DD)
- // RETURN: -1 if the first date is smaller the last, 0 if both are equal, 1 if the end date is bigger than the last
+ // RETURN: -1 if the first date is smaller the last, 0 if both are equal, 1 if the first date is bigger than the last
// DESC : splits & checks date, wrap around for check_date function
public static function compareDate($start_date, $end_date)
{
diff --git a/www/lib/CoreLibs/DB/IO.inc b/www/lib/CoreLibs/DB/IO.inc
index d05e31c1..29849f5e 100644
--- a/www/lib/CoreLibs/DB/IO.inc
+++ b/www/lib/CoreLibs/DB/IO.inc
@@ -1621,6 +1621,12 @@ class IO extends \CoreLibs\Basic
if ($string == 'f' || $string == 'false') {
return false;
}
+ // fallback in case top is not t/f, default on set unset
+ if ($string) {
+ return true;
+ } else {
+ return false;
+ }
} else {
if ($string) {
return 't';