* Copyright 2016 Nicolas Goaziou * * This file is part of CHD Gestion. * * CHD Gestion is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * CHD Gestion is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with CHD Gestion. If not, see . **/ include_once('inc/config.php'); $mysqli = new mysqli($db_config['host'], $db_config['username'], $db_config['password'], $db_config['database']); if (mysqli_connect_errno()) { die(mysqli_connect_error()); } unset($db_config); $mysqli->set_charset("utf8") or die($mysqli->error); $descriptorspec = array( 0 => array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => array("pipe", "w") ); $pipes=array(); $proc = proc_open('ssh genconf@chd-stg1 sudo genconf_prod', $descriptorspec, $pipes, '/tmp'); if (!is_resource($proc)) die("Pb ouverture ssh"); $fd=$pipes[0]; fwrite($fd, "# This is auto-generated from database (see v_api_gen_conf VIEW)\n"); $res = $mysqli->query("SELECT * FROM v_api_gen_conf;"); $meta = $res->fetch_fields(); if ( $meta !== FALSE ) { fwrite($fd, '# '); foreach ( $meta as $v) { fwrite($fd, $v->name."\t"); } fwrite($fd, "\n"); } while ( $row = $res->fetch_assoc() ) { foreach ( $row as $v ) { fwrite($fd, ($v==NULL?"-":$v)."\t" ); } fwrite($fd, "\n"); } fclose($fd); $out_data = stream_get_contents($pipes[1]); fclose($pipes[1]); $err_data = stream_get_contents($pipes[2]); fclose($pipes[2]); $return_value = proc_close($proc); echo "
\n";
if ( $return_value !== 0 || strlen($err_data) !== 0 ) {
	echo $err_data;
} else {
	echo $out_data;
}