[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-wpkg/sources/www/bin/ -> installPackage.xsl (source)

   1  <?xml version="1.0" encoding="iso-8859-1"?>
   2  <xsl:stylesheet xmlns:xsl = "http://www.w3.org/1999/XSL/Transform" version = "1.0" >
   3      <xsl:output method="text" encoding="iso-8859-1"/>
   4      <xsl:param name="debug">0</xsl:param>
   5      <xsl:param name="WPKGROOT" select="'/var/se3/unattended/install/wpkg'" />
   6      <xsl:param name="WPKGWWW" select="'/var/www/se3/wpkg'" />
   7      <xsl:param name="NoDownload">0</xsl:param>
   8      <xsl:param name="AppliXML"></xsl:param>
   9      <xsl:param name="md5Xml"></xsl:param>
  10      <xsl:param name="controlMD5">se3_wpkglist.php</xsl:param>
  11      <xsl:variable name="PACKAGES" select="document(concat($WPKGROOT, '/packages.xml'))/packages"/>
  12      <xsl:variable name="controlMD5Xml" select="concat($WPKGWWW, '/', $controlMD5)"/>
  13      <!-- Commandes de téléchargement des fichiers de l'application -->
  14      <xsl:template match="/">
  15          <xsl:variable name="nDownload" select="count(/packages/package/download)"/>
  16          
  17          <xsl:text>echo "Installation du fichier &apos;</xsl:text><xsl:value-of select="$AppliXML"/><xsl:text>&apos;."&#x00a;</xsl:text>
  18          <xsl:text>echo "</xsl:text><xsl:call-template name = "testMD5Xml" /><xsl:text>."&#x00a;</xsl:text>
  19  
  20          <xsl:choose>
  21              <xsl:when test="($controlMD5 = '') or (document($controlMD5Xml)/packages/package[(@xml = $AppliXML) and (@md5sum = $md5Xml)])" >
  22                  <!-- le fichier xml est valide -->
  23                  <xsl:choose>
  24                      <xsl:when test="$nDownload = 0" >
  25                          <xsl:text>echo "L'importation du fichier xml ne nécessite aucun fichier téléchargé."&#x00a;</xsl:text>
  26                      </xsl:when>
  27                      <xsl:when test="$nDownload = 1" >
  28                          <xsl:text>echo "L'importation du fichier xml nécessite 1 fichier téléchargé."&#x00a;</xsl:text>
  29                      </xsl:when>
  30                      <xsl:otherwise >
  31                          <xsl:text>echo "L'importation du fichier xml nécessite </xsl:text><xsl:value-of select="$nDownload"/><xsl:text> fichiers téléchargés."&#x00a;</xsl:text>
  32                      </xsl:otherwise>
  33                  </xsl:choose>
  34                  <xsl:text>nPackage=</xsl:text><xsl:value-of select="count(/packages/package)"/><xsl:text>&#x00a;</xsl:text>
  35                  <xsl:for-each select="/packages/package">
  36                      <xsl:variable name="idAppli" select="@id"/>
  37                      <xsl:variable name="nameAppli" select="@name"/>
  38                      <xsl:variable name="nDownloadAppli" select="count(download)"/>
  39                      <xsl:text>  echo "&lt;/pre&gt;&lt;h2&gt;Configuration de l'application '</xsl:text><xsl:value-of select="$idAppli"/><xsl:text>'.&lt;/h2&gt;&lt;pre&gt;"&#x00a;</xsl:text>
  40                      
  41                      <!-- Test des dépendances d'applications -->
  42                      <xsl:text>  ErrDepends=0&#x00a;</xsl:text>
  43                      <xsl:text>  TestDepends '</xsl:text><xsl:value-of select="$idAppli"/><xsl:text>'&#x00a;</xsl:text>
  44                      <xsl:text>  if [ "$ErrDepends" != "0" ]; then &#x00a;</xsl:text>
  45                      <xsl:text>    echo "  Il manque $ErrDepends application(s) dépendante(s) pour effectuer l'installation." &#x00a;</xsl:text>
  46                      <xsl:text>    Erreur="1"&#x00a;</xsl:text>
  47                      <xsl:text>  else &#x00a;</xsl:text>
  48                      <xsl:text>    ErreurApp="0"&#x00a;</xsl:text>
  49                      
  50                      <xsl:choose>
  51                          <xsl:when test="$nDownloadAppli > 1" >
  52                              <xsl:text>    echo &quot;    &apos;</xsl:text><xsl:value-of select="@name"/><xsl:text>&apos; (Rev: </xsl:text><xsl:value-of select="@revision"/><xsl:text>) a besoin de </xsl:text><xsl:value-of select="$nDownloadAppli"/><xsl:text> fichiers téléchargés.&quot;&#x00a;</xsl:text>
  53                              <xsl:for-each select="download">
  54                                  <xsl:text>      Download &apos;</xsl:text><xsl:value-of select="@url"/><xsl:text>&apos; &apos;</xsl:text><xsl:value-of select="@saveto"/><xsl:text>&apos; &apos;</xsl:text><xsl:value-of select="@md5sum"/><xsl:text>&apos; &apos;</xsl:text><xsl:value-of select="$NoDownload"/><xsl:text>&apos; &#x00a;</xsl:text>
  55                              </xsl:for-each>
  56                          </xsl:when>
  57                          <xsl:when test="$nDownloadAppli = 1" >
  58                              <xsl:text>    echo &quot;    &apos;</xsl:text><xsl:value-of select="@name"/><xsl:text>&apos; (Rev: </xsl:text><xsl:value-of select="@revision"/><xsl:text>) a besoin d'1 fichier téléchargé.&quot;&#x00a;</xsl:text>
  59                              <xsl:for-each select="download">
  60                                  <xsl:text>      Download &apos;</xsl:text><xsl:value-of select="@url"/><xsl:text>&apos; &apos;</xsl:text><xsl:value-of select="@saveto"/><xsl:text>&apos; &apos;</xsl:text><xsl:value-of select="@md5sum"/><xsl:text>&apos; &apos;</xsl:text><xsl:value-of select="$NoDownload"/><xsl:text>&apos; &#x00a;</xsl:text>
  61                              </xsl:for-each>
  62                          </xsl:when>
  63                          <xsl:when test="$nDownloadAppli = 0" >
  64                              <xsl:text>    echo &quot;    Aucun fichier n&apos;est nécessaire à &apos;</xsl:text><xsl:value-of select="@name"/><xsl:text>&apos; (Rev: </xsl:text><xsl:value-of select="@revision"/><xsl:text>).&quot;&#x00a;</xsl:text>
  65                          </xsl:when>
  66                      </xsl:choose>
  67                      <xsl:text>    if [ &quot;$ErreurApp&quot; == &quot;0&quot; ]; then &#x00a;</xsl:text>
  68                      <xsl:for-each select="delete" >
  69                          <xsl:variable name="deleteFile" select="concat($WPKGROOT, '/../', @file)"/>
  70                          <xsl:text>      if [ -e &quot;</xsl:text><xsl:value-of select="$deleteFile"/><xsl:text>&quot; ]; then &#x00a;</xsl:text>
  71                          <xsl:text>        echo &quot;    Suppression du fichier &apos;</xsl:text><xsl:value-of select="@file"/><xsl:text>&apos;.&quot; &#x00a;</xsl:text>
  72                          <xsl:text>        /bin/rm &quot;</xsl:text><xsl:value-of select="$deleteFile"/><xsl:text>&quot; &#x00a;</xsl:text>
  73                          <xsl:text>      fi &#x00a;</xsl:text>
  74                      </xsl:for-each>
  75                      <xsl:text>      AddApplication &apos;</xsl:text><xsl:value-of select="$idAppli"/><xsl:text>&apos; &#x00a;</xsl:text>
  76                      <xsl:text>    fi &#x00a;</xsl:text>
  77                      <xsl:text>  fi &#x00a;</xsl:text>
  78                  </xsl:for-each>
  79              </xsl:when>
  80              <xsl:when test="not(document($controlMD5Xml)/packages/package[@xml = $AppliXML])">
  81                  <xsl:text>
  82  Erreur="3"
  83                  echo "&lt;/pre&gt;
  84  Si vous êtes sûr de sa validité, vous pouvez ajouter cette application après avoir coché la case 'Ignorer le contrôle MD5'.&lt;br/&gt;
  85  Attention! Dans ce cas, c'est à vous de contrôler le contenu du fichier xml de l'application.&lt;br&gt;&lt;br/&gt;
  86  Voir le fichier &lt;a target=\"_blank\" href='index.php?getXml=tmp/$appliXml'&gt;$appliXml&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;
  87  &lt;form method=\"post\" action=\"index.php?upload=1\" enctype=\"multipart/form-data\"&gt;
  88  &lt;table&gt;
  89  &lt;tr&gt;
  90  &lt;td&gt;
  91  &lt;input type=\"hidden\" name=\"appliXml\" value=\"$appliXml\" /&gt;
  92  &lt;input type=\"hidden\" name=\"LocalappliXml\" value=\"tmp/$appliXml\" /&gt;
  93  &lt;input type=\"hidden\" name=\"urlWawadebMD5\" value=\"$urlMD5\" /&gt;
  94  &lt;input type=\"checkbox\" name=\"noDownload\" value=\"1\" "
  95  if [ "$NoDownload" == "1" ] ; then echo " checked "; fi
  96  echo "&gt;
  97  &lt;/input&gt;Ne pas télécharger les fichiers d'installation de cette application, (suppose qu'ils sont déjà présents sur le serveur).&lt;br/&gt;
  98  &lt;input type=\"checkbox\" name=\"ignoreWawadebMD5\" value=\"1\" onclick=\"if(this.checked) alert('Soyez sûr du contenu du fichier xml que vous allez installer sur le serveur!\nAucun contrôle ne sera effectué !\n\nLa sécurité de votre réseau est en jeu !!');\"&gt;&lt;/input&gt;Ignorer le contrôle MD5.
  99  &lt;/td&gt;
 100  &lt;/tr&gt;
 101  &lt;tr&gt;
 102  &lt;td&gt;
 103  &lt;input type=\"submit\" value=\"Ajouter l'application contenue dans '$appliXml'\" /&gt;
 104  &lt;/td&gt;
 105  &lt;/tr&gt;
 106  &lt;/table&gt;
 107  &lt;/form&gt; &lt;pre&gt;"
 108                  </xsl:text>
 109              </xsl:when>
 110          </xsl:choose>
 111          <xsl:text>&#x00a;</xsl:text>
 112      </xsl:template>
 113      
 114      <xsl:template name="testMD5Xml" >
 115          <xsl:choose>
 116              <xsl:when test="$controlMD5 = ''">
 117                  <xsl:text>Pas de contrôle MD5 du fichier </xsl:text><xsl:value-of select="$AppliXML"/><xsl:text> (md5=</xsl:text><xsl:value-of select="$md5Xml"/><xsl:text>)</xsl:text>
 118              </xsl:when>
 119              <xsl:otherwise >
 120                  
 121                  <xsl:choose>
 122                      <xsl:when test="document($controlMD5Xml)/packages/package[(@xml = $AppliXML) and (@md5sum = $md5Xml)]">
 123                          <xsl:text>Le fichier xml est valide  (md5=</xsl:text><xsl:value-of select="$md5Xml"/><xsl:text>)</xsl:text>
 124                      </xsl:when>
 125                      <xsl:when test="document($controlMD5Xml)/packages/package[@xml = $AppliXML]">
 126                          <xsl:text>Erreur : le md5sum du fichier xml ne correspond pas (md5=</xsl:text><xsl:value-of select="$md5Xml"/><xsl:text> &lt;&gt; md5Ref=</xsl:text><xsl:value-of select="document($controlMD5Xml)/packages/package[@xml = $AppliXML]/@md5sum"/><xsl:text>)</xsl:text>
 127                      </xsl:when>
 128                      <xsl:otherwise >
 129                          <xsl:text>Le fichier </xsl:text><xsl:value-of select="$AppliXML"/><xsl:text> n'est pas répertorié sur le forum (md5=</xsl:text><xsl:value-of select="$md5Xml"/><xsl:text>)</xsl:text>
 130                      </xsl:otherwise>
 131                  </xsl:choose>
 132              </xsl:otherwise>
 133          </xsl:choose>
 134      </xsl:template>
 135  </xsl:stylesheet>


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1