diff --git a/CHANGELOG.md b/CHANGELOG.md index 76ee1c09..0a732b1d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # v1.10.0-rc.1 ## mm/dd/2019 +1. [](#new) + * Added a new `onAdminLogFiles()` event for 3rd party plugins to register log files for log viewer [#1765](https://github.com/getgrav/grav-plugin-admin/issues/1765) 1. [](#improved) * Improved delete button UI [#1769](https://github.com/getgrav/grav-plugin-admin/issues/1769) * Ability to configure display of 3rd party dashboard widgets [#1766](https://github.com/getgrav/grav-plugin-admin/issues/1766) diff --git a/admin.yaml b/admin.yaml index 0db92caf..4604207f 100644 --- a/admin.yaml +++ b/admin.yaml @@ -6,7 +6,6 @@ logo_text: '' body_classes: '' content_padding: true twofa_enabled: true -log_viewer_files: ['grav', 'email'] sidebar: activate: tab hover_delay: 100 diff --git a/blueprints.yaml b/blueprints.yaml index 67a0114f..4ff79e38 100644 --- a/blueprints.yaml +++ b/blueprints.yaml @@ -265,15 +265,6 @@ form: label: Hide modular page types in Admin value_only: true - log_viewer_files: - type: selectize - size: medium - label: PLUGIN_ADMIN.LOG_VIEWER_FILES - help: PLUGIN_ADMIN.LOG_VIEWER_FILES_HELP - classes: fancy - validate: - type: commalist - MediaResize: type: section title: Page Media Image Resizer diff --git a/classes/plugin/Admin.php b/classes/plugin/Admin.php index 12b7a0fe..a9b88005 100644 --- a/classes/plugin/Admin.php +++ b/classes/plugin/Admin.php @@ -4,6 +4,7 @@ namespace Grav\Plugin\Admin; use DateTime; use Grav\Common\Data; +use Grav\Common\Data\Data as GravData; use Grav\Common\File\CompiledYamlFile; use Grav\Common\GPM\GPM; use Grav\Common\GPM\Licenses; @@ -2127,4 +2128,11 @@ class Admin { return $_SERVER['HTTP_REFERER'] ?? null; } + + public function getLogFiles() + { + $logs = new GravData(['grav.log' => 'Grav System Log', 'email.log' => 'Email Log']); + Grav::instance()->fireEvent('onAdminLogFiles', new Event(['logs' => &$logs])); + return $logs->toArray(); + } } diff --git a/themes/grav/templates/partials/tools-logs.html.twig b/themes/grav/templates/partials/tools-logs.html.twig index 9d94c438..1bef7325 100644 --- a/themes/grav/templates/partials/tools-logs.html.twig +++ b/themes/grav/templates/partials/tools-logs.html.twig @@ -15,11 +15,13 @@ {% import _self as macro %} - {% set file = grav.uri.query('log') ?: 'grav' %} + {% set file = grav.uri.query('log') ?: 'grav.log' %} {% set verbose = grav.uri.query('verbose') == 'true' ? true : false %} {% set lines = grav.uri.query('lines') ?: 20 %} - {% set logfile = grav.locator.findResource("log://" ~ file ~ '.log') %} + {% set logfile = grav.locator.findResource("log://" ~ file) %} {% set logs = logviewer.objectTail(logfile, lines|int, false) %} + {% set log_files = admin.getLogFiles() %} + {% set title = log_files[file] %}
@@ -27,10 +29,10 @@
- {% set log_files = config.plugins.admin.log_viewer_files|default(['grav','email']) %} + {% set lines_list = {10:'10 entries', 25:'25 entries', 50:'50 entries', 100:'100 entries', 200:'200 entries', 500:'500 entries'} %} - {{ macro.render_select('log', log_files, file, true) }} + {{ macro.render_select('log', log_files, file) }} {{ macro.render_select('verbose', {'false':'Essential Output', 'true':'Verbose Output'}, verbose) }} {{ macro.render_select('lines', lines_list, lines) }}
@@ -38,7 +40,7 @@
-

{{ file|titleize }} Log File

+

{{ title }} Output

Display the {{ lines }} most recent entries...