[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
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="xml" version="1.0" encoding="iso-8859-1" indent="yes" /> 4 <!-- Ajoute ou retire une application d'un profile si les droits de l'utilisateur le permettent et crée profiles.xml modifié. 5 S'applique à profiles.xml 6 Est appelé par associer.sh 7 8 ## $Id: associer.xsl 2538 2007-10-16 22:24:54Z jlebail $ ## 9 --> 10 <xsl:param name="debug">0</xsl:param> 11 <xsl:param name="operation"></xsl:param> 12 <xsl:param name="idPackage"></xsl:param> 13 <xsl:param name="idProfile"></xsl:param> 14 <xsl:param name="login"></xsl:param> 15 16 <xsl:key name="ProfileFromId" match="/profiles/profile" use="@id" /> 17 18 <xsl:variable name="PROFILES" select="/profiles"/> 19 <xsl:variable name="DROITS" select="document('/var/se3/unattended/install/wpkg/droits.xml')/droits"/> 20 <xsl:variable name="dependParcs" select="key('ProfileFromId', $idProfile)/depends/@profile-id"/> 21 <xsl:variable name="OperationAllowed"> 22 <xsl:choose> 23 <xsl:when test="$login = ''" > 24 <xsl:text>0</xsl:text> 25 </xsl:when> 26 <xsl:when test="$DROITS/droit[(@user = $login) and ((@droit = 'admin') or (@droit = 'manage')) and ((@parc = '_TousLesPostes') or (@parc = $idProfile) or (@parc = $dependParcs))]" > 27 <xsl:text>1</xsl:text> 28 </xsl:when> 29 <xsl:otherwise> 30 <xsl:text>0</xsl:text> 31 </xsl:otherwise> 32 </xsl:choose> 33 </xsl:variable> 34 35 <xsl:template match="*"> 36 <!-- recopie le noeud --> 37 <xsl:copy> 38 <xsl:apply-templates select="@*" /> 39 <xsl:apply-templates select="comment()|processing-instruction()" /> 40 <xsl:apply-templates select="*"/> 41 </xsl:copy> 42 </xsl:template> 43 44 <xsl:template match="@*"> 45 <!-- recopie les attributs --> 46 <xsl:copy /> 47 </xsl:template> 48 49 <xsl:template match="comment()|processing-instruction()"> 50 <xsl:copy /> 51 </xsl:template> 52 53 <xsl:template match="/profiles/profile"> 54 <!-- recupère les packages associés depuis profiles.xml --> 55 <xsl:variable name="profilId" select="@id"/> 56 <xsl:variable name="packagesDeCeProfil" select="$PROFILES/profile[@id = $profilId]/package"/> 57 <xsl:choose> 58 <xsl:when test="@id = $idProfile" > 59 <xsl:copy> 60 <xsl:apply-templates select="@*" /> 61 <xsl:apply-templates select="comment()|processing-instruction()" /> 62 <!-- <xsl:comment><xsl:value-of select="concat('OperationAllowed=', $OperationAllowed, ', idProfile=', $idProfile, ', idPackage=', $idPackage, ', operation=', $operation, ', login=', $login)" /></xsl:comment> --> 63 <xsl:choose> 64 <xsl:when test="not($OperationAllowed = '1')" > 65 <xsl:comment><xsl:value-of select="concat('Erreur Associer OperationAllowed=', $OperationAllowed, ', idProfile=', $idProfile, ', idPackage=', $idPackage, ', operation=', $operation, ', login=', $login)" /></xsl:comment> 66 <xsl:apply-templates select="*" /> 67 </xsl:when> 68 <xsl:otherwise> 69 <xsl:for-each select="*[not((name() = 'package') and (@package-id = $idPackage))]"> 70 <xsl:apply-templates select="." /> 71 </xsl:for-each> 72 <xsl:if test="$operation = 'Associer'" > 73 <xsl:element name = "package" > 74 <xsl:attribute name="package-id" ><xsl:value-of select="$idPackage" /></xsl:attribute> 75 </xsl:element > 76 </xsl:if> 77 </xsl:otherwise> 78 </xsl:choose> 79 </xsl:copy> 80 </xsl:when> 81 <xsl:otherwise> 82 <!-- recopie le profil sans changement --> 83 <xsl:copy> 84 <xsl:apply-templates select="@*" /> 85 <xsl:apply-templates select="comment()|processing-instruction()" /> 86 <xsl:apply-templates select="*"/> 87 </xsl:copy> 88 </xsl:otherwise> 89 </xsl:choose> 90 </xsl:template> 91 92 </xsl:stylesheet>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |