diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php
index 8c4588893..5831ebecf 100644
--- a/cis/private/tools/zeitaufzeichnung.php
+++ b/cis/private/tools/zeitaufzeichnung.php
@@ -166,6 +166,12 @@ if(isset($_POST['export']))
}
}
+//CSV export für Übersicht zugeteilter Projekte - Konflikt mit normalen HTML headern deshalb weiter vorne
+if(isset($_POST['projektübersichtexport']))
+{
+ exportProjectOverviewAsCSV($user, ',');
+}
+
echo '
@@ -1048,7 +1054,9 @@ if($projekt->getProjekteMitarbeiter($user, true))
';
echo '| '.$p->t("zeitaufzeichnung/aktivitaet").' | ';
@@ -1886,4 +1905,70 @@ function getZeitaufzeichnung($user, $von, $bis)
return $za;
}
+/**
+ * Exportiert Zeitaufzeichnungsdaten als CSV
+ * @param $data Zeitaufzeichnungsdaten
+ * @param string $delimiter CSV-Trennzeichen
+ * @param $fieldheadings Namen der Spaltenüberschriften
+ * @param bool $za_simple Zeitaufzeichnung lang (für Infrastrukturmitarbeiter) oder kurz (simple)
+ * @param $uid Id des Users für CSV-Filenamen "zeitaufzeichnung_uid"
+ */
+function exportProjectOverviewAsCSV($user, $delimiter = ',')
+{
+
+ $filename = "projektUebersicht_".$user.".csv";
+ header('Content-type: text/csv; charset=utf-8');
+ header('Content-Disposition: attachment; filename='.$filename);
+
+ $file = fopen('php://output', 'w');
+ $towrite = getDataForProjectOverviewCSV($user);
+ foreach ($towrite as $row)
+ {
+ fputcsv($file, $row, $delimiter);
+ }
+ fclose($file);
+ //Abbruch damit HTML markup danach nicht mit exportiert wird
+ exit();
+}
+
+function getDataForProjectOverviewCSV($user)
+{
+ $projects_of_user = new projekt();
+ $projects= $projects_of_user->getProjekteListForMitarbeiter($user);
+
+ $csvData = array();
+ //headers schreiben
+ $csvData[] = array('PROJEKT', 'PROJEKT KURZBEZEICHNUNG', 'PROJEKTPHASE', 'START', 'PROJEKT ENDE');
+ foreach ($projects as $project)
+ {
+ //Newline characters bei Beschreibung ersetzen
+ $titel = $project->titel;
+ $projekt_kurzbz = $project->projekt_kurzbz;
+ $projekt_phase = '';
+ $beginn = $project->beginn;
+ $ende = $project->ende;
+
+ $csvData[] = array($titel, $projekt_kurzbz,$projekt_phase, $beginn, $ende);
+
+ $projektphasen = new projektphase($projekt_kurzbz);
+
+ if($projektphasen->getProjektphasen($projekt_kurzbz))
+ {
+ foreach($projektphasen->result as $projektphase)
+ {
+ $projekt_phase = $projektphase->bezeichnung;
+ if(!empty($projektphase->beginn))
+ $beginn = $projektphase->beginn;
+ else
+ $beginn = $project->beginn;
+ if(!empty($projektphase->ende))
+ $ende = $projektphase->ende;
+ else
+ $ende = $project->ende;
+ $csvData[] = array($titel, $projekt_kurzbz,$projekt_phase, $beginn, $ende);
+ }
+ }
+ }
+ return $csvData;
+}
?>
|