send_email.xsl 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  3. xmlns:xs="http://www.w3.org/2001/XMLSchema"
  4. xmlns:send_email="http://biuro.biall-net.pl/xmlschema_procesy5/WPS_Functions/send_email/send_email.xsd"
  5. exclude-result-prefixes="xs"
  6. version="2.0">
  7. <xsl:output indent="yes"/>
  8. <xsl:strip-space elements="*"/>
  9. <xsl:param name="basedir"/>
  10. <xsl:param name="send_email.send_email_from_xml_parsed.xml"/>
  11. <xsl:param name="antFunctionUrl" />
  12. <xsl:param name="confirmAntfile" />
  13. <xsl:param name="confirmAntfileTarget" />
  14. <xsl:param name="out.pdf"/>
  15. <xsl:template mode="send_email:send_email.send_email_from_xml_parsed.xml" match="*">
  16. <send_email:send_email_from_xml_parsed>
  17. <xsl:apply-templates mode="send_email:send_email_from_xml_parsed.child"/>
  18. </send_email:send_email_from_xml_parsed>
  19. </xsl:template>
  20. <xsl:template mode="send_email:send_email_from_xml_parsed.child" match="*">
  21. <xsl:apply-templates mode="#current"/>
  22. </xsl:template>
  23. <xsl:template mode="send_email:send_email_from_xml_parsed.child" match="title">
  24. <send_email:send_email.send_email_from_xml_parsed.xml.child.title>
  25. <xsl:for-each select="*">
  26. <xsl:text> </xsl:text><xsl:copy-of select="text()"/><xsl:text> </xsl:text>
  27. <xsl:for-each select="*">
  28. <xsl:text> </xsl:text><xsl:copy-of select="text()"/><xsl:text> </xsl:text>
  29. </xsl:for-each>
  30. </xsl:for-each>
  31. </send_email:send_email.send_email_from_xml_parsed.xml.child.title>
  32. </xsl:template>
  33. <xsl:template mode="send_email:send_email_from_xml_parsed.child" match="text()">
  34. <xsl:variable name="REPLYTO" select="parent::node()/@REPLYTO"/>
  35. <xsl:for-each select="tokenize(.,' ')">
  36. <xsl:choose>
  37. <xsl:when test="contains(.,'@')">
  38. <send_email:send_email.send_email_from_xml_parsed.xml.child>
  39. <xsl:copy-of select="$REPLYTO"/>
  40. <xsl:value-of select="."/>
  41. </send_email:send_email.send_email_from_xml_parsed.xml.child>
  42. </xsl:when>
  43. <xsl:otherwise>
  44. </xsl:otherwise>
  45. </xsl:choose>
  46. </xsl:for-each>
  47. </xsl:template>
  48. <xsl:template match="send_email:send_email_from_xml_parsed" mode="send_email:send_email.send_email_from_xml_parsed.build.xml">
  49. <project
  50. basedir="{$basedir}"
  51. name="send_email.send_email_from_xml_parsed.build.xml"
  52. default="send_email.send_email_from_xml_parsed.build.xml.to.confirm"><!--#98 This is generated by xsl:template match="p5build_SE:procesy5_config" mode="p5build_SE:build_procesy5_config.default_db.properties.xml"-->
  53. <xsl:variable name="title">
  54. <xsl:choose>
  55. <xsl:when test="send_email:send_email.send_email_from_xml_parsed.xml.child.title">
  56. <property name="send_email.send_email_from_xml_parsed.build.xml.title" value="{send_email:send_email.send_email_from_xml_parsed.xml.child.title/text()}"/>
  57. </xsl:when>
  58. <xsl:otherwise>
  59. <property name="send_email.send_email_from_xml_parsed.build.xml.title" value="Wiadomosc systemowa"/>
  60. </xsl:otherwise>
  61. </xsl:choose>
  62. </xsl:variable>
  63. <xsl:copy-of select="$title"/>
  64. <target name="send_email.send_email_from_xml_parsed.build.xml.to.confirm">
  65. <xsl:copy-of select="$title"/>
  66. <xsl:for-each-group select="send_email:send_email.send_email_from_xml_parsed.xml.child" group-by="text()">
  67. <!--<echo message="O_UTPUT__START"/>-->
  68. <echo>&lt;br&gt;&lt;a href=&quot;${antFunctionUrl}&amp;confirmAntfile=<xsl:value-of select="$confirmAntfile"/>&amp;confirmAntfileTarget=send_email.send_email_from_xml_parsed.build.xml.confirm.<xsl:value-of select="position()"/>&quot; target=&quot;_blank&quot;&gt;Wyslij mail do <xsl:value-of select="."/>&lt;/a&gt; &lt;/br&gt;</echo>
  69. <!--<echo message="O_UTPUT__END"/>-->
  70. </xsl:for-each-group>
  71. <echo>&lt;br&gt;&lt;a href=&quot;${antFunctionUrl}&amp;confirmAntfile=<xsl:value-of select="$confirmAntfile"/>&amp;confirmAntfileTarget=send_email.send_email_from_xml_parsed.build.xml.confirm.all&quot; target=&quot;_blank&quot;&gt;Wyslij mail do Wszystkich &lt;/a&gt; &lt;/br&gt;</echo>
  72. </target>
  73. <xsl:variable name="REPLYTO" select="send_email:send_email.send_email_from_xml_parsed.xml.child[@REPLYTO][1]/text()"/>
  74. <target name="send_email.send_email_from_xml_parsed.build.xml.confirm.all">
  75. <exec executable="mutt">
  76. <xsl:attribute name="inputstring">${send_email.send_email_from_xml_parsed.build.xml.title}</xsl:attribute>
  77. <xsl:if test="send_email:send_email.send_email_from_xml_parsed.xml.child[@REPLYTO]">
  78. <env key="REPLYTO" value="{send_email:send_email.send_email_from_xml_parsed.xml.child[@REPLYTO][1]/text()}"/>
  79. </xsl:if>
  80. <arg line='-a "{$out.pdf}"'/>
  81. <!--<arg line='-s "Wiadomosc"'/>-->
  82. <arg>
  83. <xsl:attribute name="line">-s &quot;${send_email.send_email_from_xml_parsed.build.xml.title}&quot;</xsl:attribute>
  84. </arg>
  85. <arg line='-e "set copy = no"'/>
  86. <arg line='-F /dev/null'/>
  87. <arg>
  88. <xsl:attribute name="line"><xsl:text>-- </xsl:text>
  89. <xsl:for-each-group select="send_email:send_email.send_email_from_xml_parsed.xml.child" group-by="text()">
  90. <xsl:value-of select="text()"/><xsl:text> </xsl:text>
  91. </xsl:for-each-group>
  92. </xsl:attribute>
  93. </arg>
  94. </exec>
  95. </target>
  96. <xsl:for-each-group select="send_email:send_email.send_email_from_xml_parsed.xml.child" group-by="text()">
  97. <target name="send_email.send_email_from_xml_parsed.build.xml.confirm.{position()}">
  98. <echo>Sending message to <xsl:value-of select="."/></echo>
  99. <!--<mail from="a.binder@biall-net.pl" failonerror="false"
  100. tolist="{text()}">
  101. <xsl:attribute name="subject">${send_email.send_email_from_xml_parsed.build.xml.title}</xsl:attribute>
  102. <message>Test wiadomosci</message>
  103. </mail>-->
  104. <exec executable="mutt">
  105. <xsl:attribute name="inputstring">${send_email.send_email_from_xml_parsed.build.xml.title}</xsl:attribute>
  106. <xsl:if test="string-length($REPLYTO) &gt;0">
  107. <env key="REPLYTO" value="{$REPLYTO}"/>
  108. </xsl:if>
  109. <arg line='-a "{$out.pdf}"'/>
  110. <!--<arg line='-s "Wiadomosc"'/>-->
  111. <arg>
  112. <xsl:attribute name="line">-s &quot;${send_email.send_email_from_xml_parsed.build.xml.title}&quot;</xsl:attribute>
  113. </arg>
  114. <arg line='-F /dev/null'/>
  115. <!--<arg line='&lt; /dev/null'/>-->
  116. <arg line='-e "set copy = no"'/>
  117. <arg line='-- {text()}'/>
  118. </exec>
  119. </target>
  120. </xsl:for-each-group>
  121. </project>
  122. </xsl:template>
  123. </xsl:stylesheet>