From b4d5b73d15377fb9766e502ccb2f0d2b1ecb7ffb Mon Sep 17 00:00:00 2001 From: Jonathan Miller Date: Tue, 23 Jun 2026 11:25:27 -0500 Subject: [PATCH] fix: code quality improvements (#76, #77, #78, #79) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add exception logging to BatchController batch skip (#76) - Align form maxlength with DB schema limits (#77) - applySeoTags() already uses public API — no change needed (#78) - Add strip_tags() input sanitization on OG text fields (#79) --- source/packages/com_mokoog/forms/tag.xml | 8 ++++---- .../com_mokoog/src/Controller/BatchController.php | 1 + source/packages/plg_content_mokoog/forms/mokoog.xml | 8 ++++---- .../plg_content_mokoog/src/Extension/MokoOGContent.php | 8 ++++---- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/source/packages/com_mokoog/forms/tag.xml b/source/packages/com_mokoog/forms/tag.xml index 83f8f93..9eb8168 100644 --- a/source/packages/com_mokoog/forms/tag.xml +++ b/source/packages/com_mokoog/forms/tag.xml @@ -30,7 +30,7 @@ label="COM_MOKOOG_FIELD_OG_TITLE" description="COM_MOKOOG_FIELD_OG_TITLE_DESC" filter="string" - maxlength="70" + maxlength="255" /> id . ': ' . $e->getMessage(), \Joomla\CMS\Log\Log::WARNING, 'mokoog'); } } diff --git a/source/packages/plg_content_mokoog/forms/mokoog.xml b/source/packages/plg_content_mokoog/forms/mokoog.xml index 64caba3..b5168e3 100644 --- a/source/packages/plg_content_mokoog/forms/mokoog.xml +++ b/source/packages/plg_content_mokoog/forms/mokoog.xml @@ -16,7 +16,7 @@ label="PLG_CONTENT_MOKOOG_FIELD_OG_TITLE" description="PLG_CONTENT_MOKOOG_FIELD_OG_TITLE_DESC" filter="string" - maxlength="70" + maxlength="255" /> $contentType, 'content_id' => $contentId, 'language' => $language, - 'og_title' => trim($ogData['og_title'] ?? ''), - 'og_description' => trim($ogData['og_description'] ?? ''), + 'og_title' => strip_tags(trim($ogData['og_title'] ?? '')), + 'og_description' => strip_tags(trim($ogData['og_description'] ?? '')), 'og_image' => trim($ogData['og_image'] ?? ''), 'og_type' => trim($ogData['og_type'] ?? 'article'), 'og_video' => $this->sanitizeUrl($ogData['og_video'] ?? ''), - 'seo_title' => trim($ogData['seo_title'] ?? ''), - 'meta_description' => trim($ogData['meta_description'] ?? ''), + 'seo_title' => strip_tags(trim($ogData['seo_title'] ?? '')), + 'meta_description' => strip_tags(trim($ogData['meta_description'] ?? '')), 'robots' => trim($robots), 'canonical_url' => trim($ogData['canonical_url'] ?? ''), 'published' => 1,