mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-15 06:01:19 +00:00
create excel file with meta data for for files in zip archive
This commit is contained in:
parent
13a977f84f
commit
94744862a5
|
@ -13,6 +13,8 @@
|
||||||
* @version Release: @package_version@
|
* @version Release: @package_version@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
require_once("PHPExcel.php");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class to represent an download manager
|
* Class to represent an download manager
|
||||||
*
|
*
|
||||||
|
@ -58,12 +60,103 @@ class SeedDMS_Download_Mgr {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$objPHPExcel = new PHPExcel();
|
||||||
|
$objPHPExcel->getProperties()->setCreator("MMK GmbH, Hagen, Germany")->setTitle("Metadata");
|
||||||
|
$sheet = $objPHPExcel->setActiveSheetIndex(0);
|
||||||
|
|
||||||
|
$i = 1;
|
||||||
|
$sheet->setCellValueByColumnAndRow(0, $i, 'Dokumenten-Nr.');
|
||||||
|
$sheet->setCellValueByColumnAndRow(1, $i, 'Dateiname');
|
||||||
|
$sheet->setCellValueByColumnAndRow(2, $i, 'Status');
|
||||||
|
$sheet->setCellValueByColumnAndRow(3, $i, 'Int. Version');
|
||||||
|
$sheet->setCellValueByColumnAndRow(4, $i, 'Prüfer');
|
||||||
|
$sheet->setCellValueByColumnAndRow(5, $i, 'Prüfdatum');
|
||||||
|
$sheet->setCellValueByColumnAndRow(6, $i, 'Prüfkommentar');
|
||||||
|
$sheet->setCellValueByColumnAndRow(7, $i, 'Prüfstatus');
|
||||||
|
$sheet->setCellValueByColumnAndRow(8, $i, 'Freigeber');
|
||||||
|
$sheet->setCellValueByColumnAndRow(9, $i, 'Freigabedatum');
|
||||||
|
$sheet->setCellValueByColumnAndRow(10, $i, 'Freigabekommentar');
|
||||||
|
$sheet->setCellValueByColumnAndRow(11, $i, 'Freigabestatus');
|
||||||
|
$i++;
|
||||||
foreach($this->items as $item) {
|
foreach($this->items as $item) {
|
||||||
$document = $item->getDocument();
|
$document = $item->getDocument();
|
||||||
$dms = $document->_dms;
|
$dms = $document->_dms;
|
||||||
|
$status = $item->getStatus();
|
||||||
|
$reviewStatus = $item->getReviewStatus();
|
||||||
|
$approvalStatus = $item->getApprovalStatus();
|
||||||
|
|
||||||
$zip->addFile($dms->contentDir.$item->getPath(), $prefixdir."/".$document->getID()."-".$item->getOriginalFileName());
|
$zip->addFile($dms->contentDir.$item->getPath(), $prefixdir."/".$document->getID()."-".$item->getOriginalFileName());
|
||||||
|
$sheet->setCellValueByColumnAndRow(0, $i, $document->getID());
|
||||||
|
$sheet->setCellValueByColumnAndRow(1, $i, $document->getID()."-".$item->getOriginalFileName());
|
||||||
|
$sheet->setCellValueByColumnAndRow(2, $i, getOverallStatusText($status['status']));
|
||||||
|
$sheet->setCellValueByColumnAndRow(3, $i, $item->getVersion());
|
||||||
|
$l = $i;
|
||||||
|
$k = $i;
|
||||||
|
if($reviewStatus) {
|
||||||
|
foreach ($reviewStatus as $r) {
|
||||||
|
switch ($r["type"]) {
|
||||||
|
case 0: // Reviewer is an individual.
|
||||||
|
$required = $dms->getUser($r["required"]);
|
||||||
|
if (!is_object($required)) {
|
||||||
|
$reqName = getMLText("unknown_user")." '".$r["required"]."'";
|
||||||
|
} else {
|
||||||
|
$reqName = htmlspecialchars($required->getFullName()." (".$required->getLogin().")");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1: // Reviewer is a group.
|
||||||
|
$required = $dms->getGroup($r["required"]);
|
||||||
|
if (!is_object($required)) {
|
||||||
|
$reqName = getMLText("unknown_group")." '".$r["required"]."'";
|
||||||
|
} else {
|
||||||
|
$reqName = htmlspecialchars($required->getName());
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$sheet->setCellValueByColumnAndRow(4, $l, $reqName);
|
||||||
|
$sheet->setCellValueByColumnAndRow(5, $l, $r['date']);
|
||||||
|
$sheet->setCellValueByColumnAndRow(6, $l, $r['comment']);
|
||||||
|
$sheet->setCellValueByColumnAndRow(7, $l, getReviewStatusText($r["status"]));
|
||||||
|
$l++;
|
||||||
|
}
|
||||||
|
$l--;
|
||||||
|
}
|
||||||
|
if($approvalStatus) {
|
||||||
|
foreach ($approvalStatus as $r) {
|
||||||
|
switch ($r["type"]) {
|
||||||
|
case 0: // Reviewer is an individual.
|
||||||
|
$required = $dms->getUser($r["required"]);
|
||||||
|
if (!is_object($required)) {
|
||||||
|
$reqName = getMLText("unknown_user")." '".$r["required"]."'";
|
||||||
|
} else {
|
||||||
|
$reqName = htmlspecialchars($required->getFullName()." (".$required->getLogin().")");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 1: // Reviewer is a group.
|
||||||
|
$required = $dms->getGroup($r["required"]);
|
||||||
|
if (!is_object($required)) {
|
||||||
|
$reqName = getMLText("unknown_group")." '".$r["required"]."'";
|
||||||
|
} else {
|
||||||
|
$reqName = htmlspecialchars($required->getName());
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$sheet->setCellValueByColumnAndRow(8, $k, $reqName);
|
||||||
|
$sheet->setCellValueByColumnAndRow(9, $k, $r['date']);
|
||||||
|
$sheet->setCellValueByColumnAndRow(10, $k, $r['comment']);
|
||||||
|
$sheet->setCellValueByColumnAndRow(11, $k, getReviewStatusText($r["status"]));
|
||||||
|
$k++;
|
||||||
|
}
|
||||||
|
$k--;
|
||||||
|
}
|
||||||
|
$i = max($l, $k);
|
||||||
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
|
||||||
|
$file = tempnam("/tmp", "export-list-");
|
||||||
|
$objWriter->save($file);
|
||||||
|
$zip->addFile($file, $prefixdir."/metadata.xls");
|
||||||
$zip->close();
|
$zip->close();
|
||||||
|
unlink($file);
|
||||||
} /* }}} */
|
} /* }}} */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user