X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttUserHelper.class.php;h=521bc8b7a0a228b5cbaa04c3cc875a934a2a9517;hb=47676f16efdde0b36a4ed09d2ab0476584aeb2a6;hp=9513a721a4adbe21923497a19079a96c3328d0e5;hpb=ecf7d911c95935f8cfb2403f645cd12f93d8c3f5;p=timetracker.git diff --git a/WEB-INF/lib/ttUserHelper.class.php b/WEB-INF/lib/ttUserHelper.class.php index 9513a721..521bc8b7 100644 --- a/WEB-INF/lib/ttUserHelper.class.php +++ b/WEB-INF/lib/ttUserHelper.class.php @@ -31,21 +31,6 @@ import('ttTeamHelper'); // Class ttUserHelper contains helper functions for operations with users. class ttUserHelper { - // The getUserDetails function returns user details. - static function getUserDetails($user_id) { - global $user; - $mdb2 = getConnection(); - - $sql = "select u.*, r.rank from tt_users u left join tt_roles r on (u.role_id = r.id) where u.id = $user_id and u.team_id = $user->team_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(); @@ -116,7 +101,7 @@ class ttUserHelper { if($hash) $password = 'md5('.$password.')'; $email = isset($fields['email']) ? $fields['email'] : ''; - $team_id = (int) $fields['team_id']; + $group_id = (int) $fields['group_id']; $rate = str_replace(',', '.', isset($fields['rate']) ? $fields['rate'] : 0); if($rate == '') $rate = 0; @@ -127,9 +112,9 @@ class ttUserHelper { $created_ip_v = ', '.$mdb2->quote($_SERVER['REMOTE_ADDR']); $created_by_v = ', '.$mdb2->quote($user->id); - $sql = "insert into tt_users (name, login, password, team_id, role_id, client_id, rate, email, created, created_ip, created_by $status_f) values (". + $sql = "insert into tt_users (name, login, password, group_id, role_id, client_id, rate, email, created, created_ip, created_by $status_f) values (". $mdb2->quote($fields['name']).", ".$mdb2->quote($fields['login']). - ", $password, $team_id, ".$mdb2->quote($fields['role_id']).", ".$mdb2->quote($fields['client_id']).", $rate, ".$mdb2->quote($email).", now() $created_ip_v $created_by_v $status_v)"; + ", $password, $group_id, ".$mdb2->quote($fields['role_id']).", ".$mdb2->quote($fields['client_id']).", $rate, ".$mdb2->quote($email).", now() $created_ip_v $created_by_v $status_v)"; $affected = $mdb2->exec($sql); // Now deal with project assignment. @@ -206,7 +191,7 @@ class ttUserHelper { // otherwise de-activate the bind (set its status to inactive). This will keep the bind // and its rate in database for reporting. - $all_projects = ttTeamHelper::getAllProjects($user->team_id); + $all_projects = ttTeamHelper::getAllProjects($user->group_id); $assigned_projects = isset($fields['projects']) ? $fields['projects'] : array(); foreach($all_projects as $p) { @@ -250,117 +235,6 @@ class ttUserHelper { return true; } - // markDeleted - marks user and its associated things as deleted. - static function markDeleted($user_id) { - $mdb2 = getConnection(); - global $user; - - // 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 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. - if ($user->isAdmin()) { - // 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 favorite reports as deleted. - $sql = "update tt_fav_reports 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"; - $affected = $mdb2->exec($sql); - if (is_a($affected, 'PEAR_Error')) - return false; - - } elseif ($user->isCoManager()) { - // 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 favorite reports as deleted. - $sql = "update tt_fav_reports 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; - - } elseif ($user->isManager()) { - $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 (1 == $user_count) { - // 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. - $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; - - // 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; - - // 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; - } - - // 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 favorite reports as deleted. - $sql = "update tt_fav_reports 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(); @@ -415,10 +289,10 @@ class ttUserHelper { static function saveTmpRef($ref, $user_id) { $mdb2 = getConnection(); - $sql = "delete from tt_tmp_refs where timestamp + 86400 < now()"; + $sql = "delete from tt_tmp_refs where created < now() - interval 1 hour"; $affected = $mdb2->exec($sql); - $sql = "insert into tt_tmp_refs (ref, user_id) values(".$mdb2->quote($ref).", $user_id)"; + $sql = "insert into tt_tmp_refs (created, ref, user_id) values(now(), ".$mdb2->quote($ref).", $user_id)"; $affected = $mdb2->exec($sql); }