コード例 #1
0
ファイル: save_cnf.php プロジェクト: jackpf/ossim-arc
    $conf_file = preg_replace($pattern, $replacement, $conf_file);
    preg_match_all('/<\\s*syscheck\\s*>.*<\\/syscheck>/', $conf_file, $match);
    $size_m = count($match[0]);
    $unique_id = uniqid();
    if ($size_m > 0) {
        $pattern = trim($match[0][$ac_key]);
        $copy_cf = str_replace($pattern, $unique_id, $copy_cf);
    } else {
        if (preg_match("/<\\s*agent_config\\s*>/", $copy_cf)) {
            $copy_cf = preg_replace("/<\\/\\s*agent_config\\s*>/", "{$unique_id}</agent_config>", $copy_cf, 1);
        } else {
            $copy_cf = "<agent_config>{$unique_id}</agent_config>";
        }
    }
    $copy_cf = preg_replace("/{$unique_id}/", $node_sys, $copy_cf);
    $conf_data = Ossec_utilities::formatXmlString($copy_cf);
    try {
        $data = Ossec_agent::set_configuration_file($sensor_id, $conf_data);
    } catch (Exception $e) {
        $data['status'] = 'error';
        $data['data'] = $e->getMessage();
    }
    echo json_encode($data);
} elseif ($tab == '#tab3') {
    try {
        $conf_data = html_entity_decode(base64_decode($_POST['data']), ENT_QUOTES, 'UTF-8');
        $data = Ossec_agent::set_configuration_file($sensor_id, $conf_data);
    } catch (Exception $e) {
        $data['status'] = 'error';
        $data['data'] = $e->getMessage();
    }