X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=inline;f=WEB-INF%2Flib%2FttInvoiceHelper.class.php;h=13e784d076031b4fc39b47c5cdee16f03972535a;hb=38b85fc251ea53e5d5842e25c8fc9b066a474a54;hp=13e5dea08a38ca6696acff6545fa33fed4106ece;hpb=7797eda9fb04c217a813db88e00bb9ee541eabbb;p=timetracker.git diff --git a/WEB-INF/lib/ttInvoiceHelper.class.php b/WEB-INF/lib/ttInvoiceHelper.class.php index 13e5dea0..13e784d0 100644 --- a/WEB-INF/lib/ttInvoiceHelper.class.php +++ b/WEB-INF/lib/ttInvoiceHelper.class.php @@ -32,39 +32,6 @@ import('DateAndTime'); // Class ttInvoiceHelper is used for help with invoices. class ttInvoiceHelper { - // insert - inserts an invoice in database. - static function insert($fields) - { - $mdb2 = getConnection(); - - $group_id = (int) $fields['group_id']; - $org_id = (int) $fields['org_id']; - $name = $fields['name']; - if (!$name) return false; - - $client_id = (int) $fields['client_id']; - $date = $fields['date']; - if (array_key_exists('status', $fields)) { // Key exists and may be NULL during migration of data. - $status_f = ', status'; - $status_v = ', '.$mdb2->quote($fields['status']); - } - - // Insert a new invoice record. - $sql = "insert into tt_invoices (group_id, org_id, name, date, client_id $status_f)". - " values($group_id, $org_id, ".$mdb2->quote($name).", ".$mdb2->quote($date).", $client_id $status_v)"; - $affected = $mdb2->exec($sql); - - if (is_a($affected, 'PEAR_Error')) return false; - - $last_id = 0; - $sql = "select last_insert_id() as last_insert_id"; - $res = $mdb2->query($sql); - $val = $res->fetchRow(); - $last_id = $val['last_insert_id']; - - return $last_id; - } - // getInvoice - obtains invoice data from the database. static function getInvoice($invoice_id) { global $user; @@ -155,7 +122,7 @@ class ttInvoiceHelper { // It is anticipated to support "totals only" option later on. // Our query is different depending on tracking mode. - if (MODE_TIME == $user->tracking_mode) { + if (MODE_TIME == $user->getTrackingMode()) { // In "time only" tracking mode there is a single user rate. $sql = "select l.date as date, 1 as type, u.name as user_name, p.name as project_name, t.name as task_name, l.comment as note, @@ -258,7 +225,7 @@ class ttInvoiceHelper { if (isset($fields['project_id'])) $project_id = (int) $fields['project_id']; // Our query is different depending on tracking mode. - if (MODE_TIME == $user->tracking_mode) { + if (MODE_TIME == $user->getTrackingMode()) { // In "time only" tracking mode there is a single user rate. $sql = "select count(*) as num from tt_log l, tt_users u where l.status = 1 and l.client_id = $client_id and l.invoice_id is NULL @@ -337,14 +304,10 @@ class ttInvoiceHelper { if (is_a($affected, 'PEAR_Error')) return false; // Mark associated invoice items with invoice id. - $last_id = 0; - $sql = "select last_insert_id() as last_insert_id"; - $res = $mdb2->query($sql); - $val = $res->fetchRow(); - $last_id = $val['last_insert_id']; + $last_id = $mdb2->lastInsertID('tt_invoices', 'id'); // Our update sql is different depending on tracking mode. - if (MODE_TIME == $user->tracking_mode) { + if (MODE_TIME == $user->getTrackingMode()) { // In "time only" tracking mode there is a single user rate. $sql = "update tt_log l left join tt_users u on (u.id = l.user_id) @@ -426,6 +389,9 @@ class ttInvoiceHelper { $style_tableHeader = 'font-weight: bold; background-color: #a6ccf7; text-align: left;'; $style_tableHeaderCentered = 'font-weight: bold; background-color: #a6ccf7; text-align: center;'; + // Determine tracking mode once for multiple reuse below. + $trackingMode = $user->getTrackingMode(); + // Start creating email body. $body = ''; $body .= '
'; @@ -451,9 +417,9 @@ class ttInvoiceHelper { $body .= '