X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=tofile.php;h=abd1f278bd855ea0ed87479f690c53fb17da2cd4;hb=926b8d63a0be596b0c95cb55f01addae410af50c;hp=c7f81e5024c7bb36f8b08175eff29aee96284e0c;hpb=4adddb2df36c69f06192807b82d48d7d282605d3;p=timetracker.git
diff --git a/tofile.php b/tofile.php
index c7f81e50..abd1f278 100644
--- a/tofile.php
+++ b/tofile.php
@@ -32,7 +32,7 @@ import('form.ActionForm');
import('ttReportHelper');
// Access check.
-if (!ttAccessCheck(right_view_reports)) {
+if (!(ttAccessAllowed('view_own_reports') || ttAccessAllowed('view_reports'))) {
header('Location: access_denied.php');
exit();
}
@@ -53,7 +53,7 @@ $bean = new ActionForm('reportBean', new Form('reportForm'), $request);
$type = $request->getParameter('type');
// Also, there are 2 variations of report: totals only, or normal. Totals only means that the report
-// is grouped by (either date, user, client, project, task or cf_1) and user only needs to see subtotals by group.
+// is grouped by (either date, user, client, project, task, or cf_1) and user only needs to see subtotals by group.
$totals_only = $bean->getAttribute('chtotalsonly');
// Obtain items.
@@ -63,7 +63,7 @@ else
$items = ttReportHelper::getItems($bean);
// Build a string to use as filename for the files being downloaded.
-$filename = strtolower($i18n->getKey('title.report')).'_'.$bean->mValues['start_date'].'_'.$bean->mValues['end_date'];
+$filename = strtolower($i18n->get('title.report')).'_'.$bean->mValues['start_date'].'_'.$bean->mValues['end_date'];
header('Pragma: public'); // This is needed for IE8 to download files over https.
header('Content-Type: text/html; charset=utf-8');
@@ -132,6 +132,11 @@ if ('xml' == $type) {
print $item['expense'];
print "]]>\n";
}
+ if ($bean->getAttribute('chpaid')) print "\t\n";
+ if ($bean->getAttribute('chip')) {
+ $ip = $item['modified'] ? $item['modified_ip'].' '.$item['modified'] : $item['created_ip'].' '.$item['created'];
+ print "\t\n";
+ }
if ($bean->getAttribute('chinvoice')) print "\t\n";
print "\n";
@@ -159,13 +164,13 @@ if ('csv' == $type) {
$group_by_header = $custom_fields->fields[0]['label'];
else {
$key = 'label.'.$group_by;
- $group_by_header = $i18n->getKey($key);
+ $group_by_header = $i18n->get($key);
}
// Print headers.
print '"'.$group_by_header.'"';
- if ($bean->getAttribute('chduration')) print ',"'.$i18n->getKey('label.duration').'"';
- if ($bean->getAttribute('chcost')) print ',"'.$i18n->getKey('label.cost').'"';
+ if ($bean->getAttribute('chduration')) print ',"'.$i18n->get('label.duration').'"';
+ if ($bean->getAttribute('chcost')) print ',"'.$i18n->get('label.cost').'"';
print "\n";
// Print subtotals.
@@ -187,18 +192,20 @@ if ('csv' == $type) {
}
} else {
// Normal report. Print headers.
- print '"'.$i18n->getKey('label.date').'"';
- if ($user->canManageTeam() || $user->isClient()) print ',"'.$i18n->getKey('label.user').'"';
- if ($bean->getAttribute('chclient')) print ',"'.$i18n->getKey('label.client').'"';
- if ($bean->getAttribute('chproject')) print ',"'.$i18n->getKey('label.project').'"';
- if ($bean->getAttribute('chtask')) print ',"'.$i18n->getKey('label.task').'"';
+ print '"'.$i18n->get('label.date').'"';
+ if ($user->canManageTeam() || $user->isClient()) print ',"'.$i18n->get('label.user').'"';
+ if ($bean->getAttribute('chclient')) print ',"'.$i18n->get('label.client').'"';
+ if ($bean->getAttribute('chproject')) print ',"'.$i18n->get('label.project').'"';
+ if ($bean->getAttribute('chtask')) print ',"'.$i18n->get('label.task').'"';
if ($bean->getAttribute('chcf_1')) print ',"'.$custom_fields->fields[0]['label'].'"';
- if ($bean->getAttribute('chstart')) print ',"'.$i18n->getKey('label.start').'"';
- if ($bean->getAttribute('chfinish')) print ',"'.$i18n->getKey('label.finish').'"';
- if ($bean->getAttribute('chduration')) print ',"'.$i18n->getKey('label.duration').'"';
- if ($bean->getAttribute('chnote')) print ',"'.$i18n->getKey('label.note').'"';
- if ($bean->getAttribute('chcost')) print ',"'.$i18n->getKey('label.cost').'"';
- if ($bean->getAttribute('chinvoice')) print ',"'.$i18n->getKey('label.invoice').'"';
+ if ($bean->getAttribute('chstart')) print ',"'.$i18n->get('label.start').'"';
+ if ($bean->getAttribute('chfinish')) print ',"'.$i18n->get('label.finish').'"';
+ if ($bean->getAttribute('chduration')) print ',"'.$i18n->get('label.duration').'"';
+ if ($bean->getAttribute('chnote')) print ',"'.$i18n->get('label.note').'"';
+ if ($bean->getAttribute('chcost')) print ',"'.$i18n->get('label.cost').'"';
+ if ($bean->getAttribute('chpaid')) print ',"'.$i18n->get('label.paid').'"';
+ if ($bean->getAttribute('chip')) print ',"'.$i18n->get('label.ip').'"';
+ if ($bean->getAttribute('chinvoice')) print ',"'.$i18n->get('label.invoice').'"';
print "\n";
// Print items.
@@ -224,6 +231,11 @@ if ('csv' == $type) {
else
print ',"'.$item['expense'].'"';
}
+ if ($bean->getAttribute('chpaid')) print ',"'.$item['paid'].'"';
+ if ($bean->getAttribute('chip')) {
+ $ip = $item['modified'] ? $item['modified_ip'].' '.$item['modified'] : $item['created_ip'].' '.$item['created'];
+ print ',"'.$ip.'"';
+ }
if ($bean->getAttribute('chinvoice')) print ',"'.str_replace('"','""',$item['invoice']).'"';
print "\n";
}