]> git.sur5r.net Git - bacula/bacula/blobdiff - gui/baculum/protected/API/Pages/API/Config.php
baculum: API endpoints code refactor
[bacula/bacula] / gui / baculum / protected / API / Pages / API / Config.php
index 0ecdb0c842a330899f489ce633707aa37a401dd0..1cec6dfa0c77ebe010fd7c406f0d97d43c941ef3 100644 (file)
@@ -3,7 +3,7 @@
  * Bacula(R) - The Network Backup Solution
  * Baculum   - Bacula web interface
  *
- * Copyright (C) 2013-2016 Kern Sibbald
+ * Copyright (C) 2013-2017 Kern Sibbald
  *
  * The main author of Baculum is Marcin Haba.
  * The original author of Bacula is Kern Sibbald, with contributions
@@ -36,7 +36,12 @@ class Config extends BaculumAPIServer {
        public function set($id, $params) {
                $config = (array)$params;
                if (array_key_exists('config', $config)) {
-                       $config = json_decode($config['config'], true);
+                       if ($this->getClientVersion() <= 0.2) {
+                               // old way sending config as serialized array
+                               $config = unserialize($config['config']);
+                       } else {
+                               $config = json_decode($config['config'], true);
+                       }
                } else {
                        $config = array();
                }
@@ -51,7 +56,6 @@ class Config extends BaculumAPIServer {
                } else if ($result['is_valid'] === false) {
                        $this->output = BaculaConfigError::MSG_ERROR_CONFIG_VALIDATION_ERROR . print_r($result['result'], true);
                        $this->error = BaculaConfigError::ERROR_CONFIG_VALIDATION_ERROR;
-
                } else {
                        $this->output = BaculaConfigError::MSG_ERROR_WRITE_TO_CONFIG_ERROR . print_r($result['result'], true);
                        $this->error = BaculaConfigError::ERROR_WRITE_TO_CONFIG_ERROR;