From 5f8dbb1200edc65ce3aed3fb1bc2fde0a4d3a156 Mon Sep 17 00:00:00 2001 From: Nik Okuntseff Date: Sun, 18 Mar 2018 16:23:09 +0000 Subject: [PATCH] Introduced audit fields for users. --- WEB-INF/lib/ttTeamHelper.class.php | 5 +++++ WEB-INF/templates/footer.tpl | 2 +- dbinstall.php | 17 +++++++++++++---- mysql.sql | 12 ++++++++++-- 4 files changed, 29 insertions(+), 7 deletions(-) diff --git a/WEB-INF/lib/ttTeamHelper.class.php b/WEB-INF/lib/ttTeamHelper.class.php index bbd188fc..60be9b53 100644 --- a/WEB-INF/lib/ttTeamHelper.class.php +++ b/WEB-INF/lib/ttTeamHelper.class.php @@ -675,6 +675,11 @@ class ttTeamHelper { $mdb2 = getConnection(); + // Mark roles deleted. + $sql = "update tt_roles set status = NULL where team_id = $team_id"; + $affected = $mdb2->exec($sql); + if (is_a($affected, 'PEAR_Error')) return false; + // Mark projects deleted. $sql = "update tt_projects set status = NULL where team_id = $team_id"; $affected = $mdb2->exec($sql); diff --git a/WEB-INF/templates/footer.tpl b/WEB-INF/templates/footer.tpl index d879dc5c..d4f8bb76 100644 --- a/WEB-INF/templates/footer.tpl +++ b/WEB-INF/templates/footer.tpl @@ -12,7 +12,7 @@
- - - + +
 Anuko Time Tracker 1.17.52.4097 | Copyright © Anuko | +  Anuko Time Tracker 1.17.52.4098 | Copyright © Anuko | {$i18n.footer.credits} | {$i18n.footer.license} | {$i18n.footer.improve} diff --git a/dbinstall.php b/dbinstall.php index 2719bca4..5b2f6c30 100644 --- a/dbinstall.php +++ b/dbinstall.php @@ -805,7 +805,7 @@ if ($_POST) { print "Updated $users_updated users...
\n"; } - if ($_POST["convert11744to11751"]) { + if ($_POST["convert11744to11752"]) { setChange("update `tt_roles` inner join `tt_site_config` sc on (sc.param_name = 'version_db' and sc.param_value = '1.17.44') set rights = replace(rights, 'override_punch_mode,override_date_lock', 'override_punch_mode,override_own_punch_mode,override_date_lock')"); setChange("UPDATE `tt_site_config` SET param_value = '1.17.48' where param_name = 'version_db' and param_value = '1.17.44'"); setChange("update `tt_users` inner join `tt_site_config` sc on (sc.param_name = 'version_db' and sc.param_value = '1.17.48') set role_id = (select id from tt_roles where team_id = 0 and rank = 512) where role = 324"); @@ -814,6 +814,15 @@ if ($_POST) { setChange("UPDATE `tt_site_config` SET param_value = '1.17.50' where param_name = 'version_db' and param_value = '1.17.49'"); setChange("update `tt_roles` inner join `tt_site_config` sc on (sc.param_name = 'version_db' and sc.param_value = '1.17.50') set rights = replace(rights, 'override_date_lock,swap_roles', 'override_date_lock,override_own_date_lock,swap_roles')"); setChange("UPDATE `tt_site_config` SET param_value = '1.17.51' where param_name = 'version_db' and param_value = '1.17.50'"); + setChange("ALTER TABLE `tt_users` ADD `created` datetime default NULL AFTER `email`"); + setChange("ALTER TABLE `tt_users` ADD `created_ip` varchar(45) default NULL AFTER `created`"); + setChange("ALTER TABLE `tt_users` ADD `created_by` int(11) default NULL AFTER `created_ip`"); + setChange("ALTER TABLE `tt_users` ADD `modified` datetime default NULL AFTER `created_by`"); + setChange("ALTER TABLE `tt_users` ADD `modified_ip` varchar(45) default NULL AFTER `modified`"); + setChange("ALTER TABLE `tt_users` ADD `modified_by` int(11) default NULL AFTER `modified_ip`"); + setChange("ALTER TABLE `tt_users` ADD `accessed` datetime default NULL AFTER `modified_by`"); + setChange("ALTER TABLE `tt_users` ADD `accessed_ip` varchar(45) default NULL AFTER `accessed`"); + setChange("UPDATE `tt_site_config` SET param_value = '1.17.52' where param_name = 'version_db' and param_value = '1.17.51'"); } if ($_POST["cleanup"]) { @@ -859,7 +868,7 @@ if ($_POST) {

DB Install

-
Create database structure (v1.17.51) + Create database structure (v1.17.52)
(applies only to new installations, do not execute when updating)
@@ -899,8 +908,8 @@ if ($_POST) {

Update database structure (v1.17.44 to v1.17.51)Update database structure (v1.17.44 to v1.17.52)
diff --git a/mysql.sql b/mysql.sql index e5a9b8e5..6c2d0f52 100644 --- a/mysql.sql +++ b/mysql.sql @@ -14,7 +14,7 @@ # CREATE TABLE `tt_teams` ( `id` int(11) NOT NULL auto_increment, # team id - `timestamp` timestamp default CURRENT_TIMESTAMP, # modification timestamp + `timestamp` timestamp default CURRENT_TIMESTAMP, # Modification timestamp. TODO: redo all timestamps to survive beyond 2038. `name` varchar(80) default NULL, # team name `currency` varchar(7) default NULL, # team currency symbol `decimal_mark` char(1) NOT NULL default '.', # separator in decimals @@ -83,6 +83,14 @@ CREATE TABLE `tt_users` ( `client_id` int(11) default NULL, # client id for "client" user role `rate` float(6,2) NOT NULL default '0.00', # default hourly rate `email` varchar(100) default NULL, # user email + `created_timestamp` timestamp default NULL, # creation timestamp + `created_ip` varchar(45) default NULL, # creation ip + `created_by` int(11) default NULL, # creator user_id (null for self) + `modified_timestamp` timestamp default NULL, # modification timestamp + `modified_ip` varchar(45) default NULL, # modification ip + `modified_by` int(11) default NULL, # modifier user_id + `last_access_timestamp` timestamp default NULL, # last access timestamp + `last_access_ip` varchar(45) default NULL, # last access ip `status` tinyint(4) default 1, # user status PRIMARY KEY (`id`) ); @@ -426,4 +434,4 @@ CREATE TABLE `tt_site_config` ( PRIMARY KEY (`param_name`) ); -INSERT INTO `tt_site_config` (`param_name`, `param_value`, `created`) VALUES ('version_db', '1.17.51', now()); # TODO: change when structure changes. +INSERT INTO `tt_site_config` (`param_name`, `param_value`, `created`) VALUES ('version_db', '1.17.52', now()); # TODO: change when structure changes. -- 2.20.1