send_email.xsl 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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 select="send_email:send_email.send_email_from_xml_parsed.xml.child">
  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>
  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. <target name="send_email.send_email_from_xml_parsed.build.xml.confirm.all">
  74. <exec executable="mutt">
  75. <xsl:attribute name="inputstring">${send_email.send_email_from_xml_parsed.build.xml.title}</xsl:attribute>
  76. <xsl:if test="send_email:send_email.send_email_from_xml_parsed.xml.child[@REPLYTO]">
  77. <env key="REPLYTO" value="{send_email:send_email.send_email_from_xml_parsed.xml.child[@REPLYTO][1]/text()}"/>
  78. </xsl:if>
  79. <arg line='-a "{$out.pdf}"'/>
  80. <!--<arg line='-s "Wiadomosc"'/>-->
  81. <arg>
  82. <xsl:attribute name="line">-s &quot;${send_email.send_email_from_xml_parsed.build.xml.title}&quot;</xsl:attribute>
  83. </arg>
  84. <arg line='-e "set copy = no"'/>
  85. <arg line='-F /dev/null'/>
  86. <arg>
  87. <xsl:attribute name="line"><xsl:text>-- </xsl:text>
  88. <xsl:for-each-group select="send_email:send_email.send_email_from_xml_parsed.xml.child" group-by="text()">
  89. <xsl:value-of select="text()"/><xsl:text> </xsl:text>
  90. </xsl:for-each-group>
  91. </xsl:attribute>
  92. </arg>
  93. </exec>
  94. </target>
  95. <xsl:for-each select="send_email:send_email.send_email_from_xml_parsed.xml.child">
  96. <target name="send_email.send_email_from_xml_parsed.build.xml.confirm.{position()}">
  97. <echo>Sending message to <xsl:value-of select="."/></echo>
  98. <!--<mail from="a.binder@biall-net.pl" failonerror="false"
  99. tolist="{text()}">
  100. <xsl:attribute name="subject">${send_email.send_email_from_xml_parsed.build.xml.title}</xsl:attribute>
  101. <message>Test wiadomosci</message>
  102. </mail>-->
  103. <exec executable="mutt">
  104. <xsl:attribute name="inputstring">${send_email.send_email_from_xml_parsed.build.xml.title}</xsl:attribute>
  105. <xsl:if test="send_email:send_email.send_email_from_xml_parsed.xml.child[@REPLYTO]">
  106. <env key="REPLYTO" value="{send_email:send_email.send_email_from_xml_parsed.xml.child[@REPLYTO][1]/text()}"/>
  107. </xsl:if>
  108. <arg line='-a "{$out.pdf}"'/>
  109. <!--<arg line='-s "Wiadomosc"'/>-->
  110. <arg>
  111. <xsl:attribute name="line">-s &quot;${send_email.send_email_from_xml_parsed.build.xml.title}&quot;</xsl:attribute>
  112. </arg>
  113. <arg line='-F /dev/null'/>
  114. <!--<arg line='&lt; /dev/null'/>-->
  115. <arg line='-e "set copy = no"'/>
  116. <arg line='-- {text()}'/>
  117. </exec>
  118. </target>
  119. </xsl:for-each>
  120. </project>
  121. </xsl:template>
  122. </xsl:stylesheet>