#! /bin/bash

GmysqlccConfigFile=~/.config/gmysqlcc/gmysqlcc_serv.xml

XsltFileAll=`mktemp` ;
cat > "${XsltFileAll}" <<EOD
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="text" encoding="ISO-8859-1"/>
<xsl:template match="/"><xsl:apply-templates select="/servers/server"/></xsl:template>
<xsl:template match="/servers/server"><![CDATA[ ']]><xsl:value-of select="name"/><![CDATA[' ']]><xsl:value-of select="login"/><![CDATA[@]]><xsl:value-of select="host"/><![CDATA[:]]><xsl:value-of select="port"/><![CDATA[' ]]></xsl:template>
</xsl:stylesheet>
EOD
ServerList=$(xsltproc "${XsltFileAll}" "${GmysqlccConfigFile}") ;
rm -f "${XsltFileAll}";


TagFile=`mktemp` ;
eval "dialog --menu Servers 22 70 15 ${ServerList} 2> ${TagFile}" ;
SelectTag=$(cat "${TagFile}") ;
rm -f "${TagFile}" "${XsltFileAll}";

if [ "1" != "1${SelectTag}" ] ; then
	XsltFileTag=`mktemp` ;
	cat > "${XsltFileTag}" <<EOD
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="text" encoding="ISO-8859-1"/>
<xsl:template match="/"><xsl:apply-templates select="/servers/server"/></xsl:template>
<xsl:template match="/servers/server"><xsl:if test="name = '${SelectTag}'"><![CDATA[mysql -h ']]><xsl:value-of select="host"/><![CDATA[' -P ']]><xsl:value-of select="port"/><![CDATA[' -u ']]><xsl:value-of select="login"/><![CDATA[']]><xsl:if test="passwd != ''"><![CDATA[ '-p]]><xsl:value-of select="passwd"/><![CDATA[']]></xsl:if><xsl:if test="localsock != ''"><![CDATA[ -S ']]><xsl:value-of select="localsock"/><![CDATA[']]></xsl:if></xsl:if></xsl:template>
</xsl:stylesheet>
EOD
	MysqlCmd=$(xsltproc "${XsltFileTag}" "${GmysqlccConfigFile}") ;
	rm -f "${XsltFileTag}" ;
	
	clear ;
	echo "Connecting to ${SelectTag}" ;
	eval "${MysqlCmd}" ;
fi ;
