X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttUser.class.php;h=4a2320b40595d5fe389b26d69d01db1fe6f5d71d;hb=fe8af9a04f7170a0623915f31610c6c4c3df4058;hp=f163e58148146d9df290029bff29528ac15e3862;hpb=448c3e07930dbf902c97c93f252a474cb0931e23;p=timetracker.git diff --git a/WEB-INF/lib/ttUser.class.php b/WEB-INF/lib/ttUser.class.php index f163e581..4a2320b4 100644 --- a/WEB-INF/lib/ttUser.class.php +++ b/WEB-INF/lib/ttUser.class.php @@ -167,6 +167,11 @@ class ttUser { return ($this->behalfUser ? $this->behalfUser->id : $this->id); } + // getName returns user name on behalf of whom the current user is operating. + function getName() { + return ($this->behalfUser ? $this->behalfUser->name : $this->name); + } + // getQuotaPercent returns quota percent for active user. function getQuotaPercent() { return ($this->behalfUser ? $this->behalfUser->quota_percent : $this->quota_percent); @@ -395,7 +400,16 @@ class ttUser { $includeSelf = isset($options['include_self']); $select_part = 'select u.id, u.group_id, u.name'; - if (isset($options['include_login'])) $select_part .= ', u.login'; + if (isset($options['include_login'])) { + $select_part .= ', u.login'; + // Piggy-back on include_login to see if we must also include quota_percent. + $include_quota = $this->isPluginEnabled('mq'); + if ($include_quota) { + $decimal_mark = $this->getDecimalMark(); + $replaceDecimalMark = ('.' != $decimal_mark); + $select_part .= ', u.quota_percent'; + } + } if (!isset($options['include_clients'])) $select_part .= ', r.rights'; if (isset($options['include_role'])) $select_part .= ', r.name as role_name, r.rank'; @@ -430,6 +444,14 @@ class ttUser { if ($isClient) continue; // Skip adding clients. } + if ($include_quota) { + $quota = $val['quota_percent']; + if (ttEndsWith($quota, '.00')) + $quota = substr($quota, 0, strlen($quota)-3); // Trim trailing ".00"; + elseif ($replaceDecimalMark) + $quota = str_replace('.', $decimal_mark, $quota); + $val['quota_percent'] = $quota.'%'; + } $user_list[] = $val; } @@ -575,7 +597,7 @@ class ttUser { return false; // So far, so good. Check user now. - $options = array('group_id'=>$group_id,'status'=>ACTIVE,'max_rank'=>MAX_RANK); + $options = array('status'=>ACTIVE,'max_rank'=>MAX_RANK); $users = $this->getUsers($options); foreach($users as $one_user) { if ($one_user['id'] == $this->behalf_id) @@ -678,7 +700,8 @@ class ttUser { return false; // Mark user as deleted. - $sql = "update tt_users set status = NULL where id = $user_id". + $modified_part = ', modified = now(), modified_ip = '.$mdb2->quote($_SERVER['REMOTE_ADDR']).', modified_by = '.$mdb2->quote($this->id); + $sql = "update tt_users set status = null $modified_part where id = $user_id". " and group_id = $group_id and org_id = $org_id"; $affected = $mdb2->exec($sql); if (is_a($affected, 'PEAR_Error'))