diff --git a/site/plugins/admin/app/Controllers/PluginsController.php b/site/plugins/admin/app/Controllers/PluginsController.php index cfea1ac9..a6085dd5 100644 --- a/site/plugins/admin/app/Controllers/PluginsController.php +++ b/site/plugins/admin/app/Controllers/PluginsController.php @@ -74,40 +74,25 @@ class PluginsController extends Controller } /** - * Edit plugin + * Plugin information * * @param Request $request PSR7 request * @param Response $response PSR7 response */ - public function edit(Request $request, Response $response) : Response + public function information(Request $request, Response $response) : Response { // Get Plugin ID $id = $request->getQueryParams()['id']; // Init plugin configs $plugin = []; - $plugin_settings = []; $plugin_manifest = []; - $default_plugin_settings = []; - $site_plugin_settings = []; $default_plugin_manifest = []; $site_plugin_manifest = []; - $default_plugin_settings_file = PATH['plugins'] . '/' . $id . '/settings.yaml'; $default_plugin_manifest_file = PATH['plugins'] . '/' . $id . '/plugin.yaml'; - $site_plugin_settings_file = PATH['config']['site'] . '/plugins/' . $id . '/settings.yaml'; $site_plugin_manifest_file = PATH['config']['site'] . '/plugins/' . $id . '/plugin.yaml'; - if (Filesystem::has($default_plugin_settings_file)) { - $default_plugin_settings_file_content = Filesystem::read($default_plugin_settings_file); - $default_plugin_settings = $this->parser->decode($default_plugin_settings_file_content, 'yaml'); - } - - if (Filesystem::has($site_plugin_settings_file)) { - $site_plugin_settings_file_content = Filesystem::read($site_plugin_settings_file); - $site_plugin_settings = $this->parser->decode($site_plugin_settings_file_content, 'yaml'); - } - if (Filesystem::has($default_plugin_manifest_file)) { $default_plugin_manifest_file_content = Filesystem::read($default_plugin_manifest_file); $default_plugin_manifest = $this->parser->decode($default_plugin_manifest_file_content, 'yaml'); @@ -122,17 +107,69 @@ class PluginsController extends Controller array_replace_recursive($default_plugin_manifest, $site_plugin_manifest) ); + return $this->view->render( + $response, + 'plugins/admin/views/templates/extends/plugins/information.html', + [ + 'menu_item' => 'plugins', + 'id' => $id, + 'plugin_manifest' => $plugin[$id]['manifest'], + 'links' => [ + 'plugins' => [ + 'link' => $this->router->pathFor('admin.plugins.index'), + 'title' => __('admin_plugins'), + 'attributes' => ['class' => 'navbar-item'], + ], + 'plugins_information' => [ + 'link' => $this->router->pathFor('admin.plugins.information') . '?id=' . $request->getQueryParams()['id'], + 'title' => __('admin_information'), + 'attributes' => ['class' => 'navbar-item active'], + ], + ], + ] + ); + } + + /** + * Plugin settings + * + * @param Request $request PSR7 request + * @param Response $response PSR7 response + */ + public function settings(Request $request, Response $response) : Response + { + // Get Plugin ID + $id = $request->getQueryParams()['id']; + + // Init plugin configs + $plugin = []; + $plugin_settings = []; + $default_plugin_settings = []; + $site_plugin_settings = []; + + $default_plugin_settings_file = PATH['plugins'] . '/' . $id . '/settings.yaml'; + $site_plugin_settings_file = PATH['config']['site'] . '/plugins/' . $id . '/settings.yaml'; + + if (Filesystem::has($default_plugin_settings_file)) { + $default_plugin_settings_file_content = Filesystem::read($default_plugin_settings_file); + $default_plugin_settings = $this->parser->decode($default_plugin_settings_file_content, 'yaml'); + } + + if (Filesystem::has($site_plugin_settings_file)) { + $site_plugin_settings_file_content = Filesystem::read($site_plugin_settings_file); + $site_plugin_settings = $this->parser->decode($site_plugin_settings_file_content, 'yaml'); + } + $plugin[$id]['settings'] = array_merge( array_replace_recursive($default_plugin_settings, $site_plugin_settings) ); return $this->view->render( $response, - 'plugins/admin/views/templates/extends/plugins/edit.html', + 'plugins/admin/views/templates/extends/plugins/settings.html', [ 'menu_item' => 'plugins', 'id' => $id, - 'plugin_manifest' => $plugin[$id]['manifest'], 'plugin_settings' => $this->parser->encode($plugin[$id]['settings'], 'yaml'), 'links' => [ 'plugins' => [ @@ -140,14 +177,14 @@ class PluginsController extends Controller 'title' => __('admin_plugins'), 'attributes' => ['class' => 'navbar-item'], ], - 'fieldsets_editor' => [ - 'link' => $this->router->pathFor('admin.plugins.edit') . '?id=' . $request->getQueryParams()['id'], - 'title' => __('admin_plugin'), + 'plugins_settings' => [ + 'link' => $this->router->pathFor('admin.plugins.settings') . '?id=' . $request->getQueryParams()['id'], + 'title' => __('admin_settings'), 'attributes' => ['class' => 'navbar-item active'], ], ], 'buttons' => [ - 'save_entry' => [ + 'save_plugin_settings' => [ 'link' => 'javascript:;', 'title' => __('admin_save'), 'attributes' => ['class' => 'js-save-form-submit float-right btn'], @@ -158,12 +195,12 @@ class PluginsController extends Controller } /** - * Edit plugin process + * Plugin settings process * * @param Request $request PSR7 request * @param Response $response PSR7 response */ - public function editProcess(Request $request, Response $response) : Response + public function settingsProcess(Request $request, Response $response) : Response { $data = $request->getParsedBody(); diff --git a/site/plugins/admin/assets/scss/admin-light.scss b/site/plugins/admin/assets/scss/admin-light.scss index 585fa94c..393ed6b5 100644 --- a/site/plugins/admin/assets/scss/admin-light.scss +++ b/site/plugins/admin/assets/scss/admin-light.scss @@ -183,12 +183,12 @@ a { background-color: $navbar-table-background-color-hover; } - > tbody, + > tfoot, > thead, - > tfoot { + > tbody { > tr { - > td, - > th { + > th, + > td { border-color: $border-color; color: $base-font-color; } diff --git a/site/plugins/admin/assets/scss/objects/form-control.scss b/site/plugins/admin/assets/scss/objects/form-control.scss index 5e230aca..ce11c438 100644 --- a/site/plugins/admin/assets/scss/objects/form-control.scss +++ b/site/plugins/admin/assets/scss/objects/form-control.scss @@ -492,3 +492,42 @@ textarea.form-control.code-editor { border: none; opacity: 0; } + +.dropdown-toggle::after { + padding: 0; + margin: 0; + border: none; +} + +.dropdown-toggle { + border: none!important; + background: transparent!important; +} + +.dropdown-item { + padding: .25rem 1.1rem; + font-size: 14px; + + > i { + width: 24px; + font-size: 14px; + } +} + +.nav-pills { + .nav-link { + > i { + width: 24px; + font-size: 14px; +} + + } +} + +.show > .dropdown-toggle { + border: none!important; + background: transparent!important; + color: inherit!important; + outline: none!important; + box-shadow: none!important; +} diff --git a/site/plugins/admin/lang/en_US.yaml b/site/plugins/admin/lang/en_US.yaml index ba04f28f..67d685b8 100755 --- a/site/plugins/admin/lang/en_US.yaml +++ b/site/plugins/admin/lang/en_US.yaml @@ -237,6 +237,7 @@ admin_registry: "Registry" admin_key: "Key" admin_value: "Value" admin_activate: "Activate" +admin_deactivate: "Deactivate" admin_active_theme: "Active Theme" admin_get_more_themes: "Get More Themes" admin_images: "Images" diff --git a/site/plugins/admin/routes/web.php b/site/plugins/admin/routes/web.php index 480e8b06..a8e58204 100644 --- a/site/plugins/admin/routes/web.php +++ b/site/plugins/admin/routes/web.php @@ -43,8 +43,9 @@ $app->group('/' . $admin_route, function () use ($app) : void { // Plugins Controller $app->get('/plugins', 'PluginsController:index')->setName('admin.plugins.index'); - $app->get('/plugins/edit', 'PluginsController:edit')->setName('admin.plugins.edit'); - $app->post('/plugins/edit', 'PluginsController:editProcess')->setName('admin.plugins.editProcess'); + $app->get('/plugins/information', 'PluginsController:information')->setName('admin.plugins.information'); + $app->get('/plugins/settings', 'PluginsController:settings')->setName('admin.plugins.settings'); + $app->post('/plugins/settings', 'PluginsController:settingsProcess')->setName('admin.plugins.settingsProcess'); $app->post('/plugins/update-status', 'PluginsController:pluginStatusProcess')->setName('admin.plugins.update-status'); // FieldsetsController diff --git a/site/plugins/admin/views/partials/base.html b/site/plugins/admin/views/partials/base.html index c9d092c4..dfa215d7 100644 --- a/site/plugins/admin/views/partials/base.html +++ b/site/plugins/admin/views/partials/base.html @@ -194,7 +194,8 @@ {% endif %} - {% if is_current_path('admin.templates.index') or + {% if is_current_path('admin.themes.index') or + is_current_path('admin.templates.index') or is_current_path('admin.templates.edit') or is_current_path('admin.templates.rename') or is_current_path('admin.templates.add') %} @@ -217,7 +218,8 @@ {% endif %} {% if is_current_path('admin.plugins.index') or - is_current_path('admin.plugins.edit') %} + is_current_path('admin.plugins.information') or + is_current_path('admin.plugins.settings') %}
/ {{ id }}
diff --git a/site/plugins/admin/views/templates/extends/fieldsets/index.html b/site/plugins/admin/views/templates/extends/fieldsets/index.html index dad73980..dcdefd9d 100644 --- a/site/plugins/admin/views/templates/extends/fieldsets/index.html +++ b/site/plugins/admin/views/templates/extends/fieldsets/index.html @@ -24,28 +24,29 @@
- {{ tr('admin_edit') }} - - - - - {{ tr('admin_delete') }} {% endfor %} diff --git a/site/plugins/admin/views/templates/extends/plugins/edit.html b/site/plugins/admin/views/templates/extends/plugins/edit.html deleted file mode 100644 index b82ed3c7..00000000 --- a/site/plugins/admin/views/templates/extends/plugins/edit.html +++ /dev/null @@ -1,74 +0,0 @@ -{% extends "plugins/admin/views/partials/base.html" %} - -{% block content %} -
-
-

{{ tr('admin_information') }}

-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
{{ tr('admin_name') }}:{{ plugin_manifest.name }}
{{ tr('admin_version') }}:{{ plugin_manifest.version }}
{{ tr('admin_description') }}:{{ plugin_manifest.description }}
{{ tr('admin_icon') }}:{{ plugin_manifest.icon }}
{{ tr('admin_author_name') }}:{{ plugin_manifest.author.name }}
{{ tr('admin_author_email') }}:{{ plugin_manifest.author.email }}
{{ tr('admin_author_url') }}:{{ plugin_manifest.author.url }}
{{ tr('admin_homepage') }}:{{ plugin_manifest.homepage }}
{{ tr('admin_bugs') }}:{{ plugin_manifest.bugs }}
{{ tr('admin_license') }}:{{ plugin_manifest.license }}
-
-
-

{{ tr('admin_settings') }}

-
-
- {{ csrf() }} - - -
-
-
- -
-
-
-
-
-
- -
-
- -{% endblock %} diff --git a/site/plugins/admin/views/templates/extends/plugins/index.html b/site/plugins/admin/views/templates/extends/plugins/index.html index 82787ecb..a16569c1 100644 --- a/site/plugins/admin/views/templates/extends/plugins/index.html +++ b/site/plugins/admin/views/templates/extends/plugins/index.html @@ -13,7 +13,33 @@ {% endif %} - {{ plugin.name }} + {{ plugin.name }} + +
+ + -