Update: 2026-05-15 15:30:00

This commit is contained in:
Hamza-Ayed
2026-05-15 15:30:00 +03:00
parent 3eecb2f602
commit 9ecc03adb1

View File

@@ -161,15 +161,20 @@ $summarySheet->setTitle('الملخص الإجمالي');
$summarySheet->setRightToLeft(true);
// --- SUMMARY HEADER ---
$summarySheet->mergeCells("A1:J1");
$summarySheet->setCellValue("A1", 'مُـصَـادَق — ملخص الفواتير الإجمالي');
$summarySheet->getStyle("A1")->applyFromArray([
// We use A1 for Logo, B1:I1 for Title, J1 for Link/QR to avoid merge issues in some viewers
$summarySheet->setCellValue("B1", 'مُـصَـادَق — ملخص الفواتير الإجمالي');
$summarySheet->mergeCells("B1:I1");
$summarySheet->getStyle("B1:I1")->applyFromArray([
'font' => ['bold' => true, 'size' => 16, 'color' => ['argb' => 'FF' . $headerFont]],
'fill' => ['fillType' => Fill::FILL_SOLID, 'startColor' => ['argb' => 'FF' . $headerBg]],
'alignment' => ['horizontal' => Alignment::HORIZONTAL_CENTER, 'vertical' => Alignment::VERTICAL_CENTER],
]);
$summarySheet->getRowDimension(1)->setRowHeight(45);
// Style A1 and J1 background to match the header
$summarySheet->getStyle("A1")->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FF' . $headerBg);
$summarySheet->getStyle("J1")->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FF' . $headerBg);
// --- Add Logo ---
try {
if (file_exists($logoPath)) {
@@ -178,7 +183,7 @@ try {
$logoSummary->setPath($logoPath);
$logoSummary->setHeight(38);
$logoSummary->setCoordinates('A1');
$logoSummary->setOffsetX(15);
$logoSummary->setOffsetX(5);
$logoSummary->setOffsetY(5);
$logoSummary->setWorksheet($summarySheet);
}
@@ -204,8 +209,8 @@ try {
$drawingQr->setName('Musadaq QR');
$drawingQr->setPath($tmpQr);
$drawingQr->setHeight(38);
$drawingQr->setCoordinates('I1');
$drawingQr->setOffsetX(40);
$drawingQr->setCoordinates('J1');
$drawingQr->setOffsetX(5);
$drawingQr->setOffsetY(5);
$drawingQr->setWorksheet($summarySheet);
}
@@ -323,15 +328,20 @@ foreach ($invoices as $invIdx => $inv) {
$invRow = 1;
// ── INVOICE HEADER ──────────────────────────
$sheet->mergeCells("A{$invRow}:I{$invRow}");
$sheet->setCellValue("A{$invRow}", 'مُـصَـادَق — تقرير فاتورة مشتريات');
$sheet->getStyle("A{$invRow}")->applyFromArray([
// We use A for Logo, B:H for Title, I for QR to avoid merge issues
$sheet->setCellValue("B{$invRow}", 'مُـصَـادَق — تقرير فاتورة مشتريات');
$sheet->mergeCells("B{$invRow}:H{$invRow}");
$sheet->getStyle("B{$invRow}:H{$invRow}")->applyFromArray([
'font' => ['bold' => true, 'size' => 16, 'color' => ['argb' => 'FF' . $headerFont]],
'fill' => ['fillType' => Fill::FILL_SOLID, 'startColor' => ['argb' => 'FF' . $headerBg]],
'alignment' => ['horizontal' => Alignment::HORIZONTAL_CENTER, 'vertical' => Alignment::VERTICAL_CENTER],
]);
$sheet->getRowDimension($invRow)->setRowHeight(45);
// Background color for side cells
$sheet->getStyle("A{$invRow}")->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FF' . $headerBg);
$sheet->getStyle("I{$invRow}")->getFill()->setFillType(Fill::FILL_SOLID)->getStartColor()->setARGB('FF' . $headerBg);
// --- Add Logo ---
try {
if (file_exists($logoPath)) {
@@ -340,18 +350,19 @@ foreach ($invoices as $invIdx => $inv) {
$logoInv->setPath($logoPath);
$logoInv->setHeight(38);
$logoInv->setCoordinates('A' . $invRow);
$logoInv->setOffsetX(15);
$logoInv->setOffsetX(5);
$logoInv->setOffsetY(5);
$logoInv->setWorksheet($sheet);
}
} catch(\Exception $e) { error_log('Logo Invoice Error: ' . $e->getMessage()); }
// --- Add Clickable Website Link ---
// We'll move the link slightly down or put it in I1 with the QR
$sheet->setCellValue("I" . $invRow, 'musadaq.intaleqapp.com');
$sheet->getCell("I" . $invRow)->getHyperlink()->setUrl('https://musadaq.intaleqapp.com/');
$sheet->getStyle("I" . $invRow)->applyFromArray([
'font' => ['color' => ['argb' => 'FFFFFFFF'], 'underline' => true, 'size' => 9],
'alignment' => ['horizontal' => Alignment::HORIZONTAL_LEFT, 'vertical' => Alignment::VERTICAL_CENTER],
'font' => ['color' => ['argb' => 'FFFFFFFF'], 'underline' => true, 'size' => 8],
'alignment' => ['horizontal' => Alignment::HORIZONTAL_LEFT, 'vertical' => Alignment::VERTICAL_TOP],
]);
// --- Add Verification QR Code ---
@@ -366,8 +377,8 @@ foreach ($invoices as $invIdx => $inv) {
$drawingQr->setName('Verification QR');
$drawingQr->setPath($tmpQr);
$drawingQr->setHeight(38);
$drawingQr->setCoordinates('H' . $invRow);
$drawingQr->setOffsetX(40);
$drawingQr->setCoordinates('I' . $invRow);
$drawingQr->setOffsetX(5);
$drawingQr->setOffsetY(5);
$drawingQr->setWorksheet($sheet);
}