You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2004/08/23 18:30:47 UTC
cvs commit: cocoon-lenya/src/webapp/lenya/xslt/bxeng asset.xsl
andreas 2004/08/23 09:30:47
Modified: src/webapp/lenya/xslt/bxeng asset.xsl
Added: src/webapp/lenya/xslt/authoring asset-upload.xsl
Log:
refactored image upload XSLT
Revision Changes Path
1.1 cocoon-lenya/src/webapp/lenya/xslt/authoring/asset-upload.xsl
Index: asset-upload.xsl
===================================================================
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
xmlns:lenya-info="http://apache.org/cocoon/lenya/info/1.0"
xmlns:wf="http://apache.org/cocoon/lenya/workflow/1.0"
xmlns:rc="http://apache.org/cocoon/lenya/rc/1.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
xmlns:usecase="http://apache.org/cocoon/lenya/usecase/1.0"
exclude-result-prefixes="lenya-info wf rc dc usecase page i18n"
>
<xsl:param name="lenya.usecase" select="'asset'"/>
<xsl:param name="lenya.step"/>
<xsl:param name="error"/>
<xsl:param name="extensions" select="'doc dot rtf txt asc ascii xls xlw xlt ppt pot gif jpg png tif eps pct m3u kar mid smf mp3 swa mpg mpv mp4 mov bin sea hqx sit zip jmx jcl qz jbc jmt cfg pdf'"/>
<xsl:template match="/lenya-info:info">
<page:page>
<page:title><i18n:text key="lenya.assetupload.title"/></page:title>
<page:body>
<xsl:apply-templates select="lenya-info:assets"/>
</page:body>
</page:page>
</xsl:template>
<xsl:template match="lenya-info:assets">
<xsl:call-template name="pre-body"/>
<xsl:call-template name="upload-form"/>
<xsl:call-template name="library-form"/>
</xsl:template>
<!--
Override this template to add scripts etc.
-->
<xsl:template name="pre-body"/>
<xsl:template name="upload-form">
<div class="lenya-box">
<div class="lenya-box-title"><i18n:text key="lenya.assetupload.subtitle"/></div>
<div class="lenya-box-body">
<form name="fileinput" action="" method="post" enctype="multipart/form-data" onsubmit="return check(fileinput)">
<input type="hidden" name="lenya.usecase" value="{$lenya.usecase}"/>
<input type="hidden" name="lenya.step" value="asset-upload"/>
<input type="hidden" name="task-id" value="insert-asset"/>
<input type="hidden" name="uploadtype" value="asset"/>
<input type="hidden" name="properties.asset.date" value="{/lenya-info:info/lenya-info:assets/lenya-info:date}"/>
<input type="hidden" name="properties.insert.asset.document-id" value="{/lenya-info:info/lenya-info:assets/lenya-info:document-id}"/>
<input type="hidden" name="properties.insert.asset.language" value="{/lenya-info:info/lenya-info:assets/lenya-info:language}"/>
<table class="lenya-table-noborder">
<xsl:if test="$error = 'true'">
<tr>
<td colspan="2" class="lenya-form-caption">
<span class="lenya-form-message-error"><i18n key="filename-format-exception"/></span>
</td>
</tr>
</xsl:if>
<tr>
<td class="lenya-form-caption"><i18n:text>Select File</i18n:text>:</td><td><input class="lenya-form-element" type="file" name="properties.asset.data"/><br/>(<i18n:text>No whitespace, no special characters</i18n:text>)</td>
</tr>
<tr><td> </td></tr>
<tr>
<td class="lenya-form-caption"><i18n:text>Title</i18n:text>:</td><td><input class="lenya-form-element" type="text" name="properties.asset.title"/></td>
</tr>
<tr>
<td class="lenya-form-caption"><i18n:text>Creator</i18n:text>:</td><td><input class="lenya-form-element" type="text" name="properties.asset.creator" value="{/lenya-info:info/lenya-info:assets/lenya-info:creator}"/></td>
</tr>
<tr>
<td class="lenya-form-caption"><i18n:text>Rights</i18n:text>:</td><td><input class="lenya-form-element" type="text" name="properties.asset.rights" value="All rights reserved."/></td>
</tr>
<tr><td> </td></tr>
<tr>
<td/>
<td>
<input i18n:attr="value" type="submit" value="Add" /> 
<input i18n:attr="value" type="button" onClick="location.href='javascript:window.close();';" value="Cancel"/>
</td>
</tr>
</table>
</form>
</div>
</div>
</xsl:template>
<xsl:template name="library-form">
<div class="lenya-box">
<div class="lenya-box-title"><i18n:text>Asset Library</i18n:text></div>
<div class="lenya-box-body">
<form name="assetlibrary" action="">
<table class="lenya-table-noborder">
<xsl:if test="not(lenya-info:asset)">
<tr><td colspan="5" class="lenya-form-caption"><i18n:text>No assets available</i18n:text></td></tr>
</xsl:if>
<tr>
<td class="lenya-form-caption"><i18n:text>Title</i18n:text>:</td>
<td colspan="4"><input class="lenya-form-element" type="text" name="title" value="{dc:title}"/></td>
</tr>
<xsl:for-each select="lenya-info:asset">
<tr>
<td/>
<td>
<input type="hidden" name="source" value=""/>
<input type="hidden" name="extent" value=""/>
<input type="radio" name="asset"
onclick="document.forms["assetlibrary"].title.value = '{dc:title}';
document.forms["assetlibrary"].source.value = '{dc:source}';
document.forms["assetlibrary"].extent.value = '{dc:extent}';"/>
</td>
<td><xsl:value-of select="dc:title"/></td>
<td><xsl:value-of select="dc:extent"/> KB</td>
<td><xsl:value-of select="dc:date"/></td>
<!--
<td><a href="javascript:insertAsset('{dc:source}','{dc:extent}');"><i18n:text>Insert</i18n:text></a></td>
-->
</tr>
</xsl:for-each>
<tr>
<td/>
<td colspan="4">
<input type="button" value="Insert" i18n:attr="value"
onclick="insertAsset('{dc:title}','{dc:extent}');"/>
</td>
</tr>
</table>
</form>
</div>
</div>
</xsl:template>
</xsl:stylesheet>
1.13 +35 -108 cocoon-lenya/src/webapp/lenya/xslt/bxeng/asset.xsl
Index: asset.xsl
===================================================================
RCS file: /home/cvs/cocoon-lenya/src/webapp/lenya/xslt/bxeng/asset.xsl,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- asset.xsl 23 May 2004 19:10:16 -0000 1.12
+++ asset.xsl 23 Aug 2004 16:30:47 -0000 1.13
@@ -29,114 +29,41 @@
xmlns:usecase="http://apache.org/cocoon/lenya/usecase/1.0"
exclude-result-prefixes="lenya-info wf rc dc usecase page i18n"
>
+
+<xsl:import href="../authoring/asset-upload.xsl"/>
- <xsl:param name="lenya.usecase" select="'asset'"/>
- <xsl:param name="lenya.step"/>
-
- <xsl:param name="error"/>
- <xsl:param name="extensions" select="'doc dot rtf txt asc ascii xls xlw xlt ppt pot gif jpg png tif eps pct m3u kar mid smf mp3 swa mpg mpv mp4 mov bin sea hqx sit zip jmx jcl qz jbc jmt cfg pdf'"/>
-
- <xsl:template match="lenya-info:assets">
- <page:page>
- <page:title><i18n:text key="lenya.assetupload.title"/></page:title>
- <page:body>
-<script>
-function insertAsset(src, size) {
-
- var title = document.forms["assetlibrary"].title.value;
- <![CDATA[
- window.opener.bxe_insertContent('<asset xmlns="http://apache.org/cocoon/lenya/page-envelope/1.0" src="'+src+'" size="'+size+'" type="">'+title+'</asset>',window.opener.BXE_SELECTION,window.opener.BXE_SPLIT_IF_INLINE);
- ]]>
- window.close();
-}
-
-function check(fileinput) {
- var i = 0;
- var ext = '<xsl:value-of select="$extensions"/>';
- var delimiter = ' ';
- var thefile = fileinput["properties.asset.data"].value;
- var _tempArray = new Array();
- _tempArray = ext.split(delimiter);
- for(i in _tempArray)
- {
- if(thefile.indexOf('.' + _tempArray[i]) != -1)
- {
- // file has one of the accepted extensions.
- return true;
- }
- }
- // file does not have one of the accepted extensions.
- alert("<i18n:translate><i18n:text key="upload-with-invalid-extension"/><i18n:param>:\n\n<xsl:value-of select="$extensions"/></i18n:param></i18n:translate>");
- return false;
-}
-</script>
-<div class="lenya-box">
- <div class="lenya-box-title"><i18n:text key="lenya.assetupload.subtitle"/></div>
- <form name="fileinput" action="" method="post" enctype="multipart/form-data" onsubmit="return check(fileinput)">
- <input type="hidden" name="lenya.usecase" value="{$lenya.usecase}"/>
- <input type="hidden" name="lenya.step" value="asset-upload"/>
- <input type="hidden" name="task-id" value="insert-asset"/>
- <input type="hidden" name="uploadtype" value="asset"/>
- <input type="hidden" name="properties.asset.date" value="{/lenya-info:info/lenya-info:assets/lenya-info:date}"/>
- <input type="hidden" name="properties.insert.asset.document-id" value="{/lenya-info:info/lenya-info:assets/lenya-info:document-id}"/>
- <input type="hidden" name="properties.insert.asset.language" value="{/lenya-info:info/lenya-info:assets/lenya-info:language}"/>
- <table class="lenya-table-noborder">
- <xsl:if test="$error = 'true'">
- <tr>
- <td colspan="2" class="lenya-form-caption">
- <span class="lenya-form-message-error"><i18n key="filename-format-exception"/></span>
- </td>
- </tr>
- </xsl:if>
- <tr>
- <td class="lenya-form-caption"><i18n:text>Select File</i18n:text>:</td><td><input class="lenya-form-element" type="file" name="properties.asset.data"/><br/>(<i18n:text>No whitespace, no special characters</i18n:text>)</td>
- </tr>
- <tr><td> </td></tr>
- <tr>
- <td class="lenya-form-caption"><i18n:text>Title</i18n:text>:</td><td><input class="lenya-form-element" type="text" name="properties.asset.title"/></td>
- </tr>
- <tr>
- <td class="lenya-form-caption"><i18n:text>Creator</i18n:text>:</td><td><input class="lenya-form-element" type="text" name="properties.asset.creator" value="{/lenya-info:info/lenya-info:assets/lenya-info:creator}"/></td>
- </tr>
- <tr>
- <td class="lenya-form-caption"><i18n:text>Rights</i18n:text>:</td><td><input class="lenya-form-element" type="text" name="properties.asset.rights" value="All rights reserved."/></td>
- </tr>
- <tr><td> </td></tr>
- <tr>
- <td/>
- <td>
- <input i18n:attr="value" type="submit" value="Add" /> 
- <input i18n:attr="value" type="button" onClick="location.href='javascript:window.close();';" value="Cancel"/>
- </td>
- </tr>
- </table>
- </form>
-</div>
-<div class="lenya-box">
- <div class="lenya-box-title"><i18n:text>Asset Library</i18n:text></div>
-<form name="assetlibrary" action="">
-<table class="lenya-table-noborder">
-<xsl:if test="not(lenya-info:asset)">
-<tr><td colspan="5" class="lenya-form-caption"><i18n:text>No assets available</i18n:text></td></tr>
-</xsl:if>
- <tr>
- <td class="lenya-form-caption" colspan="2"><i18n:text>Title</i18n:text>:</td><td colspan="2"><input class="lenya-form-element" type="text" name="title"/></td>
- </tr>
- <tr><td colspan="5"> </td></tr>
-<xsl:for-each select="lenya-info:asset">
-<tr>
-<td colspan="2"><xsl:value-of select="dc:title"/></td>
-<td><xsl:value-of select="dc:extent"/> KB</td>
-<td><xsl:value-of select="dc:date"/></td>
-<td><a href="javascript:insertAsset('{dc:title}','{dc:extent}');"><i18n:text>Insert</i18n:text></a></td>
-</tr>
-</xsl:for-each>
- </table>
-</form>
-</div>
- </page:body>
- </page:page>
- </xsl:template>
+<xsl:template name="pre-body">
+ <script>
+ function insertAsset(src, size) {
+
+ var title = document.forms["assetlibrary"].title.value;
+ <![CDATA[
+ window.opener.bxe_insertContent('<asset xmlns="http://apache.org/cocoon/lenya/page-envelope/1.0" src="'+src+'" size="'+size+'" type="">'+title+'</asset>',window.opener.BXE_SELECTION,window.opener.BXE_SPLIT_IF_INLINE);
+ ]]>
+ window.close();
+ }
+
+ function check(fileinput) {
+ var i = 0;
+ var ext = '<xsl:value-of select="$extensions"/>';
+ var delimiter = ' ';
+ var thefile = fileinput["properties.asset.data"].value;
+ var _tempArray = new Array();
+ _tempArray = ext.split(delimiter);
+ for(i in _tempArray)
+ {
+ if(thefile.indexOf('.' + _tempArray[i]) != -1)
+ {
+ // file has one of the accepted extensions.
+ return true;
+ }
+ }
+ // file does not have one of the accepted extensions.
+ alert("<i18n:translate><i18n:text key="upload-with-invalid-extension"/><i18n:param>:\n\n<xsl:value-of select="$extensions"/></i18n:param></i18n:translate>");
+ return false;
+ }
+ </script>
+</xsl:template>
</xsl:stylesheet>
---------------------------------------------------------------------
To unsubscribe, e-mail: lenya-cvs-unsubscribe@cocoon.apache.org
For additional commands, e-mail: lenya-cvs-help@cocoon.apache.org