<?
	require("db_mysql.inc");
	require("yp.inc");

	$db = new YP_Database;

	if (!(br && p && m && t && g && url)) {
		echo "icy-response: nak\n";
		echo "icy-error: 1\n";
	} else {
		$hostname = gethostbyaddr($REMOTE_ADDR);
		$db->query("select * from servers where ip = '$REMOTE_ADDR' and port = '$p'");
		if ($db->num_rows() > 0) {
			// Something is wrong, remove the old entry
			$db->next_record();
			$server_id = $db->Insert_ID;
			$db->query("delete from servers where server_id = $server_id");
			$db->query("delete from sources where server_id = $server_id");
		}

		$db->query("insert into servers (ip, host, type, version, port, maxlisteners, maxstreamlisteners, maxsources, starttime, touchtime, touched) values ('$REMOTE_ADDR', '$hostname', 'icecast', '1.0', '$p', '$m', '$m', 1, NOW(), NOW(), 0)");
		$server_id = $db->Insert_ID;

		$db->query("insert into sources (server_id, mount, genre, name, description, url, bitrate) values ($server_id, '', '$g', '$t', '', '$url', '$br')");

		echo "icy-response: ack\n";
		echo "icy-id: " . $server_id . "\n";
		echo "icy-tchfrq: 5\n";
	}
?>
