Reference in New Issue
Block a user
Delete Branch "fix/security-correctness-batch"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Second batch from the deep-dive audit. 6 files, all
php -lclean.#99 — AI AJAX endpoint hardening (security)
core.edit/core.createoncom_contentbefore generating — previously any authenticated back-end user could trigger outbound paid AI calls.callAiApi: 20s timeout + HTTP status check (throws on non-200) instead of silently returning''on auth/rate-limit failures.#100 — Sitemap information disclosure + robustness (partial)
sitemap.xml.rename) so concurrent saves can't expose a half-written file.#101 — Expose newer columns (CSV + REST API)
og_video,event_data,recipe_data,custom_schemaadded to CSV export/import (appended, so existing CSVs still import) and to the API field whitelist.og_videoas http(s) — so a CSV import can't re-introduce the #97 scalar-JSON-LD crash.#102 — Forward-compat (complete) ✅
Factory::getLanguage()→getApplication()->getLanguage()(4 sites)Joomla\CMS\Filesystem\File/Folder→Joomla\Filesystem\*(ImageHelper, ImageGenerator)Factory::getLanguage()/Joomla\CMS\Filesystemusages.#106 — partial
loadArticle()caches null misses (array_key_exists) — no more per-call re-query.getArticleDate()skips0000-00-00dates.BatchController::process()always queries offset 0, so a row that fails to insert is re-fetched forever — thecreated > 0guard is what prevents an infinite loop. A safe fix needs cursor-based pagination, out of scope for this batch.Closes #99, #101, #102.
🤖 Generated with Claude Code