X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttUserHelper.class.php;h=521bc8b7a0a228b5cbaa04c3cc875a934a2a9517;hb=47676f16efdde0b36a4ed09d2ab0476584aeb2a6;hp=3d4ead9fe4bbcca15f8ea67047c14723f9057a61;hpb=de05f61301a897661c702f03c1b45dd3ab5c0e8a;p=timetracker.git diff --git a/WEB-INF/lib/ttUserHelper.class.php b/WEB-INF/lib/ttUserHelper.class.php index 3d4ead9f..521bc8b7 100644 --- a/WEB-INF/lib/ttUserHelper.class.php +++ b/WEB-INF/lib/ttUserHelper.class.php @@ -235,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 group, mark group 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 group_id = ".$user->group_id; - $affected = $mdb2->exec($sql); - if (is_a($affected, 'PEAR_Error')) - return false; - - } elseif ($user->isManager()) { - $user_count = ttTeamHelper::getUserCount($user->group_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->group_id)) - return false; - - // Mark projects deleted. - $sql = "update tt_projects set status = NULL where group_id = $user->group_id"; - $affected = $mdb2->exec($sql); - if (is_a($affected, 'PEAR_Error')) - return false; - - // Mark clients deleted. - $sql = "update tt_clients set status = NULL where group_id = $user->group_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 group_id = $user->group_id"; - $affected = $mdb2->exec($sql); - if (is_a($affected, 'PEAR_Error')) - return false; - - // Mark group deleted. - $sql = "update tt_groups set status = NULL where id = $user->group_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 group_id = ".$user->group_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();