šablona/makra/odkazy.xsl
changeset 93 5b55827de220
parent 87 25dec6931f18
child 98 532deb4b908e
--- a/šablona/makra/odkazy.xsl	Thu Feb 09 12:54:49 2012 +0100
+++ b/šablona/makra/odkazy.xsl	Thu Feb 09 14:52:20 2012 +0100
@@ -19,9 +19,10 @@
 <xsl:stylesheet version="2.0"
 	xmlns="http://www.w3.org/1999/xhtml"
 	xmlns:m="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/makro"
+	xmlns:k="https://trac.frantovo.cz/xml-web-generator/wiki/xmlns/konfigurace"
 	xmlns:xs="http://www.w3.org/2001/XMLSchema"
 	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
-	exclude-result-prefixes="m xs">
+	exclude-result-prefixes="m k xs">
 
 	<!--
 		Interní odkazy
@@ -96,7 +97,7 @@
 				)"/>
 		</xsl:call-template>
 	</xsl:template>
-	
+
 	<!--
 		Wikipedia
 		*********
@@ -114,7 +115,7 @@
 				)"/>
 		</xsl:call-template>
 	</xsl:template>
-	
+
 	<!--
 		Javadoc
 		*******
@@ -133,7 +134,7 @@
 				)"/>
 		</xsl:call-template>
 	</xsl:template>
-	
+
 	<!-- 
 		Seznam.cz
 		*********
@@ -167,7 +168,7 @@
 				)"/>
 		</xsl:call-template>	
 	</xsl:template>
-	
+
 	<!-- 
 		Request for comments
 		********************
@@ -184,8 +185,34 @@
 				)"/>
 		</xsl:call-template>
 	</xsl:template>
-	
-	
+
+	<!--
+		E-mail
+		******
+		Odkaz na e-mail v „obfuskovaném“ tvaru,
+		aby spamovací roboti nemohli tak snadno sbírat e-mailové adresy z webů.
+		Ale zároveň klikatelný, aby ho uživatel nemusel opisovat (vyžaduje JavaScript).
+		Obsah elementu je nepovinný – pokud chybí, vloží se e-mailová adresa.
+		*
+		@href e-mailová adresa (bez „mailto:“)
+	-->
+	<xsl:template match="m:a[@typ='email']">
+		<xsl:variable name="česky" select="replace(replace(@href, '@', ' zavináč '), '\.', ' tečka ')"/>
+		<xsl:variable name="klíč" select="concat(tokenize($konfigurace/k:web/k:uuid/text(), '-')[1], '9df1')"/>
+		<xsl:variable name="pořadí"><xsl:number level="any"/></xsl:variable>
+		<xsl:variable name="idSpanu" select="concat('c', $klíč, $pořadí)"/>
+		<span title="{text()}" id="{$idSpanu}">
+			<xsl:value-of select="$česky"/>
+		</span>
+		<span id="{$idSpanu}b" style="display: none">
+			<xsl:apply-templates/>
+		</span>
+		<script type="text/javascript">
+			xwg.odkazNaElektronickouPoštu("<xsl:value-of select="$idSpanu"/>");
+		</script>
+	</xsl:template>
+
+
 	<xsl:template name="vložOdkaz">
 		<xsl:param name="url"/>
 		<a>