X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=WEB-INF%2Flib%2FttGroupExportHelper.class.php;h=1ab501eab334b38787e2cb01e2051c87c1f6a70f;hb=e5486346ac0574517a4fd118f03616ec455df9a9;hp=41f773d7308e0d2d3b200cb2f3c29368bc43857d;hpb=5bb07193aba175a45ab558116aa8c0caeef02f15;p=timetracker.git diff --git a/WEB-INF/lib/ttGroupExportHelper.class.php b/WEB-INF/lib/ttGroupExportHelper.class.php index 41f773d7..1ab501ea 100644 --- a/WEB-INF/lib/ttGroupExportHelper.class.php +++ b/WEB-INF/lib/ttGroupExportHelper.class.php @@ -288,6 +288,7 @@ class ttGroupExportHelper { $user_part .= " role_id=\"".$role_id."\""; $user_part .= " client_id=\"".$this->clientMap[$user_item['client_id']]."\""; $user_part .= " rate=\"".$user_item['rate']."\""; + $user_part .= " quota_percent=\"".$user_item['quota_percent']."\""; $user_part .= " email=\"".$user_item['email']."\""; $user_part .= " status=\"".$user_item['status']."\""; $user_part .= ">\n"; @@ -335,11 +336,14 @@ class ttGroupExportHelper { } // Write time log entries and build logMap at the same time. - fwrite($this->file, $this->indentation." \n"); - $key = 0; - foreach ($this->userMap as $key => $value) { - $user_id = $key; - $records = ttTimeHelper::getAllRecords($user_id); + // TODO: big data sets get us out of memory error. + // We need to optimize this by working on smaller result sets at a time. + // tt_log is one potentially large table, but so may be others. + // Refactor this during next round of work here. + $records = $this->getRecordsFromTable('tt_log'); + if (count($records) > 0) { + fwrite($this->file, $this->indentation." \n"); + $key = 0; foreach ($records as $record) { $key++; $this->logMap[$record['id']] = $key; @@ -347,8 +351,7 @@ class ttGroupExportHelper { $log_part .= " user_id=\"".$this->userMap[$record['user_id']]."\""; $log_part .= " date=\"".$record['date']."\""; $log_part .= " start=\"".$record['start']."\""; - $log_part .= " finish=\"".$record['finish']."\""; - $log_part .= " duration=\"".($record['start']?"":$record['duration'])."\""; + $log_part .= " duration=\"".$record['duration']."\""; $log_part .= " client_id=\"".$this->clientMap[$record['client_id']]."\""; $log_part .= " project_id=\"".$this->projectMap[$record['project_id']]."\""; $log_part .= " task_id=\"".$this->taskMap[$record['task_id']]."\""; @@ -360,10 +363,10 @@ class ttGroupExportHelper { $log_part .= ">\n"; fwrite($this->file, $log_part); } + fwrite($this->file, $this->indentation." \n"); + unset($records); + unset($log_part); } - fwrite($this->file, $this->indentation." \n"); - unset($records); - unset($log_part); // Write custom fields. if (count($custom_fields) > 0) {