Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4971f62490 | ||
|
|
1cf4fdf31a | ||
|
|
d16b920966 |
@@ -10,8 +10,8 @@ CREATE TABLE edit_log (
|
|||||||
edit_log_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
edit_log_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
||||||
euid INT, -- this is a foreign key, but I don't nedd to reference to it
|
euid INT, -- this is a foreign key, but I don't nedd to reference to it
|
||||||
FOREIGN KEY (euid) REFERENCES edit_user (edit_user_id) MATCH FULL ON UPDATE CASCADE ON DELETE SET NULL,
|
FOREIGN KEY (euid) REFERENCES edit_user (edit_user_id) MATCH FULL ON UPDATE CASCADE ON DELETE SET NULL,
|
||||||
ecuid VARCHAR,
|
eucuid VARCHAR,
|
||||||
ecuuid UUID, -- this is the one we want to use, full UUIDv4 from the edit user table
|
eucuuid UUID, -- this is the one we want to use, full UUIDv4 from the edit user table
|
||||||
-- date_created equal, but can be overridden
|
-- date_created equal, but can be overridden
|
||||||
event_date TIMESTAMP WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
event_date TIMESTAMP WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||||
-- session ID if set
|
-- session ID if set
|
||||||
|
|||||||
@@ -652,8 +652,8 @@ CREATE TABLE edit_log (
|
|||||||
edit_log_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
edit_log_id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
|
||||||
euid INT, -- this is a foreign key, but I don't nedd to reference to it
|
euid INT, -- this is a foreign key, but I don't nedd to reference to it
|
||||||
FOREIGN KEY (euid) REFERENCES edit_user (edit_user_id) MATCH FULL ON UPDATE CASCADE ON DELETE SET NULL,
|
FOREIGN KEY (euid) REFERENCES edit_user (edit_user_id) MATCH FULL ON UPDATE CASCADE ON DELETE SET NULL,
|
||||||
ecuid VARCHAR,
|
eucuid VARCHAR,
|
||||||
ecuuid UUID, -- this is the one we want to use, full UUIDv4 from the edit user table
|
eucuuid UUID, -- this is the one we want to use, full UUIDv4 from the edit user table
|
||||||
-- date_created equal, but can be overridden
|
-- date_created equal, but can be overridden
|
||||||
event_date TIMESTAMP WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
event_date TIMESTAMP WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP,
|
||||||
-- session ID if set
|
-- session ID if set
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
-- 20241203: update edit tables
|
-- 20241203: update edit tables
|
||||||
ALTER TABLE edit_generic ADD cuuid UUID DEFAULT gen_random_uuid();
|
ALTER TABLE edit_generic ADD cuuid UUID DEFAULT gen_random_uuid();
|
||||||
ALTER TABLE edit_log ADD ecuid VARCHAR;
|
ALTER TABLE edit_log ADD eucuid VARCHAR;
|
||||||
ALTER TABLE edit_log ADD ecuuid VARCHAR;
|
ALTER TABLE edit_log ADD eucuuid VARCHAR;
|
||||||
ALTER TABLE edit_log ADD action_sub_id VARCHAR;
|
ALTER TABLE edit_log ADD action_sub_id VARCHAR;
|
||||||
ALTER TABLE edit_log ADD http_data JSONB;
|
ALTER TABLE edit_log ADD http_data JSONB;
|
||||||
ALTER TABLE edit_log ADD ip_address JSONB;
|
ALTER TABLE edit_log ADD ip_address JSONB;
|
||||||
@@ -32,3 +32,7 @@ BEGIN
|
|||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
LANGUAGE 'plpgsql';
|
LANGUAGE 'plpgsql';
|
||||||
|
|
||||||
|
--
|
||||||
|
ALTER TABLE edit_log RENAME ecuid TO eucuid;
|
||||||
|
ALTER TABLE edit_log RENAME ecuuid TO eucuuid;
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ class Login
|
|||||||
private ?int $edit_user_id;
|
private ?int $edit_user_id;
|
||||||
/** @var ?string the user cuid (note will be super seeded with uuid v4 later) */
|
/** @var ?string the user cuid (note will be super seeded with uuid v4 later) */
|
||||||
private ?string $edit_user_cuid;
|
private ?string $edit_user_cuid;
|
||||||
/** @var ?string UUIDv4, will superseed the ecuid and replace euid as login id */
|
/** @var ?string UUIDv4, will superseed the eucuid and replace euid as login id */
|
||||||
private ?string $edit_user_cuuid;
|
private ?string $edit_user_cuuid;
|
||||||
/** @var string _GET/_POST loginUserId parameter for non password login */
|
/** @var string _GET/_POST loginUserId parameter for non password login */
|
||||||
private string $login_user_id = '';
|
private string $login_user_id = '';
|
||||||
@@ -2371,7 +2371,7 @@ HTML;
|
|||||||
}
|
}
|
||||||
$q = <<<SQL
|
$q = <<<SQL
|
||||||
INSERT INTO {DB_SCHEMA}.edit_log (
|
INSERT INTO {DB_SCHEMA}.edit_log (
|
||||||
username, euid, ecuid, ecuuid, event_date, event, error, data, data_binary, page,
|
username, euid, eucuid, eucuuid, event_date, event, error, data, data_binary, page,
|
||||||
ip, ip_address, user_agent, referer, script_name, query_string, request_scheme, server_name,
|
ip, ip_address, user_agent, referer, script_name, query_string, request_scheme, server_name,
|
||||||
http_host, http_data, session_id,
|
http_host, http_data, session_id,
|
||||||
action_data
|
action_data
|
||||||
@@ -2727,7 +2727,7 @@ HTML;
|
|||||||
return $this->session->get('LOGIN_PAGES');
|
return $this->session->get('LOGIN_PAGES');
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: logged in uid(pk)/cuid/ecuuid
|
// MARK: logged in uid(pk)/eucuid/eucuuid
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current set EUID (edit user id)
|
* Get the current set EUID (edit user id)
|
||||||
@@ -2938,7 +2938,7 @@ HTML;
|
|||||||
if (empty($this->edit_user_cuuid)) {
|
if (empty($this->edit_user_cuuid)) {
|
||||||
return $this->permission_okay;
|
return $this->permission_okay;
|
||||||
}
|
}
|
||||||
// euid must match ecuid and ecuuid
|
// euid must match eucuid and eucuuid
|
||||||
// bail for previous wrong page match, eg if method is called twice
|
// bail for previous wrong page match, eg if method is called twice
|
||||||
if ($this->login_error == 103) {
|
if ($this->login_error == 103) {
|
||||||
return $this->permission_okay;
|
return $this->permission_okay;
|
||||||
|
|||||||
@@ -358,7 +358,7 @@ class Backend
|
|||||||
}
|
}
|
||||||
$q = <<<SQL
|
$q = <<<SQL
|
||||||
INSERT INTO {DB_SCHEMA}.edit_log (
|
INSERT INTO {DB_SCHEMA}.edit_log (
|
||||||
username, euid, ecuid, ecuuid, event_date, event, error, data, data_binary, page,
|
username, euid, eucuid, eucuuid, event_date, event, error, data, data_binary, page,
|
||||||
ip, user_agent, referer, script_name, query_string, server_name, http_host,
|
ip, user_agent, referer, script_name, query_string, server_name, http_host,
|
||||||
http_accept, http_accept_charset, http_accept_encoding, session_id,
|
http_accept, http_accept_charset, http_accept_encoding, session_id,
|
||||||
action, action_id, action_sub_id, action_yes, action_flag, action_menu, action_loaded,
|
action, action_id, action_sub_id, action_yes, action_flag, action_menu, action_loaded,
|
||||||
|
|||||||
@@ -527,7 +527,9 @@ class ArrayHandler
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* From the array with key -> anything values return only the matching entries from key list
|
* From the array with key -> mixed values,
|
||||||
|
* return only the entries where the key matches the key given in the key list parameter
|
||||||
|
*
|
||||||
* key list is a list[string]
|
* key list is a list[string]
|
||||||
* if key list is empty, return array as is
|
* if key list is empty, return array as is
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user