X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttTeamHelper.class.php;h=a8133b8a2aa197869952c9f31df67822ee2384fd;hb=39e42323eb5ccb439a3d3c4b8835141471742a8b;hp=3bb71656385a00793164e123476ce60643adb780;hpb=2e2c4428476aebac3f30d481980d0c7f9614c5c0;p=timetracker.git diff --git a/WEB-INF/lib/ttTeamHelper.class.php b/WEB-INF/lib/ttTeamHelper.class.php index 3bb71656..a8133b8a 100644 --- a/WEB-INF/lib/ttTeamHelper.class.php +++ b/WEB-INF/lib/ttTeamHelper.class.php @@ -30,10 +30,10 @@ import('ttUserHelper'); import('DateAndTime'); import('ttInvoiceHelper'); -// Class ttTeamHelper - contains helper functions that operate with teams. +// Class ttTeamHelper - contains helper functions that operate with groups. class ttTeamHelper { - // The getUserCount function returns number of people in team. + // The getUserCount function returns number of active users in a group. static function getUserCount($group_id) { $mdb2 = getConnection(); @@ -47,17 +47,17 @@ class ttTeamHelper { return false; } - // The getUsersForClient obtains all active and inactive users in a team that are relevant to a client. + // The getUsersForClient obtains all active and inactive users in a group that are relevant to a client. static function getUsersForClient() { global $user; $mdb2 = getConnection(); - $sql = "select u.id, u.name from tt_user_project_binds upb - inner join tt_client_project_binds cpb on (upb.project_id = cpb.project_id and cpb.client_id = $user->client_id) - inner join tt_users u on (u.id = upb.user_id) - where (u.status = 1 or u.status = 0) - group by u.id - order by upper(u.name)"; + $sql = "select u.id, u.name from tt_user_project_binds upb". + " inner join tt_client_project_binds cpb on (upb.project_id = cpb.project_id and cpb.client_id = $user->client_id)". + " inner join tt_users u on (u.id = upb.user_id)". + " where (u.status = 1 or u.status = 0)". + " group by u.id". + " order by upper(u.name)"; $res = $mdb2->query($sql); $user_list = array(); if (is_a($res, 'PEAR_Error')) @@ -68,7 +68,7 @@ class ttTeamHelper { return $user_list; } - // The getActiveUsers obtains all active users in a given team. + // The getActiveUsers obtains all active users in a given group. static function getActiveUsers($options = null) { global $user; global $i18n; @@ -153,7 +153,7 @@ class ttTeamHelper { return $user_list; } - // The getUsers obtains all active and inactive (but not deleted) users in a given team. + // The getUsers obtains all active and inactive (but not deleted) users in a group. static function getUsers() { global $user; $mdb2 = getConnection(); @@ -168,7 +168,7 @@ class ttTeamHelper { return $user_list; } - // The getInactiveUsers obtains all inactive users in a given team. + // The getInactiveUsers obtains all inactive users in a group. static function getInactiveUsers($group_id, $all_fields = false) { $mdb2 = getConnection(); @@ -187,25 +187,7 @@ class ttTeamHelper { return false; } - // The getAllUsers obtains all users in a given team. - static function getAllUsers($group_id, $all_fields = false) { - $mdb2 = getConnection(); - if ($all_fields) - $sql = "select * from tt_users where group_id = $group_id order by upper(name)"; - else - $sql = "select id, name from tt_users where group_id = $group_id order by upper(name)"; - $res = $mdb2->query($sql); - $result = array(); - if (!is_a($res, 'PEAR_Error')) { - while ($val = $res->fetchRow()) { - $result[] = $val; - } - return $result; - } - return false; - } - - // getActiveProjects - returns an array of active projects for team. + // getActiveProjects - returns an array of active projects for a group. static function getActiveProjects($group_id) { $result = array(); @@ -223,7 +205,7 @@ class ttTeamHelper { return $result; } - // getInactiveProjects - returns an array of inactive projects for team. + // getInactiveProjects - returns an array of inactive projects for a group. static function getInactiveProjects($group_id) { $result = array(); @@ -241,7 +223,7 @@ class ttTeamHelper { return $result; } - // The getAllProjects obtains all projects in a given team. + // The getAllProjects obtains all projects in a group. static function getAllProjects($group_id, $all_fields = false) { $mdb2 = getConnection(); @@ -260,7 +242,7 @@ class ttTeamHelper { return false; } - // getActiveTasks - returns an array of active tasks for team. + // getActiveTasks - returns an array of active tasks for a group. static function getActiveTasks($group_id) { $result = array(); @@ -277,7 +259,7 @@ class ttTeamHelper { return $result; } - // getInactiveTasks - returns an array of inactive tasks for team. + // getInactiveTasks - returns an array of inactive tasks for a group. static function getInactiveTasks($group_id) { $result = array(); @@ -295,7 +277,7 @@ class ttTeamHelper { return $result; } - // The getAllTasks obtains all tasks in a given team. + // The getAllTasks obtains all tasks in a group. static function getAllTasks($group_id, $all_fields = false) { $mdb2 = getConnection(); @@ -336,7 +318,7 @@ class ttTeamHelper { return $result; } - // getActiveRoles - returns an array of active roles for team. + // getActiveRoles - returns an array of active roles for a group. static function getActiveRoles($group_id) { $result = array(); @@ -347,14 +329,14 @@ class ttTeamHelper { $result = array(); if (!is_a($res, 'PEAR_Error')) { while ($val = $res->fetchRow()) { - $val['is_client'] = in_array('track_own_time', explode(',', $val['rights'])) ? 0 : 1; // Clients do not have data entry right. + $val['is_client'] = in_array('track_own_time', explode(',', $val['rights'])) ? 0 : 1; // Clients do not have track_own_time right. $result[] = $val; } } return $result; } - // getInactiveRoles - returns an array of inactive roles for team. + // getInactiveRoles - returns an array of inactive roles for a group. static function getInactiveRoles($group_id) { $result = array(); @@ -394,7 +376,7 @@ class ttTeamHelper { return $result; } - // The getActiveClients returns an array of active clients for team. + // The getActiveClients returns an array of active clients for a group. static function getActiveClients($group_id, $all_fields = false) { $result = array(); @@ -415,7 +397,7 @@ class ttTeamHelper { return $result; } - // The getInactiveClients returns an array of inactive clients for team. + // The getInactiveClients returns an array of inactive clients for a group. static function getInactiveClients($group_id, $all_fields = false) { $result = array(); @@ -436,7 +418,7 @@ class ttTeamHelper { return $result; } - // The getAllClients obtains all clients in a given team. + // The getAllClients obtains all clients in a group. static function getAllClients($group_id, $all_fields = false) { $mdb2 = getConnection(); @@ -456,7 +438,7 @@ class ttTeamHelper { return false; } - // The getActiveInvoices returns an array of active invoices for team. + // The getActiveInvoices returns an array of active invoices for a group. static function getActiveInvoices($localizeDates = true) { global $user; @@ -488,7 +470,7 @@ class ttTeamHelper { return $result; } - // The getAllInvoices returns an array of all invoices for team. + // The getAllInvoices returns an array of all invoices for a group. static function getAllInvoices() { global $user; @@ -531,7 +513,7 @@ class ttTeamHelper { return $result; } - // getUserToProjectBinds - obtains all user to project binds for a team. + // getUserToProjectBinds - obtains all user to project binds for a group. static function getUserToProjectBinds($group_id) { $mdb2 = getConnection(); @@ -548,7 +530,7 @@ class ttTeamHelper { return false; } - // The getAllCustomFields obtains all custom fields in a given team. + // The getAllCustomFields obtains all custom fields in a group. static function getAllCustomFields($group_id) { $mdb2 = getConnection(); @@ -565,7 +547,7 @@ class ttTeamHelper { return false; } - // The getAllCustomFieldOptions obtains all custom field options in a given team. + // The getAllCustomFieldOptions obtains all custom field options in a group. static function getAllCustomFieldOptions($group_id) { $mdb2 = getConnection(); @@ -582,7 +564,7 @@ class ttTeamHelper { return false; } - // The getCustomFieldLog obtains all custom field log entries for a given team. + // The getCustomFieldLog obtains all custom field log entries for a group. static function getCustomFieldLog($group_id) { $mdb2 = getConnection(); @@ -599,7 +581,7 @@ class ttTeamHelper { return false; } - // getFavReports - obtains all favorite reports for all users in team. + // getFavReports - obtains all favorite reports for all users in a group. static function getFavReports($group_id) { $mdb2 = getConnection(); @@ -616,7 +598,7 @@ class ttTeamHelper { return false; } - // getExpenseItems - obtains all expense items for all users in team. + // getExpenseItems - obtains all expense items for all users in a group. static function getExpenseItems($group_id) { $mdb2 = getConnection(); @@ -633,7 +615,7 @@ class ttTeamHelper { return false; } - // getPredefinedExpenses - obtains predefined expenses for team. + // getPredefinedExpenses - obtains predefined expenses for a group. static function getPredefinedExpenses($group_id) { global $user; $replaceDecimalMark = ('.' != $user->decimal_mark); @@ -655,7 +637,7 @@ class ttTeamHelper { return false; } - // getNotifications - obtains notification descriptions for team. + // getNotifications - obtains notification descriptions for a group. static function getNotifications($group_id) { $mdb2 = getConnection(); @@ -674,7 +656,7 @@ class ttTeamHelper { return false; } - // getMonthlyQuotas - obtains monthly quotas for team. + // getMonthlyQuotas - obtains monthly quotas for a group. static function getMonthlyQuotas($group_id) { $mdb2 = getConnection(); @@ -691,55 +673,13 @@ class ttTeamHelper { return false; } - // The markDeleted function marks the team and everything in it as deleted. - static function markDeleted($group_id) { - - // Iterate through team users and mark them as deleted. - $users = ttTeamHelper::getAllUsers($group_id); - foreach ($users as $one_user) { - if (!ttUserHelper::markDeleted($one_user['id'])) return false; - } - - // Mark tasks deleted. - if (!ttTeamHelper::markTasksDeleted($group_id)) return false; - - $mdb2 = getConnection(); - - // Mark roles deleted. - $sql = "update tt_roles set status = NULL where group_id = $group_id"; - $affected = $mdb2->exec($sql); - if (is_a($affected, 'PEAR_Error')) return false; - - // Mark projects deleted. - $sql = "update tt_projects set status = NULL where group_id = $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 = $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 = $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 = $group_id"; - $affected = $mdb2->exec($sql); - if (is_a($affected, 'PEAR_Error')) return false; - - return true; - } - - // The insert function creates a new team. + // The insert function creates a new group. static function insert($fields) { global $user; $mdb2 = getConnection(); - // Start with team name and currency. + // Start with group name and currency. $columns = 'name, currency'; $values = $mdb2->quote(trim($fields['name'])).', '.$mdb2->quote(trim($fields['currency'])); @@ -833,12 +773,12 @@ class ttTeamHelper { return false; } - // The getInactiveTeams is a maintenance function that returns an array of inactive team ids (max 100). - static function getInactiveTeams() { - $inactive_teams = array(); + // The getInactiveGroups is a maintenance function that returns an array of inactive group ids (max 100). + static function getInactiveGroups() { + $inactive_groups = array(); $mdb2 = getConnection(); - // Get all team ids for teams created or modified more than 8 months ago. + // Get all group ids for groups created or modified more than 8 months ago. // $ts = date('Y-m-d', strtotime('-1 year')); $ts = $mdb2->quote(date('Y-m-d', strtotime('-8 month'))); $sql = "select id from tt_groups where created < $ts and (modified is null or modified < $ts) order by id"; @@ -848,20 +788,20 @@ class ttTeamHelper { if (!is_a($res, 'PEAR_Error')) { while ($val = $res->fetchRow()) { $group_id = $val['id']; - if (ttTeamHelper::isTeamActive($group_id) == false) { + if (ttTeamHelper::isGroupActive($group_id) == false) { $count++; - $inactive_teams[] = $group_id; + $inactive_groups[] = $group_id; // Limit the array size for perfomance by allowing this operation on small chunks only. if ($count >= 100) break; } } - return $inactive_teams; + return $inactive_groups; } return false; } - // The isTeamActive determines if a team is using Time Tracker or abandoned it. - static function isTeamActive($group_id) { + // The isGroupActive determines if a group is using Time Tracker or abandoned it. + static function isGroupActive($group_id) { $users = array(); $mdb2 = getConnection(); @@ -873,7 +813,7 @@ class ttTeamHelper { } $user_list = implode(',', $users); // This is a comma-separated list of user ids. if (!$user_list) - return false; // No users in team. + return false; // No users in group. $count = 0; $ts = date('Y-m-d', strtotime('-2 years')); @@ -889,7 +829,7 @@ class ttTeamHelper { return false; // No time entries for the last 2 years. if ($count <= 5) { - // We will consider a team inactive if it has 5 or less time entries made more than 1 year ago. + // We will consider a group inactive if it has 5 or less time entries made more than 1 year ago. $count_last_year = 0; $ts = date('Y-m-d', strtotime('-1 year')); $sql = "select count(*) as cnt from tt_log where user_id in ($user_list) and created > '$ts'"; @@ -905,7 +845,7 @@ class ttTeamHelper { return true; } - // The delete function permanently deletes all data for a team. + // The delete function permanently deletes all data for a group. static function delete($group_id) { $mdb2 = getConnection(); @@ -957,7 +897,7 @@ class ttTeamHelper { return true; } - // The markTasksDeleted deletes task binds and marks the tasks as deleted for a team. + // The markTasksDeleted deletes task binds and marks the tasks as deleted for a group. static function markTasksDeleted($group_id) { $mdb2 = getConnection(); $sql = "select id from tt_tasks where group_id = $group_id"; @@ -981,7 +921,7 @@ class ttTeamHelper { return true; } - // The deleteTasks deletes all tasks and task binds for an inactive team. + // The deleteTasks deletes all tasks and task binds for an inactive group. static function deleteTasks($group_id) { $mdb2 = getConnection(); $sql = "select id from tt_tasks where group_id = $group_id"; @@ -1005,7 +945,7 @@ class ttTeamHelper { return true; } - // The deleteCustomFields cleans up tt_custom_field_log, tt_custom_field_options and tt_custom_fields tables for an inactive team. + // The deleteCustomFields cleans up tt_custom_field_log, tt_custom_field_options and tt_custom_fields tables for an inactive group. static function deleteCustomFields($group_id) { $mdb2 = getConnection(); $sql = "select id from tt_custom_fields where group_id = $group_id";