| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | <?php$gapsIni = realpath(dirname(__FILE__) . "/../../GAPS.ini");$config = parse_ini_file($gapsIni);$gapsApacheConf = $config['PORTAL']. "/Tasks/config/GAPS.Apache.conf";$apache = realpath($config['PHP'] . "/../httpd/conf/");function convertGapsConf () {	global $config;	global $apache;	global $gapsApacheConf;		if (!$apache) return "Apache-Verzeichnis nicht gefunden.";	if (!file_exists($apache . "/GAPS.conf")) return "GAPS.conf nicht gefunden.";	$httpdConf = file_get_contents($apache . "/httpd.conf");	$match = array();	if (!preg_match('/\r\nListen (\d+)/im', $httpdConf, $match)) return "Apache-Port nicht gefunden.";	$httpdConf = preg_replace('/\r\nListen \d+/im', "", $httpdConf);	$port = $match[1];	$httpdConf = str_replace('GCPS.conf', 'php5.module.conf', $httpdConf);	$httpdConf .= "\r\n" . 'include "' . str_replace("\\", "/", $config['PORTAL']) . '/Tasks/config/GAPS.Apache.conf"';	if (!rename($apache . "/GAPS.conf", $gapsApacheConf)) return "GAPS.conf laesst sich nicht verschieben.";	if (!file_put_contents($apache . "/httpd.conf", $httpdConf)) {		file_put_contents($config['PORTAL']. "/Tasks/httpd.conf", $httpdConf);		return "httpd.conf laesst sich nicht ueberschreiben. Bitte manuell austauschen.";	}	unlink($apache. "/GCPS.conf");		$gapsConf = file_get_contents($gapsApacheConf);	$gapsConf = "Listen " . $port . "\r\n\r\n" . $gapsConf;	file_put_contents($gapsApacheConf, $gapsConf);	return "";}function addGapsUrl () {	global $config;	global $gapsIni;	global $gapsApacheConf;	$gapsConf = file_get_contents($gapsApacheConf);	if (!preg_match('/\nAlias "\/(.*)" "(.*)"\r\n/im', $gapsConf, $match)) return "Alias unbekannt";	$subdir = $match[1];	if (preg_match('/Listen (\d+)/im', $gapsConf, $match)) {		$port = $match[1];	} else {		$port = "80";	}	$output = array();	exec("systeminfo", $output);	$output = implode("\r\n", $output);	if (!preg_match('/(LAN-Verbindung|Ethernet0|Local Area)[^[]*\[01\]:\s([\d\.]+)/im', $output, $match)) return "IP-Adresse unbekannt.";	$host = $match[2];	$config['GAPS_URL'] = "http://{$host}:{$port}/{$subdir}";	file_put_contents($gapsIni, "\r\nGAPS_URL=\"{$config['GAPS_URL']}\"" , FILE_APPEND);	return "";}function addRemoteTasks() {	global $gapsApacheConf;		$gapsConf = file_get_contents($gapsApacheConf);	if (!preg_match('/\nAlias "\/Remote\/" "(.*)"\r\n/im', $gapsConf, $match)) {		$alias = 'Alias "/Remote/" "' . str_replace("\\", "/", realpath(dirname(__FILE__)."/../Remote")) . '/"' . "\r\n\r\n";		$gapsConf = str_replace("\r\n<Dir", $alias . "\r\n<Dir", $gapsConf);		file_put_contents($gapsApacheConf, $gapsConf);	}	return "";}if (!file_exists($gapsApacheConf)) {	echo convertGapsConf();}if (!isset($config['GAPS_URL'])) {	echo addGapsUrl();}if (file_exists($gapsApacheConf)) {	echo addRemoteTasks();}echo "Apache-Umstellung erfolgreich.";
 |