Added support for Streamdeck Pedal and updated UI to better fit the Packed UI style

This commit is contained in:
2026-02-27 22:47:08 +01:00
committed by erik
parent 5a70f775f1
commit 93faae5cc8
1463 changed files with 306917 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
<?php
require_once __DIR__ . '/../src/config.php';
require_once __DIR__ . '/../src/auth.php';
require_once __DIR__ . '/../src/db.php';
require_login();
$pdo = get_db();
$filter_number = trim($_GET['number'] ?? '');
$filter_customer = trim($_GET['customer'] ?? '');
$filter_from = trim($_GET['from'] ?? '');
$filter_to = trim($_GET['to'] ?? '');
$sql = "SELECT i.*, c.name AS customer_name
FROM invoices i
JOIN customers c ON c.id = i.customer_id
WHERE 1=1";
$params = [];
if ($filter_number !== '') {
$sql .= " AND i.invoice_number ILIKE :num";
$params[':num'] = '%' . $filter_number . '%';
}
if ($filter_customer !== '') {
$sql .= " AND c.name ILIKE :cust";
$params[':cust'] = '%' . $filter_customer . '%';
}
if ($filter_from !== '') {
$sql .= " AND i.invoice_date >= :from";
$params[':from'] = $filter_from;
}
if ($filter_to !== '') {
$sql .= " AND i.invoice_date <= :to";
$params[':to'] = $filter_to;
}
$sql .= " ORDER BY i.invoice_date ASC, i.id ASC";
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename="invoices_export_' . date('Y-m-d') . '.csv"');
$out = fopen('php://output', 'w');
fputcsv($out, ['Datum', 'Rechnungsnummer', 'Kunde', 'Netto', 'USt', 'Brutto', 'Status'], ';');
foreach ($rows as $r) {
fputcsv($out, [
date('d.m.Y', strtotime($r['invoice_date'])),
$r['invoice_number'],
$r['customer_name'],
number_format($r['total_net'], 2, ',', ''),
number_format($r['total_vat'], 2, ',', ''),
number_format($r['total_gross'], 2, ',', ''),
$r['paid'] ? 'bezahlt' : 'offen',
], ';');
}
fclose($out);
exit;