- Version 1.5.0 mit History-Tab und Aufschlag-Spalte
- ChangeLog dokumentiert alle Versionen seit 1.0.0
- .gitignore ignoriert bin/ Releases und temp. Dateien
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- New admin/history.php with two sections:
- Cronjob run history with parsed output (updated/skipped/errors)
- Price changes from llx_product_price (price_label='Preisbot')
- Filter by 30/90/365 days or all
- Direct link to product price page
- Add "Verlauf" tab to preisbotAdminPrepareHead()
- Add translation keys for history page (de_DE + en_US)
- Bump version to 1.3
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Dolibarr fires internal triggers on price changes which can attempt
to send emails via SMTP. This causes the cronjob to hang indefinitely
when the SMTP connection blocks. notrigger=1 skips these internal
triggers since PreisBot sends its own notifications.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- set_time_limit(300) prevents infinite SMTP hangs
- Fallback to admin user if $user is empty in cronjob context
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace $conf->global->MAIN_INFO_SOCIETE_MAIL with getDolGlobalString()
to prevent fatal error when constant is not set. This caused the
cronjob to hang on the productive server.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Wrap updatePrices() in try-catch for fatal errors
- Separate try-catch for GlobalNotify and mail sending
- Prevents SMTP timeouts from blocking the entire cronjob
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>