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';