From fadb4320a14d2afac38ddd2ac66b1738a483eebd Mon Sep 17 00:00:00 2001 From: anuko Date: Fri, 28 Jul 2017 02:29:37 +0000 Subject: [PATCH] White space formatting, also added a TODO comment about a currently not fixed nasty bug. --- WEB-INF/lib/ttUserHelper.class.php | 139 +++++++++++++++-------------- WEB-INF/templates/footer.tpl | 2 +- 2 files changed, 71 insertions(+), 70 deletions(-) diff --git a/WEB-INF/lib/ttUserHelper.class.php b/WEB-INF/lib/ttUserHelper.class.php index cf6beaf1..a8bfe622 100644 --- a/WEB-INF/lib/ttUserHelper.class.php +++ b/WEB-INF/lib/ttUserHelper.class.php @@ -30,7 +30,7 @@ import('ttTeamHelper'); // Class ttUserHelper contains helper functions for operations with users. class ttUserHelper { - + // The getUserDetails function returns user details. static function getUserDetails($user_id) { $result = array(); @@ -38,18 +38,18 @@ class ttUserHelper { $sql = "select * from tt_users where id = $user_id"; $res = $mdb2->query($sql); - + if (!is_a($res, 'PEAR_Error')) { $val = $res->fetchRow(); return $val; } return false; } - + // The getUserName function returns user name. static function getUserName($user_id) { - $mdb2 = getConnection(); - + $mdb2 = getConnection(); + $sql = "select name from tt_users where id = $user_id and (status = 1 or status = 0)"; $res = $mdb2->query($sql); @@ -81,10 +81,10 @@ class ttUserHelper { $sql = "select login, count(*) as cnt from tt_users where email = ".$mdb2->quote($email)." and status = 1 group by email"; $res = $mdb2->query($sql); - - if (is_a($res, 'PEAR_Error')) + + if (is_a($res, 'PEAR_Error')) return false; - + $val = $res->fetchRow(); if (1 <> $val['cnt']) { // We either have no users or multiple users with a given email. @@ -92,11 +92,11 @@ class ttUserHelper { } return $val['login']; } - + // The getUserIdByTmpRef obtains user id from a temporary reference (used for password resets). static function getUserIdByTmpRef($ref) { $mdb2 = getConnection(); - + $sql = "select user_id from tt_tmp_refs where ref = ".$mdb2->quote($ref); $res = $mdb2->query($sql); @@ -109,7 +109,7 @@ class ttUserHelper { // insert - inserts a user into database. static function insert($fields, $hash = true) { - $mdb2 = getConnection(); + $mdb2 = getConnection(); $password = $mdb2->quote($fields['password']); if($hash) @@ -129,7 +129,7 @@ class ttUserHelper { $mdb2->quote($fields['name']).", ".$mdb2->quote($fields['login']). ", $password, $team_id, $role, ".$mdb2->quote($fields['client_id']).", $rate, ".$mdb2->quote($email)." $status_v)"; $affected = $mdb2->exec($sql); - + // Now deal with project assignment. if (!is_a($affected, 'PEAR_Error')) { $sql = "SELECT LAST_INSERT_ID() AS last_id"; @@ -154,12 +154,12 @@ class ttUserHelper { } return false; } - + // update - updates a user in database. static function update($user_id, $fields) { - global $user; + global $user; $mdb2 = getConnection(); - + // Check parameters. if (!$user_id || !isset($fields['login'])) return false; @@ -175,25 +175,25 @@ class ttUserHelper { if (array_key_exists('client_id', $fields)) // Could be NULL. $client_part = ", client_id = ".$mdb2->quote($fields['client_id']); } - + if (array_key_exists('rate', $fields)) { $rate = str_replace(',', '.', isset($fields['rate']) ? $fields['rate'] : 0); if($rate == '') $rate = 0; $rate_part = ", rate = ".$mdb2->quote($rate); } - + if (isset($fields['status'])) { $status = (int) $fields['status']; $status_part = ", status = $status"; } - + $sql = "update tt_users set login = ".$mdb2->quote($fields['login']). "$pass_part, name = ".$mdb2->quote($fields['name']). "$role_part $client_part $rate_part $status_part, email = ".$mdb2->quote($fields['email']). " where id = $user_id"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; - + if (array_key_exists('projects', $fields)) { // Deal with project assignments. // Note: we cannot simply delete old project binds and insert new ones because it screws up reporting @@ -204,7 +204,7 @@ class ttUserHelper { $all_projects = ttTeamHelper::getAllProjects($user->team_id); $assigned_projects = isset($fields['projects']) ? $fields['projects'] : array(); - + foreach($all_projects as $p) { // Determine if a project is assigned. $assigned = false; @@ -245,18 +245,20 @@ class ttUserHelper { } return true; } - + // markDeleted - marks user and its associated things as deleted. + // TODO: address the problem when a deleted user has a scheduled notification configured, + // in which case all other notifications may stop working because of MySQL syntax error. static function markDeleted($user_id) { - $mdb2 = getConnection(); + $mdb2 = getConnection(); global $user; - - // Preliminary checks. Only managers, co-managers, and admin can do this. - if (!$user->canManageTeam() && !$user->isAdmin()) + + // Preliminary checks. Only managers, co-managers, and admin can do this. + if (!$user->canManageTeam() && !$user->isAdmin()) return false; - // Tho logic is different depending on who is doint the operation. - // Co-manage and admin - mark user deleted. + // Tho logic is different depending on who is doing the operation. + // Co-manager and admin - mark user deleted. // Manager - mark user deleted. If manager is the only account in team, mark team items deleted. // admin part. @@ -266,7 +268,7 @@ class ttUserHelper { $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; - + // Mark user as deleted. $sql = "update tt_users set status = NULL where id = $user_id"; $affected = $mdb2->exec($sql); @@ -287,66 +289,65 @@ class ttUserHelper { return false; } elseif ($user->isManager()) { - $user_count = ttTeamHelper::getUserCount($user->team_id); + $user_count = ttTeamHelper::getUserCount($user->team_id); // Marking deleted a manager with active users is not allowed. - if (($user_id == $user->id) && ($user_count > 1)) - return false; + if (($user_id == $user->id) && ($user_count > 1)) + return false; if (1 == $user_count) { - // Mark tasks deleted. + // Mark tasks deleted. if (!ttTeamHelper::markTasksDeleted($user->team_id)) return false; - + // Mark projects deleted. $sql = "update tt_projects set status = NULL where team_id = $user->team_id"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; - - // Mark clients deleted. + + // Mark clients deleted. $sql = "update tt_clients set status = NULL where team_id = $user->team_id"; - $affected = $mdb2->exec($sql); - if (is_a($affected, 'PEAR_Error')) - return false; + $affected = $mdb2->exec($sql); + if (is_a($affected, 'PEAR_Error')) + return false; // Mark custom fields deleted. $sql = "update tt_custom_fields set status = NULL where team_id = $user->team_id"; - $affected = $mdb2->exec($sql); - if (is_a($affected, 'PEAR_Error')) - return false; + $affected = $mdb2->exec($sql); + if (is_a($affected, 'PEAR_Error')) + return false; // Mark team deleted. - $sql = "update tt_teams set status = NULL where id = $user->team_id"; - $affected = $mdb2->exec($sql); - if (is_a($affected, 'PEAR_Error')) - return false; + $sql = "update tt_teams set status = NULL where id = $user->team_id"; + $affected = $mdb2->exec($sql); + if (is_a($affected, 'PEAR_Error')) + return false; + } - } - // Mark user binds as deleted. $sql = "update tt_user_project_binds set status = NULL where user_id = $user_id"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; - + // Mark user as deleted. $sql = "update tt_users set status = NULL where id = $user_id and team_id = ".$user->team_id; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; } - + return true; } - + // The delete function permanently deletes a user and all associated data. static function delete($user_id) { $mdb2 = getConnection(); // Delete custom field log entries for user, if we have them. - $sql = "delete from tt_custom_field_log where log_id in - (select id from tt_log where user_id = $user_id)"; + $sql = "delete from tt_custom_field_log where log_id in + (select id from tt_log where user_id = $user_id)"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; @@ -356,7 +357,7 @@ class ttUserHelper { $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; - + // Delete expense items for user. $sql = "delete from tt_expense_items where user_id = $user_id"; $affected = $mdb2->exec($sql); @@ -376,7 +377,7 @@ class ttUserHelper { return false; // Clean up tt_fav_reports table. - $sql = "delete from tt_fav_reports where user_id = $user_id"; + $sql = "delete from tt_fav_reports where user_id = $user_id"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; @@ -386,55 +387,55 @@ class ttUserHelper { $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) return false; - + return true; } - + // The saveTmpRef saves a temporary reference for user that is used to reset user password. static function saveTmpRef($ref, $user_id) { $mdb2 = getConnection(); - + $sql = "delete from tt_tmp_refs where timestamp + 86400 < now()"; $affected = $mdb2->exec($sql); $sql = "insert into tt_tmp_refs (ref, user_id) values(".$mdb2->quote($ref).", $user_id)"; $affected = $mdb2->exec($sql); } - + // The setPassword function updates password for user. static function setPassword($user_id, $password) { $mdb2 = getConnection(); - + $sql = "update tt_users set password = md5(".$mdb2->quote($password).") where id = $user_id"; $affected = $mdb2->exec($sql); - + return (!is_a($affected, 'PEAR_Error')); } - + // insertBind - inserts a user to project bind into tt_user_project_binds table. static function insertBind($user_id, $project_id, $rate, $status) { $mdb2 = getConnection(); - + $sql = "insert into tt_user_project_binds (user_id, project_id, rate, status) values($user_id, $project_id, ".$mdb2->quote($rate).", $status)"; $affected = $mdb2->exec($sql); return (!is_a($affected, 'PEAR_Error')); } - + // deleteBind - deactivates user to project bind when time entries exist, - // otherwise deletes it entirely. + // otherwise deletes it entirely. static function deleteBind($user_id, $project_id) { $mdb2 = getConnection(); - + $sql = "select count(*) as cnt from tt_log where user_id = $user_id and project_id = $project_id and status = 1"; $res = $mdb2->query($sql); if (is_a($res, 'PEAR_Error')) die ($res->getMessage()); - + $count = 0; $val = $res->fetchRow(); $count = $val['cnt']; - + if ($count > 0) { // Deactivate user bind. $sql = "select id from tt_user_project_binds where user_id = $user_id and project_id = $project_id"; @@ -442,7 +443,7 @@ class ttUserHelper { if (is_a($res, 'PEAR_Error')) die ($res->getMessage()); if ($val = $res->fetchRow()) { $sql = "update tt_user_project_binds set status = 0 where id = ".$val['id']; - $affected = $mdb2->exec($sql); + $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) die ($res->getMessage()); } } else { @@ -450,7 +451,7 @@ class ttUserHelper { $sql = "delete from tt_user_project_binds where user_id = $user_id and project_id = $project_id"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error')) die ($res->getMessage()); - } + } return true; } } diff --git a/WEB-INF/templates/footer.tpl b/WEB-INF/templates/footer.tpl index 0372379b..3dff2e0e 100644 --- a/WEB-INF/templates/footer.tpl +++ b/WEB-INF/templates/footer.tpl @@ -12,7 +12,7 @@
-
 Anuko Time Tracker 1.11.45.3646 | Copyright © Anuko | +  Anuko Time Tracker 1.11.45.3647 | Copyright © Anuko | {$i18n.footer.credits} | {$i18n.footer.license} | {$i18n.footer.improve} -- 2.20.1