1
0
mirror of https://github.com/flextype/flextype.git synced 2025-08-20 11:51:28 +02:00

feat(admin-plugin): try to fix plugins set state issue #211

This commit is contained in:
Awilum
2020-01-27 13:51:56 +03:00
parent 053497186e
commit 949ac4878c

View File

@@ -62,21 +62,25 @@ class PluginsController extends Controller
public function pluginStatusProcess(Request $request, Response $response) : Response
{
// Get data from the request
$data = $request->getParsedBody();
$post_data = $request->getParsedBody();
$site_plugin_settings_dir = PATH['config']['site'] . '/plugins/' . $data['plugin-key'];
$site_plugin_settings_file = PATH['config']['site'] . '/plugins/' . $data['plugin-key'] . '/settings.yaml';
$default_plugin_settings_file = PATH['plugins'] . '/' . $data['plugin-key'] . '/settings.yaml';
$site_plugin_settings_dir = PATH['config']['site'] . '/plugins/' . $post_data['plugin-key'];
$site_plugin_settings_file = PATH['config']['site'] . '/plugins/' . $post_data['plugin-key'] . '/settings.yaml';
$default_plugin_settings_file = PATH['plugins'] . '/' . $post_data['plugin-key'] . '/settings.yaml';
// Update settings
$site_plugin_settings_file_content = Filesystem::read($site_plugin_settings_file);
if (trim($site_plugin_settings_file_content) === '') {
$site_plugin_settings = [];
} else {
$site_plugin_settings = $this->parser->decode($site_plugin_settings_file_content, 'yaml');
}
Arr::set($site_plugin_settings, 'enabled', ($data['plugin-status'] === 'true'));
$status = ($post_data['plugin-set-status'] == 'true') ? true : false;
Arr::set($site_plugin_settings, 'enabled', $status);
Filesystem::write($site_plugin_settings_file, $this->parser->encode($site_plugin_settings, 'yaml'));
// Clear doctrine cache