X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttUserHelper.class.php;h=42d7c9109c06e52ef4e4c934c8920c4d8814bee0;hb=109089e858e28200e714a790883c236230b3922f;hp=521bc8b7a0a228b5cbaa04c3cc875a934a2a9517;hpb=8aa0cc3ce9e5382a2b5df0b3b67c07e3d3016278;p=timetracker.git diff --git a/WEB-INF/lib/ttUserHelper.class.php b/WEB-INF/lib/ttUserHelper.class.php index 521bc8b7..42d7c910 100644 --- a/WEB-INF/lib/ttUserHelper.class.php +++ b/WEB-INF/lib/ttUserHelper.class.php @@ -102,6 +102,7 @@ class ttUserHelper { $password = 'md5('.$password.')'; $email = isset($fields['email']) ? $fields['email'] : ''; $group_id = (int) $fields['group_id']; + $org_id = (int) $fields['org_id']; $rate = str_replace(',', '.', isset($fields['rate']) ? $fields['rate'] : 0); if($rate == '') $rate = 0; @@ -110,20 +111,16 @@ class ttUserHelper { $status_v = ', '.$mdb2->quote($fields['status']); } $created_ip_v = ', '.$mdb2->quote($_SERVER['REMOTE_ADDR']); - $created_by_v = ', '.$mdb2->quote($user->id); + $created_by_v = ', '.$user->id; - $sql = "insert into tt_users (name, login, password, group_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, org_id, role_id, client_id, rate, email, created, created_ip, created_by $status_f) values (". $mdb2->quote($fields['name']).", ".$mdb2->quote($fields['login']). - ", $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)"; + ", $password, $group_id, $org_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. if (!is_a($affected, 'PEAR_Error')) { - $sql = "SELECT LAST_INSERT_ID() AS last_id"; - $res = $mdb2->query($sql); - $val = $res->fetchRow(); - $last_id = $val['last_id']; - + $last_id = $mdb2->lastInsertID('tt_users', 'id'); $projects = isset($fields['projects']) ? $fields['projects'] : array(); if (count($projects) > 0) { // We have at least one project assigned. Insert corresponding entries in tt_user_project_binds table. @@ -133,7 +130,8 @@ class ttUserHelper { else $p['rate'] = str_replace(',', '.', $p['rate']); - $sql = "insert into tt_user_project_binds (project_id, user_id, rate, status) values(".$p['id'].",".$last_id.",".$p['rate'].", 1)"; + $sql = "insert into tt_user_project_binds (project_id, user_id, group_id, org_id, rate, status)". + " values(".$p['id'].", $last_id, $group_id, $org_id, ".$p['rate'].", 1)"; $affected = $mdb2->exec($sql); } } @@ -174,7 +172,7 @@ class ttUserHelper { $status_part = ", status = $status"; } - $modified_part = ', modified = now(), modified_ip = '.$mdb2->quote($_SERVER['REMOTE_ADDR']).', modified_by = '.$mdb2->quote($user->id); + $modified_part = ', modified = now(), modified_ip = '.$mdb2->quote($_SERVER['REMOTE_ADDR']).', modified_by = '.$user->id; $sql = "update tt_users set login = ".$mdb2->quote($fields['login']). "$pass_part, name = ".$mdb2->quote($fields['name']). @@ -227,8 +225,14 @@ class ttUserHelper { if (is_a($affected, 'PEAR_Error')) die ($affected->getMessage()); } else { // Record does not exist. Insert it. - ttUserHelper::insertBind($user_id, $project_id, $rate, 1); - } + ttUserHelper::insertBind(array( + 'user_id' => $user_id, + 'project_id' => $project_id, + 'group_id' => $user->getGroup(), + 'org_id' => $user->org_id, + 'rate' => $rate, + 'status' => ACTIVE)); + } } } } @@ -307,11 +311,21 @@ class ttUserHelper { } // insertBind - inserts a user to project bind into tt_user_project_binds table. - static function insertBind($user_id, $project_id, $rate, $status) { + static function insertBind($fields) { + global $user; $mdb2 = getConnection(); - $sql = "insert into tt_user_project_binds (user_id, project_id, rate, status) - values($user_id, $project_id, ".$mdb2->quote($rate).", $status)"; + // This may be used during import. Use the following until we have import refactored. + $group_id = $fields['group_id'] ? (int) $fields['group_id'] : $user->getGroup(); + $org_id = $fields['org_id'] ? (int) $fields['org_id'] : $user->org_id; + + $user_id = (int) $fields['user_id']; + $project_id = (int) $fields['project_id']; + $rate = $mdb2->quote($fields['rate']); + $status = $mdb2->quote($fields['status']); + + $sql = "insert into tt_user_project_binds (user_id, project_id, group_id, org_id, rate, status)". + " values($user_id, $project_id, $group_id, $org_id, $rate, $status)"; $affected = $mdb2->exec($sql); return (!is_a($affected, 'PEAR_Error')); }