All checks were successful
Deploy bericht / deploy (push) Successful in 1s
Phase 2.1 Token-System: - Neue Tabelle llx_bericht_upload_token (token, fk_bericht, expires_at, uploads_count, max_uploads) - BerichtUploadToken-Klasse mit create/fetchValid/incrementCount/cleanupExpired - Cronjob 'Bericht: Expired Upload-Tokens bereinigen' täglich - 64-Hex random_bytes-Tokens, 1h Lifetime, 100 Uploads max Phase 2.2 QR-Upload Lite: - mobile_upload.php — Mobile-optimierte Page ohne Dolibarr-Login, Auth nur über Token in URL/Form - 📷 Foto aufnehmen (capture=environment) und 📂 Galerie - Clientseitiges Resize auf max 2000px (Canvas, JPEG q=0.85) - Upload-Status mit Toast-Notifications - Liste der hochgeladenen Bilder live in der Page - ajax/create_upload_token.php — generiert Token für aktiven Bericht - ajax/list_pages.php — Polling-Endpoint für Editor - 📱 Mobil hochladen-Button im Editor → QR-Modal mit qrcodejs - Polling alle 5s nach neuen Pages, auto-reload bei Änderung - QR-Modal styled für Dark-Theme Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> [deploy]
13 lines
551 B
SQL
13 lines
551 B
SQL
-- Tokens für Mobile-Upload (Phase 2.1)
|
|
-- Ein Token autorisiert Foto-Uploads zu genau einem Bericht für eine begrenzte Zeit.
|
|
CREATE TABLE llx_bericht_upload_token (
|
|
rowid INTEGER AUTO_INCREMENT PRIMARY KEY,
|
|
token VARCHAR(64) NOT NULL,
|
|
fk_bericht INTEGER NOT NULL,
|
|
fk_user_creat INTEGER NOT NULL,
|
|
expires_at DATETIME NOT NULL,
|
|
uploads_count INTEGER DEFAULT 0,
|
|
max_uploads INTEGER DEFAULT 100,
|
|
datec DATETIME NOT NULL,
|
|
UNIQUE KEY uniq_token (token)
|
|
) ENGINE=innodb;
|