summaryrefslogtreecommitdiffstats
path: root/xslt
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2009-03-31 23:45:03 +0200
committerDavid Sommerseth <dazo@users.sourceforge.net>2009-03-31 23:45:03 +0200
commitafdfa16296a9879c6c8fa1e0b8aebe8d1cddc2d6 (patch)
tree3c21cb027635a335034e0b332a72cc381b4deb60 /xslt
parente729a4b80c79a80b9acfd58c0f45707572eb1861 (diff)
downloadeurephia-afdfa16296a9879c6c8fa1e0b8aebe8d1cddc2d6.tar.gz
eurephia-afdfa16296a9879c6c8fa1e0b8aebe8d1cddc2d6.tar.xz
eurephia-afdfa16296a9879c6c8fa1e0b8aebe8d1cddc2d6.zip
Rewrote eurephiadm/adminaccess to use XSLT for listing
Diffstat (limited to 'xslt')
-rw-r--r--xslt/eurephiadm/adminaccess.xsl74
1 files changed, 74 insertions, 0 deletions
diff --git a/xslt/eurephiadm/adminaccess.xsl b/xslt/eurephiadm/adminaccess.xsl
new file mode 100644
index 0000000..2edfdd7
--- /dev/null
+++ b/xslt/eurephiadm/adminaccess.xsl
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<!--
+ *
+ * GPLv2 only - Copyright (C) 2009
+ * David Sommerseth <dazo@users.sourceforge.net>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; version 2
+ * of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+ <xsl:output method="text" encoding="UTF-8"/>
+ <xsl:strip-space elements="*"/>
+
+ <xsl:template match="/eurephia">
+ <xsl:text> [uid] Username Intf. Access level&#10;</xsl:text>
+ <xsl:text> ------------------------------------------------------------------------------&#10;</xsl:text>
+ <xsl:apply-templates select="admin_access_list/user_access"/>
+ <xsl:text> ------------------------------------------------------------------------------&#10;</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="/eurephia/admin_access_list/user_access">
+ <xsl:text> [</xsl:text>
+ <xsl:call-template name="right-align">
+ <xsl:with-param name="value" select="username/@uid"/>
+ <xsl:with-param name="width" select="3"/>
+ </xsl:call-template>
+ <xsl:text>] </xsl:text>
+
+ <xsl:call-template name="left-align">
+ <xsl:with-param name="value" select="username"/>
+ <xsl:with-param name="width" select="30"/>
+ </xsl:call-template>
+ <xsl:text> </xsl:text>
+
+ <xsl:for-each select="access_levels/access">
+ <xsl:if test="position() > 1">
+ <xsl:text> </xsl:text>
+ </xsl:if>
+ <xsl:value-of select="substring(@interface, 1)"/>
+ <xsl:text> </xsl:text>
+ <xsl:value-of select="."/>
+ <xsl:text>&#10;</xsl:text>
+ </xsl:for-each>
+ <xsl:if test="(last() > position()) and (count(access_levels/access)>1)">
+ <xsl:text>&#10;</xsl:text>
+ </xsl:if>
+ </xsl:template>
+
+
+ <xsl:template name="left-align">
+ <xsl:param name="value"/>
+ <xsl:param name="width"/>
+ <xsl:value-of select="substring(concat($value, ' '), 1, $width)"/>
+ </xsl:template>
+
+ <xsl:template name="right-align">
+ <xsl:param name="value"/>
+ <xsl:param name="width"/>
+ <xsl:value-of select="concat(substring(' ', 1, $width - string-length($value)), $value)"/>
+ </xsl:template>
+
+</xsl:stylesheet>