From 247dce01afd517eb67273b20ee9e7f295145e843 Mon Sep 17 00:00:00 2001 From: Awilum Date: Thu, 25 Apr 2019 14:02:51 +0300 Subject: [PATCH] Flextype Box Plugin: Admin #125 #117 - Plugins Controller implementation --- site/plugins/admin/app/Controllers/PluginsController.php | 9 ++++++--- site/plugins/admin/routes.php | 1 + .../admin/views/templates/extends/plugins/index.html | 3 +-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/site/plugins/admin/app/Controllers/PluginsController.php b/site/plugins/admin/app/Controllers/PluginsController.php index eded7eb4..c1360ce1 100644 --- a/site/plugins/admin/app/Controllers/PluginsController.php +++ b/site/plugins/admin/app/Controllers/PluginsController.php @@ -12,7 +12,6 @@ class PluginsController extends Controller { public function index($request, $response, $args) { - return $this->view->render($response, 'plugins/admin/views/templates/extends/plugins/index.html', [ 'plugins_list' => $this->registry->get('plugins'), @@ -20,9 +19,13 @@ class PluginsController extends Controller ]); } - public function update($request, $response, $args) + public function changeStatus($request, $response, $args) { - + $data = $request->getParsedBody(); + $plugin_settings = JsonParser::decode(Filesystem::read(PATH['plugins'] . '/' . $data['plugin'] . '/' . 'settings.json')); + Arr::set($plugin_settings, 'enabled', ($data['status'] == 'true' ? true : false)); + Filesystem::write(PATH['plugins'] . '/' . $data['plugin'] . '/' . 'settings.json', JsonParser::encode($plugin_settings)); + $this->cache->clear(); } } diff --git a/site/plugins/admin/routes.php b/site/plugins/admin/routes.php index 5189f19c..3ffe0c1b 100644 --- a/site/plugins/admin/routes.php +++ b/site/plugins/admin/routes.php @@ -12,3 +12,4 @@ $app->post('/admin/settings/clear-cache', 'SettingsController:clearCache')->setN // Plugins Controller $app->get('/admin/plugins', 'PluginsController:index')->setName('admin.plugins.index'); +$app->post('/admin/plugins/change-status', 'PluginsController:changeStatus')->setName('admin.plugins.change-status'); diff --git a/site/plugins/admin/views/templates/extends/plugins/index.html b/site/plugins/admin/views/templates/extends/plugins/index.html index 699fc929..361836eb 100644 --- a/site/plugins/admin/views/templates/extends/plugins/index.html +++ b/site/plugins/admin/views/templates/extends/plugins/index.html @@ -1,9 +1,8 @@ {% extends "plugins/admin/views/partials/base.html" %} {% block content %} -
- +