diff --git a/src/InputOutput/IHMImpl/Tools/IHMUserWSManagerClass.php b/src/InputOutput/IHMImpl/Tools/IHMUserWSManagerClass.php index c51c8de..9f5a152 100644 --- a/src/InputOutput/IHMImpl/Tools/IHMUserWSManagerClass.php +++ b/src/InputOutput/IHMImpl/Tools/IHMUserWSManagerClass.php @@ -56,6 +56,8 @@ class IHMUserWSManagerClass if (empty($this->wsInfo)) { return FALSE; } + $this->wsInfo["version"] = 0;// DEBUG - To Remove!!! + return TRUE; } @@ -115,6 +117,7 @@ class IHMUserWSManagerClass } // Split requests + $split_plot = array(); foreach ($plot_requests as $id => $node) { $req_data_path = IHMConfigClass::getStoredRequestPath() . $id; if (!file_exists($req_data_path)) { @@ -124,14 +127,54 @@ class IHMUserWSManagerClass if (!$req_data_content) { continue; } - $req_data_json = json_decode($req_data_content); + $req_data_json = json_decode($req_data_content,TRUE); if (!$req_data_json) { continue; } - // ToDo + if (array_key_exists("tabs", $req_data_json)) { + $split_plot[$id] = array(); + $tab_index = 1; + foreach ($req_data_json["tabs"] as $tab) { + $new_splitted_request = array_merge(array(), $tab); + foreach (array_keys($req_data_json) as $key) { + if (in_array($key, array('tabs', 'startDate', 'stopDate'))) { + continue; + } + $new_splitted_request[$key] = $req_data_json[$key]; + } + if (count($req_data_json["tabs"]) > 1) { + if (!empty($new_splitted_request['tab-name'])) { + $new_splitted_request['name'] .= ('_' . $new_splitted_request['tab-name']); + } + else { + $new_splitted_request['name'] .= ('_Plot' . $tab_index); + } + } + foreach (array("tab-name", "last-plotted-tab", "active-tab-id", "last-tab-id", "multi-plot-linked") as $key) { + unset($new_splitted_request[$key]); + } + ++$last_id; + $new_splitted_request['id'] = "req_".$last_id; + file_put_contents(IHMConfigClass::getStoredRequestPath() . $new_splitted_request['id'], json_encode($new_splitted_request)); + $split_plot[$id][$new_splitted_request['id']] = $new_splitted_request['name']; + ++$tab_index; + } + } } + //Apply split in user requests file + foreach ($split_plot as $old_key => $split) { + $parentNode = $plot_requests[$old_key]->parentNode; + $parentNode->removeChild($plot_requests[$old_key]); + foreach ($split as $new_key => $new_name) { + $new_node = $dom->createElement("request"); + $new_node->setAttribute("xml:id", $new_key); + $new_node->setAttribute("name", $new_name); + $parentNode->appendChild($new_node); + } + } + $dom->save($req_mgr_file_path); return TRUE; } } -- libgit2 0.21.2