mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-13 09:28:29 +01:00
XSLT templates to go with new PHPGroupware code. Note that these templates are much more involved than the XSLT used in some other apps (there is a great deal of "code" in them) - hopefully this gives more flexibility in the appearence of filemanager than a simple "replacing variables" stucture might.
This commit is contained in:
parent
89cdd1b207
commit
28ca1693fa
57
filemanager/templates/default/edit.xsl
Normal file
57
filemanager/templates/default/edit.xsl
Normal file
@ -0,0 +1,57 @@
|
||||
<xsl:template name="app_data">
|
||||
<form method="post">
|
||||
<xsl:attribute name="action"><xsl:value-of select="form_action"/></xsl:attribute>
|
||||
<xsl:apply-templates select="filemanager_nav" />
|
||||
<xsl:apply-templates select="preview" />
|
||||
<xsl:apply-templates select="filemanager_edit" />
|
||||
</form>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="filemanager_nav">
|
||||
<table class="app_header" width="100%">
|
||||
<tr>
|
||||
<td class="tr_text" align="left" width="33%" >
|
||||
<xsl:apply-templates select="img_up/widget" />
|
||||
<xsl:apply-templates select="img_home/widget" />
|
||||
</td>
|
||||
<td class="app_header" align="center" width="33%">
|
||||
<h3>Editing file:
|
||||
<xsl:value-of select="/*/*/*/filename"/>
|
||||
</h3>
|
||||
</td>
|
||||
<td align="right" >
|
||||
<table>
|
||||
<tr>
|
||||
<xsl:for-each select="/*/*/nav_data/*">
|
||||
<td>
|
||||
<xsl:for-each select="./*">
|
||||
<xsl:apply-templates select="." />
|
||||
<br />
|
||||
</xsl:for-each>
|
||||
</td>
|
||||
</xsl:for-each>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="filemanager_edit">
|
||||
<xsl:value-of select="output"/>
|
||||
<xsl:value-of select="preview"/>
|
||||
<br />
|
||||
<xsl:apply-templates select="form_data/*" />
|
||||
<xsl:apply-templates select="file_content" />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="preview">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file_content">
|
||||
<textarea name="edit_file_content" rows="50" cols="80" class="fileeditor"><xsl:value-of select="."/></textarea>
|
||||
</xsl:template>
|
||||
|
||||
|
111
filemanager/templates/default/index.xsl
Normal file
111
filemanager/templates/default/index.xsl
Normal file
@ -0,0 +1,111 @@
|
||||
<xsl:template name="app_data">
|
||||
<center>
|
||||
<form enctype="multipart/form-data">
|
||||
<xsl:attribute name="action"> <xsl:value-of select="index/form_action"/> </xsl:attribute>
|
||||
<xsl:attribute name="method">post</xsl:attribute>
|
||||
<xsl:apply-templates select="index" />
|
||||
<xsl:apply-templates select="files" />
|
||||
<xsl:apply-templates select="body_data" />
|
||||
<xsl:apply-templates select="buttons" />
|
||||
<hr />
|
||||
<xsl:apply-templates select="uploads" />
|
||||
</form>
|
||||
</center>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="index">
|
||||
<table class="app_header" width="100%">
|
||||
<tr>
|
||||
<td class="tr_text" align="left" width="33%" >
|
||||
<xsl:apply-templates select="img_up/widget" />
|
||||
<xsl:value-of select="help_up"/>
|
||||
<xsl:apply-templates select="img_home/widget" />
|
||||
<xsl:value-of select="help_home"/>
|
||||
</td>
|
||||
<td class="app_header" align="center" width="33%">
|
||||
<h3> <xsl:apply-templates select="img_dir/widget" />
|
||||
<xsl:value-of select="dir"/> </h3>
|
||||
</td>
|
||||
<td align="right" >
|
||||
<xsl:choose>
|
||||
<xsl:when test="img_ok">
|
||||
<xsl:apply-templates select="img_cancel" />
|
||||
<xsl:apply-templates select="button_cancel" />
|
||||
<xsl:apply-templates select="img_ok" />
|
||||
<xsl:apply-templates select="button_ok" />
|
||||
<xsl:apply-templates select="action" />
|
||||
<xsl:apply-templates select="fileman" />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="/*/*/summary/file_count" /> files <br />
|
||||
<xsl:value-of select="/*/*/summary/usage" /> bytes
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p><xsl:value-of select="errors" /></p>
|
||||
<hr />
|
||||
</xsl:template>
|
||||
|
||||
<!--These templates print out the file list-->
|
||||
<xsl:template match="files">
|
||||
<table class="table">
|
||||
<tr class="th">
|
||||
<xsl:for-each select="/*/*/file_attributes/*">
|
||||
<td class="th_text">
|
||||
<xsl:choose>
|
||||
<xsl:when test='name(./*)="widget"'>
|
||||
<xsl:apply-templates select="." />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="." />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
</xsl:for-each>
|
||||
</tr>
|
||||
<xsl:apply-templates select="file" />
|
||||
</table>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="file">
|
||||
<tr>
|
||||
<xsl:choose>
|
||||
<xsl:when test="position() mod 2 = 0">
|
||||
<xsl:attribute name="class">row_on</xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="class">row_off</xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:for-each select="*">
|
||||
<td>
|
||||
<xsl:choose>
|
||||
<xsl:when test='name(./*)="widget" or name(./*/*)="widget"'>
|
||||
<xsl:apply-templates select="." />
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="." />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
</xsl:for-each>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<!--Prints out the buttons-->
|
||||
<xsl:template match="buttons">
|
||||
<xsl:for-each select="button">
|
||||
<xsl:apply-templates select="widget" />
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
<!--The widgets that handle uploads-->
|
||||
<xsl:template match="uploads" >
|
||||
<xsl:apply-templates/>
|
||||
</xsl:template>
|
||||
|
||||
|
124
filemanager/templates/default/widgets.xsl
Normal file
124
filemanager/templates/default/widgets.xsl
Normal file
@ -0,0 +1,124 @@
|
||||
|
||||
<!--A widget is something like an input box, image etc, or a composite/virtual
|
||||
widget like a "seperator" or a "label". These are used throughout the filemanager
|
||||
as a cunning way of avoiding putting any HTML in the app
|
||||
|
||||
NB:This means that someone clever could write an XSLT that converted to, say,
|
||||
Mozilla XUL, or QT's XML-UI, or a GTK glade interface etc (I dare you!)
|
||||
-->
|
||||
<xsl:template match="widget">
|
||||
<xsl:variable name="type"><xsl:value-of select="type"/></xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test='$type="select"'>
|
||||
<select>
|
||||
<xsl:attribute name="name"> <xsl:value-of select="name"/> </xsl:attribute>
|
||||
<xsl:attribute name="value"> <xsl:value-of select="value"/> </xsl:attribute> <xsl:value-of select="caption"/>
|
||||
<xsl:for-each select="options/option" >
|
||||
<option>
|
||||
<xsl:attribute name="value"><xsl:value-of select="value"/></xsl:attribute>
|
||||
<xsl:value-of select="caption"/>
|
||||
</option>
|
||||
</xsl:for-each>
|
||||
</select>
|
||||
</xsl:when>
|
||||
<xsl:when test='$type="seperator"'>
|
||||
<br />
|
||||
</xsl:when>
|
||||
<xsl:when test='$type="img"'>
|
||||
<xsl:variable name="link"><xsl:value-of select="link"/></xsl:variable>
|
||||
<xsl:choose>
|
||||
<xsl:when test="link">
|
||||
<a class="none">
|
||||
<xsl:attribute name="href"><xsl:value-of select="link"/></xsl:attribute>
|
||||
<xsl:call-template name="img" />
|
||||
</a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="img" />
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:when>
|
||||
<xsl:when test='$type="label"'>
|
||||
<xsl:value-of select="caption" />
|
||||
</xsl:when>
|
||||
<xsl:when test='$type="link"'>
|
||||
<a>
|
||||
<xsl:attribute name="href"><xsl:value-of select="href"/></xsl:attribute>
|
||||
<xsl:value-of select="caption"/>
|
||||
</a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<input>
|
||||
<xsl:attribute name="type"><xsl:value-of select="type"/></xsl:attribute>
|
||||
<xsl:attribute name="name"> <xsl:value-of select="name"/></xsl:attribute>
|
||||
<xsl:attribute name="value"> <xsl:value-of select="value"/> </xsl:attribute>
|
||||
<xsl:value-of select="caption"/>
|
||||
</input>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:apply-templates select="widget" />
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="img">
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="border">0</xsl:attribute>
|
||||
<xsl:attribute name="src"><xsl:value-of select="src"/></xsl:attribute>
|
||||
<xsl:attribute name="alt"><xsl:value-of select="alt"/></xsl:attribute>
|
||||
<xsl:attribute name="valign">center</xsl:attribute>
|
||||
<xsl:value-of select="caption" />
|
||||
</xsl:element>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="form">
|
||||
<form>
|
||||
<xsl:attribute name="action"> <xsl:value-of select="action"/> </xsl:attribute>
|
||||
<xsl:attribute name="method"> <xsl:value-of select="method"/></xsl:attribute>
|
||||
<xsl:attribute name="enctype"> <xsl:value-of select="enctype"/></xsl:attribute>
|
||||
<table>
|
||||
<tr>
|
||||
<xsl:for-each select="members">
|
||||
<xsl:apply-templates />
|
||||
</xsl:for-each>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="table">
|
||||
<table>
|
||||
<xsl:attribute name="class"><xsl:value-of select="class"/></xsl:attribute>
|
||||
<xsl:apply-templates select="table_head"/>
|
||||
<xsl:for-each select="table_row">
|
||||
<xsl:choose>
|
||||
<xsl:when test="position() mod 2 = 0">
|
||||
<xsl:call-template name="table_row">
|
||||
<xsl:with-param name="class">row_on</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="table_row">
|
||||
<xsl:with-param name="class">row_off</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:for-each>
|
||||
</table>
|
||||
</xsl:template>
|
||||
<xsl:template match="table_head">
|
||||
<tr class="th">
|
||||
<xsl:apply-templates select="table_col"/>
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="table_row">
|
||||
<xsl:param name="class">tr</xsl:param>
|
||||
<tr class="{$class}">
|
||||
<xsl:apply-templates select="table_col" />
|
||||
</tr>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="table_col">
|
||||
<td>
|
||||
<xsl:apply-templates />
|
||||
</td>
|
||||
</xsl:template>
|
Loading…
Reference in New Issue
Block a user