diff --git a/CHANGELOG.md b/CHANGELOG.md index 75b8a552..9faaefe2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ - **Backup bridge plugin** — discovers MokoSuiteBackup's BackupStatusHelper and sends status in heartbeat payloads - **Activity log** — blockchain-style hash chain for tamper detection in MokoSuiteHQ - **Dev domain in heartbeat** — client sends dev alias to HQ for display on dashboard +- **Login app badges** — recent logins table shows Admin/Site badge parsed from Joomla action log message JSON ### Changed - **Plugin install** — self-healing: extracts plugin zips from package on every update, creates missing extension records with namespace @@ -41,6 +42,9 @@ - **Heartbeat** — correct URL (suite.dev), correct API route (mokosuitehq), correct headers (X-MokoSuite-*), fresh RSA key pair - **Date formats** — all templates use Joomla locale-aware DATE_FORMAT_LC2/LC4 - **Domains** — updated from waas.dev to suite.dev.mokoconsulting.tech throughout +- **Dashboard info bar** — reverted stacked layout; info items back to horizontal row +- **Extension version bar** — full-width auto-sized strip with equal-width cells and border separators +- **Recent logins** — exact match on LOGGED_IN key (excludes logout noise), limit increased to 10 ### Removed - **Helpdesk/tickets** — migrated to MokoSuiteCRM (issue #67) diff --git a/source/packages/com_mokosuiteclient/admin/src/Model/DashboardModel.php b/source/packages/com_mokosuiteclient/admin/src/Model/DashboardModel.php index b56e0034..59647ecc 100644 --- a/source/packages/com_mokosuiteclient/admin/src/Model/DashboardModel.php +++ b/source/packages/com_mokosuiteclient/admin/src/Model/DashboardModel.php @@ -454,7 +454,7 @@ class DashboardModel extends BaseDatabaseModel ]) ->from($db->quoteName('#__action_logs', 'a')) ->leftJoin($db->quoteName('#__users', 'u') . ' ON ' . $db->quoteName('u.id') . ' = ' . $db->quoteName('a.user_id')) - ->where($db->quoteName('a.message_language_key') . ' LIKE ' . $db->quote('%LOGIN%')) + ->where($db->quoteName('a.message_language_key') . ' = ' . $db->quote('PLG_ACTIONLOG_JOOMLA_USER_LOGGED_IN')) ->order($db->quoteName('a.log_date') . ' DESC') ->setLimit($limit); $db->setQuery($query); diff --git a/source/packages/com_mokosuiteclient/admin/src/View/Dashboard/HtmlView.php b/source/packages/com_mokosuiteclient/admin/src/View/Dashboard/HtmlView.php index 1e85f947..322ba7b1 100644 --- a/source/packages/com_mokosuiteclient/admin/src/View/Dashboard/HtmlView.php +++ b/source/packages/com_mokosuiteclient/admin/src/View/Dashboard/HtmlView.php @@ -56,7 +56,7 @@ class HtmlView extends BaseHtmlView } } catch (\Throwable $e) {} - $this->recentLogins = $model->getRecentLogins(5); + $this->recentLogins = $model->getRecentLogins(10); $this->pendingUpdates = $model->getPendingUpdates(); $this->checkedOutItems = $model->getCheckedOutItems(); $this->wafBlocks = $model->getRecentWafBlocks(5); diff --git a/source/packages/com_mokosuiteclient/admin/tmpl/dashboard/default.php b/source/packages/com_mokosuiteclient/admin/tmpl/dashboard/default.php index e736fe18..52b41aae 100644 --- a/source/packages/com_mokosuiteclient/admin/tmpl/dashboard/default.php +++ b/source/packages/com_mokosuiteclient/admin/tmpl/dashboard/default.php @@ -85,7 +85,7 @@ $categoryOrder = ['core', 'security', 'monitoring', 'content', 'tools', 'api']; -