$node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int) $_GET['id'] : 0; $temp = $fs->mk($node, isset($_GET['position']) ? (int) $_GET['position'] : 0, array('nm' => isset($_GET['text']) ? $_GET['text'] : 'New node')); $rslt = array('id' => $temp); break; case 'rename_node': $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int) $_GET['id'] : 0; $rslt = $fs->rn($node, array('nm' => isset($_GET['text']) ? $_GET['text'] : 'Renamed node')); break; case 'delete_node': $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int) $_GET['id'] : 0; $rslt = $fs->rm($node); break; case 'move_node': $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int) $_GET['id'] : 0; $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? (int) $_GET['parent'] : 0; $rslt = $fs->mv($node, $parn, isset($_GET['position']) ? (int) $_GET['position'] : 0); break; case 'copy_node': $node = isset($_GET['id']) && $_GET['id'] !== '#' ? (int) $_GET['id'] : 0; $parn = isset($_GET['parent']) && $_GET['parent'] !== '#' ? (int) $_GET['parent'] : 0; $rslt = $fs->cp($node, $parn, isset($_GET['position']) ? (int) $_GET['position'] : 0); break; default: throw new Exception('Unsupported operation: ' . $_GET['operation']); break; } header('Content-Type: application/json; charset=utf-8'); echo json_encode($rslt); } catch (Exception $e) { header($_SERVER["SERVER_PROTOCOL"] . ' 500 Server Error'); header('Status: 500 Server Error');