chore: update access.xml, config.xml, language for all new features
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Generic: Project CI / Tests (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Joomla: Extension CI / Build RC Pre-Release (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Blocked by required conditions
Platform: moko-platform CI / CI Summary (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Universal: Auto Version Bump / Version Bump (push) Successful in 23s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 30s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 24s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Generic: Project CI / Lint & Validate (pull_request) Successful in 10s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 12s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Failing after 37s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 12s
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (push) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (push) Blocked by required conditions
Generic: Project CI / Tests (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (push) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (push) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (push) Blocked by required conditions
Platform: moko-platform CI / CI Summary (push) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.2) (pull_request) Blocked by required conditions
Joomla: Extension CI / Tests (PHP 8.3) (pull_request) Blocked by required conditions
Joomla: Extension CI / PHPStan Analysis (pull_request) Blocked by required conditions
Joomla: Extension CI / Build RC Pre-Release (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.1) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.2) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 2: Unit Tests (8.3) (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 3: Self-Health Check (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 4: Governance (pull_request) Blocked by required conditions
Platform: moko-platform CI / Gate 5: Template Integrity (pull_request) Blocked by required conditions
Platform: moko-platform CI / CI Summary (pull_request) Blocked by required conditions
Universal: PR Check / Build RC Package (pull_request) Blocked by required conditions
Universal: PR Check / Report Issues (pull_request) Blocked by required conditions
Generic: Repo Health / Scripts governance (pull_request) Blocked by required conditions
Generic: Repo Health / Repository health (pull_request) Blocked by required conditions
Generic: Repo Health / Report Issues (pull_request) Blocked by required conditions
Universal: Auto Version Bump / Version Bump (push) Successful in 23s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 30s
Platform: moko-platform CI / Gate 1: Code Quality (push) Failing after 24s
Joomla: Extension CI / Lint & Validate (pull_request) Failing after 5s
Generic: Project CI / Lint & Validate (pull_request) Successful in 10s
Joomla: Extension CI / Release Readiness Check (pull_request) Failing after 7s
Universal: Secret Scanning / Gitleaks Secret Scan (pull_request) Successful in 12s
Universal: PR Check / Branch Policy (pull_request) Successful in 2s
Universal: PR Check / Validate PR (pull_request) Failing after 7s
Platform: moko-platform CI / Gate 1: Code Quality (pull_request) Failing after 37s
Generic: Repo Health / Access control (pull_request) Successful in 1s
Generic: Repo Health / Site Health (pull_request) Has been skipped
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Successful in 12s
access.xml: removed stale ticket ACLs, added waflog, impersonate, snippets, templates, replacements, conditions actions config.xml: removed helpdesk/IMAP sections (migrated to CRM), added content tools, impersonation settings, updated branding to MokoSuite language: added all new ACL keys, removed ticket references
This commit is contained in:
@@ -1,15 +1,26 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<access component="com_mokosuiteclient">
|
||||
<section name="component">
|
||||
<!-- Core Joomla ACL -->
|
||||
<action name="core.admin" title="JACTION_ADMIN" description="JACTION_ADMIN_COMPONENT_DESC" />
|
||||
<action name="core.manage" title="JACTION_MANAGE" description="JACTION_MANAGE_COMPONENT_DESC" />
|
||||
|
||||
<!-- Dashboard & UI -->
|
||||
<action name="mokosuiteclient.dashboard" title="COM_MOKOSUITECLIENT_ACL_DASHBOARD" description="COM_MOKOSUITECLIENT_ACL_DASHBOARD_DESC" />
|
||||
<action name="mokosuiteclient.extensions" title="COM_MOKOSUITECLIENT_ACL_EXTENSIONS" description="COM_MOKOSUITECLIENT_ACL_EXTENSIONS_DESC" />
|
||||
<action name="mokosuiteclient.htaccess" title="COM_MOKOSUITECLIENT_ACL_HTACCESS" description="COM_MOKOSUITECLIENT_ACL_HTACCESS_DESC" />
|
||||
<action name="mokosuiteclient.tickets" title="COM_MOKOSUITECLIENT_ACL_TICKETS" description="COM_MOKOSUITECLIENT_ACL_TICKETS_DESC" />
|
||||
<action name="mokosuiteclient.tickets.create" title="COM_MOKOSUITECLIENT_ACL_TICKETS_CREATE" description="COM_MOKOSUITECLIENT_ACL_TICKETS_CREATE_DESC" />
|
||||
<action name="mokosuiteclient.tickets.assign" title="COM_MOKOSUITECLIENT_ACL_TICKETS_ASSIGN" description="COM_MOKOSUITECLIENT_ACL_TICKETS_ASSIGN_DESC" />
|
||||
<action name="mokosuiteclient.plugins.toggle" title="COM_MOKOSUITECLIENT_ACL_PLUGINS_TOGGLE" description="COM_MOKOSUITECLIENT_ACL_PLUGINS_TOGGLE_DESC" />
|
||||
<action name="mokosuiteclient.cache" title="COM_MOKOSUITECLIENT_ACL_CACHE" description="COM_MOKOSUITECLIENT_ACL_CACHE_DESC" />
|
||||
|
||||
<!-- Security -->
|
||||
<action name="mokosuiteclient.security.waflog" title="COM_MOKOSUITECLIENT_ACL_WAFLOG" description="COM_MOKOSUITECLIENT_ACL_WAFLOG_DESC" />
|
||||
<action name="mokosuiteclient.security.impersonate" title="COM_MOKOSUITECLIENT_ACL_IMPERSONATE" description="COM_MOKOSUITECLIENT_ACL_IMPERSONATE_DESC" />
|
||||
|
||||
<!-- Content Tools -->
|
||||
<action name="mokosuiteclient.snippets.manage" title="COM_MOKOSUITECLIENT_ACL_SNIPPETS" description="COM_MOKOSUITECLIENT_ACL_SNIPPETS_DESC" />
|
||||
<action name="mokosuiteclient.templates.manage" title="COM_MOKOSUITECLIENT_ACL_TEMPLATES" description="COM_MOKOSUITECLIENT_ACL_TEMPLATES_DESC" />
|
||||
<action name="mokosuiteclient.replacements.manage" title="COM_MOKOSUITECLIENT_ACL_REPLACEMENTS" description="COM_MOKOSUITECLIENT_ACL_REPLACEMENTS_DESC" />
|
||||
<action name="mokosuiteclient.conditions.manage" title="COM_MOKOSUITECLIENT_ACL_CONDITIONS" description="COM_MOKOSUITECLIENT_ACL_CONDITIONS_DESC" />
|
||||
|
||||
<!-- Extensions & Catalog -->
|
||||
<action name="mokosuiteclient.extensions" title="COM_MOKOSUITECLIENT_ACL_EXTENSIONS" description="COM_MOKOSUITECLIENT_ACL_EXTENSIONS_DESC" />
|
||||
</section>
|
||||
</access>
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<config>
|
||||
<fieldset name="general" label="General" description="General component settings.">
|
||||
<field name="brand_name" type="text" default="MokoSuiteClient"
|
||||
<field name="brand_name" type="text" default="MokoSuite"
|
||||
label="Brand Name"
|
||||
description="Displayed in the admin sidebar, dashboard, and emails."
|
||||
hint="MokoSuiteClient" />
|
||||
hint="MokoSuite" />
|
||||
<field name="support_email" type="email" default=""
|
||||
label="Support Email"
|
||||
description="Reply-to address for outbound notification emails."
|
||||
hint="support@example.com" />
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="notifications" label="Email Notifications" description="Configure email recipients for ticket and security notifications.">
|
||||
<fieldset name="notifications" label="Notifications" description="Email and push notification settings.">
|
||||
<field name="admin_emails" type="text" default=""
|
||||
label="Admin Email Addresses"
|
||||
description="Comma-separated email addresses to receive all notifications."
|
||||
@@ -31,7 +31,7 @@
|
||||
<field name="spacer_ntfy" type="spacer" label="Push Notifications (ntfy)" />
|
||||
<field name="ntfy_enabled" type="radio" default="0"
|
||||
label="Enable ntfy Push"
|
||||
description="Send push notifications via ntfy for ticket and security events."
|
||||
description="Send push notifications via ntfy for security and system events."
|
||||
class="btn-group btn-group-yesno">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
@@ -40,13 +40,13 @@
|
||||
label="ntfy Server URL"
|
||||
description="Full URL to your ntfy server."
|
||||
showon="ntfy_enabled:1" />
|
||||
<field name="ntfy_topic" type="text" default="mokosuiteclient-tickets"
|
||||
label="Ticket Topic"
|
||||
description="ntfy topic name for helpdesk ticket notifications."
|
||||
<field name="ntfy_topic" type="text" default="mokosuite-alerts"
|
||||
label="Alert Topic"
|
||||
description="ntfy topic name for general alert notifications."
|
||||
showon="ntfy_enabled:1" />
|
||||
<field name="ntfy_security_topic" type="text" default="mokosuiteclient-security"
|
||||
<field name="ntfy_security_topic" type="text" default="mokosuite-security"
|
||||
label="Security Topic"
|
||||
description="ntfy topic name for security alert notifications. Falls back to ticket topic if empty."
|
||||
description="ntfy topic name for security alerts. Falls back to alert topic if empty."
|
||||
showon="ntfy_enabled:1" />
|
||||
<field name="ntfy_token" type="password" default=""
|
||||
label="ntfy Auth Token"
|
||||
@@ -54,59 +54,42 @@
|
||||
showon="ntfy_enabled:1" />
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="helpdesk" label="Helpdesk Settings" description="Default helpdesk behavior.">
|
||||
<field name="default_category" type="sql" default=""
|
||||
label="Default Ticket Category"
|
||||
description="Category assigned to tickets without a selection."
|
||||
query="SELECT id AS value, title AS text FROM #__mokosuiteclient_ticket_categories WHERE published = 1 ORDER BY ordering" />
|
||||
<field name="autoclose_days" type="number" default="7"
|
||||
label="Auto-Close After (days)"
|
||||
description="Resolved tickets are auto-closed after this many days. 0 = disabled." />
|
||||
<field name="kb_search_enabled" type="radio" default="1"
|
||||
label="KB Search on Ticket Forms"
|
||||
description="Show knowledge base search before ticket submission."
|
||||
class="btn-group btn-group-yesno">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
<field name="satisfaction_enabled" type="radio" default="1"
|
||||
label="Satisfaction Ratings"
|
||||
description="Show rating prompt on resolved tickets."
|
||||
class="btn-group btn-group-yesno">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
<field name="max_attachment_size" type="number" default="10"
|
||||
label="Max Attachment Size (MB)"
|
||||
description="Maximum upload size per file in megabytes." />
|
||||
<fieldset name="content_tools" label="Content Tools" description="Settings for content tag engines and replacements.">
|
||||
<field name="spacer_snippets" type="spacer" label="Snippets" />
|
||||
<field name="snippets_default_category" type="text" default=""
|
||||
label="Default Snippet Category"
|
||||
description="Category assigned to new snippets if none selected." />
|
||||
|
||||
<field name="spacer_templates" type="spacer" label="Content Templates" />
|
||||
<field name="templates_default_category" type="text" default=""
|
||||
label="Default Template Category"
|
||||
description="Category assigned to new content templates if none selected." />
|
||||
|
||||
<field name="spacer_replacements" type="spacer" label="Replacements" />
|
||||
<field name="replacements_max_rules" type="number" default="100"
|
||||
label="Max Active Rules"
|
||||
description="Maximum number of replacement rules processed per page load. 0 = unlimited." />
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="email_to_ticket" label="Email-to-Ticket (IMAP)" description="Create tickets from incoming emails via IMAP polling.">
|
||||
<field name="imap_host" type="text" default=""
|
||||
label="IMAP Server"
|
||||
description="IMAP hostname (e.g. imap.gmail.com)"
|
||||
hint="imap.gmail.com" />
|
||||
<field name="imap_port" type="number" default="993"
|
||||
label="Port"
|
||||
description="IMAP port (993 for SSL, 143 for plain)" />
|
||||
<field name="imap_ssl" type="radio" default="1"
|
||||
label="Use SSL"
|
||||
class="btn-group btn-group-yesno">
|
||||
<option value="1">JYES</option>
|
||||
<option value="0">JNO</option>
|
||||
</field>
|
||||
<field name="imap_user" type="text" default=""
|
||||
label="Username"
|
||||
description="IMAP login username or email address." />
|
||||
<field name="imap_password" type="password" default=""
|
||||
label="Password"
|
||||
description="IMAP password or app-specific password." />
|
||||
<field name="imap_folder" type="text" default="INBOX"
|
||||
label="Inbox Folder"
|
||||
description="IMAP folder to poll for new messages." />
|
||||
<field name="imap_processed_folder" type="text" default="INBOX.Processed"
|
||||
label="Processed Folder"
|
||||
description="Move processed emails to this folder. Leave empty to just mark as read." />
|
||||
<fieldset name="impersonation" label="User Impersonation" description="Skeleton Key — log into the frontend as another user for support.">
|
||||
<field name="skeleton_key_control_groups" type="usergrouplist" default="8"
|
||||
label="Groups Allowed to Impersonate"
|
||||
description="User groups that can log in as another user."
|
||||
multiple="true"
|
||||
layout="joomla.form.field.list-fancy-select" />
|
||||
<field name="skeleton_key_target_groups" type="usergrouplist" default="2"
|
||||
label="Groups That Can Be Impersonated"
|
||||
description="User groups whose accounts can be accessed via impersonation."
|
||||
multiple="true"
|
||||
layout="joomla.form.field.list-fancy-select" />
|
||||
<field name="skeleton_key_blocked_groups" type="usergrouplist" default="7,8"
|
||||
label="Groups That Cannot Be Impersonated"
|
||||
description="User groups protected from impersonation (overrides target groups)."
|
||||
multiple="true"
|
||||
layout="joomla.form.field.list-fancy-select" />
|
||||
<field name="skeleton_key_cookie_lifetime" type="number" default="10"
|
||||
label="Cookie Lifetime (seconds)"
|
||||
description="How long the impersonation cookie remains valid. Short values are more secure." />
|
||||
</fieldset>
|
||||
|
||||
<fieldset name="permissions" label="COM_MOKOSUITECLIENT_ACL_TITLE"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
; MokoSuiteClient Admin Dashboard - Language Strings
|
||||
; MokoSuite Admin Dashboard - Language Strings
|
||||
; Copyright (C) 2026 Moko Consulting. All rights reserved.
|
||||
; License: GPL-3.0-or-later
|
||||
|
||||
COM_MOKOSUITECLIENT_DASHBOARD_TITLE="MokoSuiteClient Control Panel"
|
||||
COM_MOKOSUITECLIENT_DASHBOARD_TITLE="MokoSuite Control Panel"
|
||||
|
||||
; Joomla core fallback keys (in case language files are corrupt/missing)
|
||||
; Joomla core fallback keys
|
||||
COM_ACTIONLOGS_DISABLED="User Action Logging is disabled. Please enable the "Action Log - Joomla" plugin."
|
||||
COM_MOKOSUITECLIENT_SITE="Site"
|
||||
COM_MOKOSUITECLIENT_DATABASE="Database"
|
||||
@@ -23,22 +23,27 @@ COM_MOKOSUITECLIENT_EXTENSIONS_TITLE="Moko Extensions"
|
||||
COM_MOKOSUITECLIENT_EXTENSIONS_INFO="Install Moko Consulting Joomla packages from the official release server. Updates are handled through Joomla's native System > Update mechanism — each package registers its own update server."
|
||||
COM_MOKOSUITECLIENT_EXTENSIONS_LINK="Moko Extensions"
|
||||
COM_MOKOSUITECLIENT_HTACCESS_TITLE=".htaccess Maker"
|
||||
COM_MOKOSUITECLIENT_TICKETS_TITLE="Helpdesk"
|
||||
|
||||
; ACL
|
||||
COM_MOKOSUITECLIENT_ACL_TITLE="Permissions"
|
||||
COM_MOKOSUITECLIENT_ACL_DESC="Manage access permissions for MokoSuite component features."
|
||||
COM_MOKOSUITECLIENT_ACL_DASHBOARD="View Dashboard"
|
||||
COM_MOKOSUITECLIENT_ACL_DASHBOARD_DESC="Allow viewing the MokoSuiteClient control panel dashboard."
|
||||
COM_MOKOSUITECLIENT_ACL_DASHBOARD_DESC="Allow viewing the MokoSuite control panel dashboard."
|
||||
COM_MOKOSUITECLIENT_ACL_EXTENSIONS="Manage Extensions"
|
||||
COM_MOKOSUITECLIENT_ACL_EXTENSIONS_DESC="Allow installing and uninstalling Moko extensions."
|
||||
COM_MOKOSUITECLIENT_ACL_HTACCESS="Manage .htaccess"
|
||||
COM_MOKOSUITECLIENT_ACL_HTACCESS_DESC="Allow editing and saving the .htaccess configuration."
|
||||
COM_MOKOSUITECLIENT_ACL_TICKETS="View Tickets"
|
||||
COM_MOKOSUITECLIENT_ACL_TICKETS_DESC="Allow viewing helpdesk tickets."
|
||||
COM_MOKOSUITECLIENT_ACL_TICKETS_CREATE="Create Tickets"
|
||||
COM_MOKOSUITECLIENT_ACL_TICKETS_CREATE_DESC="Allow creating new helpdesk tickets."
|
||||
COM_MOKOSUITECLIENT_ACL_TICKETS_ASSIGN="Assign Tickets"
|
||||
COM_MOKOSUITECLIENT_ACL_TICKETS_ASSIGN_DESC="Allow assigning tickets to other users."
|
||||
COM_MOKOSUITECLIENT_ACL_PLUGINS_TOGGLE="Toggle Plugins"
|
||||
COM_MOKOSUITECLIENT_ACL_PLUGINS_TOGGLE_DESC="Allow enabling and disabling MokoSuiteClient feature plugins."
|
||||
COM_MOKOSUITECLIENT_ACL_PLUGINS_TOGGLE_DESC="Allow enabling and disabling MokoSuite feature plugins."
|
||||
COM_MOKOSUITECLIENT_ACL_CACHE="Clear Cache"
|
||||
COM_MOKOSUITECLIENT_ACL_CACHE_DESC="Allow clearing the Joomla cache from the dashboard."
|
||||
COM_MOKOSUITECLIENT_ACL_WAFLOG="View WAF Log"
|
||||
COM_MOKOSUITECLIENT_ACL_WAFLOG_DESC="Allow viewing the Web Application Firewall activity log."
|
||||
COM_MOKOSUITECLIENT_ACL_IMPERSONATE="Impersonate Users"
|
||||
COM_MOKOSUITECLIENT_ACL_IMPERSONATE_DESC="Allow logging into the frontend as another user for support purposes."
|
||||
COM_MOKOSUITECLIENT_ACL_SNIPPETS="Manage Snippets"
|
||||
COM_MOKOSUITECLIENT_ACL_SNIPPETS_DESC="Allow creating, editing, and deleting reusable content snippets."
|
||||
COM_MOKOSUITECLIENT_ACL_TEMPLATES="Manage Content Templates"
|
||||
COM_MOKOSUITECLIENT_ACL_TEMPLATES_DESC="Allow creating, editing, and deleting article content templates."
|
||||
COM_MOKOSUITECLIENT_ACL_REPLACEMENTS="Manage Replacements"
|
||||
COM_MOKOSUITECLIENT_ACL_REPLACEMENTS_DESC="Allow creating, editing, and deleting text replacement rules."
|
||||
COM_MOKOSUITECLIENT_ACL_CONDITIONS="Manage Conditions"
|
||||
COM_MOKOSUITECLIENT_ACL_CONDITIONS_DESC="Allow creating, editing, and deleting display condition sets for modules and content."
|
||||
|
||||
Reference in New Issue
Block a user